|
|
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 |
|