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.
This commit is contained in:
António Fernandes 2021-08-15 17:45:18 +01:00 committed by Ondrej Holy
parent 77f580f577
commit a3126525a1

View file

@ -2990,16 +2990,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),
@ -3013,22 +3005,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;