|
|
031833d |
Index: widget/src/gtk2/nsFilePicker.cpp
|
|
|
031833d |
===================================================================
|
|
|
031833d |
RCS file: /cvsroot/mozilla/widget/src/gtk2/nsFilePicker.cpp,v
|
|
|
031833d |
retrieving revision 1.10
|
|
|
031833d |
diff -p -u -u -p -U10 -r1.10 nsFilePicker.cpp
|
|
|
031833d |
--- widget/src/gtk2/nsFilePicker.cpp 1 Jul 2005 04:40:30 -0000 1.10
|
|
|
031833d |
+++ widget/src/gtk2/nsFilePicker.cpp 16 Jul 2005 08:39:26 -0000
|
|
|
031833d |
@@ -457,28 +457,32 @@ confirm_overwrite_file (GtkWidget *paren
|
|
|
031833d |
leafName.get()
|
|
|
031833d |
};
|
|
|
031833d |
|
|
|
031833d |
nsXPIDLString title, message;
|
|
|
031833d |
bundle->GetStringFromName(NS_LITERAL_STRING("confirmTitle").get(),
|
|
|
031833d |
getter_Copies(title));
|
|
|
031833d |
bundle->FormatStringFromName(NS_LITERAL_STRING("confirmFileReplacing").get(),
|
|
|
031833d |
formatStrings, NS_ARRAY_LENGTH(formatStrings),
|
|
|
031833d |
getter_Copies(message));
|
|
|
031833d |
|
|
|
031833d |
+ GtkWindow *parent_window = GTK_WINDOW(parent);
|
|
|
031833d |
GtkWidget *dialog;
|
|
|
031833d |
|
|
|
031833d |
- dialog = gtk_message_dialog_new(GTK_WINDOW(parent),
|
|
|
031833d |
+ dialog = gtk_message_dialog_new(parent_window,
|
|
|
031833d |
GTK_DIALOG_DESTROY_WITH_PARENT,
|
|
|
031833d |
GTK_MESSAGE_QUESTION,
|
|
|
031833d |
GTK_BUTTONS_YES_NO,
|
|
|
031833d |
NS_ConvertUTF16toUTF8(message).get());
|
|
|
031833d |
gtk_window_set_title(GTK_WINDOW(dialog), NS_ConvertUTF16toUTF8(title).get());
|
|
|
031833d |
+ if (parent_window && parent_window->group) {
|
|
|
031833d |
+ gtk_window_group_add_window(parent_window->group, GTK_WINDOW(dialog));
|
|
|
031833d |
+ }
|
|
|
031833d |
|
|
|
031833d |
PRBool result = (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_YES);
|
|
|
031833d |
gtk_widget_destroy (dialog);
|
|
|
031833d |
|
|
|
031833d |
return result;
|
|
|
031833d |
}
|
|
|
031833d |
|
|
|
031833d |
NS_IMETHODIMP
|
|
|
031833d |
nsFilePicker::Show(PRInt16 *aReturn)
|
|
|
031833d |
{
|
|
|
031833d |
@@ -491,20 +495,24 @@ nsFilePicker::Show(PRInt16 *aReturn)
|
|
|
031833d |
|
|
|
031833d |
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
|
|
|
031833d |
const gchar *accept_button = (mMode == GTK_FILE_CHOOSER_ACTION_SAVE)
|
|
|
031833d |
? GTK_STOCK_SAVE : GTK_STOCK_OPEN;
|
|
|
031833d |
GtkWidget *file_chooser =
|
|
|
031833d |
_gtk_file_chooser_dialog_new(title, parent_widget, action,
|
|
|
031833d |
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
|
|
031833d |
accept_button, GTK_RESPONSE_ACCEPT,
|
|
|
031833d |
NULL);
|
|
|
031833d |
|
|
|
031833d |
+ if (parent_widget && parent_widget->group) {
|
|
|
031833d |
+ gtk_window_group_add_window(parent_widget->group, GTK_WINDOW(file_chooser));
|
|
|
031833d |
+ }
|
|
|
031833d |
+
|
|
|
031833d |
if (mMode == nsIFilePicker::modeOpenMultiple) {
|
|
|
031833d |
_gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER(file_chooser), TRUE);
|
|
|
031833d |
} else if (mMode == nsIFilePicker::modeSave) {
|
|
|
031833d |
char *default_filename = ToNewUTF8String(mDefault);
|
|
|
031833d |
_gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(file_chooser),
|
|
|
031833d |
NS_STATIC_CAST(const gchar*, default_filename));
|
|
|
031833d |
nsMemory::Free(default_filename);
|
|
|
031833d |
}
|
|
|
031833d |
|
|
|
031833d |
gtk_dialog_set_default_response(GTK_DIALOG(file_chooser), GTK_RESPONSE_ACCEPT);
|