X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fui.c;h=6be3e32b1dec55098ad9671fd06095dcdb99f92c;hb=f1053f2ecbe529b3959701ddc9a8bbec6d4acad2;hp=4eeb4f293223686eeac29fc7fc819ff68c530c96;hpb=70cd5dc1dcd5c75c98494807f5e4775260212ff6;p=ptask.git diff --git a/src/ui.c b/src/ui.c index 4eeb4f2..6be3e32 100644 --- a/src/ui.c +++ b/src/ui.c @@ -16,6 +16,9 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301 USA */ +#include + +#include #include #include @@ -24,6 +27,9 @@ #include static GtkComboBox *w_status; +static GSettings *gsettings; +static GtkWindow *window; + int newtask_clicked_cbk(GtkButton *btn, gpointer data) { @@ -60,13 +66,18 @@ int refresh_clicked_cbk(GtkButton *btn, gpointer data) } +static void ui_quit() +{ + save_settings(window, gsettings); + gtk_widget_destroy(GTK_WIDGET(window)); + gtk_main_quit(); +} + static gboolean delete_event_cbk(GtkWidget *w, GdkEvent *evt, gpointer data) { log_fct_enter(); - save_settings(GTK_WINDOW(w), (GSettings *)data); - gtk_widget_destroy(w); - gtk_main_quit(); + ui_quit(); log_fct_exit(); @@ -83,9 +94,10 @@ static int status_changed_cbk(GtkComboBox *w, gpointer data) GtkWindow *create_window(GtkBuilder *builder, GSettings *settings) { - GtkWindow *window; int x, y, w, h; + gsettings = settings; + window = GTK_WINDOW(gtk_builder_get_object(builder, "window")); w_status = GTK_COMBO_BOX(gtk_builder_get_object(builder, "status")); @@ -125,3 +137,31 @@ const char *ui_get_status_filter() return status; } + +void quit_activate_cbk(GtkWidget *menu_item, gpointer data) +{ + log_fct_enter(); + ui_quit(); + log_fct_exit(); +} + +void about_activate_cbk(GtkWidget *menu_item, gpointer data) +{ + log_fct_enter(); + + gtk_show_about_dialog + (NULL, + "comments", + _("ptask is a GTK+ task management application"), + "copyright", + _("Copyright(c) 2010-2013\njeanfi@gmail.com"), + "logo-icon-name", "ptask", + "program-name", "ptask", + "title", _("About ptask"), + "version", VERSION, + "website", PACKAGE_URL, + "website-label", _("ptask Homepage"), + NULL); + + log_fct_exit(); +}