diff --git a/gnucash/gnome-utils/dialog-account.c b/gnucash/gnome-utils/dialog-account.c index 9c41dcae9e..ae697c3a84 100644 --- a/gnucash/gnome-utils/dialog-account.c +++ b/gnucash/gnome-utils/dialog-account.c @@ -1291,11 +1291,12 @@ opening_equity_cb (GtkWidget *w, gpointer data) * gnc_account_window_create * * creates a window to create a new account. * * * + * Args: parent - the parent window dialog * * Args: aw - the information structure for this window * * Return: the created window * \*******************************************************************/ static void -gnc_account_window_create(AccountWindow *aw) +gnc_account_window_create(GtkWindow *parent, AccountWindow *aw) { GtkWidget *amount; GtkWidget *date_edit; @@ -1315,6 +1316,9 @@ gnc_account_window_create(AccountWindow *aw) aw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "account_dialog")); awo = G_OBJECT (aw->dialog); + if (parent) + gtk_window_set_transient_for (GTK_WINDOW (aw->dialog), parent); + // Set the style context for this dialog so it can be easily manipulated with css gnc_widget_set_style_context (GTK_WIDGET(aw->dialog), "GncAccountDialog"); @@ -1616,9 +1620,7 @@ gnc_ui_new_account_window_internal (GtkWindow *parent, aw->next_name = subaccount_names + 1; } - gnc_account_window_create (aw); - gtk_window_set_transient_for (GTK_WINDOW (aw->dialog), parent); - + gnc_account_window_create (parent, aw); gnc_account_to_ui (aw); gnc_resume_gui_refresh (); @@ -1854,8 +1856,7 @@ gnc_ui_edit_account_window(GtkWindow *parent, Account *account) gnc_suspend_gui_refresh (); - gnc_account_window_create (aw); - gtk_window_set_transient_for (GTK_WINDOW (aw->dialog), parent); + gnc_account_window_create (parent, aw); gnc_account_to_ui (aw); gnc_resume_gui_refresh (); diff --git a/gnucash/gnome/dialog-find-transactions.c b/gnucash/gnome/dialog-find-transactions.c index 48ffa2e066..4c25ae7667 100644 --- a/gnucash/gnome/dialog-find-transactions.c +++ b/gnucash/gnome/dialog-find-transactions.c @@ -90,7 +90,7 @@ free_ftd_cb (gpointer user_data) } GNCSearchWindow * -gnc_ui_find_transactions_dialog_create(GNCLedgerDisplay * orig_ledg) +gnc_ui_find_transactions_dialog_create(GtkWindow *parent, GNCLedgerDisplay * orig_ledg) { QofIdType type = GNC_ID_SPLIT; struct _ftd_data *ftd; @@ -98,7 +98,6 @@ gnc_ui_find_transactions_dialog_create(GNCLedgerDisplay * orig_ledg) QofQuery *start_q, *show_q = NULL; gboolean num_action = qof_book_use_split_action_for_num_field(gnc_get_current_book()); - GtkWindow *parent = GTK_WINDOW(gnc_ledger_display_get_parent(orig_ledg)); /* Build parameter list in reverse order */ if (params == NULL) diff --git a/gnucash/gnome/dialog-find-transactions.h b/gnucash/gnome/dialog-find-transactions.h index 81cd3beed4..d4a150cd05 100644 --- a/gnucash/gnome/dialog-find-transactions.h +++ b/gnucash/gnome/dialog-find-transactions.h @@ -28,6 +28,6 @@ #include "dialog-search.h" GNCSearchWindow * -gnc_ui_find_transactions_dialog_create(GNCLedgerDisplay * ledger); +gnc_ui_find_transactions_dialog_create (GtkWindow *parent, GNCLedgerDisplay * ledger); #endif diff --git a/gnucash/gnome/gnc-plugin-basic-commands.c b/gnucash/gnome/gnc-plugin-basic-commands.c index d44cec70b9..5e50f6bbd4 100644 --- a/gnucash/gnome/gnc-plugin-basic-commands.c +++ b/gnucash/gnome/gnc-plugin-basic-commands.c @@ -665,7 +665,7 @@ gnc_main_window_cmd_tools_find_transactions (GtkAction *action, GncMainWindowAct gnc_ui_find_transactions_dialog_create2 (NULL); /*################## Added for Reg2 #################*/ #else - gnc_ui_find_transactions_dialog_create (NULL); + gnc_ui_find_transactions_dialog_create (GTK_WINDOW(data->window), NULL); #endif } diff --git a/gnucash/gnome/gnc-plugin-page-register.c b/gnucash/gnome/gnc-plugin-page-register.c index 57372d42c8..619d42b145 100644 --- a/gnucash/gnome/gnc-plugin-page-register.c +++ b/gnucash/gnome/gnc-plugin-page-register.c @@ -2981,12 +2981,14 @@ gnc_plugin_page_register_cmd_find_transactions (GtkAction *action, GncPluginPageRegister *page) { GncPluginPageRegisterPrivate *priv; + GtkWindow *window; g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page)); ENTER("(action %p, page %p)", action, page); priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE(page); - gnc_ui_find_transactions_dialog_create(priv->ledger); + window = GTK_WINDOW(gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page))); + gnc_ui_find_transactions_dialog_create (window, priv->ledger); LEAVE(" "); } @@ -3087,6 +3089,8 @@ gnc_plugin_page_register_cmd_void_transaction (GtkAction *action, dialog = GTK_WIDGET(gtk_builder_get_object (builder, "void_transaction_dialog")); entry = GTK_WIDGET(gtk_builder_get_object (builder, "reason")); + gtk_window_set_transient_for (GTK_WINDOW (dialog), window); + result = gtk_dialog_run(GTK_DIALOG(dialog)); if (result == GTK_RESPONSE_OK) { diff --git a/gnucash/gtkbuilder/dialog-reset-warnings.glade b/gnucash/gtkbuilder/dialog-reset-warnings.glade index e565d08ec5..c6afbaec32 100644 --- a/gnucash/gtkbuilder/dialog-reset-warnings.glade +++ b/gnucash/gtkbuilder/dialog-reset-warnings.glade @@ -3,7 +3,6 @@ - True False 6 Reset Warnings diff --git a/gnucash/gtkbuilder/gnc-plugin-page-register.glade b/gnucash/gtkbuilder/gnc-plugin-page-register.glade index d6908871b6..20bf4e04f1 100644 --- a/gnucash/gtkbuilder/gnc-plugin-page-register.glade +++ b/gnucash/gtkbuilder/gnc-plugin-page-register.glade @@ -3,7 +3,6 @@ - True False 6 Filter register by... @@ -518,7 +517,6 @@ 10 - True False 6 Sort register by... @@ -873,7 +871,6 @@ 10 - True False 6 Duplicate Transaction @@ -1058,7 +1055,6 @@ - True False 6 Void Transaction