X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fui.c;h=78262bdaac1e724f354f80b3d1325b14f3849093;hb=59e486b34640f81c905e832c7cc4a1b8a9a8e6f4;hp=74b13ec6f5cab25072486a69723e62c72e60c4c7;hpb=30a0f69b259de2ebc4b9a69121bda91a6be1e3b5;p=ptask.git diff --git a/src/ui.c b/src/ui.c index 74b13ec..78262bd 100644 --- a/src/ui.c +++ b/src/ui.c @@ -23,6 +23,8 @@ #include #include +static GtkComboBox *w_status; + int newtask_clicked_cbk(GtkButton *btn, gpointer data) { ui_newtask(); @@ -49,17 +51,36 @@ static void save_settings(GtkWindow *window, GSettings *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; @@ -67,6 +88,11 @@ GtkWindow *create_window(GtkBuilder *builder, GSettings *settings) 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); @@ -85,3 +111,23 @@ GtkWindow *create_window(GtkBuilder *builder, GSettings *settings) return window; } + +const char *ui_get_status_filter() +{ + const char *result; + int status; + + log_fct_enter(); + + status = gtk_combo_box_get_active(w_status); + log_fct(__func__, "status: %d", status); + + if (status == 1) + result = "completed"; + else + result = "pending"; + + log_fct_exit(); + + return result; +}