summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorRob Kendrick <rjek@netsurf-browser.org>2010-12-05 11:10:31 +0000
committerRob Kendrick <rjek@netsurf-browser.org>2010-12-05 11:10:31 +0000
commit78e5ba66f3037eb9c0841b8bd660f92d557e2931 (patch)
treeb6a6bff8456b533cdfdbff94ccf63664b3c31cf1 /gtk
parentab704ba7a75be135717f71028a64185501ec0934 (diff)
downloadnetsurf-78e5ba66f3037eb9c0841b8bd660f92d557e2931.tar.gz
netsurf-78e5ba66f3037eb9c0841b8bd660f92d557e2931.tar.bz2
Remove a small amount of putridness from GTK full save implemention. Still needs to cope gracefully with the target directory already existing and offer to overwrite.
svn path=/trunk/netsurf/; revision=10995
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtk_scaffolding.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/gtk/gtk_scaffolding.c b/gtk/gtk_scaffolding.c
index e970a60af..d3ad329d3 100644
--- a/gtk/gtk_scaffolding.c
+++ b/gtk/gtk_scaffolding.c
@@ -476,13 +476,13 @@ MULTIHANDLER(savepage)
messages_get("gtkcompleteSave"), g->window,
GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_APPLY, GTK_RESPONSE_ACCEPT,
+ GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
NULL);
DIR *d;
char *path;
url_func_result res;
GtkFileFilter *filter = gtk_file_filter_new();
- gtk_file_filter_set_name(filter, "directory");
+ gtk_file_filter_set_name(filter, "Directories");
gtk_file_filter_add_custom(filter, GTK_FILE_FILTER_FILENAME,
nsgtk_filter_directory, NULL, NULL);
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fc), filter);
@@ -505,16 +505,21 @@ MULTIHANDLER(savepage)
gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(fc),
TRUE);
- if (gtk_dialog_run(GTK_DIALOG(fc)) != GTK_RESPONSE_ACCEPT)
+ if (gtk_dialog_run(GTK_DIALOG(fc)) != GTK_RESPONSE_ACCEPT) {
+ gtk_widget_destroy(fc);
return TRUE;
+ }
+
path = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fc));
d = opendir(path);
if (d == NULL) {
- printf("d NULL\n");
+ LOG(("Unable to open directory %s for complete save: %s", path,
+ strerror(errno)));
if (errno == ENOTDIR)
warn_user("NoDirError", path);
else
warn_user("gtkFileError", path);
+ gtk_widget_destroy(fc);
g_free(path);
return TRUE;
}