diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2004-04-10 05:40:32 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2004-04-10 05:40:32 +0800 |
commit | 4a908200fdd1064924da73f61a64f61d628dae96 (patch) | |
tree | 4f0c3c141564bbc1e392631b128a654f3551950a /embed/mozilla/FilePicker.cpp | |
parent | 23b63c1cd2fafb38cdbb404577e2639570118d8b (diff) | |
download | gsoc2013-epiphany-4a908200fdd1064924da73f61a64f61d628dae96.tar gsoc2013-epiphany-4a908200fdd1064924da73f61a64f61d628dae96.tar.gz gsoc2013-epiphany-4a908200fdd1064924da73f61a64f61d628dae96.tar.bz2 gsoc2013-epiphany-4a908200fdd1064924da73f61a64f61d628dae96.tar.lz gsoc2013-epiphany-4a908200fdd1064924da73f61a64f61d628dae96.tar.xz gsoc2013-epiphany-4a908200fdd1064924da73f61a64f61d628dae96.tar.zst gsoc2013-epiphany-4a908200fdd1064924da73f61a64f61d628dae96.zip |
Don't quit the filechooser when selecting "No" from the confirm- overwrite
2004-04-09 Christian Persch <chpe@cvs.gnome.org>
* embed/mozilla/EphyHeaderSniffer.cpp:
* embed/mozilla/FilePicker.cpp:
Don't quit the filechooser when selecting "No" from the confirm-
overwrite dialoge. Fixes bug #139400.
* lib/ephy-gui.c: (ephy_gui_confirm_overwrite_file):
Convert the filename to UTF-8 before showing it in the confirm
dialogue.
Diffstat (limited to 'embed/mozilla/FilePicker.cpp')
-rw-r--r-- | embed/mozilla/FilePicker.cpp | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/embed/mozilla/FilePicker.cpp b/embed/mozilla/FilePicker.cpp index eddb73d5f..42d4b3b33 100644 --- a/embed/mozilla/FilePicker.cpp +++ b/embed/mozilla/FilePicker.cpp @@ -379,30 +379,29 @@ NS_IMETHODIMP GFilePicker::Show(PRInt16 *_retval) gtk_widget_show (GTK_WIDGET (mDialog)); - int response = gtk_dialog_run (GTK_DIALOG (mDialog)); + int response; + char *filename = NULL; - LOG ("GFilePicker::Show response=%d", response) - - switch (response) + do { - case GTK_RESPONSE_ACCEPT: - *_retval = nsIFilePicker::returnOK; - break; - default: - *_retval = nsIFilePicker::returnCancel; - break; + response = gtk_dialog_run (GTK_DIALOG (mDialog)); + + g_free (filename); + filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (mDialog)); + + LOG ("GFilePicker::Show response=%d, filename=%s", response, filename) } + while (response == GTK_RESPONSE_ACCEPT && + mMode == nsIFilePicker::modeSave && + !ephy_gui_confirm_overwrite_file (GTK_WIDGET (mDialog), filename)); gtk_widget_hide (GTK_WIDGET (mDialog)); - - char *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (mDialog)); - if (filename == NULL) + if (response == GTK_RESPONSE_ACCEPT && filename != NULL) { - *_retval = nsIFilePicker::returnCancel; + *_retval = nsIFilePicker::returnOK; } - else if (mMode == nsIFilePicker::modeSave - && ephy_gui_confirm_overwrite_file (GTK_WIDGET (mDialog), filename) == FALSE) + else { *_retval = nsIFilePicker::returnCancel; } |