Author: akv
Date: 2010-02-08 22:29:05 +0100 (Mon, 08 Feb 2010)
New Revision: 3169

Modified:
   trunk/src/conf_interface.h
   trunk/src/rs-save-dialog.c
Log:
Remember last export directory for "Export as..."

Modified: trunk/src/conf_interface.h
===================================================================
--- trunk/src/conf_interface.h  2010-02-07 14:18:52 UTC (rev 3168)
+++ trunk/src/conf_interface.h  2010-02-08 21:29:05 UTC (rev 3169)
@@ -72,6 +72,7 @@
 #define CONF_STORE_SORT_METHOD "store_sort_method"
 #define CONF_LIBRARY_AUTOTAG "library_autotag"
 #define CONF_LIBRARY_TAG_SEARCH "library_tag_search"
+#define CONF_EXPORT_AS_FOLDER "export_as_folder"
 
 #define DEFAULT_CONF_EXPORT_FILENAME "%f_%2c"
 #define DEFAULT_CONF_BATCH_DIRECTORY "batch_exports/"

Modified: trunk/src/rs-save-dialog.c
===================================================================
--- trunk/src/rs-save-dialog.c  2010-02-07 14:18:52 UTC (rev 3168)
+++ trunk/src/rs-save-dialog.c  2010-02-08 21:29:05 UTC (rev 3169)
@@ -86,6 +86,7 @@
        guint n_savers = 0, i;
        GtkWidget *button_save = gtk_button_new_from_stock(GTK_STOCK_SAVE);
        GtkWidget *button_cancel = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
+       const gchar *folder = rs_conf_get_string(CONF_EXPORT_AS_FOLDER);
 
        g_signal_connect(button_save, "clicked", G_CALLBACK(save_clicked), 
dialog);
        g_signal_connect(button_cancel, "clicked", G_CALLBACK(cancel_clicked), 
dialog);
@@ -104,6 +105,8 @@
 
        dialog->vbox = gtk_vbox_new(FALSE, 0);
        dialog->chooser = 
gtk_file_chooser_widget_new(GTK_FILE_CHOOSER_ACTION_SAVE);
+       if (folder)
+               
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog->chooser), folder);
        dialog->type_box = gui_confbox_new((const gchar *) "save-as-filetype");
        dialog->pref_bin = gtk_alignment_new(0.0, 0.5, 1.0, 1.0);
 
@@ -306,6 +309,7 @@
 save_clicked(GtkButton *button, gpointer user_data)
 {
        RSSaveDialog *dialog = RS_SAVE_DIALOG(user_data);
+       rs_conf_set_string(CONF_EXPORT_AS_FOLDER, 
g_path_get_dirname(gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog->chooser))));
 
        /* Just hide it for now, we destroy it in job() */
        gtk_widget_hide_all(GTK_WIDGET(dialog));


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to