diff --git a/gnucash/gnome-utils/dialog-book-close.c b/gnucash/gnome-utils/dialog-book-close.c index 2d23e41da0..8cec9347f9 100644 --- a/gnucash/gnome-utils/dialog-book-close.c +++ b/gnucash/gnome-utils/dialog-book-close.c @@ -322,7 +322,7 @@ gnc_book_close_response_cb(GtkDialog *dialog, gint response, GtkDialog *unused) LEAVE(""); } -void gnc_ui_close_book (QofBook* book) +void gnc_ui_close_book (QofBook* book, GtkWindow *parent) { struct CloseBookWindow *cbw; GtkBuilder* builder; @@ -343,6 +343,10 @@ void gnc_ui_close_book (QofBook* book) // Set the style context for this dialog so it can be easily manipulated with css gnc_widget_set_style_context (GTK_WIDGET(cbw->dialog), "GncBookCloseDialog"); + /* parent */ + if (parent != NULL) + gtk_window_set_transient_for (GTK_WINDOW(cbw->dialog), GTK_WINDOW(parent)); + PINFO("Closed Book Window is %p, Dialog is %p", cbw, cbw->dialog); /* close date */ diff --git a/gnucash/gnome-utils/dialog-book-close.h b/gnucash/gnome-utils/dialog-book-close.h index 363c0f16a0..e8a87dee15 100644 --- a/gnucash/gnome-utils/dialog-book-close.h +++ b/gnucash/gnome-utils/dialog-book-close.h @@ -40,8 +40,9 @@ * * @param book This parameter specifies the book whose data * will be closed. + * @param parent This parameter specifies the parent window */ -void gnc_ui_close_book (QofBook* book); +void gnc_ui_close_book (QofBook* book, GtkWindow *parent); /** @} */ diff --git a/gnucash/gnome/gnc-plugin-basic-commands.c b/gnucash/gnome/gnc-plugin-basic-commands.c index 5e50f6bbd4..566fc97219 100644 --- a/gnucash/gnome/gnc-plugin-basic-commands.c +++ b/gnucash/gnome/gnc-plugin-basic-commands.c @@ -653,7 +653,7 @@ gnc_main_window_cmd_tools_financial_calculator (GtkAction *action, GncMainWindow static void gnc_main_window_cmd_tools_close_book (GtkAction *action, GncMainWindowActionData *data) { - gnc_ui_close_book(gnc_get_current_book()); + gnc_ui_close_book(gnc_get_current_book(), GTK_WINDOW (data->window)); } static void