[file-roller] set the 'new archive' dialog modal only when releated to the current window



commit 7bccb83c460f64ce63de1e01b5efa4d14fd9ffce
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Fri Aug 10 13:26:44 2012 +0200

    set the 'new archive' dialog modal only when releated to the current window

 src/fr-new-archive-dialog.c |    1 -
 src/fr-window.c             |    8 ++++++--
 2 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/src/fr-new-archive-dialog.c b/src/fr-new-archive-dialog.c
index 64715a0..f96d2dd 100644
--- a/src/fr-new-archive-dialog.c
+++ b/src/fr-new-archive-dialog.c
@@ -187,7 +187,6 @@ _fr_new_archive_dialog_construct (FrNewArchiveDialog *self,
 	int   active_extension_idx;
 	int   i;
 
-	gtk_window_set_modal (GTK_WINDOW (self), (parent != NULL));
 	gtk_window_set_transient_for (GTK_WINDOW (self), parent);
 	gtk_window_set_resizable (GTK_WINDOW (self), FALSE);
 	gtk_container_set_border_width (GTK_CONTAINER (self), 5);
diff --git a/src/fr-window.c b/src/fr-window.c
index a361248..12d1f67 100644
--- a/src/fr-window.c
+++ b/src/fr-window.c
@@ -4086,11 +4086,12 @@ fr_window_drag_data_received  (GtkWidget          *widget,
 				else
 					archive_name = g_file_get_basename (first_file);
 
-				dialog = fr_new_archive_dialog_new (_("New"),
+				dialog = fr_new_archive_dialog_new (_("New Archive"),
 								    GTK_WINDOW (window),
 								    FR_NEW_ARCHIVE_ACTION_SAVE_AS,
 								    fr_window_get_open_default_dir (window),
 								    archive_name);
+				gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
 				g_signal_connect (G_OBJECT (dialog),
 						  "response",
 						  G_CALLBACK (new_archive_dialog_response_cb),
@@ -7146,11 +7147,13 @@ fr_window_action_new_archive (FrWindow *window)
 {
 	GtkWidget *dialog;
 
-	dialog = fr_new_archive_dialog_new (_("New"),
+	dialog = fr_new_archive_dialog_new (_("New Archive"),
 					    GTK_WINDOW (window),
 					    FR_NEW_ARCHIVE_ACTION_NEW,
 					    fr_window_get_open_default_dir (window),
 					    NULL);
+	if ((fr_window_archive_is_present (window) && ! fr_window_is_batch_mode (window) ? NULL : GTK_WINDOW (window)))
+		gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
 	g_signal_connect (G_OBJECT (dialog),
 			  "response",
 			  G_CALLBACK (new_archive_dialog_response_cb),
@@ -7460,6 +7463,7 @@ fr_window_action_save_as (FrWindow *window)
 					    FR_NEW_ARCHIVE_ACTION_SAVE_AS,
 					    fr_window_get_open_default_dir (window),
 					    archive_name);
+	gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
 	g_signal_connect (G_OBJECT (dialog),
 			  "response",
 			  G_CALLBACK (save_as_archive_dialog_response_cb),



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