+const char *ui_get_status_filter()
+{
+ const char *status;
+
+ log_fct_enter();
+
+ status = gtk_combo_box_get_active_id(w_status);
+ log_fct("status: %s", status);
+
+ log_fct_exit();
+
+ return status;
+}
+
+void quit_activate_cbk(GtkWidget *menu_item, gpointer data)
+{
+ log_fct_enter();
+ ui_quit();
+ log_fct_exit();
+}
+
+void preferences_activate_cbk(GtkWidget *menu_item, gpointer data)
+{
+ gint result;
+ static GtkDialog *diag;
+ GtkBuilder *builder;
+ GtkFileChooser *w_dir;
+ char *dir;
+ const char *sdir;
+
+ builder = gtk_builder_new();
+ gtk_builder_add_from_file
+ (builder,
+ PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "ptask.glade",
+ NULL);
+ diag = GTK_DIALOG(gtk_builder_get_object(builder, "diag_preferences"));
+ gtk_builder_connect_signals(builder, NULL);
+
+ w_dir = GTK_FILE_CHOOSER(gtk_builder_get_object(builder,
+ "dir_chooser"));
+
+ sdir = settings_get_notes_dir();
+ if (sdir && *sdir)
+ gtk_file_chooser_set_filename(w_dir, sdir);
+
+ result = gtk_dialog_run(diag);
+
+ if (result) {
+ log_debug("preferences_activate_cbk(): accept");
+ dir = gtk_file_chooser_get_filename(w_dir);
+
+ if (dir) {
+ log_debug("preferences_activate_cbk(): path=%s", dir);
+ settings_set_notes_dir(dir);
+ free(dir);
+ }
+
+ refresh();
+ } else {
+ log_debug("preferences_activate_cbk(): cancel");
+ }
+
+ g_object_unref(G_OBJECT(builder));
+
+ gtk_widget_destroy(GTK_WIDGET(diag));
+}
+
+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();
+}