Blame SOURCES/0005-display-error-message-on-no-extension-for-screenshot.patch

509daa
From c6afc28cc9761af3e992eab0ca105a978b83a346 Mon Sep 17 00:00:00 2001
509daa
From: =?UTF-8?q?Julien=20Rop=C3=A9?= <jrope@redhat.com>
509daa
Date: Tue, 9 Jun 2020 14:44:39 +0200
509daa
Subject: [PATCH remote-viewer] Rather than adding a default extension to
509daa
 screenshots, display an error message to make the user add it. This prevents
509daa
 the silent overwriting of the file, and still makes sure the user knows why
509daa
 we don't proceed.
509daa
MIME-Version: 1.0
509daa
Content-Type: text/plain; charset=UTF-8
509daa
Content-Transfer-Encoding: 8bit
509daa
509daa
Fix BZ#1752514
509daa
509daa
Signed-off-by: Julien Ropé <jrope@redhat.com>
509daa
---
509daa
 src/virt-viewer-window.c | 15 ++++++++++-----
509daa
 1 file changed, 10 insertions(+), 5 deletions(-)
509daa
509daa
diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c
509daa
index 928658f..7ecee21 100644
509daa
--- a/src/virt-viewer-window.c
509daa
+++ b/src/virt-viewer-window.c
509daa
@@ -1085,17 +1085,22 @@ virt_viewer_window_menu_file_screenshot(GtkWidget *menu G_GNUC_UNUSED,
509daa
         gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER (dialog), image_dir);
509daa
     gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER (dialog), _("Screenshot.png"));
509daa
 
509daa
+retry_dialog:
509daa
     if (gtk_dialog_run(GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) {
509daa
         char *filename;
509daa
         GError *error = NULL;
509daa
 
509daa
         filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER (dialog));
509daa
         if (g_strrstr(filename, ".") == NULL) {
509daa
-            // no extension provided: add the .png default
509daa
-            char *tmp_filename ;
509daa
-            tmp_filename = g_strdup_printf("%s.png", filename) ;
509daa
-            g_free(filename) ;
509daa
-            filename = tmp_filename ;
509daa
+            // no extension provided
509daa
+            GtkWidget *msg_dialog ;
509daa
+            g_free(filename);
509daa
+            msg_dialog = gtk_message_dialog_new (GTK_WINDOW(dialog), GTK_DIALOG_MODAL,
509daa
+                                                 GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
509daa
+                                                 _("Please add an extension to the file name"));
509daa
+            gtk_dialog_run(GTK_DIALOG(msg_dialog));
509daa
+            gtk_widget_destroy(msg_dialog);
509daa
+            goto retry_dialog;
509daa
         }
509daa
 
509daa
         if (!virt_viewer_window_save_screenshot(self, filename, &error)) {
509daa
-- 
509daa
2.26.2
509daa