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

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