projects
/
ptask.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
allow to change the directory containing the notes.
[ptask.git]
/
src
/
ui.c
diff --git
a/src/ui.c
b/src/ui.c
index
57e5ade
..
2cc8107
100644
(file)
--- a/
src/ui.c
+++ b/
src/ui.c
@@
-18,6
+18,8
@@
*/
#include <config.h>
*/
#include <config.h>
+#include <stdlib.h>
+
#include <glib/gi18n.h>
#include <log.h>
#include <glib/gi18n.h>
#include <log.h>
@@
-163,13
+165,14
@@
void quit_activate_cbk(GtkWidget *menu_item, gpointer data)
log_fct_exit();
}
log_fct_exit();
}
-
-
void preferences_activate_cbk(GtkWidget *menu_item, gpointer data)
{
gint result;
static GtkDialog *diag;
GtkBuilder *builder;
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 = 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);
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);
result = gtk_dialog_run(diag);
- if (result
== GTK_RESPONSE_ACCEPT)
+ if (result
) {
log_debug("preferences_activate_cbk(): accept");
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");
log_debug("preferences_activate_cbk(): cancel");
+ }
g_object_unref(G_OBJECT(builder));
g_object_unref(G_OBJECT(builder));