X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fui.c;h=3a3f7bc7af2889a86c37f6517b28834a17b87759;hb=7fb6bb4e757df40a1adddf648ca20c7b0b0706c6;hp=83e987612ed207f2e012b2d89c65427fd6cd7943;hpb=392ae983c9ed6c1c74141c57ffb0502955964910;p=ptask.git diff --git a/src/ui.c b/src/ui.c index 83e9876..3a3f7bc 100644 --- a/src/ui.c +++ b/src/ui.c @@ -19,24 +19,22 @@ #include #include +#include +#include +#include -static GtkTreeView *w_treeview; +static GtkComboBox *w_status; -static void save_settings(GtkWindow *window, GSettings *settings) +int newtask_clicked_cbk(GtkButton *btn, gpointer data) { - int w, h, x, y, sort_col_id; - GtkTreeSortable *model; - GtkSortType sort_order; + ui_newtask(); - model = GTK_TREE_SORTABLE(gtk_tree_view_get_model(GTK_TREE_VIEW(w_treeview))); - gtk_tree_sortable_get_sort_column_id(model, - &sort_col_id, - &sort_order); - log_debug("save_settings(): sort_col_id=%d", sort_col_id); - log_debug("save_settings(): sort_col_order=%d", sort_order); + return FALSE; +} - g_settings_set_int(settings, "tasks-sort-col", sort_col_id); - g_settings_set_int(settings, "tasks-sort-order", sort_order); +static void save_settings(GtkWindow *window, GSettings *settings) +{ + int w, h, x, y; gtk_window_get_size(window, &w, &h); gtk_window_get_position(window, &x, &y); @@ -48,29 +46,53 @@ static void save_settings(GtkWindow *window, GSettings *settings) g_settings_set_int(settings, "window-x", x); g_settings_set_int(settings, "window-y", y); + ui_tasktree_save_settings(settings); + g_settings_sync(); } +int refresh_clicked_cbk(GtkButton *btn, gpointer data) +{ + log_fct_enter(); + refresh(); + log_fct_exit(); + return FALSE; +} + + static gboolean delete_event_cbk(GtkWidget *w, GdkEvent *evt, gpointer data) { - log_debug("delete_event_cbk"); + log_fct_enter(); save_settings(GTK_WINDOW(w), (GSettings *)data); gtk_widget_destroy(w); gtk_main_quit(); + log_fct_exit(); + return TRUE; } +static int status_changed_cbk(GtkComboBox *w, gpointer data) +{ + log_debug("status_changed_cbk"); + refresh(); + + return FALSE; +} + GtkWindow *create_window(GtkBuilder *builder, GSettings *settings) { GtkWindow *window; - int x, y, h, w, sort_col_id; - GtkSortType sort_order; - GtkTreeSortable *model; + int x, y, w, h; window = GTK_WINDOW(gtk_builder_get_object(builder, "window")); + w_status = GTK_COMBO_BOX(gtk_builder_get_object(builder, "status")); + g_signal_connect(w_status, + "changed", (GCallback)status_changed_cbk, + NULL); + w = g_settings_get_int(settings, "window-width"); h = g_settings_get_int(settings, "window-height"); gtk_window_set_default_size(window, w, h); @@ -82,13 +104,24 @@ GtkWindow *create_window(GtkBuilder *builder, GSettings *settings) g_signal_connect(window, "delete_event", G_CALLBACK(delete_event_cbk), settings); - w_treeview = GTK_TREE_VIEW(gtk_builder_get_object(builder, "treeview")); + ui_tasktree_init(builder); + ui_projecttree_init(builder); - sort_col_id = g_settings_get_int(settings, "tasks-sort-col"); - sort_order = g_settings_get_int(settings, "tasks-sort-order"); - model = GTK_TREE_SORTABLE(gtk_tree_view_get_model(GTK_TREE_VIEW(w_treeview))); - gtk_tree_sortable_set_sort_column_id(model, sort_col_id, sort_order); + ui_tasktree_load_settings(settings); return window; } +const char *ui_get_status_filter() +{ + const char *status; + + log_fct_enter(); + + status = gtk_combo_box_get_active_id(w_status); + log_fct(__func__, "status: %d", status); + + log_fct_exit(); + + return status; +}