gnucash stable: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Sat May 27 10:12:28 EDT 2023
Updated via https://github.com/Gnucash/gnucash/commit/b56eff68 (commit)
via https://github.com/Gnucash/gnucash/commit/dd5be317 (commit)
via https://github.com/Gnucash/gnucash/commit/1b9bd075 (commit)
via https://github.com/Gnucash/gnucash/commit/aca60210 (commit)
via https://github.com/Gnucash/gnucash/commit/945f63bd (commit)
via https://github.com/Gnucash/gnucash/commit/2213e63e (commit)
via https://github.com/Gnucash/gnucash/commit/39a1bfd1 (commit)
via https://github.com/Gnucash/gnucash/commit/fea6405f (commit)
via https://github.com/Gnucash/gnucash/commit/80f370f0 (commit)
via https://github.com/Gnucash/gnucash/commit/546a91a5 (commit)
via https://github.com/Gnucash/gnucash/commit/b5497dc4 (commit)
via https://github.com/Gnucash/gnucash/commit/52a9af21 (commit)
via https://github.com/Gnucash/gnucash/commit/02f61c6d (commit)
via https://github.com/Gnucash/gnucash/commit/3db83b7a (commit)
via https://github.com/Gnucash/gnucash/commit/5d98cc4c (commit)
via https://github.com/Gnucash/gnucash/commit/965fe59a (commit)
via https://github.com/Gnucash/gnucash/commit/b621b5cd (commit)
via https://github.com/Gnucash/gnucash/commit/d4649bc6 (commit)
via https://github.com/Gnucash/gnucash/commit/fd56cb6b (commit)
via https://github.com/Gnucash/gnucash/commit/c632164d (commit)
via https://github.com/Gnucash/gnucash/commit/faba15a4 (commit)
via https://github.com/Gnucash/gnucash/commit/b669d272 (commit)
via https://github.com/Gnucash/gnucash/commit/9a8f54a2 (commit)
via https://github.com/Gnucash/gnucash/commit/b3e13d46 (commit)
via https://github.com/Gnucash/gnucash/commit/7c7ec317 (commit)
via https://github.com/Gnucash/gnucash/commit/23e4d0e1 (commit)
via https://github.com/Gnucash/gnucash/commit/5d39d83a (commit)
via https://github.com/Gnucash/gnucash/commit/5d955654 (commit)
via https://github.com/Gnucash/gnucash/commit/167c55e5 (commit)
via https://github.com/Gnucash/gnucash/commit/8e36a645 (commit)
via https://github.com/Gnucash/gnucash/commit/cce0ccff (commit)
from https://github.com/Gnucash/gnucash/commit/6111184c (commit)
commit b56eff6821b20371fbdac002139a83ef21422a51
Merge: dd5be317d8 cce0ccff7b
Author: John Ralls <jralls at ceridwen.us>
Date: Sat May 27 10:10:44 2023 -0400
Merge Richard Cohen's 'fix-show-log-window' into stable.
commit dd5be317d8f0da0d6ca63fe01a143864214f4b77
Merge: 1b9bd0752b 945f63bd4d
Author: John Ralls <jralls at ceridwen.us>
Date: Sat May 27 10:09:05 2023 -0400
Merge Richard Cohen's 'define-type' into stable.
commit 1b9bd0752b2ae759fce28468f5d62d9d5140331f
Merge: 6111184c73 aca602103e
Author: John Ralls <jralls at ceridwen.us>
Date: Sat May 27 10:06:42 2023 -0400
Merge Simon Arlott's 'bug-798796' into stable.
commit aca602103e113c6e0d33ad30e8d11a0926ed5eba
Author: Simon Arlott <sa.me.uk>
Date: Fri May 26 19:16:46 2023 +0100
Bug 798796 - Account list incomplete in report options
Allow stock/fund accounts that are descendants of Bank accounts to be
selected for the Advanced Portfolio, Investment Lots and Investment
Portfolio reports.
diff --git a/gnucash/report/reports/standard/advanced-portfolio.scm b/gnucash/report/reports/standard/advanced-portfolio.scm
index 7421dcddda..935d560c9a 100644
--- a/gnucash/report/reports/standard/advanced-portfolio.scm
+++ b/gnucash/report/reports/standard/advanced-portfolio.scm
@@ -129,7 +129,7 @@ by preventing negative stock balances.<br/>")
(filter gnc:account-is-stock?
(gnc-account-get-descendants-sorted
(gnc-get-current-root-account)))
- (list ACCT-TYPE-ASSET ACCT-TYPE-STOCK ACCT-TYPE-MUTUAL))
+ (list ACCT-TYPE-ASSET ACCT-TYPE-BANK ACCT-TYPE-STOCK ACCT-TYPE-MUTUAL))
(gnc-register-simple-boolean-option options
gnc:pagename-accounts optname-zero-shares "e"
diff --git a/gnucash/report/reports/standard/investment-lots.scm b/gnucash/report/reports/standard/investment-lots.scm
index 741740811d..ae23c33cd7 100644
--- a/gnucash/report/reports/standard/investment-lots.scm
+++ b/gnucash/report/reports/standard/investment-lots.scm
@@ -147,7 +147,7 @@
(filter gnc:account-is-stock?
(gnc-account-get-descendants-sorted
(gnc-get-current-root-account)))
- (list ACCT-TYPE-ASSET ACCT-TYPE-STOCK ACCT-TYPE-MUTUAL))
+ (list ACCT-TYPE-ASSET ACCT-TYPE-BANK ACCT-TYPE-STOCK ACCT-TYPE-MUTUAL))
(gnc-register-simple-boolean-option options
gnc:pagename-accounts
diff --git a/gnucash/report/reports/standard/portfolio.scm b/gnucash/report/reports/standard/portfolio.scm
index 19432a30f0..eb516b3a99 100644
--- a/gnucash/report/reports/standard/portfolio.scm
+++ b/gnucash/report/reports/standard/portfolio.scm
@@ -65,7 +65,7 @@
(gnc:filter-accountlist-type
(list ACCT-TYPE-STOCK ACCT-TYPE-MUTUAL)
(gnc-account-get-descendants-sorted (gnc-get-current-root-account)))
- (list ACCT-TYPE-ASSET ACCT-TYPE-STOCK ACCT-TYPE-MUTUAL))
+ (list ACCT-TYPE-ASSET ACCT-TYPE-BANK ACCT-TYPE-STOCK ACCT-TYPE-MUTUAL))
(gnc-register-simple-boolean-option options
gnc:pagename-accounts optname-zero-shares "e"
commit 945f63bd4df90b0034a3132964549a17ebbbf4e8
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 17:32:54 2023 +0100
Refactor: DEFINE_TYPE GnucashSheet < GtkLayout
diff --git a/gnucash/register/register-gnome/gnucash-sheet.c b/gnucash/register/register-gnome/gnucash-sheet.c
index d2ef3ce62b..3590e909c9 100644
--- a/gnucash/register/register-gnome/gnucash-sheet.c
+++ b/gnucash/register/register-gnome/gnucash-sheet.c
@@ -70,8 +70,6 @@ enum
/* This static indicates the debugging module that this .o belongs to. */
static QofLogModule log_module = G_LOG_DOMAIN;
-static GtkLayout *sheet_parent_class;
-
/** Prototypes *********************************************************/
@@ -91,6 +89,7 @@ gboolean gnucash_sheet_draw_cb (GtkWidget *widget, cairo_t *cr,
/** Implementation *****************************************************/
+G_DEFINE_TYPE (GnucashSheet, gnucash_sheet, GTK_TYPE_LAYOUT);
/* gtk_editable_set_position sets both current_pos and selection_bound to the
* supplied value. gtk_editable_select_region(start, end) sets current_pos to
@@ -802,8 +801,7 @@ gnucash_sheet_finalize (GObject *object)
g_object_unref (sheet->cursor);
- if (G_OBJECT_CLASS(sheet_parent_class)->finalize)
- (*G_OBJECT_CLASS(sheet_parent_class)->finalize)(object);
+ (*G_OBJECT_CLASS(gnucash_sheet_parent_class)->finalize)(object);
}
@@ -1209,8 +1207,8 @@ gnucash_sheet_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
ENTER("widget=%p, allocation=%p", widget, allocation);
- if (GTK_WIDGET_CLASS(sheet_parent_class)->size_allocate)
- (*GTK_WIDGET_CLASS(sheet_parent_class)->size_allocate)
+ if (GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->size_allocate)
+ (*GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->size_allocate)
(widget, allocation);
if (allocation->height == sheet->window_height &&
@@ -1254,8 +1252,8 @@ gnucash_sheet_focus_in_event (GtkWidget *widget, GdkEventFocus *event)
{
GnucashSheet *sheet = GNUCASH_SHEET(widget);
- if (GTK_WIDGET_CLASS(sheet_parent_class)->focus_in_event)
- (*GTK_WIDGET_CLASS(sheet_parent_class)->focus_in_event)
+ if (GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->focus_in_event)
+ (*GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->focus_in_event)
(widget, event);
gnc_item_edit_focus_in (GNC_ITEM_EDIT(sheet->item_editor));
@@ -1268,8 +1266,8 @@ gnucash_sheet_focus_out_event (GtkWidget *widget, GdkEventFocus *event)
{
GnucashSheet *sheet = GNUCASH_SHEET(widget);
- if (GTK_WIDGET_CLASS(sheet_parent_class)->focus_out_event)
- (*GTK_WIDGET_CLASS(sheet_parent_class)->focus_out_event)
+ if (GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->focus_out_event)
+ (*GTK_WIDGET_CLASS(gnucash_sheet_parent_class)->focus_out_event)
(widget, event);
gnc_item_edit_focus_out (GNC_ITEM_EDIT(sheet->item_editor));
@@ -2329,8 +2327,6 @@ gnucash_sheet_class_init (GnucashSheetClass *klass)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(klass), "gnc-id-sheet");
- sheet_parent_class = g_type_class_peek_parent (klass);
-
/* Method override */
gobject_class->finalize = gnucash_sheet_finalize;
@@ -2393,37 +2389,6 @@ gnucash_sheet_init (GnucashSheet *sheet)
sheet->bound = sheet->pos = 0;
}
-
-GType
-gnucash_sheet_get_type (void)
-{
- static GType gnucash_sheet_type = 0;
-
- if (!gnucash_sheet_type)
- {
- static const GTypeInfo gnucash_sheet_info =
- {
- sizeof (GnucashSheetClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gnucash_sheet_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GnucashSheet),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gnucash_sheet_init
- };
-
- gnucash_sheet_type =
- g_type_register_static (GTK_TYPE_LAYOUT,
- "GnucashSheet",
- &gnucash_sheet_info, 0);
- }
-
- return gnucash_sheet_type;
-}
-
-
static gboolean
gnucash_sheet_tooltip (GtkWidget *widget, gint x, gint y,
gboolean keyboard_mode,
commit 2213e63e3041cc4581b131e323c1c9ad10fcf010
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 17:32:43 2023 +0100
Refactor: DEFINE_TYPE GnucashRegister < GtkGrid
diff --git a/gnucash/register/register-gnome/gnucash-register.c b/gnucash/register/register-gnome/gnucash-register.c
index 2fdf417e97..1324581307 100644
--- a/gnucash/register/register-gnome/gnucash-register.c
+++ b/gnucash/register/register-gnome/gnucash-register.c
@@ -69,7 +69,6 @@ enum
/* This static indicates the debugging module that this .o belongs to. */
static QofLogModule log_module = GNC_MOD_REGISTER;
-static GtkGrid *register_parent_class;
static guint register_signals[LAST_SIGNAL];
@@ -95,6 +94,8 @@ struct _GnucashRegisterClass
/** Implementation *****************************************************/
+G_DEFINE_TYPE (GnucashRegister, gnucash_register, GTK_TYPE_GRID)
+
void
gnucash_register_add_cell_types (void)
{
@@ -367,8 +368,6 @@ gnucash_register_class_init (GnucashRegisterClass *klass)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(klass), "gnc-id-register");
- register_parent_class = g_type_class_peek_parent (klass);
-
register_signals[ACTIVATE_CURSOR] =
g_signal_new("activate_cursor",
G_TYPE_FROM_CLASS(gobject_class),
@@ -428,37 +427,6 @@ gnucash_register_init (GnucashRegister *g_reg)
gtk_grid_set_column_homogeneous (GTK_GRID(table), FALSE);
}
-
-GType
-gnucash_register_get_type (void)
-{
- static GType gnucash_register_type = 0;
-
- if (!gnucash_register_type)
- {
- static const GTypeInfo gnucash_register_info =
- {
- sizeof (GnucashRegisterClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gnucash_register_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GnucashRegister),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gnucash_register_init,
- };
-
- gnucash_register_type = g_type_register_static
- (gtk_grid_get_type (),
- "GnucashRegister",
- &gnucash_register_info, 0);
- }
-
- return gnucash_register_type;
-}
-
-
void
gnucash_register_attach_popup (GnucashRegister *reg,
GtkWidget *popup,
commit 39a1bfd10da528887555d3f7d2ae8d654207a8e6
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 17:32:37 2023 +0100
Refactor: DEFINE_TYPE GncItemList < GtkEventBox
diff --git a/gnucash/register/register-gnome/gnucash-item-list.c b/gnucash/register/register-gnome/gnucash-item-list.c
index 4bb631a0e0..febc0b2189 100644
--- a/gnucash/register/register-gnome/gnucash-item-list.c
+++ b/gnucash/register/register-gnome/gnucash-item-list.c
@@ -44,12 +44,13 @@ enum
LAST_SIGNAL
};
-static GtkEventBoxClass* gnc_item_list_parent_class;
static guint gnc_item_list_signals[LAST_SIGNAL];
gboolean _gnc_item_find_selection (GtkTreeModel* model, GtkTreePath* path,
GtkTreeIter* iter, gpointer data);
+G_DEFINE_TYPE (GncItemList, gnc_item_list, GTK_TYPE_EVENT_BOX);
+
gint
gnc_item_list_num_entries (GncItemList* item_list)
{
@@ -390,8 +391,6 @@ gnc_item_list_class_init (GncItemListClass* item_list_class)
{
GObjectClass* object_class = G_OBJECT_CLASS (item_list_class);
- gnc_item_list_parent_class = g_type_class_peek_parent (item_list_class);
-
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(item_list_class), "gnc-id-sheet-list");
gnc_item_list_signals[SELECT_ITEM] =
@@ -429,36 +428,6 @@ gnc_item_list_class_init (GncItemListClass* item_list_class)
item_list_class->activate_item = NULL;
}
-
-GType
-gnc_item_list_get_type (void)
-{
- static GType gnc_item_list_type = 0;
-
- if (gnc_item_list_type == 0)
- {
- static const GTypeInfo gnc_item_list_info =
- {
- sizeof (GncItemListClass),
- NULL,
- NULL,
- (GClassInitFunc) gnc_item_list_class_init,
- NULL,
- NULL,
- sizeof (GncItemList),
- 0,
- (GInstanceInitFunc) gnc_item_list_init
- };
-
- gnc_item_list_type =
- g_type_register_static (GTK_TYPE_EVENT_BOX, "GncItemList",
- &gnc_item_list_info, 0);
- }
-
- return gnc_item_list_type;
-}
-
-
static void
tree_view_selection_changed (GtkTreeSelection* selection,
gpointer data)
commit fea6405f789c38f4ed5348747cea1b40c165fa54
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 17:32:31 2023 +0100
Refactor: DEFINE_TYPE GncItemEditTb < GtkToggleButton
diff --git a/gnucash/register/register-gnome/gnucash-item-edit.c b/gnucash/register/register-gnome/gnucash-item-edit.c
index 1f2156f878..74316db005 100644
--- a/gnucash/register/register-gnome/gnucash-item-edit.c
+++ b/gnucash/register/register-gnome/gnucash-item-edit.c
@@ -62,11 +62,12 @@ enum
static QofLogModule log_module = G_LOG_DOMAIN;
-static GtkToggleButtonClass *gnc_item_edit_tb_parent_class;
static void gnc_item_edit_destroying (GtkWidget *this, gpointer data);
G_DEFINE_TYPE (GncItemEdit, gnc_item_edit, GTK_TYPE_BOX)
+G_DEFINE_TYPE (GncItemEditTb, gnc_item_edit_tb, GTK_TYPE_TOGGLE_BUTTON)
+
static void
gnc_item_edit_tb_init (GncItemEditTb *item_edit_tb)
{
@@ -153,8 +154,6 @@ gnc_item_edit_tb_class_init (GncItemEditTbClass *gnc_item_edit_tb_class)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(gnc_item_edit_tb_class), "button");
- gnc_item_edit_tb_parent_class = g_type_class_peek_parent (gnc_item_edit_tb_class);
-
object_class = G_OBJECT_CLASS(gnc_item_edit_tb_class);
widget_class = GTK_WIDGET_CLASS(gnc_item_edit_tb_class);
@@ -174,34 +173,6 @@ gnc_item_edit_tb_class_init (GncItemEditTbClass *gnc_item_edit_tb_class)
widget_class->get_preferred_height = gnc_item_edit_tb_get_preferred_height;
}
-GType
-gnc_item_edit_tb_get_type (void)
-{
- static GType gnc_item_edit_tb_type = 0;
-
- if (!gnc_item_edit_tb_type)
- {
- static const GTypeInfo gnc_item_edit_tb_info =
- {
- sizeof (GncItemEditTbClass),
- NULL,
- NULL,
- (GClassInitFunc)gnc_item_edit_tb_class_init,
- NULL,
- NULL,
- sizeof (GncItemEditTb),
- 0, /* n_preallocs */
- (GInstanceInitFunc)gnc_item_edit_tb_init,
- NULL,
- };
- gnc_item_edit_tb_type =
- g_type_register_static (GTK_TYPE_TOGGLE_BUTTON,
- "GncItemEditTb",
- &gnc_item_edit_tb_info, 0);
- }
- return gnc_item_edit_tb_type;
-}
-
GtkWidget *
gnc_item_edit_tb_new (GnucashSheet *sheet)
{
commit 80f370f0d29cc11ea44e5582bb7618314349e284
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Fri May 5 13:36:01 2023 +0100
Refactor: DEFINE_TYPE GncItemEdit < GtkBox
diff --git a/gnucash/register/register-gnome/gnucash-item-edit.c b/gnucash/register/register-gnome/gnucash-item-edit.c
index da6b5044b3..1f2156f878 100644
--- a/gnucash/register/register-gnome/gnucash-item-edit.c
+++ b/gnucash/register/register-gnome/gnucash-item-edit.c
@@ -61,10 +61,12 @@ enum
#define MIN_BUTT_WIDTH 20 // minimum size for a button excluding border
static QofLogModule log_module = G_LOG_DOMAIN;
-static GtkBoxClass *gnc_item_edit_parent_class;
static GtkToggleButtonClass *gnc_item_edit_tb_parent_class;
static void gnc_item_edit_destroying (GtkWidget *this, gpointer data);
+
+G_DEFINE_TYPE (GncItemEdit, gnc_item_edit, GTK_TYPE_BOX)
+
static void
gnc_item_edit_tb_init (GncItemEditTb *item_edit_tb)
{
@@ -775,8 +777,6 @@ gnc_item_edit_class_init (GncItemEditClass *gnc_item_edit_class)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(gnc_item_edit_class), "gnc-id-cursor");
- gnc_item_edit_parent_class = g_type_class_peek_parent (gnc_item_edit_class);
-
object_class = G_OBJECT_CLASS(gnc_item_edit_class);
widget_class = GTK_WIDGET_CLASS(gnc_item_edit_class);
@@ -796,39 +796,6 @@ gnc_item_edit_class_init (GncItemEditClass *gnc_item_edit_class)
widget_class->get_preferred_height = gnc_item_edit_get_preferred_height;
}
-/* FIXME: This way of initializing GObjects is obsolete. We should be
- * using G_DECLARE_FINAL_TYPE instead of rolling _get_type by hand.
- */
-GType
-gnc_item_edit_get_type (void)
-{
- static GType gnc_item_edit_type = 0;
-
- if (!gnc_item_edit_type)
- {
- static const GTypeInfo gnc_item_edit_info =
- {
- sizeof (GncItemEditClass),
- NULL,
- NULL,
- (GClassInitFunc) gnc_item_edit_class_init,
- NULL,
- NULL,
- sizeof (GncItemEdit),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gnc_item_edit_init,
- NULL,
- };
-
- gnc_item_edit_type =
- g_type_register_static (GTK_TYPE_BOX,
- "GncItemEdit",
- &gnc_item_edit_info, 0);
- }
-
- return gnc_item_edit_type;
-}
-
gint
gnc_item_edit_get_margin (GncItemEdit *item_edit, Sides side)
{
commit 546a91a5753a9de848c59447d1c9f6e87bdddd68
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 17:32:24 2023 +0100
Refactor: DEFINE_TYPE GncHeader < GtkLayout
diff --git a/gnucash/register/register-gnome/gnucash-header.c b/gnucash/register/register-gnome/gnucash-header.c
index e9cad07f51..4c8f7c55ef 100644
--- a/gnucash/register/register-gnome/gnucash-header.c
+++ b/gnucash/register/register-gnome/gnucash-header.c
@@ -40,8 +40,6 @@
#include "gnucash-header.h"
-static GtkLayout *parent_class;
-
enum
{
PROP_0,
@@ -49,6 +47,8 @@ enum
PROP_CURSOR_NAME, /* the name of the current cursor */
};
+G_DEFINE_TYPE (GncHeader, gnc_header, GTK_TYPE_LAYOUT)
+
static void
gnc_header_draw_offscreen (GncHeader *header)
{
@@ -261,8 +261,8 @@ gnc_header_unrealize (GtkWidget *widget)
g_object_unref (header->normal_cursor);
header->normal_cursor = NULL;
- if (GTK_WIDGET_CLASS(parent_class)->unrealize)
- GTK_WIDGET_CLASS(parent_class)->unrealize (GTK_WIDGET(header));
+ if (GTK_WIDGET_CLASS(gnc_header_parent_class)->unrealize)
+ GTK_WIDGET_CLASS(gnc_header_parent_class)->unrealize (GTK_WIDGET(header));
}
@@ -276,7 +276,7 @@ gnc_header_finalize (GObject *object)
g_free (header->cursor_name);
header->cursor_name = NULL;
- G_OBJECT_CLASS(parent_class)->finalize (object);
+ G_OBJECT_CLASS(gnc_header_parent_class)->finalize (object);
}
@@ -645,8 +645,6 @@ gnc_header_class_init (GncHeaderClass *header_class)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(header_class), "gnc-id-header");
- parent_class = g_type_class_peek_parent (header_class);
-
object_class->finalize = gnc_header_finalize;
object_class->get_property = gnc_header_get_property;
object_class->set_property = gnc_header_set_property;
@@ -672,36 +670,6 @@ gnc_header_class_init (GncHeaderClass *header_class)
item_class->event = gnc_header_event;
}
-
-GType
-gnc_header_get_type (void)
-{
- static GType gnc_header_type = 0;
-
- if (!gnc_header_type)
- {
- static const GTypeInfo gnc_header_info =
- {
- sizeof (GncHeaderClass),
- NULL,
- NULL,
- (GClassInitFunc) gnc_header_class_init,
- NULL,
- NULL,
- sizeof (GncHeader),
- 0,
- (GInstanceInitFunc) gnc_header_init
- };
-
- gnc_header_type = g_type_register_static (GTK_TYPE_LAYOUT,
- "GncHeader",
- &gnc_header_info, 0);
- }
-
- return gnc_header_type;
-}
-
-
GtkWidget *
gnc_header_new (GnucashSheet *sheet)
{
commit b5497dc45b412e97defa9cd50b747832ae867f08
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Mon Apr 24 12:43:19 2023 +0100
Refactor: DEFINE_TYPE GncDatePicker < GtkBox
diff --git a/gnucash/register/register-gnome/gnucash-date-picker.c b/gnucash/register/register-gnome/gnucash-date-picker.c
index 9cb950460c..6a0b9a0d6f 100644
--- a/gnucash/register/register-gnome/gnucash-date-picker.c
+++ b/gnucash/register/register-gnome/gnucash-date-picker.c
@@ -28,7 +28,6 @@
#include <gdk/gdkkeysyms.h>
#include "gnucash-date-picker.h"
-
/* Item list signals */
enum
{
@@ -37,9 +36,9 @@ enum
LAST_SIGNAL
};
-static GtkBoxClass *gnc_date_picker_parent_class;
static guint gnc_date_picker_signals[LAST_SIGNAL];
+G_DEFINE_TYPE (GNCDatePicker, gnc_date_picker, GTK_TYPE_BOX)
void
gnc_date_picker_set_date (GNCDatePicker *date_picker,
@@ -118,9 +117,6 @@ gnc_date_picker_key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
static void
gnc_date_picker_class_init (GNCDatePickerClass *date_picker_class)
{
- gnc_date_picker_parent_class =
- GTK_BOX_CLASS (g_type_class_peek_parent (date_picker_class));
-
GObjectClass *object_class = G_OBJECT_CLASS (date_picker_class);
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(date_picker_class), "gnc-id-date-picker");
@@ -147,35 +143,6 @@ gnc_date_picker_class_init (GNCDatePickerClass *date_picker_class)
date_picker_class->date_picked = NULL;
}
-GType
-gnc_date_picker_get_type (void)
-{
- static GType gnc_date_picker_type = 0;
-
- if (gnc_date_picker_type == 0)
- {
- GTypeInfo type_info =
- {
- sizeof(GNCDatePickerClass), /* class_size */
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc)gnc_date_picker_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof(GNCDatePicker), /* */
- 0, /* n_preallocs */
- (GInstanceInitFunc)gnc_date_picker_init,
- };
-
- gnc_date_picker_type =
- g_type_register_static (GTK_TYPE_BOX,
- "GNCDatePicker",
- &type_info, 0);
- }
-
- return gnc_date_picker_type;
-}
-
static void
day_selected (GtkCalendar *calendar, GNCDatePicker *gdp)
commit 52a9af217784894347ab76e70f04e05889cdfc18
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 18:08:57 2023 +0100
Refactor: DEFINE_TYPE GnucashCursor < GObject
diff --git a/gnucash/register/register-gnome/gnucash-cursor.c b/gnucash/register/register-gnome/gnucash-cursor.c
index 1751d7e775..1dff192119 100644
--- a/gnucash/register/register-gnome/gnucash-cursor.c
+++ b/gnucash/register/register-gnome/gnucash-cursor.c
@@ -36,8 +36,6 @@
#include "gnucash-sheetP.h"
#include "gnucash-style.h"
-static GObjectClass *gnucash_cursor_parent_class;
-
enum
{
PROP_0,
@@ -45,6 +43,9 @@ enum
};
+G_DEFINE_TYPE (GnucashCursor, gnucash_cursor, G_TYPE_OBJECT)
+
+
static void
gnucash_cursor_get_pixel_coords (GnucashCursor *cursor,
gint *x, gint *y,
@@ -268,6 +269,12 @@ gnucash_cursor_get_property (GObject *object,
}
+static void
+gnucash_cursor_init (GnucashCursor *instance)
+{
+}
+
+
static void
gnucash_cursor_class_init (GnucashCursorClass *klass)
{
@@ -275,8 +282,6 @@ gnucash_cursor_class_init (GnucashCursorClass *klass)
object_class = G_OBJECT_CLASS (klass);
- gnucash_cursor_parent_class = g_type_class_peek_parent (klass);
-
/* GObject method overrides */
object_class->set_property = gnucash_cursor_set_property;
object_class->get_property = gnucash_cursor_get_property;
@@ -293,36 +298,6 @@ gnucash_cursor_class_init (GnucashCursorClass *klass)
}
-GType
-gnucash_cursor_get_type (void)
-{
- static GType gnucash_cursor_type = 0;
-
- if (!gnucash_cursor_type)
- {
- static const GTypeInfo gnucash_cursor_info =
- {
- sizeof (GnucashCursorClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gnucash_cursor_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GnucashCursor),
- 0, /* n_preallocs */
- NULL /* instance initialization */
- };
-
- gnucash_cursor_type =
- g_type_register_static (G_TYPE_OBJECT,
- "GnucashCursor",
- &gnucash_cursor_info, 0);
- }
-
- return gnucash_cursor_type;
-}
-
-
GnucashCursor *
gnucash_cursor_new (GnucashSheet *sheet)
{
commit 02f61c6d76bad32bd7231cb7841445c721b4bd54
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 17:55:02 2023 +0100
Refactor: DEFINE_TYPE GNCReconcileView < GNCQueryView
diff --git a/gnucash/gnome/reconcile-view.c b/gnucash/gnome/reconcile-view.c
index cfd66bd33c..27924be5ad 100644
--- a/gnucash/gnome/reconcile-view.c
+++ b/gnucash/gnome/reconcile-view.c
@@ -52,12 +52,9 @@ enum
/** Static Globals ****************************************************/
-static GNCQueryViewClass *parent_class = NULL;
static guint reconcile_view_signals[LAST_SIGNAL] = {0};
/** Static function declarations **************************************/
-static void gnc_reconcile_view_init (GNCReconcileView *view);
-static void gnc_reconcile_view_class_init (GNCReconcileViewClass *klass);
static void gnc_reconcile_view_finalize (GObject *object);
static gpointer gnc_reconcile_view_is_reconciled (gpointer item,
gpointer user_data);
@@ -79,34 +76,7 @@ static gboolean gnc_reconcile_view_tooltip_cb (GNCQueryView *qview,
GtkTooltip* tooltip,
gpointer* user_data);
-GType
-gnc_reconcile_view_get_type (void)
-{
- static GType gnc_reconcile_view_type = 0;
-
- if (gnc_reconcile_view_type == 0)
- {
- static const GTypeInfo gnc_reconcile_view_info =
- {
- sizeof (GNCReconcileViewClass),
- NULL,
- NULL,
- (GClassInitFunc) gnc_reconcile_view_class_init,
- NULL,
- NULL,
- sizeof (GNCReconcileView),
- 0,
- (GInstanceInitFunc) gnc_reconcile_view_init
- };
-
- gnc_reconcile_view_type = g_type_register_static (GNC_TYPE_QUERY_VIEW,
- "GncReconcileView",
- &gnc_reconcile_view_info,
- 0);
- }
- return gnc_reconcile_view_type;
-}
-
+G_DEFINE_TYPE (GNCReconcileView, gnc_reconcile_view, GNC_TYPE_QUERY_VIEW)
static gboolean
gnc_reconcile_view_tooltip_cb (GNCQueryView *qview, gint x, gint y,
@@ -495,8 +465,6 @@ gnc_reconcile_view_class_init (GNCReconcileViewClass *klass)
object_class = G_OBJECT_CLASS(klass);
- parent_class = g_type_class_peek_parent (klass);
-
reconcile_view_signals[TOGGLE_RECONCILED] =
g_signal_new ("toggle_reconciled",
G_OBJECT_CLASS_TYPE(object_class),
@@ -822,7 +790,7 @@ gnc_reconcile_view_finalize (GObject *object)
g_hash_table_destroy (view->reconciled);
view->reconciled = NULL;
}
- G_OBJECT_CLASS(parent_class)->finalize (object);
+ G_OBJECT_CLASS(gnc_reconcile_view_parent_class)->finalize (object);
}
gint
commit 3db83b7a2cd2188662c9ca6c8a963f036a3fbc27
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 11 16:23:21 2023 +0100
Refactor: DEFINE_TYPE GNCSplitReg < GtkBox
diff --git a/gnucash/gnome/gnc-split-reg.c b/gnucash/gnome/gnc-split-reg.c
index 8976e5153f..ed612032a0 100644
--- a/gnucash/gnome/gnc-split-reg.c
+++ b/gnucash/gnome/gnc-split-reg.c
@@ -171,41 +171,13 @@ void gnc_split_reg_size_allocate( GtkWidget *widget,
gpointer user_data );
-static void gnc_split_reg_class_init( GNCSplitRegClass *klass );
-static void gnc_split_reg_init( GNCSplitReg *gsr );
static void gnc_split_reg_init2( GNCSplitReg *gsr );
void gnc_split_reg_dispose(GObject *obj);
FROM_STRING_FUNC(SortType, ENUM_LIST_SORTTYPE)
AS_STRING_FUNC(SortType, ENUM_LIST_SORTTYPE)
-GType
-gnc_split_reg_get_type( void )
-{
- static GType gnc_split_reg_type = 0;
-
- if (!gnc_split_reg_type)
- {
- GTypeInfo type_info =
- {
- sizeof(GNCSplitRegClass), /* class_size */
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc)gnc_split_reg_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof(GNCSplitReg), /* */
- 0, /* n_preallocs */
- (GInstanceInitFunc)gnc_split_reg_init,
- };
-
- gnc_split_reg_type = g_type_register_static( GTK_TYPE_BOX,
- "GNCSplitReg",
- &type_info, 0 );
- }
-
- return gnc_split_reg_type;
-}
+G_DEFINE_TYPE (GNCSplitReg, gnc_split_reg, GTK_TYPE_BOX)
/* SIGNALS */
enum gnc_split_reg_signal_enum
commit 5d98cc4c1db47c881e0bfcc3e5e77223d0ee6aea
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 17:32:05 2023 +0100
Refactor: DEFINE_TYPE GncSxSlrTreeModelAdapter < GObject
diff --git a/gnucash/gnome/dialog-sx-since-last-run.c b/gnucash/gnome/dialog-sx-since-last-run.c
index 63f0d3e7c5..be82415924 100644
--- a/gnucash/gnome/dialog-sx-since-last-run.c
+++ b/gnucash/gnome/dialog-sx-since-last-run.c
@@ -72,7 +72,6 @@ struct _GncSxSinceLastRunDialog
/* ------------------------------------------------------------ */
-static GObjectClass *parent_class = NULL;
struct _GncSxSlrTreeModelAdapter
{
@@ -92,9 +91,7 @@ typedef struct _GncSxSlrTreeModelAdapterClass
} GncSxSlrTreeModelAdapterClass;
GType gnc_sx_slr_tree_model_adapter_get_type (void);
-static void gnc_sx_slr_tree_model_adapter_class_init (GncSxSlrTreeModelAdapterClass *klass);
-static void gnc_sx_slr_tree_model_adapter_interface_init (gpointer g_iface, gpointer iface_data);
-static void gnc_sx_slr_tree_model_adapter_init (GTypeInstance *instance, gpointer klass);
+static void gnc_sx_slr_tree_model_adapter_interface_init (GtkTreeModelIface *tree_model);
GncSxSlrTreeModelAdapter* gnc_sx_slr_tree_model_adapter_new (GncSxInstanceModel *instances);
static void gnc_sx_slr_tree_model_adapter_dispose (GObject *obj);
static void gnc_sx_slr_tree_model_adapter_finalize (GObject *obj);
@@ -149,49 +146,13 @@ _var_numeric_to_string (gnc_numeric *value, GString **str)
/* ------------------------------------------------------------ */
-GType
-gnc_sx_slr_tree_model_adapter_get_type (void)
-{
- static GType gsstma_type = 0;
- if (gsstma_type == 0)
- {
- static const GTypeInfo info =
- {
- sizeof (GncSxSlrTreeModelAdapterClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc)gnc_sx_slr_tree_model_adapter_class_init, /* class_init */
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GncSxSlrTreeModelAdapter),
- 0, /* n_preallocs */
- (GInstanceInitFunc)gnc_sx_slr_tree_model_adapter_init /* instance_init */
- };
- static const GInterfaceInfo itreeModel_info =
- {
- (GInterfaceInitFunc) gnc_sx_slr_tree_model_adapter_interface_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- gsstma_type = g_type_register_static (G_TYPE_OBJECT,
- "GncSxSlrTreeModelAdapterType",
- &info, 0);
- g_type_add_interface_static (gsstma_type,
- GTK_TYPE_TREE_MODEL,
- &itreeModel_info);
- }
- return gsstma_type;
-}
+G_DEFINE_TYPE_WITH_CODE (GncSxSlrTreeModelAdapter, gnc_sx_slr_tree_model_adapter, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL, gnc_sx_slr_tree_model_adapter_interface_init))
static void
gnc_sx_slr_tree_model_adapter_class_init (GncSxSlrTreeModelAdapterClass *klass)
{
- GObjectClass *obj_class;
-
- parent_class = g_type_class_peek_parent (klass);
-
- obj_class = G_OBJECT_CLASS(klass);
+ GObjectClass *obj_class = G_OBJECT_CLASS(klass);
obj_class->dispose = gnc_sx_slr_tree_model_adapter_dispose;
obj_class->finalize = gnc_sx_slr_tree_model_adapter_finalize;
@@ -300,10 +261,8 @@ gsslrtma_unref_node (GtkTreeModel *tree_model,
}
static void
-gnc_sx_slr_tree_model_adapter_interface_init (gpointer g_iface, gpointer iface_data)
+gnc_sx_slr_tree_model_adapter_interface_init (GtkTreeModelIface *tree_model)
{
- GtkTreeModelIface *tree_model = (GtkTreeModelIface*)g_iface;
-
tree_model->get_flags = gsslrtma_get_flags;
tree_model->get_n_columns = gsslrtma_get_n_columns;
tree_model->get_column_type = gsslrtma_get_column_type;
@@ -377,9 +336,8 @@ enum
};
static void
-gnc_sx_slr_tree_model_adapter_init (GTypeInstance *instance, gpointer klass)
+gnc_sx_slr_tree_model_adapter_init (GncSxSlrTreeModelAdapter *adapter)
{
- GncSxSlrTreeModelAdapter *adapter = GNC_SX_SLR_TREE_MODEL_ADAPTER(instance);
// columns: thing-name, instance-state, variable-value, instance-visible, variable-visible, instance_state_sensitivity
// at depth=0: <sx>, N/A, N/A, N/A N/A, N/A
// at depth=1: <instance>, <state>, N/A, <valid>, N/A, <valid>
@@ -777,14 +735,14 @@ gnc_sx_slr_tree_model_adapter_dispose (GObject *obj)
g_object_unref (G_OBJECT(adapter->real));
adapter->real = NULL;
- G_OBJECT_CLASS(parent_class)->dispose (obj);
+ G_OBJECT_CLASS(gnc_sx_slr_tree_model_adapter_parent_class)->dispose (obj);
}
static void
gnc_sx_slr_tree_model_adapter_finalize (GObject *obj)
{
g_return_if_fail (obj != NULL);
- G_OBJECT_CLASS(parent_class)->finalize (obj);
+ G_OBJECT_CLASS(gnc_sx_slr_tree_model_adapter_parent_class)->finalize (obj);
}
GncSxSlrTreeModelAdapter*
commit 965fe59a46e8e5470527c664795a627d963c1cd3
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 17:31:50 2023 +0100
Refactor: DEFINE_TYPE GncSxListTreeModelAdapter < GObject
diff --git a/gnucash/gnome-utils/gnc-sx-list-tree-model-adapter.c b/gnucash/gnome-utils/gnc-sx-list-tree-model-adapter.c
index b40c2785ca..14c689d45c 100644
--- a/gnucash/gnome-utils/gnc-sx-list-tree-model-adapter.c
+++ b/gnucash/gnome-utils/gnc-sx-list-tree-model-adapter.c
@@ -66,12 +66,9 @@ enum
LAST_SIGNAL
};
-static GObjectClass *parent_class = NULL;
+static void gsltma_tree_model_interface_init (GtkTreeModelIface *tree_model);
+static void gsltma_tree_sortable_interface_init (GtkTreeSortableIface *tree_sortable);
-static void gnc_sx_list_tree_model_adapter_class_init (GncSxListTreeModelAdapterClass *klass);
-static void gsltma_tree_model_interface_init (gpointer g_iface, gpointer iface_data);
-static void gsltma_tree_sortable_interface_init (gpointer g_iface, gpointer iface_data);
-static void gnc_sx_list_tree_model_adapter_init (GTypeInstance *instance, gpointer klass);
static void gnc_sx_list_tree_model_adapter_dispose (GObject *obj);
static void gnc_sx_list_tree_model_adapter_finalize (GObject *obj);
@@ -79,57 +76,15 @@ static guint gnc_sx_list_tree_model_adapter_signals[LAST_SIGNAL] = {0};
static GncSxInstances* gsltma_get_sx_instances_from_orig_iter (GncSxListTreeModelAdapter *model, GtkTreeIter *orig_iter);
-GType
-gnc_sx_list_tree_model_adapter_get_type (void)
-{
- static GType type = 0;
- if (type == 0)
- {
- static const GTypeInfo info =
- {
- sizeof (GncSxListTreeModelAdapterClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc)gnc_sx_list_tree_model_adapter_class_init, /* class_init */
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GncSxListTreeModelAdapter),
- 0, /* n_preallocs */
- (GInstanceInitFunc)gnc_sx_list_tree_model_adapter_init /* instance_init */
- };
- static const GInterfaceInfo itree_model_info =
- {
- (GInterfaceInitFunc) gsltma_tree_model_interface_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
- static const GInterfaceInfo itree_sortable_info =
- {
- (GInterfaceInitFunc) gsltma_tree_sortable_interface_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- type = g_type_register_static (G_TYPE_OBJECT,
- "GncSxListTreeModelAdapterType",
- &info, 0);
- g_type_add_interface_static (type,
- GTK_TYPE_TREE_MODEL,
- &itree_model_info);
- g_type_add_interface_static (type,
- GTK_TYPE_TREE_SORTABLE,
- &itree_sortable_info);
- }
- return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GncSxListTreeModelAdapter, gnc_sx_list_tree_model_adapter, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL, gsltma_tree_model_interface_init)
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_SORTABLE, gsltma_tree_sortable_interface_init))
static void
gnc_sx_list_tree_model_adapter_class_init (GncSxListTreeModelAdapterClass *klass)
{
GObjectClass *obj_class = G_OBJECT_CLASS(klass);
- parent_class = g_type_class_peek_parent (klass);
-
obj_class->dispose = gnc_sx_list_tree_model_adapter_dispose;
obj_class->finalize = gnc_sx_list_tree_model_adapter_finalize;
@@ -248,9 +203,8 @@ gsltma_unref_node (GtkTreeModel *tree_model,
}
static void
-gsltma_tree_model_interface_init (gpointer g_iface, gpointer iface_data)
+gsltma_tree_model_interface_init (GtkTreeModelIface *tree_model)
{
- GtkTreeModelIface *tree_model = (GtkTreeModelIface*)g_iface;
tree_model->get_flags = gsltma_get_flags;
tree_model->get_n_columns = gsltma_get_n_columns;
tree_model->get_column_type = gsltma_get_column_type;
@@ -320,9 +274,8 @@ gsltma_has_default_sort_func (GtkTreeSortable *sortable)
}
static void
-gsltma_tree_sortable_interface_init (gpointer g_iface, gpointer iface_data)
+gsltma_tree_sortable_interface_init (GtkTreeSortableIface *tree_sortable)
{
- GtkTreeSortableIface *tree_sortable = (GtkTreeSortableIface*)g_iface;
tree_sortable->get_sort_column_id = gsltma_get_sort_column_id;
tree_sortable->set_sort_column_id = gsltma_set_sort_column_id;
tree_sortable->set_sort_func = gsltma_set_sort_func;
@@ -485,9 +438,8 @@ _enabled_comparator (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpoint
}
static void
-gnc_sx_list_tree_model_adapter_init (GTypeInstance *instance, gpointer klass)
+gnc_sx_list_tree_model_adapter_init (GncSxListTreeModelAdapter *adapter)
{
- GncSxListTreeModelAdapter *adapter = GNC_SX_LIST_TREE_MODEL_ADAPTER(instance);
adapter->orig = gtk_tree_store_new (5, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
adapter->real = GTK_TREE_MODEL_SORT(gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL(adapter->orig)));
@@ -642,12 +594,12 @@ gnc_sx_list_tree_model_adapter_dispose (GObject *obj)
g_object_unref (G_OBJECT(adapter->orig));
adapter->orig = NULL;
- G_OBJECT_CLASS(parent_class)->dispose (obj);
+ G_OBJECT_CLASS(gnc_sx_list_tree_model_adapter_parent_class)->dispose (obj);
}
static void
gnc_sx_list_tree_model_adapter_finalize (GObject *obj)
{
g_return_if_fail (obj != NULL);
- G_OBJECT_CLASS(parent_class)->finalize (obj);
+ G_OBJECT_CLASS(gnc_sx_list_tree_model_adapter_parent_class)->finalize (obj);
}
commit b621b5cd99ec1224ceb2bcde711f187124d147ea
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Mon May 22 10:37:36 2023 +0100
Refactor: DEFINE_TYPE GncSxInstanceDenseCalAdapter < GObject
diff --git a/gnucash/gnome-utils/gnc-sx-instance-dense-cal-adapter.c b/gnucash/gnome-utils/gnc-sx-instance-dense-cal-adapter.c
index 3672f4fe84..e5ff0d602b 100644
--- a/gnucash/gnome-utils/gnc-sx-instance-dense-cal-adapter.c
+++ b/gnucash/gnome-utils/gnc-sx-instance-dense-cal-adapter.c
@@ -40,6 +40,7 @@
#define G_LOG_DOMAIN "gnc.gui.sx.adapter.sx-dense-cal"
static const QofLogModule log_module = G_LOG_DOMAIN;
+static void gnc_sx_instance_dense_cal_adapter_interface_init(GncDenseCalModelIface *iface);
static void gnc_sx_instance_dense_cal_adapter_dispose(GObject *obj);
static void gnc_sx_instance_dense_cal_adapter_finalize(GObject *obj);
@@ -49,8 +50,6 @@ static gchar* gsidca_get_info(GncDenseCalModel *model, guint tag);
static gint gsidca_get_instance_count(GncDenseCalModel *model, guint tag);
static void gsidca_get_instance(GncDenseCalModel *model, guint tag, gint instance_index, GDate *date);
-static GObjectClass *parent_class = NULL;
-
struct _GncSxInstanceDenseCalAdapterClass
{
GObjectClass parent;
@@ -63,6 +62,9 @@ struct _GncSxInstanceDenseCalAdapter
GncSxInstanceModel *instances;
};
+G_DEFINE_TYPE_WITH_CODE (GncSxInstanceDenseCalAdapter, gnc_sx_instance_dense_cal_adapter, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GNC_TYPE_DENSE_CAL_MODEL, gnc_sx_instance_dense_cal_adapter_interface_init))
+
static void
gnc_sx_instance_dense_cal_adapter_class_init(GncSxInstanceDenseCalAdapterClass *klass)
{
@@ -70,21 +72,18 @@ gnc_sx_instance_dense_cal_adapter_class_init(GncSxInstanceDenseCalAdapterClass *
obj_class->dispose = gnc_sx_instance_dense_cal_adapter_dispose;
obj_class->finalize = gnc_sx_instance_dense_cal_adapter_finalize;
-
- parent_class = g_type_class_peek_parent(klass);
}
static void
-gnc_sx_instance_dense_cal_adapter_init(GTypeInstance *instance, gpointer klass)
+gnc_sx_instance_dense_cal_adapter_init(GncSxInstanceDenseCalAdapter *instance)
{
/*GncSxInstanceDenseCalAdapter *adapter = GNC_SX_INSTANCE_DENSE_CAL_ADAPTER(instance);*/
; /* nop */
}
static void
-gnc_sx_instance_dense_cal_adapter_interface_init(gpointer g_iface, gpointer iface_data)
+gnc_sx_instance_dense_cal_adapter_interface_init(GncDenseCalModelIface *iface)
{
- GncDenseCalModelIface *iface = (GncDenseCalModelIface*)g_iface;
iface->get_contained = gsidca_get_contained;
iface->get_name = gsidca_get_name;
iface->get_info = gsidca_get_info;
@@ -141,41 +140,6 @@ gnc_sx_instance_dense_cal_adapter_new(GncSxInstanceModel *instances)
return adapter;
}
-GType
-gnc_sx_instance_dense_cal_adapter_get_type(void)
-{
- static GType type = 0;
- if (type == 0)
- {
- static const GTypeInfo info =
- {
- sizeof (GncSxInstanceDenseCalAdapterClass),
- NULL, /* base init */
- NULL, /* base finalize */
- (GClassInitFunc)gnc_sx_instance_dense_cal_adapter_class_init,
- NULL, /* class finalize */
- NULL, /* class data */
- sizeof(GncSxInstanceDenseCalAdapter),
- 0, /* n_preallocs */
- (GInstanceInitFunc)gnc_sx_instance_dense_cal_adapter_init
- };
- static const GInterfaceInfo iDenseCalModelInfo =
- {
- (GInterfaceInitFunc)gnc_sx_instance_dense_cal_adapter_interface_init,
- NULL, /* interface finalize */
- NULL, /* interface data */
- };
-
- type = g_type_register_static (G_TYPE_OBJECT,
- "GncSxInstanceDenseCalAdapterType",
- &info, 0);
- g_type_add_interface_static(type,
- GNC_TYPE_DENSE_CAL_MODEL,
- &iDenseCalModelInfo);
- }
- return type;
-}
-
static gint
gsidca_find_sx_with_tag(gconstpointer list_data,
gconstpointer find_data)
@@ -267,12 +231,12 @@ gnc_sx_instance_dense_cal_adapter_dispose(GObject *obj)
g_object_unref(G_OBJECT(adapter->instances));
adapter->instances = NULL;
- G_OBJECT_CLASS(parent_class)->dispose(obj);
+ G_OBJECT_CLASS(gnc_sx_instance_dense_cal_adapter_parent_class)->dispose(obj);
}
static void gnc_sx_instance_dense_cal_adapter_finalize(GObject *obj)
{
g_return_if_fail(obj != NULL);
// nop
- G_OBJECT_CLASS(parent_class)->finalize(obj);
+ G_OBJECT_CLASS(gnc_sx_instance_dense_cal_adapter_parent_class)->finalize(obj);
}
commit d4649bc67f85e53f5519cd38565e89260010a2b4
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Wed May 24 10:30:32 2023 +0100
Refactor: DEFINE_TYPE GncRecurrenceComp < GtkScrolledWindow
diff --git a/gnucash/gnome-utils/gnc-recurrence.c b/gnucash/gnome-utils/gnc-recurrence.c
index f455df3137..c6ab5db466 100644
--- a/gnucash/gnome-utils/gnc-recurrence.c
+++ b/gnucash/gnome-utils/gnc-recurrence.c
@@ -465,6 +465,7 @@ static void removeClicked(GtkButton *b, gpointer data)
removeRecurrence(grc);
}
+G_DEFINE_TYPE (GncRecurrenceComp, gnc_recurrence_comp, GTK_TYPE_SCROLLED_WINDOW)
void
gnc_recurrence_comp_set_list(GncRecurrenceComp *grc, const GList *rlist)
@@ -560,35 +561,9 @@ gnc_recurrence_comp_class_init( GncRecurrenceCompClass *klass )
G_TYPE_NONE,
0);
- //parent_class = g_type_class_peek_parent (klass);
//object_class->finalize = gnc_recurrence_finalize;
}
-
-GType
-gnc_recurrence_comp_get_type()
-{
- static GType type = 0;
- if (type == 0)
- {
- static GTypeInfo typeinfo =
- {
- sizeof(GncRecurrenceCompClass),
- NULL, NULL,
- (GClassInitFunc)gnc_recurrence_comp_class_init,
- NULL, NULL,
- sizeof(GncRecurrenceComp),
- 0,
- (GInstanceInitFunc)gnc_recurrence_comp_init
- };
-
- type = g_type_register_static (GTK_TYPE_SCROLLED_WINDOW,
- "GncRecurrenceComp", &typeinfo, 0);
- }
- return type;
-}
-
-
GtkWidget *
gnc_recurrence_comp_new()
{
commit fd56cb6b7867b2e7dcd67d054cfcd5d78ee381a6
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Mon May 22 10:33:01 2023 +0100
Refactor: DEFINE_TYPE GncRecurrence < GtkBox
diff --git a/gnucash/gnome-utils/gnc-recurrence.c b/gnucash/gnome-utils/gnc-recurrence.c
index 7a9b3f4ba3..f455df3137 100644
--- a/gnucash/gnome-utils/gnc-recurrence.c
+++ b/gnucash/gnome-utils/gnc-recurrence.c
@@ -70,8 +70,7 @@ typedef enum
GNCR_YEAR,
} UIPeriodType;
-static GObjectClass *parent_class = NULL;
-
+G_DEFINE_TYPE (GncRecurrence, gnc_recurrence, GTK_TYPE_BOX)
static UIPeriodType get_pt_ui(GncRecurrence *gr)
{
@@ -341,7 +340,7 @@ gnc_recurrence_finalize(GObject *o)
GncRecurrence *gr = GNC_RECURRENCE(o);
if (gr)
- G_OBJECT_CLASS (parent_class)->finalize (o);
+ G_OBJECT_CLASS (gnc_recurrence_parent_class)->finalize (o);
}
@@ -361,35 +360,9 @@ gnc_recurrence_class_init( GncRecurrenceClass *klass )
G_TYPE_NONE,
0);
- parent_class = g_type_class_peek_parent (klass);
object_class->finalize = gnc_recurrence_finalize;
}
-
-GType
-gnc_recurrence_get_type()
-{
- static GType type = 0;
- if (type == 0)
- {
- static GTypeInfo typeinfo =
- {
- sizeof(GncRecurrenceClass),
- NULL, NULL,
- (GClassInitFunc)gnc_recurrence_class_init,
- NULL, NULL,
- sizeof(GncRecurrence),
- 0,
- (GInstanceInitFunc)gnc_recurrence_init
- };
-
- type = g_type_register_static (GTK_TYPE_BOX, "GncRecurrence",
- &typeinfo, 0);
- }
- return type;
-}
-
-
GtkWidget *
gnc_recurrence_new()
{
commit c632164d38f782be169eddeaaff41d2bc62ac1b3
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 17:31:37 2023 +0100
Refactor: DEFINE_TYPE GNCGeneralSelect < GtkBox
- don't need checks for parent dispose & finalize
diff --git a/gnucash/gnome-utils/gnc-general-select.c b/gnucash/gnome-utils/gnc-general-select.c
index 205c2cc3f1..adcda610de 100644
--- a/gnucash/gnome-utils/gnc-general-select.c
+++ b/gnucash/gnome-utils/gnc-general-select.c
@@ -47,48 +47,12 @@ enum
};
-static void gnc_general_select_init (GNCGeneralSelect *gsl);
-static void gnc_general_select_class_init (GNCGeneralSelectClass *klass);
static void gnc_general_select_dispose (GObject *object);
static void gnc_general_select_finalize (GObject *object);
-static GtkBoxClass *parent_class;
static guint general_select_signals[LAST_SIGNAL];
-
-/**
- * gnc_general_select_get_type:
- *
- * Returns the GType for the GNCGeneralSelect widget
- */
-GType
-gnc_general_select_get_type (void)
-{
- static GType general_select_type = 0;
-
- if (general_select_type == 0)
- {
- static const GTypeInfo general_select_info =
- {
- sizeof (GNCGeneralSelectClass),
- NULL,
- NULL,
- (GClassInitFunc) gnc_general_select_class_init,
- NULL,
- NULL,
- sizeof (GNCGeneralSelect),
- 0,
- (GInstanceInitFunc) gnc_general_select_init,
- NULL,
- };
-
- general_select_type = g_type_register_static(GTK_TYPE_BOX,
- "GNCGeneralSelect",
- &general_select_info, 0);
- }
-
- return general_select_type;
-}
+G_DEFINE_TYPE (GNCGeneralSelect, gnc_general_select, GTK_TYPE_BOX)
static void
gnc_general_select_forall (GtkContainer *container, gboolean include_internals,
@@ -103,10 +67,10 @@ gnc_general_select_forall (GtkContainer *container, gboolean include_internals,
if (!include_internals)
return;
- if (!GTK_CONTAINER_CLASS (parent_class)->forall)
+ if (!GTK_CONTAINER_CLASS (gnc_general_select_parent_class)->forall)
return;
- GTK_CONTAINER_CLASS (parent_class)->forall (container,
+ GTK_CONTAINER_CLASS (gnc_general_select_parent_class)->forall (container,
include_internals,
callback,
callback_data);
@@ -120,8 +84,6 @@ gnc_general_select_class_init (GNCGeneralSelectClass *klass)
object_class = (GObjectClass*) klass;
- parent_class = g_type_class_ref(GTK_TYPE_BOX);
-
general_select_signals[SELECTION_CHANGED] =
g_signal_new("changed",
G_TYPE_FROM_CLASS(object_class),
@@ -158,8 +120,7 @@ gnc_general_select_finalize (GObject *object)
g_return_if_fail (object != NULL);
g_return_if_fail (GNC_IS_GENERAL_SELECT (object));
- if (G_OBJECT_CLASS (parent_class)->finalize)
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (gnc_general_select_parent_class)->finalize (object);
}
static void
@@ -184,9 +145,7 @@ gnc_general_select_dispose (GObject *object)
gtk_widget_destroy(GTK_WIDGET(gsl->button));
gsl->button = NULL;
-
- if (G_OBJECT_CLASS (parent_class)->dispose)
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (gnc_general_select_parent_class)->dispose (object);
}
static void
commit faba15a4c7fffa5f876f45b9ec338d2fb29ed106
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Mon May 22 10:35:42 2023 +0100
Refactor: DEFINE_TYPE GncFrequency < GtkBox
- also
- make gnc_frequency_init() private
- rename gnc_frequency_class_destroy() to gnc_frequency_destroy()
diff --git a/gnucash/gnome-utils/gnc-frequency.c b/gnucash/gnome-utils/gnc-frequency.c
index f427607c00..905440e898 100644
--- a/gnucash/gnome-utils/gnc-frequency.c
+++ b/gnucash/gnome-utils/gnc-frequency.c
@@ -57,8 +57,7 @@ static guint gnc_frequency_signals[LAST_SIGNAL] = { 0 };
/** Private Prototypes ********************/
-static void gnc_frequency_class_init( GncFrequencyClass *klass );
-static void gnc_frequency_class_destroy( GtkWidget *widget );
+static void gnc_frequency_destroy( GtkWidget *widget );
static void freq_combo_changed( GtkComboBox *b, gpointer d );
static void start_date_changed( GNCDateEdit *gde, gpointer d );
@@ -71,8 +70,6 @@ static void semimonthly_sel_changed( GtkButton *b, gpointer d );
/** Static Inits ********************/
-static GObjectClass *parent_class = NULL;
-
enum
{
PAGE_NONE = 0,
@@ -97,33 +94,7 @@ static const char *CHECKBOX_NAMES[] =
/** Implementations ********************/
-GType
-gnc_frequency_get_type()
-{
- static GType gncfreq_type = 0;
- if (gncfreq_type == 0)
- {
- static GTypeInfo gncfreq_info =
- {
- sizeof(GncFrequencyClass),
- NULL,
- NULL,
- (GClassInitFunc)gnc_frequency_class_init,
- NULL,
- NULL,
- sizeof(GncFrequency),
- 0,
- (GInstanceInitFunc)gnc_frequency_init
- };
-
- gncfreq_type = g_type_register_static (GTK_TYPE_BOX,
- "GncFrequency",
- &gncfreq_info, 0);
- }
-
- return gncfreq_type;
-}
-
+G_DEFINE_TYPE (GncFrequency, gnc_frequency, GTK_TYPE_BOX)
static void
gnc_frequency_class_init( GncFrequencyClass *klass )
@@ -131,8 +102,6 @@ gnc_frequency_class_init( GncFrequencyClass *klass )
GObjectClass *object_class;
GtkWidgetClass *gtkwidget_class;
- parent_class = g_type_class_peek_parent (klass);
-
object_class = G_OBJECT_CLASS (klass);
gtkwidget_class = GTK_WIDGET_CLASS (klass);
@@ -148,11 +117,11 @@ gnc_frequency_class_init( GncFrequencyClass *klass )
0);
/* GtkWidget signals */
- gtkwidget_class->destroy = gnc_frequency_class_destroy;
+ gtkwidget_class->destroy = gnc_frequency_destroy;
}
-void
+static void
gnc_frequency_init(GncFrequency *gf)
{
int i;
@@ -277,7 +246,7 @@ gnc_frequency_init(GncFrequency *gf)
* @internal
*/
static void
-gnc_frequency_class_destroy (GtkWidget *widget)
+gnc_frequency_destroy (GtkWidget *widget)
{
GncFrequency *gf;
@@ -294,8 +263,7 @@ gnc_frequency_class_destroy (GtkWidget *widget)
gf->builder = NULL;
}
- if (GTK_WIDGET_CLASS (parent_class)->destroy)
- GTK_WIDGET_CLASS (parent_class)->destroy (widget);
+ GTK_WIDGET_CLASS (gnc_frequency_parent_class)->destroy (widget);
LEAVE(" ");
}
diff --git a/gnucash/gnome-utils/gnc-frequency.h b/gnucash/gnome-utils/gnc-frequency.h
index 8aba8fe910..e23d98942c 100644
--- a/gnucash/gnome-utils/gnc-frequency.h
+++ b/gnucash/gnome-utils/gnc-frequency.h
@@ -76,8 +76,6 @@ GType gnc_frequency_get_type(void);
GtkWidget* gnc_frequency_new(GList *recurrences, const GDate *start_date);
GtkWidget* gnc_frequency_new_from_recurrence(GList *recurrences, const GDate *start_date);
-void gnc_frequency_init(GncFrequency *gf);
-
/**
* Change the given GncFrequency with the given FreqSpec and GDate.
* If the FreqSpec is NULL, then no change is made to the widget menus.
commit b669d2722bef061c2e617b6e1b548dd1de3f6de2
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Fri May 26 11:25:48 2023 +0100
Refactor: DEFINE_TYPE GncDenseCalStore < GObject
diff --git a/gnucash/gnome-utils/gnc-dense-cal-store.c b/gnucash/gnome-utils/gnc-dense-cal-store.c
index db87640c3f..86a91c525c 100644
--- a/gnucash/gnome-utils/gnc-dense-cal-store.c
+++ b/gnucash/gnome-utils/gnc-dense-cal-store.c
@@ -59,10 +59,7 @@ struct _GncDenseCalStoreClass
GObjectClass parent_class;
};
-static GObjectClass *parent_class = NULL;
-
-static void gnc_dense_cal_store_class_init(GncDenseCalStoreClass *klass);
-
+static void gnc_dense_cal_store_iface_init(GncDenseCalModelIface *iface);
static void gnc_dense_cal_store_finalize(GObject *obj);
static GList* gdcs_get_contained(GncDenseCalModel *model);
@@ -71,19 +68,25 @@ static gchar* gdcs_get_info(GncDenseCalModel *model, guint tag);
static gint gdcs_get_instance_count(GncDenseCalModel *model, guint tag);
static void gdcs_get_instance(GncDenseCalModel *model, guint tag, gint instance_index, GDate *date);
+G_DEFINE_TYPE_WITH_CODE (GncDenseCalStore, gnc_dense_cal_store, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GNC_TYPE_DENSE_CAL_MODEL, gnc_dense_cal_store_iface_init))
+
static void
gnc_dense_cal_store_class_init(GncDenseCalStoreClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
- parent_class = g_type_class_peek_parent(klass);
object_class->finalize = gnc_dense_cal_store_finalize;
}
static void
-gnc_dense_cal_store_iface_init(gpointer g_iface, gpointer iface_data)
+gnc_dense_cal_store_init(GncDenseCalStore *self)
+{
+}
+
+static void
+gnc_dense_cal_store_iface_init(GncDenseCalModelIface *iface)
{
- GncDenseCalModelIface *iface = (GncDenseCalModelIface*)g_iface;
iface->get_contained = gdcs_get_contained;
iface->get_name = gdcs_get_name;
iface->get_info = gdcs_get_info;
@@ -91,38 +94,6 @@ gnc_dense_cal_store_iface_init(gpointer g_iface, gpointer iface_data)
iface->get_instance = gdcs_get_instance;
}
-GType
-gnc_dense_cal_store_get_type(void)
-{
- static GType type = 0;
- if (type == 0)
- {
- static const GTypeInfo info =
- {
- sizeof (GncDenseCalStoreClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc)gnc_dense_cal_store_class_init, /* class_init */
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof(GncDenseCalStore),
- 0, /* n_preallocs */
- NULL /* instance_init */
- };
- static const GInterfaceInfo iDenseCalModelInfo =
- {
- (GInterfaceInitFunc)gnc_dense_cal_store_iface_init,
- NULL, /* interface finalize */
- NULL, /* interface data */
- };
- type = g_type_register_static(G_TYPE_OBJECT, "GncDenseCalStore", &info, 0);
- g_type_add_interface_static(type,
- GNC_TYPE_DENSE_CAL_MODEL,
- &iDenseCalModelInfo);
- }
- return type;
-}
-
GncDenseCalStore*
gnc_dense_cal_store_new(int num_marks)
{
@@ -303,5 +274,5 @@ gnc_dense_cal_store_finalize(GObject *obj)
store->cal_marks = NULL;
}
- G_OBJECT_CLASS(parent_class)->finalize(obj);
+ G_OBJECT_CLASS(gnc_dense_cal_store_parent_class)->finalize(obj);
}
commit 9a8f54a2e14de4c5773d527ce0240d3daaab99d1
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Mon May 22 10:36:11 2023 +0100
Refactor: DEFINE_TYPE GncDenseCal < GtkBox
diff --git a/gnucash/gnome-utils/gnc-dense-cal.c b/gnucash/gnome-utils/gnc-dense-cal.c
index f65d9aab40..8049fd9cb8 100644
--- a/gnucash/gnome-utils/gnc-dense-cal.c
+++ b/gnucash/gnome-utils/gnc-dense-cal.c
@@ -76,8 +76,6 @@ static const int COL_BORDER_SIZE = 3;
#undef G_LOG_DOMAIN
#define G_LOG_DOMAIN "gnc.gui.dense-cal"
-static void gnc_dense_cal_class_init(GncDenseCalClass *klass);
-static void gnc_dense_cal_init(GncDenseCal *dcal);
static void gnc_dense_cal_finalize(GObject *object);
static void gnc_dense_cal_dispose(GObject *object);
static void gnc_dense_cal_realize(GtkWidget *widget, gpointer user_data);
@@ -147,7 +145,7 @@ static void gdc_add_tag_markings(GncDenseCal *cal, guint tag);
static void gdc_add_markings(GncDenseCal *cal);
static void gdc_remove_markings(GncDenseCal *cal);
-static GObject *parent_class = NULL;
+G_DEFINE_TYPE (GncDenseCal, gnc_dense_cal, GTK_TYPE_BOX)
#define MONTH_NAME_BUFSIZE 10
@@ -187,35 +185,6 @@ day_label(gchar *buf, int buf_len, int dow)
}
}
-GType
-gnc_dense_cal_get_type()
-{
- static GType dense_cal_type = 0;
-
- if (dense_cal_type == 0)
- {
- static const GTypeInfo dense_cal_info =
- {
- sizeof (GncDenseCalClass),
- NULL,
- NULL,
- (GClassInitFunc) gnc_dense_cal_class_init,
- NULL,
- NULL,
- sizeof (GncDenseCal),
- 0,
- (GInstanceInitFunc) gnc_dense_cal_init,
- NULL
- };
-
- dense_cal_type = g_type_register_static(GTK_TYPE_BOX,
- "GncDenseCal",
- &dense_cal_info, 0);
- }
-
- return dense_cal_type;
-}
-
static void
gnc_dense_cal_class_init(GncDenseCalClass *klass)
{
@@ -227,8 +196,6 @@ gnc_dense_cal_class_init(GncDenseCalClass *klass)
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS(klass), "calendar");
- parent_class = g_type_class_peek_parent (klass);
-
object_class->finalize = gnc_dense_cal_finalize;
object_class->dispose = gnc_dense_cal_dispose;
@@ -684,8 +651,7 @@ gnc_dense_cal_dispose (GObject *object)
g_object_unref(G_OBJECT(dcal->model));
- if (G_OBJECT_CLASS (parent_class)->dispose)
- G_OBJECT_CLASS(parent_class)->dispose(object);
+ G_OBJECT_CLASS(gnc_dense_cal_parent_class)->dispose(object);
}
static void
@@ -694,8 +660,7 @@ gnc_dense_cal_finalize (GObject *object)
g_return_if_fail (object != NULL);
g_return_if_fail (GNC_IS_DENSE_CAL (object));
- if (G_OBJECT_CLASS (parent_class)->finalize)
- G_OBJECT_CLASS(parent_class)->finalize(object);
+ G_OBJECT_CLASS(gnc_dense_cal_parent_class)->finalize(object);
}
static void
commit b3e13d46de0e4843006882a712618a12e8328b15
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Mon May 22 10:30:35 2023 +0100
Refactor: DEFINE_TYPE GNCDateEdit < GtkBox
diff --git a/gnucash/gnome-utils/gnc-date-edit.c b/gnucash/gnome-utils/gnc-date-edit.c
index 3dc57fc2dd..ed716131f7 100644
--- a/gnucash/gnome-utils/gnc-date-edit.c
+++ b/gnucash/gnome-utils/gnc-date-edit.c
@@ -64,9 +64,6 @@ enum
static QofLogModule log_module = GNC_MOD_GUI;
static guint date_edit_signals [LAST_SIGNAL] = { 0 };
-
-static void gnc_date_edit_init (GNCDateEdit *gde);
-static void gnc_date_edit_class_init (GNCDateEditClass *klass);
static void gnc_date_edit_dispose (GObject *object);
static void gnc_date_edit_finalize (GObject *object);
static void gnc_date_edit_forall (GtkContainer *container,
@@ -78,43 +75,7 @@ static int date_accel_key_press(GtkWidget *widget,
GdkEventKey *event,
gpointer data);
-
-static GtkBoxClass *parent_class;
-
-/**
- * gnc_date_edit_get_type:
- *
- * Returns the GType for the GNCDateEdit widget
- */
-GType
-gnc_date_edit_get_type (void)
-{
- static GType date_edit_type = 0;
-
- if (date_edit_type == 0)
- {
- static const GTypeInfo date_edit_info =
- {
- sizeof (GNCDateEditClass),
- NULL,
- NULL,
- (GClassInitFunc) gnc_date_edit_class_init,
- NULL,
- NULL,
- sizeof (GNCDateEdit),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gnc_date_edit_init,
- NULL,
- };
-
- date_edit_type = g_type_register_static (GTK_TYPE_BOX,
- "GNCDateEdit",
- &date_edit_info, 0);
- }
-
- return date_edit_type;
-}
-
+G_DEFINE_TYPE (GNCDateEdit, gnc_date_edit, GTK_TYPE_BOX)
static char *
gnc_strtok_r (char *s, const char *delim, char **save_ptr)
@@ -631,8 +592,6 @@ gnc_date_edit_class_init (GNCDateEditClass *klass)
object_class->dispose = gnc_date_edit_dispose;
object_class->finalize = gnc_date_edit_finalize;
- parent_class = g_type_class_ref(GTK_TYPE_BOX);
-
date_edit_signals [TIME_CHANGED] =
g_signal_new ("time_changed",
G_TYPE_FROM_CLASS (object_class),
@@ -688,8 +647,7 @@ gnc_date_edit_finalize (GObject *object)
g_return_if_fail (object != NULL);
g_return_if_fail (GNC_IS_DATE_EDIT (object));
- if (G_OBJECT_CLASS (parent_class)->finalize)
- (* G_OBJECT_CLASS (parent_class)->finalize) (object);
+ G_OBJECT_CLASS (gnc_date_edit_parent_class)->finalize (object);
}
static void
@@ -721,8 +679,7 @@ gnc_date_edit_dispose (GObject *object)
gtk_widget_destroy (GTK_WIDGET(gde->time_combo));
gde->time_combo = NULL;
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
+ G_OBJECT_CLASS (gnc_date_edit_parent_class)->dispose (object);
}
static void
@@ -738,10 +695,10 @@ gnc_date_edit_forall (GtkContainer *container, gboolean include_internals,
if (!include_internals)
return;
- if (!GTK_CONTAINER_CLASS (parent_class)->forall)
+ if (!GTK_CONTAINER_CLASS (gnc_date_edit_parent_class)->forall)
return;
- GTK_CONTAINER_CLASS (parent_class)->forall (container,
+ GTK_CONTAINER_CLASS (gnc_date_edit_parent_class)->forall (container,
include_internals,
callback,
callback_data);
commit 7c7ec317f8ebfab64afb5bb2f66d8d6aca17cbab
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 17:31:12 2023 +0100
Refactor: DEFINE_TYPE GncPopupEntry < GtkEventBox
diff --git a/gnucash/gnome-utils/gnc-cell-renderer-popup-entry.c b/gnucash/gnome-utils/gnc-cell-renderer-popup-entry.c
index 7e6ecbff93..30723b13c4 100644
--- a/gnucash/gnome-utils/gnc-cell-renderer-popup-entry.c
+++ b/gnucash/gnome-utils/gnc-cell-renderer-popup-entry.c
@@ -37,8 +37,6 @@
#include "dialog-utils.h"
#include "gnc-date.h"
-static void gnc_popup_entry_init (GncPopupEntry *entry);
-static void gnc_popup_entry_class_init (GncPopupEntryClass *klass);
static void gpw_cell_editable_init (GtkCellEditableIface *iface);
static gboolean gpw_key_press_event (GtkWidget *box,
GdkEventKey *key_event);
@@ -65,48 +63,10 @@ enum
PROP_EDITING_CANCELED,
};
-static GtkEventBoxClass *parent_class;
static guint signals[LAST_SIGNAL];
-GType
-gnc_popup_entry_get_type (void)
-{
- static GType widget_type = 0;
-
- if (!widget_type)
- {
- static const GTypeInfo widget_info =
- {
- sizeof (GncPopupEntryClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gnc_popup_entry_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GncPopupEntry),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gnc_popup_entry_init,
- };
-
- static const GInterfaceInfo cell_editable_info =
- {
- (GInterfaceInitFunc) gpw_cell_editable_init, /* interface_init */
- NULL, /* interface_finalize */
- NULL /* interface_data */
- };
-
- widget_type = g_type_register_static (GTK_TYPE_EVENT_BOX,
- "GncPopupEntry",
- &widget_info,
- 0);
-
- g_type_add_interface_static (widget_type,
- GTK_TYPE_CELL_EDITABLE,
- &cell_editable_info);
- }
-
- return widget_type;
-}
+G_DEFINE_TYPE_WITH_CODE (GncPopupEntry, gnc_popup_entry, GTK_TYPE_EVENT_BOX,
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_EDITABLE, gpw_cell_editable_init))
static void
gnc_popup_entry_init (GncPopupEntry *widget)
@@ -167,8 +127,6 @@ gnc_popup_entry_class_init (GncPopupEntryClass *klass)
gobject_class->set_property = gpw_set_property;
gobject_class->get_property = gpw_get_property;
- parent_class = GTK_EVENT_BOX_CLASS (g_type_class_peek_parent (klass));
-
g_object_class_override_property (gobject_class,
PROP_EDITING_CANCELED,
"editing-canceled");
@@ -317,7 +275,7 @@ gpw_key_press_event (GtkWidget *box,
gtk_widget_event (widget->entry, &tmp_event);
- return GTK_WIDGET_CLASS (parent_class)->key_press_event (GTK_WIDGET(widget),
+ return GTK_WIDGET_CLASS (gnc_popup_entry_parent_class)->key_press_event (GTK_WIDGET(widget),
key_event);
}
commit 23e4d0e1a1057351d2c26fcb19c2ab18ed87a87b
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Thu May 4 18:48:51 2023 +0100
Refactor: DEFINE_TYPE GncCellRendererPopup < GtkCellRendererText
diff --git a/gnucash/gnome-utils/gnc-cell-renderer-popup.c b/gnucash/gnome-utils/gnc-cell-renderer-popup.c
index e8b921affd..78da8c1986 100644
--- a/gnucash/gnome-utils/gnc-cell-renderer-popup.c
+++ b/gnucash/gnome-utils/gnc-cell-renderer-popup.c
@@ -41,9 +41,6 @@ enum {
LAST_SIGNAL
};
-static void gcrp_init (GncCellRendererPopup *popup);
-static void gcrp_class_init (GncCellRendererPopupClass *klass);
-
static GtkCellEditable *gcrp_start_editing (GtkCellRenderer *cell,
GdkEvent *event,
GtkWidget *widget,
@@ -89,40 +86,14 @@ void gnc_marshal_VOID__STRING_INT_INT_INT_INT (GClosure *closure,
gpointer marshal_data);
-static GtkCellRendererTextClass *parent_class;
static guint signals[LAST_SIGNAL];
#define GNC_CELL_RENDERER_POPUP_PATH "gnc-cell-renderer-popup-path"
-GType
-gnc_cell_renderer_popup_get_type (void)
-{
- static GType cell_text_type = 0;
-
- if (!cell_text_type) {
- static const GTypeInfo cell_text_info = {
- sizeof (GncCellRendererPopupClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gcrp_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GncCellRendererPopup),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gcrp_init,
- };
-
- cell_text_type = g_type_register_static (GTK_TYPE_CELL_RENDERER_TEXT,
- "GncCellRendererPopup",
- &cell_text_info,
- 0);
- }
-
- return cell_text_type;
-}
+G_DEFINE_TYPE (GncCellRendererPopup, gnc_cell_renderer_popup, GTK_TYPE_CELL_RENDERER_TEXT);
static void
-gcrp_init (GncCellRendererPopup *popup)
+gnc_cell_renderer_popup_init (GncCellRendererPopup *popup)
{
popup->popup_window = gtk_window_new (GTK_WINDOW_POPUP);
@@ -145,12 +116,10 @@ gcrp_init (GncCellRendererPopup *popup)
}
static void
-gcrp_class_init (GncCellRendererPopupClass *klass)
+gnc_cell_renderer_popup_class_init (GncCellRendererPopupClass *klass)
{
GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS(klass);
- parent_class = GTK_CELL_RENDERER_TEXT_CLASS(g_type_class_peek_parent (klass));
-
cell_class->start_editing = gcrp_start_editing;
cell_class->get_size = gcrp_get_size;
@@ -454,8 +423,8 @@ gcrp_get_size (GtkCellRenderer *cell,
{
GncCellRendererPopup *popup = GNC_CELL_RENDERER_POPUP (cell);
- if (GTK_CELL_RENDERER_CLASS(parent_class)->get_size) {
- (* GTK_CELL_RENDERER_CLASS(parent_class)->get_size) (cell,
+ if (GTK_CELL_RENDERER_CLASS(gnc_cell_renderer_popup_parent_class)->get_size) {
+ (* GTK_CELL_RENDERER_CLASS(gnc_cell_renderer_popup_parent_class)->get_size) (cell,
widget,
cell_area,
x_offset,
commit 5d39d83a87b6619b274e9eb386b3dd6fab64b159
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Fri May 5 13:40:40 2023 +0100
Refactor: DEFINE_TYPE GncCellRendererDate < GncCellRendererPopup
diff --git a/gnucash/gnome-utils/gnc-cell-renderer-date.c b/gnucash/gnome-utils/gnc-cell-renderer-date.c
index d83b5a38d2..b1cdc5f5a9 100644
--- a/gnucash/gnome-utils/gnc-cell-renderer-date.c
+++ b/gnucash/gnome-utils/gnc-cell-renderer-date.c
@@ -44,9 +44,7 @@ enum {
PROP_USE_BUTTONS,
};
-static void gcrd_init (GncCellRendererDate *date);
-static void gcrd_class_init (GncCellRendererDateClass *klass);
static void gcrd_set_property (GObject *object,
guint param_id,
@@ -99,38 +97,10 @@ static time64 gcrd_dmy2time (gint day, gint month, gint year);
static gchar * gcrd_time2dmy_string (time64 raw_time);
static time64 gcrd_string_dmy2time (const gchar *date_string);
-
-static GncCellRendererPopupClass *parent_class;
-
-GType
-gnc_cell_renderer_date_get_type (void)
-{
- static GType cell_text_type = 0;
-
- if (!cell_text_type) {
- static const GTypeInfo cell_text_info = {
- sizeof (GncCellRendererDateClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gcrd_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GncCellRendererDate),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gcrd_init,
- };
-
- cell_text_type = g_type_register_static (GNC_TYPE_CELL_RENDERER_POPUP,
- "GncCellRendererDate",
- &cell_text_info,
- 0);
- }
-
- return cell_text_type;
-}
+G_DEFINE_TYPE (GncCellRendererDate, gnc_cell_renderer_date, GNC_TYPE_CELL_RENDERER_POPUP);
static void
-gcrd_init (GncCellRendererDate *date)
+gnc_cell_renderer_date_init (GncCellRendererDate *date)
{
GncCellRendererPopup *popup;
GtkWidget *frame;
@@ -189,7 +159,7 @@ gcrd_init (GncCellRendererDate *date)
}
static void
-gcrd_class_init (GncCellRendererDateClass *klass)
+gnc_cell_renderer_date_class_init (GncCellRendererDateClass *klass)
{
GncCellRendererPopupClass *popup_class;
GtkCellRendererClass *cell_class;
@@ -197,7 +167,6 @@ gcrd_class_init (GncCellRendererDateClass *klass)
popup_class = GNC_CELL_RENDERER_POPUP_CLASS(klass);
cell_class = GTK_CELL_RENDERER_CLASS(klass);
- parent_class = GNC_CELL_RENDERER_POPUP_CLASS(g_type_class_peek_parent (klass));
gobject_class = G_OBJECT_CLASS(klass);
gobject_class->set_property = gcrd_set_property;
@@ -274,8 +243,8 @@ gcrd_start_editing (GtkCellRenderer *cell,
{
GNC_CELL_RENDERER_POPUP(cell)->editing_canceled = FALSE;
- if (GTK_CELL_RENDERER_CLASS(parent_class)->start_editing) {
- return GTK_CELL_RENDERER_CLASS(parent_class)->start_editing (
+ if (GTK_CELL_RENDERER_CLASS(gnc_cell_renderer_date_parent_class)->start_editing) {
+ return GTK_CELL_RENDERER_CLASS(gnc_cell_renderer_date_parent_class)->start_editing (
cell,
event,
widget,
@@ -292,8 +261,8 @@ gcrd_start_editing (GtkCellRenderer *cell,
static void
gcrd_hide (GncCellRendererPopup *cell)
{
- if (parent_class->hide_popup) {
- parent_class->hide_popup (cell);
+ if (GNC_CELL_RENDERER_POPUP_CLASS (gnc_cell_renderer_date_parent_class)->hide_popup) {
+ GNC_CELL_RENDERER_POPUP_CLASS (gnc_cell_renderer_date_parent_class)->hide_popup (cell);
}
}
@@ -311,8 +280,8 @@ gcrd_show (GncCellRendererPopup *cell,
gint day = 0;
const gchar *text;
- if (parent_class->show_popup) {
- parent_class->show_popup (cell,
+ if (GNC_CELL_RENDERER_POPUP_CLASS (gnc_cell_renderer_date_parent_class)->show_popup) {
+ GNC_CELL_RENDERER_POPUP_CLASS (gnc_cell_renderer_date_parent_class)->show_popup (cell,
path,
x1, y1,
x2, y2);
commit 5d955654bc106e739d43c6a913a8ab499ee61bbc
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Mon May 22 10:40:01 2023 +0100
Refactor: DEFINE_TYPE GncSxInstanceModel < GObject
diff --git a/libgnucash/app-utils/gnc-sx-instance-model.c b/libgnucash/app-utils/gnc-sx-instance-model.c
index 47c945cdec..d23659c538 100644
--- a/libgnucash/app-utils/gnc-sx-instance-model.c
+++ b/libgnucash/app-utils/gnc-sx-instance-model.c
@@ -65,8 +65,6 @@ static QofLogModule log_module = G_LOG_DOMAIN;
*list = g_list_append(*list, g_strdup_printf(_(format), __VA_ARGS__)); \
} while (0)
-static GObjectClass *parent_class = NULL;
-
typedef struct _SxTxnCreationData
{
GncSxInstance *instance;
@@ -74,8 +72,6 @@ typedef struct _SxTxnCreationData
GList **creation_errors;
} SxTxnCreationData;
-static void gnc_sx_instance_model_class_init (GncSxInstanceModelClass *klass);
-static void gnc_sx_instance_model_init(GTypeInstance *instance, gpointer klass);
static GncSxInstanceModel* gnc_sx_instance_model_new(void);
static GncSxInstance* gnc_sx_instance_new(GncSxInstances *parent, GncSxInstanceState state, GDate *date, void *temporal_state, gint sequence_num);
@@ -584,37 +580,15 @@ gnc_sx_get_instances(const GDate *range_end, gboolean include_disabled)
return instances;
}
+
+G_DEFINE_TYPE (GncSxInstanceModel, gnc_sx_instance_model, G_TYPE_OBJECT)
+
static GncSxInstanceModel*
gnc_sx_instance_model_new(void)
{
return GNC_SX_INSTANCE_MODEL(g_object_new(GNC_TYPE_SX_INSTANCE_MODEL, NULL));
}
-GType
-gnc_sx_instance_model_get_type(void)
-{
- static GType type = 0;
- if (type == 0)
- {
- static const GTypeInfo info =
- {
- sizeof (GncSxInstanceModelClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc)gnc_sx_instance_model_class_init, /* class_init */
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GncSxInstanceModel),
- 0, /* n_preallocs */
- (GInstanceInitFunc)gnc_sx_instance_model_init /* instance_init */
- };
- type = g_type_register_static (G_TYPE_OBJECT,
- "GncSxInstanceModelType",
- &info, 0);
- }
- return type;
-}
-
static void
gnc_sx_instance_model_dispose(GObject *object)
{
@@ -627,7 +601,7 @@ gnc_sx_instance_model_dispose(GObject *object)
qof_event_unregister_handler(model->qof_event_handler_id);
- G_OBJECT_CLASS(parent_class)->dispose(object);
+ G_OBJECT_CLASS(gnc_sx_instance_model_parent_class)->dispose(object);
}
static void
@@ -685,7 +659,7 @@ gnc_sx_instance_model_finalize (GObject *object)
g_list_free(model->sx_instance_list);
model->sx_instance_list = NULL;
- G_OBJECT_CLASS(parent_class)->finalize(object);
+ G_OBJECT_CLASS(gnc_sx_instance_model_parent_class)->finalize(object);
}
static void
@@ -693,8 +667,6 @@ gnc_sx_instance_model_class_init (GncSxInstanceModelClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
- parent_class = g_type_class_peek_parent(klass);
-
object_class->dispose = gnc_sx_instance_model_dispose;
object_class->finalize = gnc_sx_instance_model_finalize;
@@ -736,10 +708,8 @@ gnc_sx_instance_model_class_init (GncSxInstanceModelClass *klass)
}
static void
-gnc_sx_instance_model_init(GTypeInstance *instance, gpointer klass)
+gnc_sx_instance_model_init(GncSxInstanceModel *inst)
{
- GncSxInstanceModel *inst = (GncSxInstanceModel*)instance;
-
g_date_clear(&inst->range_end, 1);
inst->sx_instance_list = NULL;
inst->qof_event_handler_id = qof_event_register_handler(_gnc_sx_instance_event_handler, inst);
commit 167c55e5068839da9a46e791a45ed010acb331de
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Sat May 20 17:25:30 2023 +0100
Refactor: DEFINE_TYPE GOOptionMenu < GtkButton
diff --git a/borrowed/goffice/go-optionmenu.c b/borrowed/goffice/go-optionmenu.c
index 670a92bc67..af65b1ab1e 100644
--- a/borrowed/goffice/go-optionmenu.c
+++ b/borrowed/goffice/go-optionmenu.c
@@ -48,9 +48,10 @@ enum
PROP_MENU
};
-static GtkButtonClass *parent_class = NULL;
static guint signals[LAST_SIGNAL] = { 0 };
+G_DEFINE_TYPE (GOOptionMenu, go_option_menu, GTK_TYPE_BUTTON)
+
GtkWidget*
go_option_menu_new(void)
{
@@ -315,7 +316,7 @@ static void go_option_menu_destroy(GtkWidget *widget)
}
option_menu->selected = NULL;
- GTK_WIDGET_CLASS(parent_class)->destroy(widget);
+ GTK_WIDGET_CLASS(go_option_menu_parent_class)->destroy(widget);
}
static void go_option_menu_class_init(GOOptionMenuClass *class)
@@ -323,8 +324,6 @@ static void go_option_menu_class_init(GOOptionMenuClass *class)
GObjectClass *gobject_class = (GObjectClass*) class;
GtkWidgetClass *widget_class = (GtkWidgetClass*) class;
- parent_class = g_type_class_peek_parent(class);
-
signals[CHANGED] = g_signal_new("changed", G_OBJECT_CLASS_TYPE(class),
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(GOOptionMenuClass, changed),
NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
@@ -367,24 +366,3 @@ static void go_option_menu_init(GOOptionMenu *option_menu)
gtk_container_add(GTK_CONTAINER(option_menu), GTK_WIDGET(box));
}
-
-GType go_option_menu_get_type(void)
-{
- static GType option_menu_type = 0;
-
- if (!option_menu_type)
- {
- static const GTypeInfo option_menu_info =
- { sizeof(GOOptionMenuClass), NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) go_option_menu_class_init, NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof(GOOptionMenu), 0, /* n_preallocs */
- (GInstanceInitFunc) go_option_menu_init, };
-
- option_menu_type = g_type_register_static(GTK_TYPE_BUTTON,
- "GOOptionMenu", &option_menu_info, 0);
- }
-
- return option_menu_type;
-}
commit 8e36a64506018f9b61cc3e7bf8836db26b435baa
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Wed May 3 14:21:14 2023 +0100
Refactor: DEFINE_TYPE GOCharmapSel < GtkBox
diff --git a/borrowed/goffice/go-charmap-sel.c b/borrowed/goffice/go-charmap-sel.c
index bfb7f8fbdc..d94fc918cb 100644
--- a/borrowed/goffice/go-charmap-sel.c
+++ b/borrowed/goffice/go-charmap-sel.c
@@ -291,6 +291,8 @@ static void cs_set_property(GObject *object, guint prop_id, const GValue *value,
static void cs_get_property(GObject *object, guint prop_id, GValue *value,
GParamSpec *pspec);
+G_DEFINE_TYPE (GOCharmapSel, go_charmap_sel, GTK_TYPE_BOX)
+
static gboolean iconv_supported(const char *to, const char *from)
{
GIConv ic = g_iconv_open(to, from);
@@ -359,7 +361,7 @@ static void cs_emphasize_label(GtkLabel *label)
g_free(text);
}
-static void cs_init(GOCharmapSel *cs)
+static void go_charmap_sel_init(GOCharmapSel *cs)
{
gtk_orientable_set_orientation (GTK_ORIENTABLE(cs), GTK_ORIENTATION_HORIZONTAL);
@@ -455,12 +457,13 @@ static void cs_build_menu(GOCharmapSel *cs)
set_menu_to_default(cs, lg_cnt);
}
-static void cs_class_init(GtkWidgetClass *widget_klass)
+static void go_charmap_sel_class_init(GOCharmapSelClass *klass)
{
CharsetInfo *ci;
size_t i;
- GObjectClass *gobject_class = G_OBJECT_CLASS(widget_klass);
+ GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
+ GtkWidgetClass *widget_klass = GTK_WIDGET_CLASS(klass);
widget_klass->mnemonic_activate = cs_mnemonic_activate;
gobject_class->set_property = cs_set_property;
@@ -586,34 +589,6 @@ static void cs_class_init(GtkWidgetClass *widget_klass)
}
}
-GType
-go_charmap_sel_get_type (void)
-{
- static GType go_charmap_sel_type = 0;
-
- if (go_charmap_sel_type == 0)
- {
- GTypeInfo go_charmap_sel_info =
- {
- sizeof (GOCharmapSelClass),
- NULL,
- NULL,
- (GClassInitFunc) cs_class_init,
- NULL,
- NULL,
- sizeof (GOCharmapSel),
- 0,
- (GInstanceInitFunc) cs_init
- };
-
- go_charmap_sel_type = g_type_register_static (GTK_TYPE_BOX,
- "GOCharmapSel",
- &go_charmap_sel_info, 0);
- }
-
- return go_charmap_sel_type;
-}
-
GtkWidget *
go_charmap_sel_new(GOCharmapSelTestDirection test)
{
commit cce0ccff7b8732feca9cef2750ca680614115409
Author: Richard Cohen <richard at daijobu.co.uk>
Date: Mon May 22 10:45:55 2023 +0100
BUGFIX: Actions > Online Actions > Show log Window does not open ...
... when it is first clicked
diff --git a/gnucash/import-export/aqb/gnc-gwen-gui.c b/gnucash/import-export/aqb/gnc-gwen-gui.c
index 44a492e82c..47055afef1 100644
--- a/gnucash/import-export/aqb/gnc-gwen-gui.c
+++ b/gnucash/import-export/aqb/gnc-gwen-gui.c
@@ -353,6 +353,7 @@ gnc_GWEN_Gui_show_dialog()
if (!gui)
{
gnc_GWEN_Gui_get(NULL);
+ gui = full_gui;
}
if (gui)
@@ -365,6 +366,8 @@ gnc_GWEN_Gui_show_dialog()
GTK_TOGGLE_BUTTON(gui->close_checkbutton),
gnc_prefs_get_bool (GNC_PREFS_GROUP_AQBANKING, GNC_PREF_CLOSE_ON_FINISH));
+ gtk_widget_set_sensitive(gui->close_button, TRUE);
+
show_dialog(gui, FALSE);
return TRUE;
@@ -1665,7 +1668,7 @@ ggg_close_clicked_cb(GtkButton *button, gpointer user_data)
GncGWENGui *gui = user_data;
g_return_if_fail(gui);
- g_return_if_fail(gui->state == FINISHED || gui->state == ABORTED);
+ g_return_if_fail(gui->state == INIT || gui->state == FINISHED || gui->state == ABORTED);
ENTER("gui=%p", gui);
Summary of changes:
borrowed/goffice/go-charmap-sel.c | 37 ++---------
borrowed/goffice/go-optionmenu.c | 28 +--------
gnucash/gnome-utils/gnc-cell-renderer-date.c | 49 +++------------
.../gnome-utils/gnc-cell-renderer-popup-entry.c | 48 +--------------
gnucash/gnome-utils/gnc-cell-renderer-popup.c | 41 ++----------
gnucash/gnome-utils/gnc-date-edit.c | 53 ++--------------
gnucash/gnome-utils/gnc-dense-cal-store.c | 51 ++++-----------
gnucash/gnome-utils/gnc-dense-cal.c | 41 +-----------
gnucash/gnome-utils/gnc-frequency.c | 44 ++-----------
gnucash/gnome-utils/gnc-frequency.h | 2 -
gnucash/gnome-utils/gnc-general-select.c | 51 ++-------------
gnucash/gnome-utils/gnc-recurrence.c | 58 +----------------
.../gnc-sx-instance-dense-cal-adapter.c | 52 +++-------------
.../gnome-utils/gnc-sx-list-tree-model-adapter.c | 68 +++-----------------
gnucash/gnome/dialog-sx-since-last-run.c | 58 +++--------------
gnucash/gnome/gnc-split-reg.c | 30 +--------
gnucash/gnome/reconcile-view.c | 36 +----------
gnucash/import-export/aqb/gnc-gwen-gui.c | 5 +-
gnucash/register/register-gnome/gnucash-cursor.c | 43 +++----------
.../register/register-gnome/gnucash-date-picker.c | 35 +----------
gnucash/register/register-gnome/gnucash-header.c | 42 ++-----------
.../register/register-gnome/gnucash-item-edit.c | 72 ++--------------------
.../register/register-gnome/gnucash-item-list.c | 35 +----------
gnucash/register/register-gnome/gnucash-register.c | 36 +----------
gnucash/register/register-gnome/gnucash-sheet.c | 51 +++------------
.../report/reports/standard/advanced-portfolio.scm | 2 +-
.../report/reports/standard/investment-lots.scm | 2 +-
gnucash/report/reports/standard/portfolio.scm | 2 +-
libgnucash/app-utils/gnc-sx-instance-model.c | 42 ++-----------
29 files changed, 133 insertions(+), 981 deletions(-)
More information about the gnucash-changes
mailing list