gnucash stable: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Sun Feb 25 23:11:15 EST 2024


Updated	 via  https://github.com/Gnucash/gnucash/commit/6b1944f1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/46aa584a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8090f1c5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/93afa1b3 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8582e13e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1cb3537f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/804886cb (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c2ec88ca (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f25b7e65 (commit)
	from  https://github.com/Gnucash/gnucash/commit/229d9300 (commit)



commit 6b1944f17b202998cebdaca09f16ba3a5c7624f0
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Feb 25 17:41:06 2024 +0800

    [gnc-plugin-page-register.cpp] input_date to return an optional time64
    
    launches time64 input dialog

diff --git a/gnucash/gnome/gnc-plugin-page-register.cpp b/gnucash/gnome/gnc-plugin-page-register.cpp
index 52e9365604..92732a4be3 100644
--- a/gnucash/gnome/gnc-plugin-page-register.cpp
+++ b/gnucash/gnome/gnc-plugin-page-register.cpp
@@ -35,6 +35,8 @@
 
 #include <config.h>
 
+#include <optional>
+
 #include <libguile.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
@@ -3857,6 +3859,15 @@ gnc_plugin_page_register_cmd_unvoid_transaction (GSimpleAction *simple,
     LEAVE (" ");
 }
 
+static std::optional<time64>
+input_date (GtkWidget * parent, const char *window_title, const char* title)
+{
+    time64 rv = gnc_time (nullptr);
+    if (!gnc_dup_time64_dialog (parent, window_title, title, &rv))
+        return {};
+
+    return rv;
+}
 
 static void
 gnc_plugin_page_register_cmd_reverse_transaction (GSimpleAction *simple,
@@ -3868,7 +3879,6 @@ gnc_plugin_page_register_cmd_reverse_transaction (GSimpleAction *simple,
     SplitRegister* reg;
     GNCSplitReg* gsr;
     Transaction* trans, *new_trans;
-    time64 date = gnc_time (NULL);
     GtkWidget *window;
     Account *account;
     Split *split;
@@ -3906,8 +3916,8 @@ gnc_plugin_page_register_cmd_reverse_transaction (GSimpleAction *simple,
     }
     else
     {
-        if (!gnc_dup_time64_dialog (window, _("Reverse Transaction"),
-                                    _("New Transaction Information"), &date))
+        auto date = input_date (window, _("Reverse Transaction"), _("New Transaction Information"));
+        if (!date)
         {
             LEAVE ("reverse cancelled");
             return;
@@ -3917,7 +3927,7 @@ gnc_plugin_page_register_cmd_reverse_transaction (GSimpleAction *simple,
         new_trans = xaccTransReverse (trans);
 
         /* Clear transaction level info */
-        xaccTransSetDatePostedSecsNormalized (new_trans, date);
+        xaccTransSetDatePostedSecsNormalized (new_trans, date.value());
         xaccTransSetDateEnteredSecs (new_trans, gnc_time (NULL));
 
         gnc_resume_gui_refresh();
@@ -4672,14 +4682,14 @@ gnc_plugin_page_register_cmd_goto_date (GSimpleAction *simple,
     auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GNCSplitReg* gsr;
     Query* query;
-    time64 date = gnc_time (NULL);
     GList *splits;
+    GtkWidget *window = gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page));
 
     ENTER ("(action %p, page %p)", simple, page);
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (page));
 
-    if (!gnc_dup_time64_dialog (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page)),
-                                _("Go to Date"), _("Go to Date"), &date))
+    auto date = input_date (window, _("Go to Date"), _("Go to Date"));
+    if (!date)
     {
         LEAVE ("goto_date cancelled");
         return;
@@ -4692,7 +4702,7 @@ gnc_plugin_page_register_cmd_goto_date (GSimpleAction *simple,
 
     for (GList *lp = splits; lp; lp = lp->next)
     {
-        if (xaccTransGetDate (xaccSplitGetParent (GNC_SPLIT(lp->data))) >= date)
+        if (xaccTransGetDate (xaccSplitGetParent (GNC_SPLIT(lp->data))) >= date.value())
         {
             gnc_split_reg_jump_to_split (gsr, GNC_SPLIT(lp->data));
             break;

commit 46aa584ab9f018fbffcadcae6971c01d56bbf9eb
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Feb 24 23:17:11 2024 +0800

    [gnc-plugin-page-register.cpp] rewrite function to avoid goto
    
    reorder logic to avoid using goto

diff --git a/gnucash/gnome/gnc-plugin-page-register.cpp b/gnucash/gnome/gnc-plugin-page-register.cpp
index 4b44d64411..52e9365604 100644
--- a/gnucash/gnome/gnc-plugin-page-register.cpp
+++ b/gnucash/gnome/gnc-plugin-page-register.cpp
@@ -3898,29 +3898,31 @@ gnc_plugin_page_register_cmd_reverse_transaction (GSimpleAction *simple,
     {
         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
+        if (!gnc_verify_dialog (GTK_WINDOW (window), TRUE, "%s\n\n%s", rev, jump))
+        {
+            LEAVE ("reverse cancelled");
             return;
+        }
     }
-
-    if (!gnc_dup_time64_dialog (window, _("Reverse Transaction"),
-                                _("New Transaction Information"), &date))
+    else
     {
-        LEAVE ("reverse cancelled");
-        return;
-    }
+        if (!gnc_dup_time64_dialog (window, _("Reverse Transaction"),
+                                    _("New Transaction Information"), &date))
+        {
+            LEAVE ("reverse cancelled");
+            return;
+        }
 
-    gnc_suspend_gui_refresh();
-    new_trans = xaccTransReverse (trans);
+        gnc_suspend_gui_refresh ();
+        new_trans = xaccTransReverse (trans);
 
-    /* Clear transaction level info */
-    xaccTransSetDatePostedSecsNormalized (new_trans, date);
-    xaccTransSetDateEnteredSecs (new_trans, gnc_time (NULL));
+        /* Clear transaction level info */
+        xaccTransSetDatePostedSecsNormalized (new_trans, date);
+        xaccTransSetDateEnteredSecs (new_trans, gnc_time (NULL));
 
-    gnc_resume_gui_refresh();
+        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);

commit 8090f1c5b03404536921ab0b7ea3d883ac3064a6
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Feb 24 23:16:28 2024 +0800

    [gnc-plugin-page-register.cpp] invoices-from-transaction returns a vector<gncInvoice*>

diff --git a/gnucash/gnome/gnc-plugin-page-register.cpp b/gnucash/gnome/gnc-plugin-page-register.cpp
index 331fa7f146..4b44d64411 100644
--- a/gnucash/gnome/gnc-plugin-page-register.cpp
+++ b/gnucash/gnome/gnc-plugin-page-register.cpp
@@ -244,7 +244,6 @@ static void gnc_plugin_page_register_event_handler (QofInstance* entity,
                                                     GncEventData* ed);
 
 static GncInvoice* invoice_from_split (Split* split);
-static GList* invoices_from_transaction (Transaction* trans);
 
 /************************************************************/
 /*                          Actions                         */
@@ -836,6 +835,26 @@ static const char* split_action_tips[] =
     NULL
 };
 
+static std::vector<GncInvoice*>
+invoices_from_transaction (const Transaction* trans)
+{
+    std::vector<GncInvoice*> rv;
+
+    g_return_val_if_fail (GNC_IS_TRANSACTION (trans), rv);
+
+    for (auto node = xaccTransGetSplitList (trans); node; node = g_list_next (node))
+    {
+        auto split = GNC_SPLIT(node->data);
+        auto account = xaccSplitGetAccount (split);
+        if (!account || !xaccAccountIsAPARType(xaccAccountGetType(account)))
+            continue;
+        auto inv = invoice_from_split (split);
+        if (inv)
+            rv.push_back (inv);
+    }
+    return rv;
+}
+
 static void
 gnc_plugin_page_register_ui_update (gpointer various,
                                     GncPluginPageRegister* page)
@@ -846,7 +865,6 @@ gnc_plugin_page_register_ui_update (gpointer various,
     GNCLedgerDisplayType ledger_type;
     gboolean expanded, voided, read_only = FALSE, read_only_reg = FALSE;
     Transaction* trans;
-    GList* invoices;
     CursorClass cursor_class;
     const char* uri;
     Account *account;
@@ -1002,9 +1020,8 @@ gnc_plugin_page_register_ui_update (gpointer various,
                                          "JumpLinkedInvoiceAction");
     if (trans)
     {
-        invoices = invoices_from_transaction (trans);
-        g_simple_action_set_enabled (G_SIMPLE_ACTION(action), (invoices != NULL));
-        g_list_free (invoices);
+        auto invoices = invoices_from_transaction (trans);
+        g_simple_action_set_enabled (G_SIMPLE_ACTION(action), !invoices.empty());
     }
 
     gnc_plugin_business_split_reg_ui_update (GNC_PLUGIN_PAGE(page));
@@ -4550,23 +4567,6 @@ static GncInvoice* invoice_from_split (Split* split)
     return invoice;
 }
 
-GList* invoices_from_transaction (Transaction* trans)
-{
-    GList *invoices = NULL;
-    GList *apar_splits;
-    if (!trans) return NULL;
-
-    apar_splits = xaccTransGetAPARAcctSplitList (trans, TRUE);
-    if (!apar_splits) return NULL;
-
-    for (GList *node = apar_splits; node; node = node->next)
-    {
-        GncInvoice* inv = invoice_from_split ((Split*) node->data);
-        if (inv) invoices = g_list_prepend (invoices, inv);
-    }
-    g_list_free (apar_splits);
-    return invoices;
-}
 
 static void
 gnc_plugin_page_register_cmd_jump_linked_invoice (GSimpleAction *simple,
@@ -4591,19 +4591,18 @@ gnc_plugin_page_register_cmd_jump_linked_invoice (GSimpleAction *simple,
 
     if (!invoice)
     {
-        GList *invoices = invoices_from_transaction (txn);
-        if (!invoices)
+        auto invoices = invoices_from_transaction (txn);
+        if (invoices.empty())
             PERR ("shouldn't happen: if no invoices, function is never called");
-        else if (!invoices->next)
-            invoice = (GncInvoice*) invoices->data;
+        else if (invoices.size() == 1)
+            invoice = invoices[0];
         else
         {
             GList *details = NULL;
             gint choice;
             const gchar *amt;
-            for (GList *node = invoices; node; node = node->next)
+            for (const auto& inv : invoices)
             {
-                auto inv = GNC_INVOICE(node->data);
                 gchar *date = qof_print_date (gncInvoiceGetDatePosted (inv));
                 amt = xaccPrintAmount
                     (gncInvoiceGetTotal (inv),
@@ -4625,11 +4624,10 @@ gnc_plugin_page_register_cmd_jump_linked_invoice (GSimpleAction *simple,
                 (window, _("Select document"),
                  _("Several documents are linked with this transaction. \
 Please choose one:"), _("Select"), 0, details);
-            if (choice >= 0)
-                invoice = (GncInvoice *)(g_list_nth (invoices, choice))->data;
+            if ((choice >= 0) && ((size_t)choice < invoices.size()))
+                invoice = invoices[choice];
             g_list_free_full (details, g_free);
         }
-        g_list_free (invoices);
     }
 
     if (invoice)

commit 93afa1b3adb05714a1d18cc83f55e304fdc8f00b
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Feb 25 22:09:48 2024 +0800

    [gnc-plugin-page-sx-list.cpp] convert to cpp

diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt
index 46a1c9969e..1594c25e4a 100644
--- a/gnucash/gnome/CMakeLists.txt
+++ b/gnucash/gnome/CMakeLists.txt
@@ -115,7 +115,7 @@ set (gnc_gnome_SOURCES
   gnc-plugin-page-owner-tree.cpp
   gnc-plugin-page-register.cpp
   gnc-plugin-page-report.cpp
-  gnc-plugin-page-sx-list.c
+  gnc-plugin-page-sx-list.cpp
   gnc-split-reg.c
   reconcile-view.c
   search-owner.c
diff --git a/gnucash/gnome/gnc-plugin-page-sx-list.c b/gnucash/gnome/gnc-plugin-page-sx-list.cpp
similarity index 97%
rename from gnucash/gnome/gnc-plugin-page-sx-list.c
rename to gnucash/gnome/gnc-plugin-page-sx-list.cpp
index 573f2deb56..6719c14900 100644
--- a/gnucash/gnome/gnc-plugin-page-sx-list.c
+++ b/gnucash/gnome/gnc-plugin-page-sx-list.cpp
@@ -156,7 +156,7 @@ gnc_plugin_page_sx_list_new (void)
         plugin_page = GNC_PLUGIN_PAGE_SX_LIST (object->data);
     else
     {
-        plugin_page = g_object_new (GNC_TYPE_PLUGIN_PAGE_SX_LIST, NULL);
+        plugin_page = GNC_PLUGIN_PAGE_SX_LIST (g_object_new (GNC_TYPE_PLUGIN_PAGE_SX_LIST, nullptr));
     }
     return GNC_PLUGIN_PAGE(plugin_page);
 }
@@ -282,7 +282,7 @@ gnc_plugin_page_sx_list_finalize (GObject *object)
 static void
 gnc_plugin_page_sx_list_refresh_cb (GHashTable *changes, gpointer user_data)
 {
-    GncPluginPageSxList *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_SX_LIST(user_data);
     GncPluginPageSxListPrivate *priv;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_SX_LIST(page));
@@ -349,7 +349,7 @@ gppsl_model_populated_cb (GtkTreeModel *tree_model, GncPluginPageSxList *page)
         // walk the list to see if we can reselect the sx
         for (GList *list = priv->selected_list; list != NULL; list = list->next)
         {
-            SchedXaction *sx = list->data;
+            SchedXaction *sx = GNC_SCHEDXACTION(list->data);
             GtkTreePath *path = gtk_tree_path_new_first ();
 
             // loop through the model trying to find selected sx's
@@ -715,7 +715,7 @@ gnc_plugin_page_sx_list_cmd_new (GSimpleAction *simple,
                                  GVariant      *parameter,
                                  gpointer       user_data)
 {
-    GncPluginPageSxList *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_SX_LIST(user_data);
     GtkWindow *window = GTK_WINDOW(gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(plugin_page)));
     SchedXaction *new_sx;
     gboolean new_sx_flag = TRUE;
@@ -742,7 +742,7 @@ gnc_plugin_page_sx_list_cmd_refresh (GSimpleAction *simple,
                                      GVariant      *parameter,
                                      gpointer       user_data)
 {
-    GncPluginPageSxList *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_SX_LIST(user_data);
     GncPluginPageSxListPrivate *priv;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_SX_LIST(plugin_page));
@@ -755,7 +755,7 @@ static void
 _edit_sx(gpointer data, gpointer user_data)
 {
     gnc_ui_scheduled_xaction_editor_dialog_create (GTK_WINDOW(user_data),
-        (SchedXaction*)data, FALSE);
+                                                   GNC_SCHEDXACTION(data), FALSE);
 }
 
 static SchedXaction*
@@ -770,7 +770,7 @@ gnc_plugin_page_sx_list_cmd_edit (GSimpleAction *simple,
                                   GVariant      *parameter,
                                   gpointer       user_data)
 {
-    GncPluginPageSxList *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_SX_LIST(user_data);
     GncPluginPageSxListPrivate *priv = GNC_PLUGIN_PAGE_SX_LIST_GET_PRIVATE(plugin_page);
     GtkWindow *window = GTK_WINDOW(gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(plugin_page)));
     GtkTreeSelection *selection;
@@ -792,8 +792,8 @@ gnc_plugin_page_sx_list_cmd_edit (GSimpleAction *simple,
     gppsl_update_selected_list (plugin_page, TRUE, NULL);
     for (GList *list = to_edit; list != NULL; list = list->next)
     {
-        DEBUG ("to-edit [%s]\n", xaccSchedXactionGetName ((SchedXaction*)list->data));
-        gppsl_update_selected_list (plugin_page, FALSE, list->data);
+        DEBUG ("to-edit [%s]\n", xaccSchedXactionGetName (GNC_SCHEDXACTION(list->data)));
+        gppsl_update_selected_list (plugin_page, FALSE, GNC_SCHEDXACTION(list->data));
     }
 
     g_list_foreach (to_edit, (GFunc)_edit_sx, window);
@@ -808,7 +808,7 @@ gnc_plugin_page_sx_list_cmd_edit_tax_options (GSimpleAction *simple,
                                               GVariant      *parameter,
                                               gpointer       user_data)
 {
-    GncPluginPageSxList *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_SX_LIST(user_data);
     GtkWidget *window = GTK_WIDGET(gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(plugin_page)));
 
     ENTER ("(action %p, page %p)", simple, plugin_page);
@@ -838,7 +838,7 @@ static void
 _destroy_sx(gpointer data, gpointer user_data)
 {
     SchedXactions *sxes;
-    SchedXaction *sx = (SchedXaction*)data;
+    auto sx = GNC_SCHEDXACTION(data);
     QofBook *book;
     book = gnc_get_current_book ();
     sxes = gnc_book_get_schedxactions (book);
@@ -851,7 +851,7 @@ _destroy_sx(gpointer data, gpointer user_data)
 static void
 _destroy_sx_names (gpointer data, gpointer user_data)
 {
-    SchedXaction *sx = (SchedXaction*)data;
+    auto sx = GNC_SCHEDXACTION(data);
     GList **to_delete_names = (GList**)user_data;
     *to_delete_names = g_list_append (*to_delete_names, xaccSchedXactionGetName (sx));
 }
@@ -862,7 +862,7 @@ gnc_plugin_page_sx_list_cmd_delete (GSimpleAction *simple,
                                     GVariant      *parameter,
                                     gpointer       user_data)
 {
-    GncPluginPageSxList *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_SX_LIST(user_data);
     GncPluginPageSxListPrivate *priv = GNC_PLUGIN_PAGE_SX_LIST_GET_PRIVATE(plugin_page);
     GtkTreeSelection *selection = gtk_tree_view_get_selection (priv->tree_view);
     GList *selected_paths, *to_delete = NULL, *to_delete_names = NULL;
@@ -906,8 +906,8 @@ gnc_plugin_page_sx_list_cmd_delete (GSimpleAction *simple,
         gppsl_update_selected_list (plugin_page, TRUE, NULL);
         for (GList *list = to_delete; list != NULL; list = list->next)
         {
-            DEBUG("to-delete [%s]\n", xaccSchedXactionGetName ((SchedXaction*)list->data));
-            gppsl_update_selected_list (plugin_page, FALSE, list->data);
+            DEBUG("to-delete [%s]\n", xaccSchedXactionGetName (GNC_SCHEDXACTION(list->data)));
+            gppsl_update_selected_list (plugin_page, FALSE, GNC_SCHEDXACTION(list->data));
         }
         g_list_foreach (to_delete, (GFunc)_destroy_sx, NULL);
     }
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 77349ca3f7..4388148293 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -101,7 +101,7 @@ gnucash/gnome/gnc-plugin-page-invoice.cpp
 gnucash/gnome/gnc-plugin-page-owner-tree.cpp
 gnucash/gnome/gnc-plugin-page-register.cpp
 gnucash/gnome/gnc-plugin-page-report.cpp
-gnucash/gnome/gnc-plugin-page-sx-list.c
+gnucash/gnome/gnc-plugin-page-sx-list.cpp
 gnucash/gnome/gnc-plugin-register.c
 gnucash/gnome/gnc-plugin-report-system.c
 gnucash/gnome/gnc-split-reg.c

commit 8582e13e593b30d0314a3f8e00c293e2816f7459
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Feb 25 22:04:18 2024 +0800

    [gnc-plugin-page-owner-tree.cpp] convert to cpp

diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt
index 5b60fe0dc9..46a1c9969e 100644
--- a/gnucash/gnome/CMakeLists.txt
+++ b/gnucash/gnome/CMakeLists.txt
@@ -112,7 +112,7 @@ set (gnc_gnome_SOURCES
   gnc-plugin-page-account-tree.cpp
   gnc-plugin-page-budget.cpp
   gnc-plugin-page-invoice.cpp
-  gnc-plugin-page-owner-tree.c
+  gnc-plugin-page-owner-tree.cpp
   gnc-plugin-page-register.cpp
   gnc-plugin-page-report.cpp
   gnc-plugin-page-sx-list.c
diff --git a/gnucash/gnome/gnc-plugin-page-owner-tree.c b/gnucash/gnome/gnc-plugin-page-owner-tree.cpp
similarity index 97%
rename from gnucash/gnome/gnc-plugin-page-owner-tree.c
rename to gnucash/gnome/gnc-plugin-page-owner-tree.cpp
index 29efe58d12..3bd754db7f 100644
--- a/gnucash/gnome/gnc-plugin-page-owner-tree.c
+++ b/gnucash/gnome/gnc-plugin-page-owner-tree.cpp
@@ -267,7 +267,7 @@ gnc_plugin_page_owner_tree_new (GncOwnerType owner_type)
         }
     }
 
-    plugin_page = g_object_new(GNC_TYPE_PLUGIN_PAGE_OWNER_TREE, NULL);
+    plugin_page = GNC_PLUGIN_PAGE_OWNER_TREE(g_object_new(GNC_TYPE_PLUGIN_PAGE_OWNER_TREE, nullptr));
 
     priv = GNC_PLUGIN_PAGE_OWNER_TREE_GET_PRIVATE(plugin_page);
     priv->owner_type = owner_type;
@@ -469,7 +469,7 @@ gnc_plugin_page_owner_tree_get_current_owner (GncPluginPageOwnerTree *page)
 static void
 gnc_plugin_page_owner_refresh_cb (GHashTable *changes, gpointer user_data)
 {
-    GncPluginPageOwnerTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_OWNER_TREE(user_data);
     GncPluginPageOwnerTreePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_OWNER_TREE(page));
@@ -501,7 +501,7 @@ gnc_plugin_page_owner_tree_create_widget (GncPluginPage *plugin_page)
     GtkWidget *scrolled_window;
     GtkTreeViewColumn *col;
     const gchar *state_section = NULL;
-    gchar* label = "";
+    const gchar* label = "";
     const gchar *style_label = NULL;
 
     ENTER("page %p", plugin_page);
@@ -714,7 +714,7 @@ gnc_plugin_page_owner_tree_recreate_page (GtkWidget *window,
     ENTER("key_file %p, group_name %s", key_file, group_name);
 
     /* Create the new page. */
-    owner_type = g_key_file_get_integer(key_file, group_name, OWNER_TYPE_LABEL, NULL);
+    owner_type = static_cast<GncOwnerType>(g_key_file_get_integer(key_file, group_name, OWNER_TYPE_LABEL, NULL));
     page = gnc_plugin_page_owner_tree_new(owner_type);
     owner_page = GNC_PLUGIN_PAGE_OWNER_TREE(page);
     priv = GNC_PLUGIN_PAGE_OWNER_TREE_GET_PRIVATE(owner_page);
@@ -837,8 +837,8 @@ gnc_plugin_page_owner_tree_selection_changed_cb (GtkTreeSelection *selection,
 static int
 build_aging_report (GncOwnerType owner_type)
 {
-    gchar *report_name = NULL;
-    gchar *report_title = NULL;
+    const gchar *report_name = NULL;
+    const gchar *report_title = NULL;
     SCM args;
     SCM func;
     SCM arg;
@@ -951,7 +951,7 @@ gnc_plugin_page_owner_tree_cmd_new_owner (GSimpleAction *simple,
                                           gpointer user_data)
 
 {
-    GncPluginPageOwnerTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_OWNER_TREE (user_data);
     GncPluginPageOwnerTreePrivate *priv;
     GtkWindow *parent;
 
@@ -995,7 +995,7 @@ gnc_plugin_page_owner_tree_cmd_edit_owner (GSimpleAction *simple,
                                            gpointer user_data)
 
 {
-    GncPluginPageOwnerTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_OWNER_TREE (user_data);
     GtkWindow *parent;
     GncOwner *owner = gnc_plugin_page_owner_tree_get_current_owner (page);
     if (NULL == owner) return;
@@ -1015,7 +1015,7 @@ gnc_plugin_page_owner_tree_cmd_delete_owner (GSimpleAction *simple,
                                              gpointer user_data)
 
 {
-    GncPluginPageOwnerTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_OWNER_TREE (user_data);
     GncOwner *owner = gnc_plugin_page_owner_tree_get_current_owner (page);
     gchar *owner_name;
     GtkWidget *window;
@@ -1089,7 +1089,7 @@ gnc_plugin_page_owner_tree_cmd_view_filter_by (GSimpleAction *simple,
                                                gpointer user_data)
 
 {
-    GncPluginPageOwnerTree *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_OWNER_TREE(user_data);
     GncPluginPageOwnerTreePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_OWNER_TREE(plugin_page));
@@ -1106,7 +1106,7 @@ gnc_plugin_page_owner_tree_cmd_refresh (GSimpleAction *simple,
                                         gpointer user_data)
 
 {
-    GncPluginPageOwnerTree *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_OWNER_TREE(user_data);
     GncPluginPageOwnerTreePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_OWNER_TREE(plugin_page));
@@ -1120,7 +1120,7 @@ gnc_plugin_page_owner_tree_cmd_edit_tax (GSimpleAction *simple,
                                          GVariant *parameter,
                                          gpointer user_data)
 {
-    GncPluginPageOwnerTree *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_OWNER_TREE(user_data);
     GtkWidget *parent;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_OWNER_TREE(plugin_page));
@@ -1136,7 +1136,7 @@ gnc_plugin_page_owner_tree_cmd_new_invoice (GSimpleAction *simple,
                                             gpointer user_data)
 
 {
-    GncPluginPageOwnerTree *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_OWNER_TREE(user_data);
     GncPluginPageOwnerTreePrivate *priv;
     GncOwner current_owner;
     GtkWindow *parent;
@@ -1189,7 +1189,7 @@ gnc_plugin_page_owner_tree_cmd_owners_report (GSimpleAction *simple,
                                               gpointer user_data)
 
 {
-    GncPluginPageOwnerTree *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_OWNER_TREE(user_data);
     GncPluginPageOwnerTreePrivate *priv;
     int id;
 
@@ -1215,7 +1215,7 @@ gnc_plugin_page_owner_tree_cmd_owner_report (GSimpleAction *simple,
                                              gpointer user_data)
 
 {
-    GncPluginPageOwnerTree *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_OWNER_TREE(user_data);
     GncOwner *current_owner;
     int id;
 
@@ -1242,7 +1242,7 @@ gnc_plugin_page_owner_tree_cmd_process_payment (GSimpleAction *simple,
                                                 gpointer user_data)
 
 {
-    GncPluginPageOwnerTree *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_OWNER_TREE(user_data);
     ENTER("(action %p, plugin_page %p)", simple, plugin_page);
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_OWNER_TREE(plugin_page));
diff --git a/po/POTFILES.in b/po/POTFILES.in
index e596b1af2c..77349ca3f7 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -98,7 +98,7 @@ gnucash/gnome/gnc-plugin-business.c
 gnucash/gnome/gnc-plugin-page-account-tree.cpp
 gnucash/gnome/gnc-plugin-page-budget.cpp
 gnucash/gnome/gnc-plugin-page-invoice.cpp
-gnucash/gnome/gnc-plugin-page-owner-tree.c
+gnucash/gnome/gnc-plugin-page-owner-tree.cpp
 gnucash/gnome/gnc-plugin-page-register.cpp
 gnucash/gnome/gnc-plugin-page-report.cpp
 gnucash/gnome/gnc-plugin-page-sx-list.c

commit 1cb3537f94f4e9e4a5f4f304d5505717c22fb9b7
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Feb 25 21:35:51 2024 +0800

    [gnc-plugin-page-invoice.cpp] convert to cpp

diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt
index 0911c2a1a9..5b60fe0dc9 100644
--- a/gnucash/gnome/CMakeLists.txt
+++ b/gnucash/gnome/CMakeLists.txt
@@ -111,7 +111,7 @@ set (gnc_gnome_SOURCES
   gnc-plugin-report-system.c
   gnc-plugin-page-account-tree.cpp
   gnc-plugin-page-budget.cpp
-  gnc-plugin-page-invoice.c
+  gnc-plugin-page-invoice.cpp
   gnc-plugin-page-owner-tree.c
   gnc-plugin-page-register.cpp
   gnc-plugin-page-report.cpp
diff --git a/gnucash/gnome/gnc-plugin-page-invoice.c b/gnucash/gnome/gnc-plugin-page-invoice.cpp
similarity index 96%
rename from gnucash/gnome/gnc-plugin-page-invoice.c
rename to gnucash/gnome/gnc-plugin-page-invoice.cpp
index d796993df8..e2b93385d0 100644
--- a/gnucash/gnome/gnc-plugin-page-invoice.c
+++ b/gnucash/gnome/gnc-plugin-page-invoice.cpp
@@ -353,7 +353,7 @@ gnc_plugin_page_invoice_new (InvoiceWindow *iw)
             return GNC_PLUGIN_PAGE(invoice_page);
     }
 
-    invoice_page = g_object_new (GNC_TYPE_PLUGIN_PAGE_INVOICE, (char *)NULL);
+    invoice_page = GNC_PLUGIN_PAGE_INVOICE (g_object_new (GNC_TYPE_PLUGIN_PAGE_INVOICE, nullptr));
     priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(invoice_page);
     priv->iw = iw;
 
@@ -667,11 +667,11 @@ gnc_plugin_page_invoice_create_widget (GncPluginPage *plugin_page)
     gnc_plugin_page_invoice_summarybar_position_changed(NULL, NULL, page);
     gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL,
                            GNC_PREF_SUMMARYBAR_POSITION_TOP,
-                           gnc_plugin_page_invoice_summarybar_position_changed,
+                           (gpointer)gnc_plugin_page_invoice_summarybar_position_changed,
                            page);
     gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL,
                            GNC_PREF_SUMMARYBAR_POSITION_BOTTOM,
-                           gnc_plugin_page_invoice_summarybar_position_changed,
+                           (gpointer)gnc_plugin_page_invoice_summarybar_position_changed,
                            page);
 
     regWidget = gnc_invoice_get_register(priv->iw);
@@ -706,11 +706,11 @@ gnc_plugin_page_invoice_destroy_widget (GncPluginPage *plugin_page)
 
     gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL,
                                  GNC_PREF_SUMMARYBAR_POSITION_TOP,
-                                 gnc_plugin_page_invoice_summarybar_position_changed,
+                                 (gpointer)gnc_plugin_page_invoice_summarybar_position_changed,
                                  page);
     gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL,
                                  GNC_PREF_SUMMARYBAR_POSITION_BOTTOM,
-                                 gnc_plugin_page_invoice_summarybar_position_changed,
+                                 (gpointer)gnc_plugin_page_invoice_summarybar_position_changed,
                                  page);
 
     // Remove the page_changed signal callback
@@ -849,7 +849,7 @@ gnc_plugin_page_invoice_cmd_new_invoice (GSimpleAction *simple,
                                          GVariant *paramter,
                                          gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     GtkWindow *parent;
 
@@ -867,7 +867,7 @@ gnc_plugin_page_invoice_cmd_new_account (GSimpleAction *simple,
                                          GVariant *paramter,
                                          gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GtkWindow *parent = NULL;
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
     parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (plugin_page)));
@@ -881,7 +881,7 @@ gnc_plugin_page_invoice_cmd_print (GSimpleAction *simple,
                                    GVariant *paramter,
                                    gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     GtkWindow *parent;
 
@@ -899,7 +899,7 @@ gnc_plugin_page_invoice_cmd_cut (GSimpleAction *simple,
                                  GVariant *paramter,
                                  gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -915,7 +915,7 @@ gnc_plugin_page_invoice_cmd_copy (GSimpleAction *simple,
                                   GVariant *paramter,
                                   gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -931,7 +931,7 @@ gnc_plugin_page_invoice_cmd_paste (GSimpleAction *simple,
                                    GVariant *paramter,
                                    gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -947,7 +947,7 @@ gnc_plugin_page_invoice_cmd_edit (GSimpleAction *simple,
                                   GVariant *paramter,
                                   gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     GtkWindow *parent;
 
@@ -965,7 +965,7 @@ gnc_plugin_page_invoice_cmd_edit_tax (GSimpleAction *simple,
                                       GVariant *paramter,
                                       gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GtkWidget *parent;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -981,7 +981,7 @@ gnc_plugin_page_invoice_cmd_duplicateInvoice (GSimpleAction *simple,
                                               GVariant *paramter,
                                               gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     GtkWindow *parent;
 
@@ -999,7 +999,7 @@ gnc_plugin_page_invoice_cmd_post (GSimpleAction *simple,
                                   GVariant *paramter,
                                   gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -1015,7 +1015,7 @@ gnc_plugin_page_invoice_cmd_unpost (GSimpleAction *simple,
                                     GVariant *paramter,
                                     gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -1032,7 +1032,7 @@ gnc_plugin_page_invoice_cmd_sort_changed (GSimpleAction *simple,
                                           gpointer user_data)
 {
     GncPluginPageInvoicePrivate *priv;
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     gint item;
 
     g_return_if_fail (G_IS_SIMPLE_ACTION(simple));
@@ -1044,7 +1044,7 @@ gnc_plugin_page_invoice_cmd_sort_changed (GSimpleAction *simple,
     priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
     item = g_variant_get_int32 (parameter);
     g_action_change_state (G_ACTION(simple), parameter);
-    gnc_invoice_window_sort (priv->iw, item);
+    gnc_invoice_window_sort (priv->iw, (invoice_sort_type_t)item);
     LEAVE(" ");
 }
 
@@ -1053,7 +1053,7 @@ gnc_plugin_page_invoice_cmd_refresh (GSimpleAction *simple,
                                      GVariant *paramter,
                                      gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -1070,7 +1070,7 @@ gnc_plugin_page_invoice_cmd_enter (GSimpleAction *simple,
                                    GVariant *paramter,
                                    gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -1086,7 +1086,7 @@ gnc_plugin_page_invoice_cmd_cancel (GSimpleAction *simple,
                                     GVariant *paramter,
                                     gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -1102,7 +1102,7 @@ gnc_plugin_page_invoice_cmd_delete (GSimpleAction *simple,
                                     GVariant *paramter,
                                     gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -1118,7 +1118,7 @@ gnc_plugin_page_invoice_cmd_blank (GSimpleAction *simple,
                                    GVariant *paramter,
                                    gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -1134,7 +1134,7 @@ gnc_plugin_page_invoice_cmd_duplicateEntry (GSimpleAction *simple,
                                             GVariant *paramter,
                                             gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
@@ -1150,7 +1150,7 @@ gnc_plugin_page_invoice_cmd_entryUp (GSimpleAction *simple,
                                      GVariant *paramter,
                                      gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
 
@@ -1165,7 +1165,7 @@ gnc_plugin_page_invoice_cmd_entryDown (GSimpleAction *simple,
                                        GVariant *paramter,
                                        gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
 
@@ -1180,7 +1180,7 @@ gnc_plugin_page_invoice_cmd_pay_invoice (GSimpleAction *simple,
                                          GVariant *paramter,
                                          gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     GtkWindow *parent;
 
@@ -1198,7 +1198,7 @@ gnc_plugin_page_invoice_cmd_save_layout (GSimpleAction *simple,
                                          GVariant *paramter,
                                          gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     GAction *layout_action;
 
@@ -1220,7 +1220,7 @@ gnc_plugin_page_invoice_cmd_reset_layout (GSimpleAction *simple,
                                           GVariant *paramter,
                                           gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     GAction *layout_action;
 
@@ -1242,7 +1242,7 @@ gnc_plugin_page_invoice_cmd_link (GSimpleAction *simple,
                                   GVariant *paramter,
                                   gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     GtkWindow *parent;
     GncInvoice *invoice;
@@ -1300,7 +1300,7 @@ gnc_plugin_page_invoice_cmd_link_open (GSimpleAction *simple,
                                        GVariant *paramter,
                                        gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     GtkWindow *parent;
     GncInvoice *invoice;
@@ -1325,7 +1325,7 @@ gnc_plugin_page_invoice_cmd_company_report (GSimpleAction *simple,
                                             GVariant *paramter,
                                             gpointer user_data)
 {
-    GncPluginPageInvoice *plugin_page = user_data;
+    auto plugin_page = GNC_PLUGIN_PAGE_INVOICE (user_data);
     GncPluginPageInvoicePrivate *priv;
     GtkWindow *parent;
 
@@ -1383,7 +1383,7 @@ gnc_plugin_page_invoice_update_title (GncPluginPage *plugin_page)
 static void
 gnc_plugin_page_invoice_refresh_cb (GHashTable *changes, gpointer user_data)
 {
-    GncPluginPageInvoice *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_INVOICE(user_data);
     GncPluginPageInvoicePrivate *priv;
     GtkWidget *reg;
 
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 8a744bfaab..e596b1af2c 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -97,7 +97,7 @@ gnucash/gnome/gnc-plugin-budget.c
 gnucash/gnome/gnc-plugin-business.c
 gnucash/gnome/gnc-plugin-page-account-tree.cpp
 gnucash/gnome/gnc-plugin-page-budget.cpp
-gnucash/gnome/gnc-plugin-page-invoice.c
+gnucash/gnome/gnc-plugin-page-invoice.cpp
 gnucash/gnome/gnc-plugin-page-owner-tree.c
 gnucash/gnome/gnc-plugin-page-register.cpp
 gnucash/gnome/gnc-plugin-page-report.cpp

commit 804886cb2ed6fd2df8bf4a1d763a633708658a36
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Feb 25 20:01:54 2024 +0800

    [gnc-plugin-page-budget.cpp] convert to cpp

diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt
index cb5e4a6724..0911c2a1a9 100644
--- a/gnucash/gnome/CMakeLists.txt
+++ b/gnucash/gnome/CMakeLists.txt
@@ -110,7 +110,7 @@ set (gnc_gnome_SOURCES
   gnc-plugin-register.c
   gnc-plugin-report-system.c
   gnc-plugin-page-account-tree.cpp
-  gnc-plugin-page-budget.c
+  gnc-plugin-page-budget.cpp
   gnc-plugin-page-invoice.c
   gnc-plugin-page-owner-tree.c
   gnc-plugin-page-register.cpp
diff --git a/gnucash/gnome/gnc-plugin-page-budget.c b/gnucash/gnome/gnc-plugin-page-budget.cpp
similarity index 97%
rename from gnucash/gnome/gnc-plugin-page-budget.c
rename to gnucash/gnome/gnc-plugin-page-budget.cpp
index 2e0ac3d8d3..812999dd51 100644
--- a/gnucash/gnome/gnc-plugin-page-budget.c
+++ b/gnucash/gnome/gnc-plugin-page-budget.cpp
@@ -233,7 +233,6 @@ G_DEFINE_TYPE_WITH_PRIVATE(GncPluginPageBudget, gnc_plugin_page_budget, GNC_TYPE
 GncPluginPage *
 gnc_plugin_page_budget_new (GncBudget *budget)
 {
-    GncPluginPageBudget *plugin_page;
     GncPluginPageBudgetPrivate *priv;
     gchar* label;
     const GList *item;
@@ -245,7 +244,7 @@ gnc_plugin_page_budget_new (GncBudget *budget)
     item = gnc_gobject_tracking_get_list (GNC_PLUGIN_PAGE_BUDGET_NAME);
     for ( ; item; item = g_list_next (item))
     {
-        plugin_page = (GncPluginPageBudget *)item->data;
+        auto plugin_page = GNC_PLUGIN_PAGE_BUDGET(item->data);
         priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(plugin_page);
         if (priv->budget == budget)
         {
@@ -254,7 +253,7 @@ gnc_plugin_page_budget_new (GncBudget *budget)
         }
     }
 
-    plugin_page = g_object_new (GNC_TYPE_PLUGIN_PAGE_BUDGET, NULL);
+    auto plugin_page = GNC_PLUGIN_PAGE_BUDGET (g_object_new (GNC_TYPE_PLUGIN_PAGE_BUDGET, nullptr));
 
     priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(plugin_page);
     priv->budget = budget;
@@ -712,12 +711,11 @@ gnc_plugin_page_budget_cmd_open_account (GSimpleAction *simple,
                                          GVariant *parameter,
                                          gpointer user_data)
 {
-    GncPluginPageBudget *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET (user_data);
     GncPluginPageBudgetPrivate *priv;
     GtkWidget *window;
     GncPluginPage *new_page;
     GList *acct_list, *tmp;
-    Account *account;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_BUDGET(page));
     priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(page);
@@ -726,7 +724,7 @@ gnc_plugin_page_budget_cmd_open_account (GSimpleAction *simple,
     window = GNC_PLUGIN_PAGE(page)->window;
     for (tmp = acct_list; tmp; tmp = g_list_next (tmp))
     {
-        account = tmp->data;
+        auto account = GNC_ACCOUNT (tmp->data);
         new_page = gnc_plugin_page_register_new (account, FALSE);
         gnc_main_window_open_page (GNC_MAIN_WINDOW(window), new_page);
     }
@@ -739,12 +737,11 @@ gnc_plugin_page_budget_cmd_open_subaccounts (GSimpleAction *simple,
                                              GVariant *parameter,
                                              gpointer user_data)
 {
-    GncPluginPageBudget *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET (user_data);
     GncPluginPageBudgetPrivate *priv;
     GtkWidget *window;
     GncPluginPage *new_page;
     GList *acct_list, *tmp;
-    Account *account;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_BUDGET(page));
     priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(page);
@@ -753,7 +750,7 @@ gnc_plugin_page_budget_cmd_open_subaccounts (GSimpleAction *simple,
     window = GNC_PLUGIN_PAGE(page)->window;
     for (tmp = acct_list; tmp; tmp = g_list_next (tmp))
     {
-        account = tmp->data;
+        auto account = GNC_ACCOUNT(tmp->data);
         new_page = gnc_plugin_page_register_new (account, TRUE);
         gnc_main_window_open_page (GNC_MAIN_WINDOW(window), new_page);
     }
@@ -766,7 +763,7 @@ gnc_plugin_page_budget_cmd_delete_budget (GSimpleAction *simple,
                                           GVariant *parameter,
                                           gpointer user_data)
 {
-    GncPluginPageBudget *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET (user_data);
     GncPluginPageBudgetPrivate *priv;
     GncBudget *budget;
 
@@ -784,7 +781,7 @@ gnc_plugin_page_budget_cmd_edit_tax_options (GSimpleAction *simple,
                                              GVariant      *parameter,
                                              gpointer       user_data)
 {
-    GncPluginPageBudget *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET (user_data);
     GncPluginPageBudgetPrivate *priv;
     GtkTreeSelection *selection;
     Account *account = NULL;
@@ -803,7 +800,7 @@ gnc_plugin_page_budget_cmd_edit_tax_options (GSimpleAction *simple,
     if (gtk_tree_selection_count_selected_rows (selection) == 1)
     {
         GList *acc_list = gnc_budget_view_get_selected_accounts (priv->budget_view);
-        account = acc_list->data;
+        account = GNC_ACCOUNT (acc_list->data);
         g_list_free (acc_list);
     }
     gnc_tax_info_dialog (window, account);
@@ -818,7 +815,7 @@ gnc_plugin_page_budget_cmd_view_options (GSimpleAction *simple,
                                          GVariant *parameter,
                                          gpointer user_data)
 {
-    GncPluginPageBudget *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET (user_data);
     GncPluginPageBudgetPrivate *priv;
     GncRecurrence *gr;
     GtkBuilder *builder;
@@ -963,7 +960,7 @@ estimate_budget_helper (GtkTreeModel *model, GtkTreePath *path,
     guint num_periods, i;
     gnc_numeric num;
     GncPluginPageBudgetPrivate *priv;
-    GncPluginPageBudget *page = data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET(data);
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_BUDGET(page));
     priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(page);
@@ -1017,7 +1014,7 @@ gnc_plugin_page_budget_cmd_estimate_budget (GSimpleAction *simple,
                                             GVariant *parameter,
                                             gpointer user_data)
 {
-    GncPluginPageBudget *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET (user_data);
     GncPluginPageBudgetPrivate *priv;
     GtkTreeSelection *sel;
     GtkWidget *dialog, *gde, *dtr, *hb, *avg;
@@ -1035,7 +1032,7 @@ gnc_plugin_page_budget_cmd_estimate_budget (GSimpleAction *simple,
     {
         dialog = gtk_message_dialog_new (
                      GTK_WINDOW(gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(page))),
-                     GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
+                     (GtkDialogFlags)(GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL),
                      GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "%s",
                      _("You must select at least one account to estimate."));
         gtk_dialog_run (GTK_DIALOG(dialog));
@@ -1102,7 +1099,7 @@ allperiods_budget_helper (GtkTreeModel *model, GtkTreePath *path,
     guint num_periods, i;
     gnc_numeric num, allvalue;
     GncPluginPageBudgetPrivate *priv;
-    GncPluginPageBudget *page = data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET(data);
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_BUDGET(page));
     priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(page);
@@ -1150,7 +1147,7 @@ gnc_plugin_page_budget_cmd_allperiods_budget (GSimpleAction *simple,
                                               GVariant *parameter,
                                               gpointer user_data)
 {
-    GncPluginPageBudget *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET (user_data);
     GncPluginPageBudgetPrivate *priv;
     GtkTreeSelection *sel;
     GtkWidget *dialog, *val, *dtr, *add, *mult;
@@ -1166,7 +1163,7 @@ gnc_plugin_page_budget_cmd_allperiods_budget (GSimpleAction *simple,
     {
         dialog = gtk_message_dialog_new (
                     GTK_WINDOW(gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(page))),
-                    GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
+                    (GtkDialogFlags)(GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL),
                     GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "%s",
                     _("You must select at least one account to edit."));
         gtk_dialog_run (GTK_DIALOG(dialog));
@@ -1236,7 +1233,7 @@ gnc_plugin_page_budget_cmd_budget_note (GSimpleAction *simple,
                                         GVariant *parameter,
                                         gpointer user_data)
 {
-    GncPluginPageBudget *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET (user_data);
     GncPluginPageBudgetPrivate *priv;
     GtkWidget *dialog, *note;
     gint result;
@@ -1267,7 +1264,7 @@ gnc_plugin_page_budget_cmd_budget_note (GSimpleAction *simple,
     {
         dialog = gtk_message_dialog_new(
             GTK_WINDOW(gnc_plugin_page_get_window(GNC_PLUGIN_PAGE(page))),
-            GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
+            (GtkDialogFlags)(GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL),
             GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "%s",
             _("You must select one budget cell to edit."));
         gtk_dialog_run(GTK_DIALOG(dialog));
@@ -1323,7 +1320,7 @@ gnc_plugin_page_budget_cmd_budget_report (GSimpleAction *simple,
                                           GVariant *parameter,
                                           gpointer user_data)
 {
-    GncPluginPageBudget *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET (user_data);
     GncPluginPageBudgetPrivate *priv;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_BUDGET (page));
@@ -1358,7 +1355,7 @@ gnc_plugin_page_budget_cmd_view_filter_by (GSimpleAction *simple,
                                            GVariant *parameter,
                                            gpointer user_data)
 {
-    GncPluginPageBudget *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET (user_data);
     GncPluginPageBudgetPrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_BUDGET(page));
@@ -1375,7 +1372,7 @@ gnc_plugin_page_budget_cmd_refresh (GSimpleAction *simple,
                                     GVariant *parameter,
                                     gpointer user_data)
 {
-    GncPluginPageBudget *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_BUDGET (user_data);
     GncPluginPageBudgetPrivate *priv;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_BUDGET(page));
diff --git a/po/POTFILES.in b/po/POTFILES.in
index c63e00baf6..8a744bfaab 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -96,7 +96,7 @@ gnucash/gnome/gnc-plugin-basic-commands.c
 gnucash/gnome/gnc-plugin-budget.c
 gnucash/gnome/gnc-plugin-business.c
 gnucash/gnome/gnc-plugin-page-account-tree.cpp
-gnucash/gnome/gnc-plugin-page-budget.c
+gnucash/gnome/gnc-plugin-page-budget.cpp
 gnucash/gnome/gnc-plugin-page-invoice.c
 gnucash/gnome/gnc-plugin-page-owner-tree.c
 gnucash/gnome/gnc-plugin-page-register.cpp

commit c2ec88cacf034003daf3ef750745e360300609c2
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Feb 25 18:10:50 2024 +0800

    [gnc-plugin-page-account-tree.cpp] convert to cpp

diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt
index 94b49bf978..cb5e4a6724 100644
--- a/gnucash/gnome/CMakeLists.txt
+++ b/gnucash/gnome/CMakeLists.txt
@@ -109,7 +109,7 @@ set (gnc_gnome_SOURCES
   gnc-plugin-business.c
   gnc-plugin-register.c
   gnc-plugin-report-system.c
-  gnc-plugin-page-account-tree.c
+  gnc-plugin-page-account-tree.cpp
   gnc-plugin-page-budget.c
   gnc-plugin-page-invoice.c
   gnc-plugin-page-owner-tree.c
diff --git a/gnucash/gnome/gnc-plugin-page-account-tree.c b/gnucash/gnome/gnc-plugin-page-account-tree.cpp
similarity index 95%
rename from gnucash/gnome/gnc-plugin-page-account-tree.c
rename to gnucash/gnome/gnc-plugin-page-account-tree.cpp
index 7517f48397..ffb3bc2f15 100644
--- a/gnucash/gnome/gnc-plugin-page-account-tree.c
+++ b/gnucash/gnome/gnc-plugin-page-account-tree.cpp
@@ -295,11 +295,9 @@ static GncToolBarShortNames toolbar_labels[] =
 GncPluginPage *
 gnc_plugin_page_account_tree_new (void)
 {
-    GncPluginPageAccountTree *plugin_page;
-
     ENTER(" ");
-    plugin_page = g_object_new (GNC_TYPE_PLUGIN_PAGE_ACCOUNT_TREE,
-                                NULL);
+    auto plugin_page = GNC_PLUGIN_PAGE_ACCOUNT_TREE
+        (g_object_new (GNC_TYPE_PLUGIN_PAGE_ACCOUNT_TREE, nullptr));
 
     LEAVE("new account tree page %p", plugin_page);
     return GNC_PLUGIN_PAGE (plugin_page);
@@ -324,6 +322,9 @@ finish_scrubbing (GncWindow *window, gulong handler_id)
     gnc_resume_gui_refresh ();
 }
 
+static const char*
+check_repair_abort_YN = N_("'Check & Repair' is currently running, do you want to abort it?");
+
 static gboolean
 gnc_plugin_page_account_finish_pending (GncPluginPage* page)
 {
@@ -333,7 +334,7 @@ gnc_plugin_page_account_finish_pending (GncPluginPage* page)
         {
             gboolean ret = gnc_verify_dialog (GTK_WINDOW(gnc_plugin_page_get_window
                                              (GNC_PLUGIN_PAGE(page))), FALSE,
-                                             _("'Check & Repair' is currently running, do you want to abort it?"));
+                                              "%s", _(check_repair_abort_YN));
 
             show_abort_verify = FALSE;
 
@@ -696,25 +697,25 @@ gnc_plugin_page_account_tree_create_widget (GncPluginPage *plugin_page)
     gnc_plugin_page_account_tree_summarybar_position_changed(NULL, NULL, page);
     gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL,
                            GNC_PREF_SUMMARYBAR_POSITION_TOP,
-                           gnc_plugin_page_account_tree_summarybar_position_changed,
+                           (gpointer)gnc_plugin_page_account_tree_summarybar_position_changed,
                            page);
     gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL,
                            GNC_PREF_SUMMARYBAR_POSITION_BOTTOM,
-                           gnc_plugin_page_account_tree_summarybar_position_changed,
+                           (gpointer)gnc_plugin_page_account_tree_summarybar_position_changed,
                            page);
 
     gnc_prefs_register_cb(GNC_PREFS_GROUP_ACCT_SUMMARY, GNC_PREF_START_CHOICE_ABS,
-                          accounting_period_changed_cb, page);
+                          (gpointer)accounting_period_changed_cb, page);
     gnc_prefs_register_cb(GNC_PREFS_GROUP_ACCT_SUMMARY, GNC_PREF_START_DATE,
-                          accounting_period_changed_cb, page);
+                          (gpointer)accounting_period_changed_cb, page);
     gnc_prefs_register_cb(GNC_PREFS_GROUP_ACCT_SUMMARY, GNC_PREF_START_PERIOD,
-                          accounting_period_changed_cb, page);
+                          (gpointer)accounting_period_changed_cb, page);
     gnc_prefs_register_cb(GNC_PREFS_GROUP_ACCT_SUMMARY, GNC_PREF_END_CHOICE_ABS,
-                          accounting_period_changed_cb, page);
+                          (gpointer)accounting_period_changed_cb, page);
     gnc_prefs_register_cb(GNC_PREFS_GROUP_ACCT_SUMMARY, GNC_PREF_END_DATE,
-                          accounting_period_changed_cb, page);
+                          (gpointer)accounting_period_changed_cb, page);
     gnc_prefs_register_cb(GNC_PREFS_GROUP_ACCT_SUMMARY, GNC_PREF_END_PERIOD,
-                          accounting_period_changed_cb, page);
+                          (gpointer)accounting_period_changed_cb, page);
 
     g_signal_connect (G_OBJECT(plugin_page), "inserted",
                       G_CALLBACK(gnc_plugin_page_inserted_cb),
@@ -740,11 +741,11 @@ gnc_plugin_page_account_tree_destroy_widget (GncPluginPage *plugin_page)
 
     gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL,
                                  GNC_PREF_SUMMARYBAR_POSITION_TOP,
-                                 gnc_plugin_page_account_tree_summarybar_position_changed,
+                                 (gpointer)gnc_plugin_page_account_tree_summarybar_position_changed,
                                  page);
     gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL,
                                  GNC_PREF_SUMMARYBAR_POSITION_BOTTOM,
-                                 gnc_plugin_page_account_tree_summarybar_position_changed,
+                                 (gpointer)gnc_plugin_page_account_tree_summarybar_position_changed,
                                  page);
 
     // Save account filter state information to account section
@@ -1026,7 +1027,7 @@ gnc_plugin_page_account_tree_cmd_new_account (GSimpleAction *simple,
                                               GVariant      *paramter,
                                               gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account = gnc_plugin_page_account_tree_get_current_account (page);
     GtkWindow *parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page)));
     gnc_ui_new_account_window (parent, gnc_get_current_book(),
@@ -1046,7 +1047,7 @@ gnc_plugin_page_account_tree_cmd_open_account (GSimpleAction *simple,
                                                GVariant      *paramter,
                                                gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_ACCOUNT_TREE (page));
@@ -1059,7 +1060,7 @@ gnc_plugin_page_account_tree_cmd_open_subaccounts (GSimpleAction *simple,
                                                    GVariant      *paramter,
                                                    gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_ACCOUNT_TREE (page));
@@ -1072,7 +1073,7 @@ gnc_plugin_page_account_tree_cmd_edit_account (GSimpleAction *simple,
                                                GVariant      *paramter,
                                                gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account;
     GtkWindow *parent = GTK_WINDOW (gnc_plugin_page_get_window (GNC_PLUGIN_PAGE (page)));
     ENTER("action %p, page %p", simple, page);
@@ -1089,7 +1090,7 @@ gnc_plugin_page_account_tree_cmd_find_account (GSimpleAction *simple,
                                                GVariant      *paramter,
                                                gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     GtkWidget *window;
 
     ENTER("action %p, page %p", simple, page);
@@ -1105,7 +1106,7 @@ gnc_plugin_page_account_tree_cmd_find_account_popup (GSimpleAction *simple,
                                                      GVariant      *paramter,
                                                      gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account = NULL;
     GtkWidget *window;
 
@@ -1124,7 +1125,7 @@ gnc_plugin_page_account_tree_cmd_cascade_account_properties (GSimpleAction *simp
                                                              GVariant      *paramter,
                                                              gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account = NULL;
     GtkWidget *window;
 
@@ -1143,7 +1144,7 @@ gnc_plugin_page_account_tree_cmd_cascade_account_properties (GSimpleAction *simp
 static gpointer
 delete_account_helper (Account * account, gpointer data)
 {
-    delete_helper_t *helper_res = data;
+    auto helper_res = static_cast<delete_helper_t*>(data);
     GList *splits;
 
     splits = xaccAccountGetSplitList (account);
@@ -1152,7 +1153,7 @@ delete_account_helper (Account * account, gpointer data)
         helper_res->has_splits = TRUE;
         while (splits)
         {
-            Split *s = splits->data;
+            auto s = GNC_SPLIT(splits->data);
             Transaction *txn = xaccSplitGetParent (s);
             if (xaccTransGetReadOnly (txn))
             {
@@ -1173,13 +1174,11 @@ delete_account_helper (Account * account, gpointer data)
 static void
 set_ok_sensitivity(GtkWidget *dialog)
 {
-    GtkWidget *button;
-    GtkWidget *sa_mas, *trans_mas;
     gint sa_mas_cnt, trans_mas_cnt;
     gboolean sensitive;
 
-    sa_mas = g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_SA_MAS);
-    trans_mas = g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_TRANS_MAS);
+    auto sa_mas = GTK_WIDGET(g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_SA_MAS));
+    auto trans_mas = GTK_WIDGET(g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_TRANS_MAS));
     sa_mas_cnt = gnc_account_sel_get_visible_account_num(GNC_ACCOUNT_SEL(sa_mas));
     trans_mas_cnt = gnc_account_sel_get_visible_account_num(GNC_ACCOUNT_SEL(trans_mas));
 
@@ -1188,7 +1187,7 @@ set_ok_sensitivity(GtkWidget *dialog)
                  ((NULL == trans_mas) ||
                   (!gtk_widget_is_sensitive(trans_mas) || trans_mas_cnt)));
 
-    button = g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_OK_BUTTON);
+    auto button = GTK_WIDGET(g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_OK_BUTTON));
     gtk_widget_set_sensitive(button, sensitive);
 }
 
@@ -1217,8 +1216,8 @@ gppat_populate_gas_list(GtkWidget *dialog,
     g_return_if_fail(GTK_IS_DIALOG(dialog));
     if (gas == NULL)
         return;
-    account = g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_ACCOUNT);
-    filter = g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_FILTER);
+    account = GNC_ACCOUNT(g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_ACCOUNT));
+    filter = static_cast<GList*>(g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_FILTER));
 
     /* Setting the account type filter triggers GNCAccountSel population. */
     gnc_account_sel_set_acct_filters (gas, filter, NULL);
@@ -1238,12 +1237,10 @@ void
 gppat_populate_trans_mas_list(GtkToggleButton *sa_mrb,
                               GtkWidget *dialog)
 {
-    GtkWidget *trans_mas;
-
     g_return_if_fail(GTK_IS_DIALOG(dialog));
 
     /* Cannot move transactions to subaccounts if they are to be deleted. */
-    trans_mas = g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_TRANS_MAS);
+    auto trans_mas = GTK_WIDGET(g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_TRANS_MAS));
     gppat_populate_gas_list(dialog, GNC_ACCOUNT_SEL(trans_mas), !gtk_toggle_button_get_active(sa_mrb));
 }
 
@@ -1256,9 +1253,9 @@ void
 gppat_set_insensitive_iff_rb_active(GtkWidget *widget, GtkToggleButton *b)
 {
     GtkWidget *dialog = gtk_widget_get_toplevel(widget);
-    GtkWidget *subaccount_trans = g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_SA_TRANS);
-    GtkWidget *sa_mas = g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_SA_MAS);
-    gboolean have_splits = GPOINTER_TO_INT (g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_SA_SPLITS));
+    auto subaccount_trans = GTK_WIDGET(g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_SA_TRANS));
+    auto sa_mas = GTK_WIDGET(g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_SA_MAS));
+    auto have_splits = g_object_get_data(G_OBJECT(dialog), DELETE_DIALOG_SA_SPLITS) != nullptr;
 
     gtk_widget_set_sensitive(widget, !gtk_toggle_button_get_active(b));
 
@@ -1373,7 +1370,7 @@ account_subaccount (Account* account)
     Account* subaccount = NULL;
     GList *subs = gnc_account_get_children (account);
     if (!gnc_list_length_cmp (subs, 1))
-        subaccount = subs->data;
+        subaccount = GNC_ACCOUNT(subs->data);
     g_list_free (subs);
     return subaccount;
 }
@@ -1501,7 +1498,7 @@ gnc_plugin_page_account_tree_cmd_delete_account (GSimpleAction *simple,
                                                  GVariant      *paramter,
                                                  gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account = gnc_plugin_page_account_tree_get_current_account (page);
     gchar *acct_name;
     GtkWidget *window;
@@ -1610,8 +1607,8 @@ confirm_delete_account (GSimpleAction *simple, GncPluginPageAccountTree *page,
         }
         else
         {
-            lines[++i] = g_strdup_printf (_("All transactions in this account "
-                                            "will be deleted."));
+            lines[++i] = g_strdup (_("All transactions in this account "
+                                     "will be deleted."));
         }
     }
     if (gnc_account_n_children(account))
@@ -1625,7 +1622,7 @@ confirm_delete_account (GSimpleAction *simple, GncPluginPageAccountTree *page,
         }
         else
         {
-            lines[++i] = g_strdup_printf (_("Its subaccount will be deleted."));
+            lines[++i] = g_strdup (_("Its subaccount will be deleted."));
             if (sta)
             {
                 char *name = gnc_account_get_full_name(sta);
@@ -1636,8 +1633,8 @@ confirm_delete_account (GSimpleAction *simple, GncPluginPageAccountTree *page,
             }
             else if (delete_res.has_splits)
             {
-                lines[++i] = g_strdup_printf(_("All sub-account transactions "
-                                               "will be deleted."));
+                lines[++i] = g_strdup(_("All sub-account transactions "
+                                        "will be deleted."));
             }
         }
     }
@@ -1681,7 +1678,7 @@ do_delete_account (Account* account, Account* saa, Account* sta, Account* ta)
         xaccAccountBeginEdit (saa);
         acct_list = gnc_account_get_children(account);
         for (ptr = acct_list; ptr; ptr = g_list_next(ptr))
-            gnc_account_append_child (saa, ptr->data);
+            gnc_account_append_child (saa, GNC_ACCOUNT(ptr->data));
         g_list_free(acct_list);
         xaccAccountCommitEdit (saa);
     }
@@ -1732,7 +1729,7 @@ gnc_plugin_page_account_tree_cmd_renumber_accounts (GSimpleAction *simple,
                                                     GVariant      *paramter,
                                                     gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account;
     GtkWidget *window;
 
@@ -1749,7 +1746,7 @@ gnc_plugin_page_account_tree_cmd_refresh (GSimpleAction *simple,
                                           GVariant      *paramter,
                                           gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     GncPluginPageAccountTreePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_ACCOUNT_TREE(page));
@@ -1767,7 +1764,7 @@ gnc_plugin_page_account_tree_cmd_view_filter_by (GSimpleAction *simple,
                                                  GVariant      *paramter,
                                                  gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     GncPluginPageAccountTreePrivate *priv;
 
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_ACCOUNT_TREE(page));
@@ -1783,7 +1780,7 @@ gnc_plugin_page_account_tree_cmd_reconcile (GSimpleAction *simple,
                                             GVariant      *paramter,
                                             gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     GtkWidget *window;
     Account *account;
     RecnWindow *recnData;
@@ -1812,7 +1809,7 @@ gnc_plugin_page_account_tree_cmd_autoclear (GSimpleAction *simple,
                                             GVariant      *paramter,
                                             gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     GtkWidget *window;
     Account *account;
     AutoClearWindow *autoClearData;
@@ -1830,7 +1827,7 @@ gnc_plugin_page_account_tree_cmd_transfer (GSimpleAction *simple,
                                            GVariant      *paramter,
                                            gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     GtkWidget *window;
     Account *account;
 
@@ -1844,7 +1841,7 @@ gnc_plugin_page_account_tree_cmd_stock_split (GSimpleAction *simple,
                                               GVariant      *paramter,
                                               gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     GtkWidget *window;
     Account *account;
 
@@ -1858,7 +1855,7 @@ gnc_plugin_page_account_tree_cmd_stock_assistant (GSimpleAction *simple,
                                                   GVariant      *paramter,
                                                   gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account;
     GtkWidget *window;
 
@@ -1876,7 +1873,7 @@ gnc_plugin_page_account_tree_cmd_edit_tax_options (GSimpleAction *simple,
                                                    GVariant      *paramter,
                                                    gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     GtkWidget *window;
     Account *account;
 
@@ -1890,7 +1887,7 @@ gnc_plugin_page_account_tree_cmd_lots (GSimpleAction *simple,
                                        GVariant      *paramter,
                                        gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account = gnc_plugin_page_account_tree_get_current_account (page);
     GtkWidget *window = GNC_PLUGIN_PAGE (page)->window;
     gnc_lot_viewer_dialog (GTK_WINDOW(window), account);
@@ -1906,7 +1903,7 @@ scrub_kp_handler (GtkWidget *widget, GdkEventKey *event, gpointer data)
     case GDK_KEY_Escape:
         {
             gboolean abort_scrub = gnc_verify_dialog (GTK_WINDOW(widget), FALSE,
-                 _("'Check & Repair' is currently running, do you want to abort it?"));
+                                                      "%s", _(check_repair_abort_YN));
 
             if (abort_scrub)
                 gnc_set_abort_scrub (TRUE);
@@ -1924,7 +1921,7 @@ gnc_plugin_page_account_tree_cmd_scrub (GSimpleAction *simple,
                                         GVariant      *paramter,
                                         gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account = gnc_plugin_page_account_tree_get_current_account (page);
     GncWindow *window;
     gulong scrub_kp_handler_ID;
@@ -1955,7 +1952,7 @@ gnc_plugin_page_account_tree_cmd_scrub_sub (GSimpleAction *simple,
                                             GVariant      *paramter,
                                             gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *account = gnc_plugin_page_account_tree_get_current_account (page);
     GncWindow *window;
     gulong scrub_kp_handler_ID;
@@ -1986,7 +1983,7 @@ gnc_plugin_page_account_tree_cmd_scrub_all (GSimpleAction *simple,
                                             GVariant      *paramter,
                                             gpointer       user_data)
 {
-    GncPluginPageAccountTree *page = user_data;
+    auto page = GNC_PLUGIN_PAGE_ACCOUNT_TREE(user_data);
     Account *root = gnc_get_current_root_account ();
     GncWindow *window;
     gulong scrub_kp_handler_ID;
diff --git a/po/POTFILES.in b/po/POTFILES.in
index c99f679658..c63e00baf6 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -95,7 +95,7 @@ gnucash/gnome/gnc-plugin-account-tree.c
 gnucash/gnome/gnc-plugin-basic-commands.c
 gnucash/gnome/gnc-plugin-budget.c
 gnucash/gnome/gnc-plugin-business.c
-gnucash/gnome/gnc-plugin-page-account-tree.c
+gnucash/gnome/gnc-plugin-page-account-tree.cpp
 gnucash/gnome/gnc-plugin-page-budget.c
 gnucash/gnome/gnc-plugin-page-invoice.c
 gnucash/gnome/gnc-plugin-page-owner-tree.c

commit f25b7e658f2797b79024b4313040922060554285
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Feb 24 17:58:41 2024 +0800

    [gnc-plugin-page-register.cpp] convert to cpp

diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt
index 68006a01d9..94b49bf978 100644
--- a/gnucash/gnome/CMakeLists.txt
+++ b/gnucash/gnome/CMakeLists.txt
@@ -113,7 +113,7 @@ set (gnc_gnome_SOURCES
   gnc-plugin-page-budget.c
   gnc-plugin-page-invoice.c
   gnc-plugin-page-owner-tree.c
-  gnc-plugin-page-register.c
+  gnc-plugin-page-register.cpp
   gnc-plugin-page-report.cpp
   gnc-plugin-page-sx-list.c
   gnc-split-reg.c
diff --git a/gnucash/gnome/gnc-plugin-page-register.c b/gnucash/gnome/gnc-plugin-page-register.cpp
similarity index 97%
rename from gnucash/gnome/gnc-plugin-page-register.c
rename to gnucash/gnome/gnc-plugin-page-register.cpp
index 291cffd8b6..331fa7f146 100644
--- a/gnucash/gnome/gnc-plugin-page-register.c
+++ b/gnucash/gnome/gnc-plugin-page-register.cpp
@@ -127,6 +127,8 @@ static gchar* gnc_plugin_page_register_get_long_name (GncPluginPage*
 static void gnc_plugin_page_register_summarybar_position_changed (
     gpointer prefs, gchar* pref, gpointer user_data);
 
+extern "C"
+{
 /* Callbacks for the "Sort By" dialog */
 void gnc_plugin_page_register_sort_button_cb (GtkToggleButton* button,
                                               GncPluginPageRegister* page);
@@ -136,6 +138,7 @@ void gnc_plugin_page_register_sort_order_save_cb (GtkToggleButton* button,
                                                   GncPluginPageRegister* page);
 void gnc_plugin_page_register_sort_order_reverse_cb (GtkToggleButton* button,
                                                      GncPluginPageRegister* page);
+}
 
 static gchar* gnc_plugin_page_register_get_sort_order (GncPluginPage*
                                                        plugin_page);
@@ -146,6 +149,8 @@ static gboolean gnc_plugin_page_register_get_sort_reversed (
 void gnc_plugin_page_register_set_sort_reversed (GncPluginPage* plugin_page,
                                                  gboolean reverse_order);
 
+extern "C"
+{
 /* Callbacks for the "Filter By" dialog */
 void gnc_plugin_page_register_filter_select_range_cb (GtkRadioButton* button,
                                                       GncPluginPageRegister* page);
@@ -163,6 +168,7 @@ void gnc_plugin_page_register_filter_save_cb (GtkToggleButton* button,
                                               GncPluginPageRegister* page);
 void gnc_plugin_page_register_filter_days_changed_cb (GtkSpinButton* button,
                                                       GncPluginPageRegister* page);
+}
 
 static time64 gnc_plugin_page_register_filter_dmy2time (char* date_string);
 static gchar* gnc_plugin_page_register_filter_time2dmy (time64 raw_time);
@@ -503,7 +509,7 @@ gnc_plugin_page_register_new_common (GNCLedgerDisplay* ledger)
         gnc_set_use_equity_type_opening_balance_account (gnc_get_current_book());
 
     /* Is there an existing page? */
-    gsr = gnc_ledger_display_get_user_data (ledger);
+    gsr = GNC_SPLIT_REG(gnc_ledger_display_get_user_data (ledger));
     if (gsr)
     {
         item = gnc_gobject_tracking_get_list (GNC_PLUGIN_PAGE_REGISTER_NAME);
@@ -516,7 +522,7 @@ gnc_plugin_page_register_new_common (GNCLedgerDisplay* ledger)
         }
     }
 
-    register_page = g_object_new (GNC_TYPE_PLUGIN_PAGE_REGISTER, NULL);
+    register_page = GNC_PLUGIN_PAGE_REGISTER(g_object_new (GNC_TYPE_PLUGIN_PAGE_REGISTER, nullptr));
     priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE (register_page);
     priv->ledger = ledger;
     priv->key = *guid_null();
@@ -566,8 +572,9 @@ gnc_plugin_page_register_new (Account* account, gboolean subaccounts)
            subaccounts ? "TRUE" : "FALSE");
 
     com0 = gnc_account_get_currency_or_parent (account);
-    com1 = gnc_account_foreach_descendant_until (account,
-                                                 gnc_plug_page_register_check_commodity, com0);
+    com1 = GNC_COMMODITY(gnc_account_foreach_descendant_until (account,
+                                                               gnc_plug_page_register_check_commodity,
+                                                               static_cast<gpointer>(com0)));
 
     if (subaccounts)
         ledger = gnc_ledger_display_subaccounts (account, com1 != NULL);
@@ -869,9 +876,9 @@ gnc_plugin_page_register_ui_update (gpointer various,
     action = gnc_plugin_page_get_action (GNC_PLUGIN_PAGE(page), "SplitTransactionAction");
     g_simple_action_set_enabled (G_SIMPLE_ACTION(action), reg->style == REG_STYLE_LEDGER);
 
-    g_signal_handlers_block_by_func (action, gnc_plugin_page_register_cmd_expand_transaction, page);
+    g_signal_handlers_block_by_func (action, (gpointer)gnc_plugin_page_register_cmd_expand_transaction, page);
     g_action_change_state (G_ACTION(action), g_variant_new_boolean (expanded));
-    g_signal_handlers_unblock_by_func (action, gnc_plugin_page_register_cmd_expand_transaction, page);
+    g_signal_handlers_unblock_by_func (action, (gpointer)gnc_plugin_page_register_cmd_expand_transaction, page);
 
     account = gnc_plugin_page_register_get_account (page);
 
@@ -1120,18 +1127,18 @@ gnc_plugin_page_register_ui_initial_state (GncPluginPageRegister* page)
     reg = gnc_ledger_display_get_split_register (priv->ledger);
 
     g_signal_handlers_block_by_func (action,
-                                     gnc_plugin_page_register_cmd_style_changed, page);
+                                     (gpointer)gnc_plugin_page_register_cmd_style_changed, page);
     g_action_change_state (G_ACTION(action), g_variant_new_int32 (reg->style));
     g_signal_handlers_unblock_by_func (action,
-                                       gnc_plugin_page_register_cmd_style_changed, page);
+                                       (gpointer)gnc_plugin_page_register_cmd_style_changed, page);
 
     /* Set "double line" toggle button */
     action = gnc_plugin_page_get_action (GNC_PLUGIN_PAGE(page), "ViewStyleDoubleLineAction");
     g_signal_handlers_block_by_func (action,
-                                     gnc_plugin_page_register_cmd_style_double_line, page);
+                                     (gpointer)gnc_plugin_page_register_cmd_style_double_line, page);
     g_action_change_state (G_ACTION(action), g_variant_new_boolean (reg->use_double_line));
     g_signal_handlers_unblock_by_func (action,
-                                       gnc_plugin_page_register_cmd_style_double_line, page);
+                                       (gpointer)gnc_plugin_page_register_cmd_style_double_line, page);
 }
 
 /* Virtual Functions */
@@ -1279,7 +1286,7 @@ gnc_plugin_page_register_create_widget (GncPluginPage* plugin_page)
 
         PINFO ("Loaded Filter Status is %s", filter[0]);
 
-        priv->fd.cleared_match = (gint)g_ascii_strtoll (filter[0], NULL, 16);
+        priv->fd.cleared_match = (cleared_match_t)g_ascii_strtoll (filter[0], NULL, 16);
 
         if (filtersize > 0 && (g_strcmp0 (filter[0], DEFAULT_FILTER) != 0))
             filter_changed = filter_changed + 1;
@@ -1334,7 +1341,7 @@ gnc_plugin_page_register_create_widget (GncPluginPage* plugin_page)
         else // search ledger and the like
         {
             priv->fd.days = 0;
-            priv->fd.cleared_match = (gint)g_ascii_strtoll (DEFAULT_FILTER, NULL, 16);
+            priv->fd.cleared_match = (cleared_match_t)g_ascii_strtoll (DEFAULT_FILTER, NULL, 16);
             gnc_split_reg_set_sort_type (priv->gsr,
                                          SortTypefromString (DEFAULT_SORT_ORDER));
             priv->sd.reverse_order = FALSE;
@@ -1382,11 +1389,11 @@ gnc_plugin_page_register_create_widget (GncPluginPage* plugin_page)
         gnc_plugin_page_register_summarybar_position_changed (NULL, NULL, page);
         gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL,
                                GNC_PREF_SUMMARYBAR_POSITION_TOP,
-                               gnc_plugin_page_register_summarybar_position_changed,
+                               (gpointer)gnc_plugin_page_register_summarybar_position_changed,
                                page);
         gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL,
                                GNC_PREF_SUMMARYBAR_POSITION_BOTTOM,
-                               gnc_plugin_page_register_summarybar_position_changed,
+                               (gpointer)gnc_plugin_page_register_summarybar_position_changed,
                                page);
     }
 
@@ -1429,11 +1436,11 @@ gnc_plugin_page_register_destroy_widget (GncPluginPage* plugin_page)
 
     gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL,
                                  GNC_PREF_SUMMARYBAR_POSITION_TOP,
-                                 gnc_plugin_page_register_summarybar_position_changed,
+                                 (gpointer)gnc_plugin_page_register_summarybar_position_changed,
                                  page);
     gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL,
                                  GNC_PREF_SUMMARYBAR_POSITION_BOTTOM,
-                                 gnc_plugin_page_register_summarybar_position_changed,
+                                 (gpointer)gnc_plugin_page_register_summarybar_position_changed,
                                  page);
 
     // Remove the page_changed signal callback
@@ -1783,6 +1790,9 @@ gnc_plugin_page_register_update_edit_menu (GncPluginPage* page, gboolean hide)
 static gboolean is_scrubbing = FALSE;
 static gboolean show_abort_verify = TRUE;
 
+static const char*
+check_repair_abort_YN = N_("'Check & Repair' is currently running, do you want to abort it?");
+
 static gboolean
 finish_scrub (GncPluginPage* page)
 {
@@ -1790,10 +1800,8 @@ finish_scrub (GncPluginPage* page)
 
     if (is_scrubbing)
     {
-        ret = gnc_verify_dialog (GTK_WINDOW(gnc_plugin_page_get_window
-                                (GNC_PLUGIN_PAGE(page))),
-                                FALSE,
-                                _("'Check & Repair' is currently running, do you want to abort it?"));
+        ret = gnc_verify_dialog (GTK_WINDOW(gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(page))),
+                                 false, "%s", _(check_repair_abort_YN));
 
         show_abort_verify = FALSE;
 
@@ -2300,7 +2308,7 @@ gnc_plugin_page_register_sort_book_option_changed (gpointer new_val,
                                                    gpointer user_data)
 {
     GncPluginPageRegisterPrivate* priv;
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     gboolean* new_data = (gboolean*)new_val;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (page));
@@ -2317,7 +2325,7 @@ gnc_plugin_page_register_sort_book_option_changed (gpointer new_val,
         gtk_button_set_label (GTK_BUTTON (priv->sd.num_radio), _ ("Number"));
         gtk_button_set_label (GTK_BUTTON (priv->sd.act_radio), _ ("Action"));
     }
-    gnc_split_reg_set_sort_type_force (priv->gsr, priv->gsr->sort_type, TRUE);
+    gnc_split_reg_set_sort_type_force (priv->gsr, (SortType)priv->gsr->sort_type, TRUE);
 }
 
 /** This function is called when the "Sort By…" dialog is closed.
@@ -2721,9 +2729,9 @@ gnc_plugin_page_register_filter_status_one_cb (GtkToggleButton* button,
     /* Compute the new match status */
     priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE (page);
     if (gtk_toggle_button_get_active (button))
-        priv->fd.cleared_match |= value;
+        priv->fd.cleared_match = (cleared_match_t)(priv->fd.cleared_match | value);
     else
-        priv->fd.cleared_match &= ~value;
+        priv->fd.cleared_match = (cleared_match_t)(priv->fd.cleared_match & ~value);
     gnc_ppr_update_status_query (page);
     LEAVE (" ");
 }
@@ -2756,10 +2764,10 @@ gnc_plugin_page_register_filter_status_all_cb (GtkButton* button,
     {
         widget = status_actions[i].widget;
         g_signal_handlers_block_by_func (widget,
-                                         gnc_plugin_page_register_filter_status_one_cb, page);
+                                         (gpointer)gnc_plugin_page_register_filter_status_one_cb, page);
         gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
         g_signal_handlers_unblock_by_func (widget,
-                                           gnc_plugin_page_register_filter_status_one_cb, page);
+                                           (gpointer)gnc_plugin_page_register_filter_status_one_cb, page);
     }
 
     /* Set the requested status */
@@ -2893,7 +2901,7 @@ gnc_plugin_page_register_clear_current_filter (GncPluginPage* plugin_page)
     priv->fd.days = 0;
     priv->fd.start_time = 0;
     priv->fd.end_time = 0;
-    priv->fd.cleared_match = (gint)g_ascii_strtoll (DEFAULT_FILTER, NULL, 16);
+    priv->fd.cleared_match = (cleared_match_t)g_ascii_strtoll (DEFAULT_FILTER, NULL, 16);
 
     gnc_ppr_update_date_query (GNC_PLUGIN_PAGE_REGISTER(plugin_page));
 }
@@ -3451,7 +3459,7 @@ gnc_plugin_page_register_cmd_print_check (GSimpleAction *simple,
                                           GVariant      *paramter,
                                           gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
     Split*          split;
@@ -3568,7 +3576,7 @@ gnc_plugin_page_register_cmd_cut (GSimpleAction *simple,
                                   GVariant      *paramter,
                                   gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (page));
@@ -3585,7 +3593,7 @@ gnc_plugin_page_register_cmd_copy (GSimpleAction *simple,
                                    GVariant      *paramter,
                                    gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (page));
@@ -3602,7 +3610,7 @@ gnc_plugin_page_register_cmd_paste (GSimpleAction *simple,
                                     GVariant      *paramter,
                                     gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (page));
@@ -3619,7 +3627,7 @@ gnc_plugin_page_register_cmd_edit_account (GSimpleAction *simple,
                                            GVariant      *paramter,
                                            gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     Account* account;
     GtkWindow* parent = GTK_WINDOW(gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(page)));
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (page));
@@ -3637,7 +3645,7 @@ gnc_plugin_page_register_cmd_find_account (GSimpleAction *simple,
                                            GVariant      *paramter,
                                            gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GtkWidget* window;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (page));
@@ -3652,7 +3660,7 @@ gnc_plugin_page_register_cmd_find_transactions (GSimpleAction *simple,
                                                 GVariant      *paramter,
                                                 gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     GtkWindow* window;
 
@@ -3671,7 +3679,7 @@ gnc_plugin_page_register_cmd_edit_tax_options (GSimpleAction *simple,
                                                GVariant      *paramter,
                                                gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GtkWidget *window;
     Account* account;
 
@@ -3689,7 +3697,7 @@ gnc_plugin_page_register_cmd_cut_transaction (GSimpleAction *simple,
                                               GVariant      *paramter,
                                               gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     ENTER ("(action %p, page %p)", simple, page);
@@ -3707,7 +3715,7 @@ gnc_plugin_page_register_cmd_copy_transaction (GSimpleAction *simple,
                                                GVariant      *paramter,
                                                gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
 
@@ -3726,7 +3734,7 @@ gnc_plugin_page_register_cmd_paste_transaction (GSimpleAction *simple,
                                                 GVariant      *paramter,
                                                 gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
 
@@ -3745,7 +3753,7 @@ gnc_plugin_page_register_cmd_void_transaction (GSimpleAction *simple,
                                                GVariant      *paramter,
                                                gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     GtkWidget* dialog, *entry;
     SplitRegister* reg;
@@ -3814,7 +3822,7 @@ gnc_plugin_page_register_cmd_unvoid_transaction (GSimpleAction *simple,
                                                  GVariant      *paramter,
                                                  gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
     Transaction* trans;
@@ -3838,7 +3846,7 @@ gnc_plugin_page_register_cmd_reverse_transaction (GSimpleAction *simple,
                                                   GVariant      *paramter,
                                                   gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
     GNCSplitReg* gsr;
@@ -3940,7 +3948,7 @@ gnc_plugin_page_register_cmd_view_sort_by (GSimpleAction *simple,
                                            GVariant      *paramter,
                                            gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
     GtkWidget* dialog, *button;
@@ -4009,7 +4017,7 @@ gnc_plugin_page_register_cmd_view_sort_by (GSimpleAction *simple,
         gtk_button_set_label (GTK_BUTTON (priv->sd.act_radio), _ ("Number/Action"));
     }
     gnc_book_option_register_cb (OPTION_NAME_NUM_FIELD_SOURCE,
-                                 gnc_plugin_page_register_sort_book_option_changed,
+                                 (GncBOCb)gnc_plugin_page_register_sort_book_option_changed,
                                  page);
 
     /* Wire it up */
@@ -4027,7 +4035,7 @@ gnc_plugin_page_register_cmd_view_filter_by (GSimpleAction *simple,
                                              GVariant      *paramter,
                                              gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     GtkWidget* dialog, *toggle, *button, *table, *hbox;
     time64 start_time, end_time, time_val;
@@ -4219,7 +4227,7 @@ gnc_plugin_page_register_cmd_reload (GSimpleAction *simple,
                                      GVariant      *paramter,
                                      gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
 
@@ -4245,7 +4253,7 @@ gnc_plugin_page_register_cmd_style_changed (GSimpleAction *simple,
                                             GVariant      *parameter,
                                             gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegisterStyle value;
 
@@ -4270,7 +4278,7 @@ gnc_plugin_page_register_cmd_style_double_line (GSimpleAction *simple,
                                                 GVariant      *parameter,
                                                 gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
     gboolean use_double_line;
@@ -4304,7 +4312,7 @@ gnc_plugin_page_register_cmd_transfer (GSimpleAction *simple,
                                        GVariant      *paramter,
                                        gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     Account* account;
     GncWindow* gnc_window;
     GtkWidget* window;
@@ -4325,7 +4333,7 @@ gnc_plugin_page_register_cmd_reconcile (GSimpleAction *simple,
                                         GVariant      *paramter,
                                         gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     Account* account;
     GtkWindow* window;
     RecnWindow* recnData;
@@ -4359,7 +4367,7 @@ gnc_plugin_page_register_cmd_stock_assistant (GSimpleAction *simple,
                                               GVariant      *paramter,
                                               gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     Account *account;
     GtkWindow *window;
 
@@ -4378,7 +4386,7 @@ gnc_plugin_page_register_cmd_autoclear (GSimpleAction *simple,
                                         GVariant      *paramter,
                                         gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     Account* account;
     GtkWindow* window;
     AutoClearWindow* autoClearData;
@@ -4401,7 +4409,7 @@ gnc_plugin_page_register_cmd_stock_split (GSimpleAction *simple,
                                           GVariant      *paramter,
                                           gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     Account* account;
     GtkWindow* window;
 
@@ -4420,7 +4428,7 @@ gnc_plugin_page_register_cmd_lots (GSimpleAction *simple,
                                    GVariant      *paramter,
                                    gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GtkWindow* window;
     Account* account;
 
@@ -4440,7 +4448,7 @@ gnc_plugin_page_register_cmd_enter_transaction (GSimpleAction *simple,
                                                 GVariant      *paramter,
                                                 gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     ENTER ("(action %p, page %p)", simple, page);
@@ -4457,7 +4465,7 @@ gnc_plugin_page_register_cmd_cancel_transaction (GSimpleAction *simple,
                                                  GVariant      *paramter,
                                                  gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     ENTER ("(action %p, page %p)", simple, page);
@@ -4475,7 +4483,7 @@ gnc_plugin_page_register_cmd_delete_transaction (GSimpleAction *simple,
                                                  GVariant      *paramter,
                                                  gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     ENTER ("(action %p, page %p)", simple, page);
@@ -4493,7 +4501,7 @@ gnc_plugin_page_register_cmd_linked_transaction (GSimpleAction *simple,
                                                  GVariant      *paramter,
                                                  gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     ENTER ("(action %p, page %p)", simple, page);
@@ -4511,7 +4519,7 @@ gnc_plugin_page_register_cmd_linked_transaction_open (GSimpleAction *simple,
                                                       GVariant      *paramter,
                                                       gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     ENTER ("(action %p, page %p)", simple, page);
@@ -4565,7 +4573,7 @@ gnc_plugin_page_register_cmd_jump_linked_invoice (GSimpleAction *simple,
                                                   GVariant      *paramter,
                                                   gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
     GncInvoice* invoice;
@@ -4595,7 +4603,7 @@ gnc_plugin_page_register_cmd_jump_linked_invoice (GSimpleAction *simple,
             const gchar *amt;
             for (GList *node = invoices; node; node = node->next)
             {
-                GncInvoice* inv = node->data;
+                auto inv = GNC_INVOICE(node->data);
                 gchar *date = qof_print_date (gncInvoiceGetDatePosted (inv));
                 amt = xaccPrintAmount
                     (gncInvoiceGetTotal (inv),
@@ -4638,7 +4646,7 @@ gnc_plugin_page_register_cmd_blank_transaction (GSimpleAction *simple,
                                                 GVariant      *paramter,
                                                 gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
 
@@ -4661,7 +4669,7 @@ gnc_plugin_page_register_cmd_goto_date (GSimpleAction *simple,
                                         GVariant      *paramter,
                                         gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GNCSplitReg* gsr;
     Query* query;
     time64 date = gnc_time (NULL);
@@ -4684,9 +4692,9 @@ gnc_plugin_page_register_cmd_goto_date (GSimpleAction *simple,
 
     for (GList *lp = splits; lp; lp = lp->next)
     {
-        if (xaccTransGetDate (xaccSplitGetParent (lp->data)) >= date)
+        if (xaccTransGetDate (xaccSplitGetParent (GNC_SPLIT(lp->data))) >= date)
         {
-            gnc_split_reg_jump_to_split (gsr, lp->data);
+            gnc_split_reg_jump_to_split (gsr, GNC_SPLIT(lp->data));
             break;
         }
     }
@@ -4700,7 +4708,7 @@ gnc_plugin_page_register_cmd_duplicate_transaction (GSimpleAction *simple,
                                                     GVariant      *paramter,
                                                     gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     ENTER ("(action %p, page %p)", simple, page);
@@ -4718,7 +4726,7 @@ gnc_plugin_page_register_cmd_reinitialize_transaction (GSimpleAction *simple,
                                                        GVariant      *paramter,
                                                        gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     ENTER ("(action %p, page %p)", simple, page);
@@ -4735,7 +4743,7 @@ gnc_plugin_page_register_cmd_expand_transaction (GSimpleAction *simple,
                                                  GVariant      *parameter,
                                                  gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
     gboolean expand;
@@ -4766,7 +4774,7 @@ gnc_plugin_page_register_cmd_exchange_rate (GSimpleAction *simple,
                                             GVariant      *paramter,
                                             gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     SplitRegister* reg;
 
@@ -4787,7 +4795,7 @@ gnc_plugin_page_register_cmd_jump (GSimpleAction *simple,
                                    GVariant      *paramter,
                                    gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     GncPluginPage* new_page;
     GtkWidget* window;
@@ -4871,7 +4879,7 @@ gnc_plugin_page_register_cmd_schedule (GSimpleAction *simple,
                                        GVariant      *paramter,
                                        gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     GtkWindow* window;
 
@@ -4913,7 +4921,7 @@ gnc_plugin_page_register_cmd_scrub_current (GSimpleAction *simple,
                                             GVariant      *paramter,
                                             gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     Query* query;
     SplitRegister* reg;
@@ -4947,8 +4955,8 @@ scrub_kp_handler (GtkWidget *widget, GdkEventKey *event, gpointer data)
     {
     case GDK_KEY_Escape:
         {
-            gboolean abort_scrub = gnc_verify_dialog (GTK_WINDOW(widget), FALSE,
-                 _("'Check & Repair' is currently running, do you want to abort it?"));
+            auto abort_scrub = gnc_verify_dialog (GTK_WINDOW(widget), false,
+                                                  "%s", _(check_repair_abort_YN));
 
             if (abort_scrub)
                 gnc_set_abort_scrub (TRUE);
@@ -4966,7 +4974,7 @@ gnc_plugin_page_register_cmd_scrub_all (GSimpleAction *simple,
                                         GVariant      *paramter,
                                         gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     Query* query;
     GncWindow* window;
@@ -4999,7 +5007,7 @@ gnc_plugin_page_register_cmd_scrub_all (GSimpleAction *simple,
     split_count = g_list_length (splits);
     for (node = splits; node && !gnc_get_abort_scrub (); node = node->next, curr_split_no++)
     {
-        Split* split = node->data;
+        auto split = GNC_SPLIT(node->data);
 
         if (!split) continue;
 
@@ -5034,7 +5042,7 @@ gnc_plugin_page_register_cmd_account_report (GSimpleAction *simple,
                                              GVariant      *paramter,
                                              gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     GncMainWindow* window;
     int id;
@@ -5056,7 +5064,7 @@ gnc_plugin_page_register_cmd_transaction_report (GSimpleAction *simple,
                                                  GVariant      *paramter,
                                                  gpointer       user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
     GncMainWindow* window;
     SplitRegister* reg;
@@ -5178,7 +5186,7 @@ gnc_plugin_page_popup_menu_cb (GNCSplitReg* gsr,
 static void
 gnc_plugin_page_register_refresh_cb (GHashTable* changes, gpointer user_data)
 {
-    GncPluginPageRegister* page = user_data;
+    auto page = GNC_PLUGIN_PAGE_REGISTER(user_data);
     GncPluginPageRegisterPrivate* priv;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (page));
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 088ff5056c..c99f679658 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -99,7 +99,7 @@ gnucash/gnome/gnc-plugin-page-account-tree.c
 gnucash/gnome/gnc-plugin-page-budget.c
 gnucash/gnome/gnc-plugin-page-invoice.c
 gnucash/gnome/gnc-plugin-page-owner-tree.c
-gnucash/gnome/gnc-plugin-page-register.c
+gnucash/gnome/gnc-plugin-page-register.cpp
 gnucash/gnome/gnc-plugin-page-report.cpp
 gnucash/gnome/gnc-plugin-page-sx-list.c
 gnucash/gnome/gnc-plugin-register.c



Summary of changes:
 gnucash/gnome/CMakeLists.txt                       |  12 +-
 ...unt-tree.c => gnc-plugin-page-account-tree.cpp} | 115 +++++----
 ...in-page-budget.c => gnc-plugin-page-budget.cpp} |  45 ++--
 ...-page-invoice.c => gnc-plugin-page-invoice.cpp} |  66 ++---
 ...owner-tree.c => gnc-plugin-page-owner-tree.cpp} |  32 +--
 ...age-register.c => gnc-plugin-page-register.cpp} | 274 +++++++++++----------
 ...-page-sx-list.c => gnc-plugin-page-sx-list.cpp} |  30 +--
 po/POTFILES.in                                     |  12 +-
 8 files changed, 299 insertions(+), 287 deletions(-)
 rename gnucash/gnome/{gnc-plugin-page-account-tree.c => gnc-plugin-page-account-tree.cpp} (95%)
 rename gnucash/gnome/{gnc-plugin-page-budget.c => gnc-plugin-page-budget.cpp} (97%)
 rename gnucash/gnome/{gnc-plugin-page-invoice.c => gnc-plugin-page-invoice.cpp} (96%)
 rename gnucash/gnome/{gnc-plugin-page-owner-tree.c => gnc-plugin-page-owner-tree.cpp} (97%)
 rename gnucash/gnome/{gnc-plugin-page-register.c => gnc-plugin-page-register.cpp} (96%)
 rename gnucash/gnome/{gnc-plugin-page-sx-list.c => gnc-plugin-page-sx-list.cpp} (97%)



More information about the gnucash-changes mailing list