gnucash stable: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Fri May 31 20:09:01 EDT 2024


Updated	 via  https://github.com/Gnucash/gnucash/commit/b0d1de6f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/109497d4 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5b1bb118 (commit)
	from  https://github.com/Gnucash/gnucash/commit/35a0e777 (commit)



commit b0d1de6f3e6995360d831d35a32e740251923a1b
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri May 31 22:53:15 2024 +0800

    [dialog-sx-from-trans.cpp] convert to c++

diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt
index cd54743c9e..67b9b2113a 100644
--- a/gnucash/gnome/CMakeLists.txt
+++ b/gnucash/gnome/CMakeLists.txt
@@ -98,7 +98,7 @@ set (gnc_gnome_SOURCES
   dialog-report-column-view.cpp
   dialog-report-style-sheet.cpp
   dialog-sx-editor.c
-  dialog-sx-from-trans.c
+  dialog-sx-from-trans.cpp
   dialog-sx-since-last-run.c
   dialog-tax-info.c
   dialog-vendor.c
diff --git a/gnucash/gnome/dialog-sx-from-trans.c b/gnucash/gnome/dialog-sx-from-trans.cpp
similarity index 99%
rename from gnucash/gnome/dialog-sx-from-trans.c
rename to gnucash/gnome/dialog-sx-from-trans.cpp
index 49d81eff6b..4fc436f496 100644
--- a/gnucash/gnome/dialog-sx-from-trans.c
+++ b/gnucash/gnome/dialog-sx-from-trans.cpp
@@ -107,12 +107,12 @@ typedef struct
 static void sxftd_update_example_cal( SXFromTransInfo *sxfti );
 static void sxftd_update_excal_adapt( GObject *o, gpointer ud );
 
-typedef struct
+struct widgetSignalHandlerTuple
 {
-    gchar *name;
-    gchar *signal;
-    void (*handlerFn)();
-} widgetSignalHandlerTuple;
+    const gchar *name;
+    const gchar *signal;
+    void (*handlerFn)(GObject*,gpointer);
+};
 
 static void sxftd_ok_clicked(SXFromTransInfo *sxfti);
 static void sxftd_advanced_clicked(SXFromTransInfo *sxfti);
@@ -211,7 +211,6 @@ sxftd_add_template_trans(SXFromTransInfo *sxfti)
     GList *splits, *template_splits = NULL;
     TTInfo *tti = gnc_ttinfo_malloc();
     TTSplitInfo *ttsi;
-    Split *sp;
     gnc_numeric runningBalance;
     gnc_numeric split_value;
     const char *tmpStr;
