[Gnucash-changes] Make the summarybar for the register work again.
David Hampton
hampton at cvs.gnucash.org
Tue Jun 7 16:00:00 EDT 2005
Log Message:
-----------
Make the summarybar for the register work again.
Tags:
----
gnucash-gnome2-dev
Modified Files:
--------------
gnucash:
ChangeLog
gnucash/src/gnome:
gnc-plugin-page-register.c
gnc-split-reg.c
gnc-split-reg.h
Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1487.2.218
retrieving revision 1.1487.2.219
diff -LChangeLog -LChangeLog -u -r1.1487.2.218 -r1.1487.2.219
--- ChangeLog
+++ ChangeLog
@@ -1,5 +1,9 @@
2005-06-07 David Hampton <hampton at employees.org>
+ * src/gnome/gnc-plugin-page-register.c:
+ * src/gnome/gnc-split-reg.[ch]: Make the summarybar for the
+ register work again.
+
* src/core-utils/gnc-hooks.[ch]: Implement C side hook lists. Will
allow hooks to be easily installed from either Scheme or C code.
Index: gnc-plugin-page-register.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/Attic/gnc-plugin-page-register.c,v
retrieving revision 1.1.2.23
retrieving revision 1.1.2.24
diff -Lsrc/gnome/gnc-plugin-page-register.c -Lsrc/gnome/gnc-plugin-page-register.c -u -r1.1.2.23 -r1.1.2.24
--- src/gnome/gnc-plugin-page-register.c
+++ src/gnome/gnc-plugin-page-register.c
@@ -609,6 +609,10 @@
gnc_plugin_page_register_update_menus (page);
+ plugin_page->summarybar = gsr_create_summary_bar(priv->gsr);
+ if (plugin_page->summarybar)
+ gtk_widget_show_all(plugin_page->summarybar);
+
/* DRH - Probably lots of other stuff from regWindowLedger should end up here. */
return priv->widget;
}
Index: gnc-split-reg.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/gnc-split-reg.h,v
retrieving revision 1.7.4.2
retrieving revision 1.7.4.3
diff -Lsrc/gnome/gnc-split-reg.h -Lsrc/gnome/gnc-split-reg.h -u -r1.7.4.2 -r1.7.4.3
--- src/gnome/gnc-split-reg.h
+++ src/gnome/gnc-split-reg.h
@@ -108,6 +108,7 @@
GtkWidget *split_menu_check;
GtkWidget *split_popup_check;
+ /* Summary Bar Labels */
GtkWidget *balance_label;
GtkWidget *cleared_label;
GtkWidget *reconciled_label;
@@ -238,6 +239,11 @@
GnucashRegister *gnc_split_reg_get_register( GNCSplitReg *gsr );
/**
+ * Create and returns a summarybar for this GNCSplitReg.
+ **/
+GtkWidget *gsr_create_summary_bar( GNCSplitReg *gsr );
+
+/**
* Gets/sets the sort-type of the GNCSplitReg.
**/
SortType gnc_split_reg_get_sort_type( GNCSplitReg *gsr );
Index: gnc-split-reg.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/gnc-split-reg.c,v
retrieving revision 1.19.4.19
retrieving revision 1.19.4.20
diff -Lsrc/gnome/gnc-split-reg.c -Lsrc/gnome/gnc-split-reg.c -u -r1.19.4.19 -r1.19.4.20
--- src/gnome/gnc-split-reg.c
+++ src/gnome/gnc-split-reg.c
@@ -101,7 +101,6 @@
static void gsr_create_menus( GNCSplitReg *gsr );
static void gsr_setup_menu_widgets( GNCSplitReg *gsr, GladeXML *xml );
static void gsr_create_toolbar( GNCSplitReg *gsr );
-static void gsr_create_summary_bar( GNCSplitReg *gsr );
static void gsr_create_table( GNCSplitReg *gsr );
static void gsr_setup_table( GNCSplitReg *gsr );
static void gsr_setup_status_widgets( GNCSplitReg *gsr );
@@ -703,7 +702,7 @@
gboolean reverse;
gboolean euro;
- if ( gsr->window == NULL )
+ if ( gsr->summarybar == NULL )
return;
leader = gnc_ledger_display_leader( gsr->ledger );
@@ -723,9 +722,6 @@
print_info = gnc_account_print_info( leader, TRUE );
reverse = gnc_reverse_balance( leader );
- /* Handle the summary bar */
- if ( gsr->createFlags & CREATE_SUMMARYBAR )
- {
gsr_update_summary_label( gsr->balance_label,
xaccAccountGetPresentBalance,
leader, print_info, commodity, reverse, euro );
@@ -841,49 +837,6 @@
gnc_price_unref (price);
}
}
- }
-
- {
- gboolean expand;
- gboolean sensitive;
- SplitRegister *reg;
-
- reg = gnc_ledger_display_get_split_register( gsr->ledger );
- expand = gnc_split_register_current_trans_expanded (reg);
- sensitive = (reg->style == REG_STYLE_LEDGER);
-
-#if 0
- if ( gsr->createFlags & CREATE_TOOLBAR ) {
- gtk_signal_handler_block_by_data
- (GTK_OBJECT(gsr->split_button), gsr);
- gtk_toggle_button_set_active
- (GTK_TOGGLE_BUTTON (gsr->split_button), expand);
- gtk_signal_handler_unblock_by_data
- (GTK_OBJECT (gsr->split_button), gsr);
- gtk_widget_set_sensitive( gsr->split_button, sensitive );
- }
-#endif
-
- if ( gsr->createFlags & CREATE_MENUS ) {
- gtk_signal_handler_block_by_data
- (GTK_OBJECT (gsr->split_menu_check), gsr);
- gtk_check_menu_item_set_active
- (GTK_CHECK_MENU_ITEM (gsr->split_menu_check), expand);
- gtk_signal_handler_unblock_by_data
- (GTK_OBJECT (gsr->split_menu_check), gsr);
- gtk_widget_set_sensitive( gsr->split_menu_check, sensitive );
- }
-
- if ( gsr->createFlags & CREATE_POPUP ) {
- gtk_signal_handler_block_by_data
- (GTK_OBJECT (gsr->split_popup_check), gsr);
- gtk_check_menu_item_set_active
- (GTK_CHECK_MENU_ITEM (gsr->split_popup_check), expand);
- gtk_signal_handler_unblock_by_data
- (GTK_OBJECT (gsr->split_popup_check), gsr);
- gtk_widget_set_sensitive( gsr->split_popup_check, sensitive );
- }
- }
}
static void
@@ -1955,8 +1908,7 @@
return label;
}
-static
-void
+GtkWidget *
gsr_create_summary_bar( GNCSplitReg *gsr )
{
gboolean has_shares;
@@ -1972,6 +1924,7 @@
if ( gnc_ledger_display_type(gsr->ledger) >= LD_SUBACCOUNT ) {
gsr->summarybar = NULL;
+ return NULL;
}
{
@@ -2012,6 +1965,10 @@
}
gsr->summarybar = summarybar;
+
+ /* Force the first update */
+ gsr_redraw_all_cb(NULL, gsr);
+ return gsr->summarybar;
}
static
More information about the gnucash-changes
mailing list