From d561cc61881666485ba268d319e06a6c1309bb87 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Tue, 28 Sep 2021 12:03:48 -0700 Subject: [PATCH] Revert "Revert "[gnc-plugin-page-register] when reversing reversed txn, offer jump"" This reverts commit c96024ab3df0a77ff35d6e65dc98e4086cf8c9f1. GnuCash 4.8a having been tagged. --- gnucash/gnome/gnc-plugin-page-register.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/gnucash/gnome/gnc-plugin-page-register.c b/gnucash/gnome/gnc-plugin-page-register.c index ff7ade8d49..989593cef6 100644 --- a/gnucash/gnome/gnc-plugin-page-register.c +++ b/gnucash/gnome/gnc-plugin-page-register.c @@ -4072,13 +4072,6 @@ gnc_plugin_page_register_cmd_reverse_transaction (GtkAction* action, if (trans == NULL) return; - if (xaccTransGetReversedBy (trans)) - { - gnc_error_dialog (GTK_WINDOW (window), "%s", - _ ("A reversing entry has already been created for this transaction.")); - return; - } - split = gnc_split_register_get_current_split (reg); account = xaccSplitGetAccount (split); @@ -4088,6 +4081,17 @@ gnc_plugin_page_register_cmd_reverse_transaction (GtkAction* action, return; } + new_trans = xaccTransGetReversedBy (trans); + if (new_trans) + { + const char *rev = _("A reversing entry has already been created for this transaction."); + const char *jump = _("Jump to the transaction?"); + if (gnc_verify_dialog (GTK_WINDOW (window), TRUE, "%s\n\n%s", rev, jump)) + goto jump_to_trans; + else + return; + } + if (!gnc_dup_time64_dialog (window, _("Reverse Transaction"), _("New Transaction Information"), &date)) { @@ -4104,6 +4108,7 @@ gnc_plugin_page_register_cmd_reverse_transaction (GtkAction* action, gnc_resume_gui_refresh(); + jump_to_trans: /* Now jump to new trans */ gsr = gnc_plugin_page_register_get_gsr (GNC_PLUGIN_PAGE (page)); split = xaccTransFindSplitByAccount(new_trans, account);