From 8986795251691d2a3cb187f8f3c39ea3e6599663 Mon Sep 17 00:00:00 2001 From: Geert Janssens Date: Thu, 16 Nov 2017 17:47:10 +0100 Subject: [PATCH] Fix transient parent for SX since last run... at startup --- gnucash/gnome/dialog-sx-since-last-run.c | 8 +++++--- gnucash/gnome/dialog-sx-since-last-run.h | 2 +- gnucash/gnome/gnc-plugin-basic-commands.c | 10 +++++----- gnucash/gnome/gtkbuilder/dialog-sx.glade | 1 - 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/gnucash/gnome/dialog-sx-since-last-run.c b/gnucash/gnome/dialog-sx-since-last-run.c index a3889a21ef..7486daf647 100644 --- a/gnucash/gnome/dialog-sx-since-last-run.c +++ b/gnucash/gnome/dialog-sx-since-last-run.c @@ -41,6 +41,7 @@ #include "dialog-sx-since-last-run.h" #include "gnc-prefs.h" +#include "gnc-ui.h" #include "gnc-ui-util.h" #include "Query.h" #include "qof.h" @@ -847,7 +848,7 @@ gnc_sx_sxsincelast_book_opened(void) if (summary.need_dialog) { - gnc_ui_sx_since_last_run_dialog(inst_model, auto_created_txns); + gnc_ui_sx_since_last_run_dialog (gnc_ui_get_main_window (NULL), inst_model, auto_created_txns); auto_created_txns = NULL; } else @@ -858,7 +859,7 @@ gnc_sx_sxsincelast_book_opened(void) return; gnc_info_dialog - (NULL, + (gnc_ui_get_main_window (NULL), ngettext ("There are no Scheduled Transactions to be entered at this time. " "(One transaction automatically created)", @@ -959,7 +960,7 @@ variable_value_changed_cb(GtkCellRendererText *cell, } GncSxSinceLastRunDialog* -gnc_ui_sx_since_last_run_dialog(GncSxInstanceModel *sx_instances, GList *auto_created_txn_guids) +gnc_ui_sx_since_last_run_dialog (GtkWindow *parent, GncSxInstanceModel *sx_instances, GList *auto_created_txn_guids) { GncSxSinceLastRunDialog *dialog; GtkBuilder *builder; @@ -970,6 +971,7 @@ gnc_ui_sx_since_last_run_dialog(GncSxInstanceModel *sx_instances, GList *auto_cr gnc_builder_add_from_file (builder, "dialog-sx.glade", "since_last_run_dialog"); dialog->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "since_last_run_dialog")); + gtk_window_set_transient_for (GTK_WINDOW (dialog->dialog), parent); // Set the style context for this dialog so it can be easily manipulated with css gnc_widget_set_style_context (GTK_WIDGET(dialog->dialog), "GncSxSinceLastRunDialog"); diff --git a/gnucash/gnome/dialog-sx-since-last-run.h b/gnucash/gnome/dialog-sx-since-last-run.h index 2b7a5f7147..e94a355c0c 100644 --- a/gnucash/gnome/dialog-sx-since-last-run.h +++ b/gnucash/gnome/dialog-sx-since-last-run.h @@ -47,7 +47,7 @@ void gnc_sx_sxsincelast_book_opened(void); /** * Create the since-last-run dialog. **/ -GncSxSinceLastRunDialog* gnc_ui_sx_since_last_run_dialog(GncSxInstanceModel *sx_instances, +GncSxSinceLastRunDialog* gnc_ui_sx_since_last_run_dialog (GtkWindow *parent, GncSxInstanceModel *sx_instances, GList *auto_created_txn_guids); #endif diff --git a/gnucash/gnome/gnc-plugin-basic-commands.c b/gnucash/gnome/gnc-plugin-basic-commands.c index e858fc09dd..96cbecb2a8 100644 --- a/gnucash/gnome/gnc-plugin-basic-commands.c +++ b/gnucash/gnome/gnc-plugin-basic-commands.c @@ -551,7 +551,7 @@ gnc_main_window_cmd_actions_scheduled_transaction_editor (GtkAction *action, Gnc static void gnc_main_window_cmd_actions_since_last_run (GtkAction *action, GncMainWindowActionData *data) { - GncMainWindow *window; + GtkWindow *window; GncSxInstanceModel *sx_instances; GncSxSummary summary; GList *auto_created_txns = NULL; @@ -560,7 +560,7 @@ gnc_main_window_cmd_actions_since_last_run (GtkAction *action, GncMainWindowActi g_return_if_fail (data != NULL); - window = data->window; + window = GTK_WINDOW (data->window); if (qof_book_is_readonly(gnc_get_current_book())) { @@ -573,18 +573,18 @@ gnc_main_window_cmd_actions_since_last_run (GtkAction *action, GncMainWindowActi gnc_sx_instance_model_effect_change(sx_instances, TRUE, &auto_created_txns, NULL); if (summary.need_dialog) { - gnc_ui_sx_since_last_run_dialog(sx_instances, auto_created_txns); + gnc_ui_sx_since_last_run_dialog (window, sx_instances, auto_created_txns); auto_created_txns = NULL; } else { if (summary.num_auto_create_no_notify_instances == 0) { - gnc_info_dialog(GTK_WINDOW (window), "%s", nothing_to_do_msg); + gnc_info_dialog (window, "%s", nothing_to_do_msg); } else { - gnc_info_dialog(GTK_WINDOW (window), ngettext + gnc_info_dialog(window, ngettext /* Translators: %d is the number of transactions. This is a ngettext(3) message. */ ("There are no Scheduled Transactions to be entered at this time. " diff --git a/gnucash/gnome/gtkbuilder/dialog-sx.glade b/gnucash/gnome/gtkbuilder/dialog-sx.glade index e2c9ba3d46..f09c8f334e 100644 --- a/gnucash/gnome/gtkbuilder/dialog-sx.glade +++ b/gnucash/gnome/gtkbuilder/dialog-sx.glade @@ -1456,7 +1456,6 @@ - True False Since Last Run... center-on-parent