@@ -225,7 +224,7 @@ sxftd_add_template_trans(SXFromTransInfo *sxfti)
 
     for (splits = xaccTransGetSplitList(tr); splits; splits = splits->next)
     {
-        sp = splits->data;
+        auto sp = GNC_SPLIT(splits->data);
         ttsi = gnc_ttsplitinfo_malloc();
         gnc_ttsplitinfo_set_action(ttsi, gnc_get_num_action(NULL, sp));
         split_value = xaccSplitGetValue(sp);
diff --git a/gnucash/gnome/dialog-sx-from-trans.h b/gnucash/gnome/dialog-sx-from-trans.h
index aa66212b1c..92e4906b92 100644
--- a/gnucash/gnome/dialog-sx-from-trans.h
+++ b/gnucash/gnome/dialog-sx-from-trans.h
@@ -27,6 +27,14 @@
 
 #include "Transaction.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 void gnc_sx_create_from_trans(GtkWindow *parent, Transaction *trans);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/po/POTFILES.in b/po/POTFILES.in
index cd90222e4b..31d25a9b8a 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -86,7 +86,7 @@ gnucash/gnome/dialog-progress.c
 gnucash/gnome/dialog-report-column-view.cpp
 gnucash/gnome/dialog-report-style-sheet.cpp
 gnucash/gnome/dialog-sx-editor.c
-gnucash/gnome/dialog-sx-from-trans.c
+gnucash/gnome/dialog-sx-from-trans.cpp
 gnucash/gnome/dialog-sx-since-last-run.c
 gnucash/gnome/dialog-tax-info.c
 gnucash/gnome/dialog-vendor.c

commit 109497d471029ac1c22dcb872765c24d8f6080cb
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri May 31 22:24:48 2024 +0800

    [SX-ttinfo.cpp] convert to c++

diff --git a/libgnucash/engine/CMakeLists.txt b/libgnucash/engine/CMakeLists.txt
index 14ff75425c..a4d7f50d39 100644
--- a/libgnucash/engine/CMakeLists.txt
+++ b/libgnucash/engine/CMakeLists.txt
@@ -142,7 +142,7 @@ set (engine_SOURCES
   Query.cpp
   SchedXaction.c
   SX-book.cpp
-  SX-ttinfo.c
+  SX-ttinfo.cpp
   Scrub.cpp
   Scrub2.cpp
   Scrub3.cpp
diff --git a/libgnucash/engine/SX-ttinfo.c b/libgnucash/engine/SX-ttinfo.cpp
similarity index 100%
rename from libgnucash/engine/SX-ttinfo.c
rename to libgnucash/engine/SX-ttinfo.cpp
diff --git a/po/POTFILES.in b/po/POTFILES.in
index c7c246f348..cd90222e4b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -692,7 +692,7 @@ libgnucash/engine/ScrubBusiness.c
 libgnucash/engine/Scrub.cpp
 libgnucash/engine/Split.cpp
 libgnucash/engine/SX-book.cpp
-libgnucash/engine/SX-ttinfo.c
+libgnucash/engine/SX-ttinfo.cpp
 libgnucash/engine/Transaction.cpp
 libgnucash/engine/TransLog.cpp
 libgnucash/gnc-module/example/gncmod-example.c

commit 5b1bb1186f03cc2a7d4efe621409c143d3f49e65
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri May 31 22:06:55 2024 +0800

    [SX-book.cpp] convert to c++

diff --git a/libgnucash/engine/CMakeLists.txt b/libgnucash/engine/CMakeLists.txt
index 07fc821bd0..14ff75425c 100644
--- a/libgnucash/engine/CMakeLists.txt
+++ b/libgnucash/engine/CMakeLists.txt
@@ -141,7 +141,7 @@ set (engine_SOURCES
   Recurrence.cpp
   Query.cpp
   SchedXaction.c
-  SX-book.c
+  SX-book.cpp
   SX-ttinfo.c
   Scrub.cpp
   Scrub2.cpp
diff --git a/libgnucash/engine/SX-book.c b/libgnucash/engine/SX-book.cpp
similarity index 96%
rename from libgnucash/engine/SX-book.c
rename to libgnucash/engine/SX-book.cpp
index 1aff588358..c3ee94b6d2 100644
--- a/libgnucash/engine/SX-book.c
+++ b/libgnucash/engine/SX-book.cpp
@@ -58,7 +58,7 @@
 static Account *
 gnc_collection_get_template_root( const QofCollection *col )
 {
-    return qof_collection_get_data (col);
+    return GNC_ACCOUNT(qof_collection_get_data (col));
 }
 
 Account *
@@ -141,7 +141,7 @@ sxtg_is_dirty(const QofCollection *col)
     descendants = gnc_account_get_descendants(root);
     for (node = descendants; node; node = g_list_next(node))
     {
-        if (qof_instance_is_dirty(node->data))
+        if (qof_instance_is_dirty(QOF_INSTANCE(node->data)))
         {
             dirty = TRUE;
             break;
@@ -195,7 +195,7 @@ static QofObject sxtg_object_def =
 SchedXactions*
 gnc_collection_get_schedxactions(const QofCollection *col)
 {
-    SchedXactions *rtn = qof_collection_get_data(col);
+    auto rtn = GNC_SCHEDXACTIONS (qof_collection_get_data(col));
     // @@assert(rtn != null);
     return rtn;
 }
@@ -260,10 +260,9 @@ static void
 book_sxes_setup(QofBook *book)
 {
     QofCollection *col;
-    SchedXactions *sxes;
 
     col = qof_book_get_collection(book, GNC_ID_SCHEDXACTION);
-    sxes = g_object_new (GNC_TYPE_SCHEDXACTIONS, NULL);
+    auto sxes = GNC_SCHEDXACTIONS (g_object_new (GNC_TYPE_SCHEDXACTIONS, NULL));
     g_assert(sxes);
     qof_instance_init_data(&sxes->inst, GNC_ID_SXES, book);
     sxes->sx_list = NULL;
@@ -275,10 +274,9 @@ static void
 book_sxes_end(QofBook* book)
 {
     QofCollection *col;
-    SchedXactions *sxes;
 
     col = qof_book_get_collection(book, GNC_ID_SCHEDXACTION);
-    sxes = qof_collection_get_data(col);
+    auto sxes = GNC_SCHEDXACTIONS (qof_collection_get_data(col));
     if (sxes != NULL)
     {
         g_list_free(sxes->sx_list);
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 7b65ce41ce..c7c246f348 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -691,7 +691,7 @@ libgnucash/engine/ScrubBudget.c
 libgnucash/engine/ScrubBusiness.c
 libgnucash/engine/Scrub.cpp
 libgnucash/engine/Split.cpp
-libgnucash/engine/SX-book.c
+libgnucash/engine/SX-book.cpp
 libgnucash/engine/SX-ttinfo.c
 libgnucash/engine/Transaction.cpp
 libgnucash/engine/TransLog.cpp



Summary of changes:
 gnucash/gnome/CMakeLists.txt                                |  2 +-
 .../{dialog-sx-from-trans.c => dialog-sx-from-trans.cpp}    | 13 ++++++-------
 gnucash/gnome/dialog-sx-from-trans.h                        |  8 ++++++++
 libgnucash/engine/CMakeLists.txt                            |  4 ++--
 libgnucash/engine/{SX-book.c => SX-book.cpp}                | 12 +++++-------
 libgnucash/engine/{SX-ttinfo.c => SX-ttinfo.cpp}            |  0
 po/POTFILES.in                                              |  6 +++---
 7 files changed, 25 insertions(+), 20 deletions(-)
 rename gnucash/gnome/{dialog-sx-from-trans.c => dialog-sx-from-trans.cpp} (99%)
 rename libgnucash/engine/{SX-book.c => SX-book.cpp} (96%)
 rename libgnucash/engine/{SX-ttinfo.c => SX-ttinfo.cpp} (100%)



More information about the gnucash-changes mailing list