3 #include "common/common.hpp"
4 #include "util/uuid.hpp"
5 #include "nlohmann/json_fwd.hpp"
12 PoolMergeDialog(Gtk::Window *parent,
const std::string &local_path,
const std::string &remote_path);
13 bool get_merged()
const;
17 std::string local_path;
18 std::string remote_path;
21 void populate_store();
22 void selection_changed();
23 void action_toggled(
const Glib::ustring &path);
25 enum class ItemState {
34 class TreeColumns :
public Gtk::TreeModelColumnRecord {
38 Gtk::TreeModelColumnRecord::add(name);
39 Gtk::TreeModelColumnRecord::add(type);
40 Gtk::TreeModelColumnRecord::add(uuid);
41 Gtk::TreeModelColumnRecord::add(delta);
42 Gtk::TreeModelColumnRecord::add(filename_local);
43 Gtk::TreeModelColumnRecord::add(filename_remote);
44 Gtk::TreeModelColumnRecord::add(merge);
45 Gtk::TreeModelColumnRecord::add(state);
47 Gtk::TreeModelColumn<Glib::ustring> name;
48 Gtk::TreeModelColumn<std::string> filename_local;
49 Gtk::TreeModelColumn<std::string> filename_remote;
50 Gtk::TreeModelColumn<ObjectType> type;
51 Gtk::TreeModelColumn<UUID> uuid;
52 Gtk::TreeModelColumn<json> delta;
53 Gtk::TreeModelColumn<bool> merge;
54 Gtk::TreeModelColumn<ItemState> state;
56 TreeColumns list_columns;
58 Glib::RefPtr<Gtk::ListStore> item_store;
61 std::string tables_remote, tables_local;
62 std::string layer_help_remote, layer_help_local;
64 enum class MenuOP { CHECK, UNCHECK, TOGGLE };
65 void append_context_menu_item(
const std::string &name, MenuOP op);