summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Ropé <jrope@redhat.com>2020-06-09 14:44:39 +0200
committerJulien Ropé <jrope@redhat.com>2020-06-09 15:50:02 +0200
commitc6afc28cc9761af3e992eab0ca105a978b83a346 (patch)
tree9c153a48f1b8bd8062aa1d60e91e4b189a4f4366
parentfedaa5f89a758aacd5353feb5695314302c3ab35 (diff)
Rather than adding a default extension to screenshots, display an error message to make the user add it.
This prevents the silent overwriting of the file, and still makes sure the user knows why we don't proceed. Fix BZ#1752514 Signed-off-by: Julien Ropé <jrope@redhat.com>
-rw-r--r--src/virt-viewer-window.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c
index 928658f..7ecee21 100644
--- a/src/virt-viewer-window.c
+++ b/src/virt-viewer-window.c
@@ -1085,17 +1085,22 @@ virt_viewer_window_menu_file_screenshot(GtkWidget *menu G_GNUC_UNUSED,
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER (dialog), image_dir);
gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER (dialog), _("Screenshot.png"));
+retry_dialog:
if (gtk_dialog_run(GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) {
char *filename;
GError *error = NULL;
filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER (dialog));
if (g_strrstr(filename, ".") == NULL) {
- // no extension provided: add the .png default
- char *tmp_filename ;
- tmp_filename = g_strdup_printf("%s.png", filename) ;
- g_free(filename) ;
- filename = tmp_filename ;
+ // no extension provided
+ GtkWidget *msg_dialog ;
+ g_free(filename);
+ msg_dialog = gtk_message_dialog_new (GTK_WINDOW(dialog), GTK_DIALOG_MODAL,
+ GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
+ _("Please add an extension to the file name"));
+ gtk_dialog_run(GTK_DIALOG(msg_dialog));
+ gtk_widget_destroy(msg_dialog);
+ goto retry_dialog;
}
if (!virt_viewer_window_save_screenshot(self, filename, &error)) {