Blame SOURCES/0042-remote-viewer-connect-Keep-the-dialog-window-on-top.patch

5bafe0
From 40b92b6b4fa4eb81c2b746365a6a056b3666ee81 Mon Sep 17 00:00:00 2001
5bafe0
From: Victor Toso <me@victortoso.com>
5bafe0
Date: Fri, 9 Jun 2017 17:27:32 +0200
5bafe0
Subject: [PATCH] remote-viewer-connect: Keep the 'dialog' window on top
5bafe0
5bafe0
Otherwise, in kiosk mode, it'll be hidden from user.
5bafe0
5bafe0
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1459800
5bafe0
5bafe0
Signed-off-by: Victor Toso <victortoso@redhat.com>
5bafe0
Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
5bafe0
---
5bafe0
 src/remote-viewer-connect.c | 3 ++-
5bafe0
 src/remote-viewer-connect.h | 2 +-
5bafe0
 src/remote-viewer.c         | 3 ++-
5bafe0
 3 files changed, 5 insertions(+), 3 deletions(-)
5bafe0
5bafe0
diff --git a/src/remote-viewer-connect.c b/src/remote-viewer-connect.c
5bafe0
index 2fbc5ff..14594ac 100644
5bafe0
--- a/src/remote-viewer-connect.c
5bafe0
+++ b/src/remote-viewer-connect.c
5bafe0
@@ -172,7 +172,7 @@ make_label_small(GtkLabel* label)
5bafe0
 * @return FALSE if Cancel is pressed or dialog is closed
5bafe0
 */
5bafe0
 gboolean
5bafe0
-remote_viewer_connect_dialog(gchar **uri)
5bafe0
+remote_viewer_connect_dialog(GtkWindow *main_window, gchar **uri)
5bafe0
 {
5bafe0
     GtkWidget *window, *label, *entry, *recent, *connect_button, *cancel_button;
5bafe0
     GtkRecentFilter *rfilter;
5bafe0
@@ -192,6 +192,7 @@ remote_viewer_connect_dialog(gchar **uri)
5bafe0
     g_return_val_if_fail(builder != NULL, GTK_RESPONSE_NONE);
5bafe0
 
5bafe0
     window = GTK_WIDGET(gtk_builder_get_object(builder, "remote-viewer-connection-window"));
5bafe0
+    gtk_window_set_transient_for(GTK_WINDOW(window), main_window);
5bafe0
     connect_button = GTK_WIDGET(gtk_builder_get_object(builder, "connect-button"));
5bafe0
     cancel_button = GTK_WIDGET(gtk_builder_get_object(builder, "cancel-button"));
5bafe0
     label = GTK_WIDGET(gtk_builder_get_object(builder, "example-label"));
5bafe0
diff --git a/src/remote-viewer-connect.h b/src/remote-viewer-connect.h
5bafe0
index f00581e..99779ef 100644
5bafe0
--- a/src/remote-viewer-connect.h
5bafe0
+++ b/src/remote-viewer-connect.h
5bafe0
@@ -23,7 +23,7 @@
5bafe0
 
5bafe0
 #include <gtk/gtk.h>
5bafe0
 
5bafe0
-gboolean remote_viewer_connect_dialog(gchar **uri);
5bafe0
+gboolean remote_viewer_connect_dialog(GtkWindow *main_window, gchar **uri);
5bafe0
 
5bafe0
 #endif /* REMOTE_VIEWER_CONNECT_H */
5bafe0
 
5bafe0
diff --git a/src/remote-viewer.c b/src/remote-viewer.c
5bafe0
index d927f8a..7834dac 100644
5bafe0
--- a/src/remote-viewer.c
5bafe0
+++ b/src/remote-viewer.c
5bafe0
@@ -1122,7 +1122,8 @@ remote_viewer_start(VirtViewerApp *app, GError **err)
5bafe0
 #endif
5bafe0
 retry_dialog:
5bafe0
         if (priv->open_recent_dialog) {
5bafe0
-            if (!remote_viewer_connect_dialog(&guri)) {
5bafe0
+            VirtViewerWindow *main_window = virt_viewer_app_get_main_window(app);
5bafe0
+            if (!remote_viewer_connect_dialog(virt_viewer_window_get_window(main_window), &guri)) {
5bafe0
                 g_set_error_literal(&error,
5bafe0
                             VIRT_VIEWER_ERROR, VIRT_VIEWER_ERROR_CANCELLED,
5bafe0
                             _("No connection was chosen"));