[nautilus/wip/antoniof/gtk4-preparation-drop-outgoing-api: 6/18] file-operations: Make "trash on unmount" dialog modal




commit 34b4168bb709201bc439d81efe5286e454a71a81
Author: António Fernandes <antoniof gnome org>
Date:   Sun Aug 15 17:45:18 2021 +0100

    file-operations: Make "trash on unmount" dialog modal
    
    Actually set the parent window, instead of juggling with GdkScreen,
    which is going away with GdkScreen. Furthermore, parentless dialogs
    should not exist, HIG-wise.
    
    While we are at it, also remove gtk_window_set_skip_taskbar_hint()
    which is going away with GTK4 too.

 src/nautilus-file-operations.c | 25 ++-----------------------
 1 file changed, 2 insertions(+), 23 deletions(-)
---
diff --git a/src/nautilus-file-operations.c b/src/nautilus-file-operations.c
index 7927bd504..259ecaccc 100644
--- a/src/nautilus-file-operations.c
+++ b/src/nautilus-file-operations.c
@@ -2989,16 +2989,8 @@ prompt_empty_trash (GtkWindow *parent_window)
 {
     gint result;
     GtkWidget *dialog;
-    GdkScreen *screen;
 
-    screen = NULL;
-    if (parent_window != NULL)
-    {
-        screen = gtk_widget_get_screen (GTK_WIDGET (parent_window));
-    }
-
-    /* Do we need to be modal ? */
-    dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
+    dialog = gtk_message_dialog_new (parent_window, GTK_DIALOG_MODAL,
                                      GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE,
                                      _("Do you want to empty the trash before you unmount?"));
     gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
@@ -3012,22 +3004,9 @@ prompt_empty_trash (GtkWindow *parent_window)
                             CANCEL, GTK_RESPONSE_CANCEL,
                             _("Empty _Trash"), GTK_RESPONSE_ACCEPT, NULL);
     gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);
-    gtk_window_set_title (GTK_WINDOW (dialog), "");     /* as per HIG */
-    gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), TRUE);
-    if (screen)
-    {
-        gtk_window_set_screen (GTK_WINDOW (dialog), screen);
-    }
+    gtk_window_set_title (GTK_WINDOW (dialog), "");
     atk_object_set_role (gtk_widget_get_accessible (dialog), ATK_ROLE_ALERT);
 
-    /* Make transient for the window group */
-    gtk_widget_realize (dialog);
-    if (screen != NULL)
-    {
-        gdk_window_set_transient_for (gtk_widget_get_window (GTK_WIDGET (dialog)),
-                                      gdk_screen_get_root_window (screen));
-    }
-
     result = gtk_dialog_run (GTK_DIALOG (dialog));
     gtk_widget_destroy (dialog);
     return result;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]