fixed logging
[ptask.git] / src / ui.c
index 57e5ade..5f91b6d 100644 (file)
--- a/src/ui.c
+++ b/src/ui.c
@@ -18,6 +18,8 @@
  */
 #include <config.h>
 
+#include <stdlib.h>
+
 #include <glib/gi18n.h>
 
 #include <log.h>
@@ -149,7 +151,7 @@ const char *ui_get_status_filter()
        log_fct_enter();
 
        status = gtk_combo_box_get_active_id(w_status);
-       log_fct("status: %d", status);
+       log_fct("status: %s", status);
 
        log_fct_exit();
 
@@ -163,13 +165,14 @@ void quit_activate_cbk(GtkWidget *menu_item, gpointer data)
        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
@@ -179,12 +182,29 @@ void preferences_activate_cbk(GtkWidget *menu_item, gpointer data)
        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 == GTK_RESPONSE_ACCEPT)
+       if (result) {
                log_debug("preferences_activate_cbk(): accept");
-       else
+               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));