5 #include "util/uuid.hpp"
6 #include "common/common.hpp"
7 #include "nlohmann/json.hpp"
8 #include "util/sqlite.hpp"
10 #include "util/sort_controller.hpp"
24 bool refreshed_once =
false;
29 Gtk::Button *refresh_button =
nullptr;
30 Gtk::Label *info_label =
nullptr;
31 Gtk::TreeView *diff_treeview =
nullptr;
32 Gtk::TreeView *status_treeview =
nullptr;
33 Gtk::CheckButton *diff_show_deleted_checkbutton =
nullptr;
34 Gtk::CheckButton *diff_show_modified_checkbutton =
nullptr;
35 Gtk::Box *diff_box =
nullptr;
36 Gtk::Button *add_with_deps_button =
nullptr;
38 Gtk::Button *pr_button =
nullptr;
39 Gtk::Button *back_to_master_button =
nullptr;
40 Gtk::Button *back_to_master_delete_button =
nullptr;
42 void make_treeview(Gtk::TreeView *treeview);
44 class TreeColumns :
public Gtk::TreeModelColumnRecord {
48 Gtk::TreeModelColumnRecord::add(name);
49 Gtk::TreeModelColumnRecord::add(type);
50 Gtk::TreeModelColumnRecord::add(uuid);
52 Gtk::TreeModelColumnRecord::add(status);
53 Gtk::TreeModelColumnRecord::add(path);
55 Gtk::TreeModelColumn<Glib::ustring> name;
56 Gtk::TreeModelColumn<ObjectType> type;
57 Gtk::TreeModelColumn<UUID> uuid;
59 Gtk::TreeModelColumn<unsigned int> status;
60 Gtk::TreeModelColumn<std::string> path;
62 TreeColumns list_columns;
64 Glib::RefPtr<Gtk::ListStore> diff_store;
65 Glib::RefPtr<Gtk::ListStore> status_store;
67 std::optional<SQLite::Query> q_diff;
68 std::optional<SQLite::Query> q_status;
70 std::optional<SortController> sort_controller_diff;
71 std::optional<SortController> sort_controller_status;
76 enum class View { DIFF, STATUS };
78 void store_from_db(View view,
const std::string &extra_q =
"");
80 static int diff_file_cb_c(
const git_diff_delta *delta,
float progress,
void *pl);
81 static int status_cb_c(
const char *path,
unsigned int status_flags,
void *payload);
82 void status_cb(
const char *path,
unsigned int status_flags);
83 void diff_file_cb(
const git_diff_delta *delta);
85 void handle_add_with_deps();
87 void handle_back_to_master(
bool delete_pr);
Definition: pool_git_box.hpp:18
Definition: pool_notebook.hpp:20
a class to store JSON values
Definition: json.hpp:166
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61