r16477 - gnucash/trunk/src/register/register-gnome - Bug#343448: hide unused scrollbars in register; patch from Michael Culbertson <michael.culbertson gmail com>.
Josh Sled
jsled at cvs.gnucash.org
Mon Aug 27 20:07:38 EDT 2007
Author: jsled
Date: 2007-08-27 20:07:37 -0400 (Mon, 27 Aug 2007)
New Revision: 16477
Trac: http://svn.gnucash.org/trac/changeset/16477
Modified:
gnucash/trunk/src/register/register-gnome/gnucash-sheet.c
gnucash/trunk/src/register/register-gnome/gnucash-sheet.h
Log:
Bug#343448: hide unused scrollbars in register; patch from Michael Culbertson <michael.culbertson gmail com>.
Modified: gnucash/trunk/src/register/register-gnome/gnucash-sheet.c
===================================================================
--- gnucash/trunk/src/register/register-gnome/gnucash-sheet.c 2007-08-27 23:22:16 UTC (rev 16476)
+++ gnucash/trunk/src/register/register-gnome/gnucash-sheet.c 2007-08-28 00:07:37 UTC (rev 16477)
@@ -555,6 +555,34 @@
}
+static void
+gnucash_sheet_hadjustment_changed (GtkAdjustment *adj,
+ GnucashSheet *sheet)
+{
+ GnucashRegister *reg;
+
+ g_return_if_fail (sheet != NULL);
+ g_return_if_fail (GNUCASH_IS_SHEET(sheet));
+ reg = GNUCASH_REGISTER(sheet->reg);
+ g_return_if_fail (reg != NULL);
+
+ if (adj->upper - adj->lower > adj->page_size)
+ {
+ if (!reg->hscrollbar_visible)
+ {
+ gtk_widget_show(reg->hscrollbar);
+ reg->hscrollbar_visible = TRUE;
+ }
+ } else {
+ if (reg->hscrollbar_visible)
+ {
+ gtk_widget_hide(reg->hscrollbar);
+ reg->hscrollbar_visible = FALSE;
+ }
+ }
+}
+
+
void
gnucash_sheet_redraw_all (GnucashSheet *sheet)
{
@@ -657,6 +685,8 @@
g_signal_connect (G_OBJECT (sheet->vadj), "value_changed",
G_CALLBACK (gnucash_sheet_vadjustment_value_changed), sheet);
+ g_signal_connect (G_OBJECT (sheet->hadj), "changed",
+ G_CALLBACK (gnucash_sheet_hadjustment_changed), sheet);
return sheet;
}
@@ -2599,6 +2629,7 @@
0, 0);
reg->hscrollbar = scrollbar;
gtk_widget_show(scrollbar);
+ reg->hscrollbar_visible = TRUE;
/* The gtkrc color helper widgets need to be part of a window
* hierarchy so they can be realized. Stick them in a box
Modified: gnucash/trunk/src/register/register-gnome/gnucash-sheet.h
===================================================================
--- gnucash/trunk/src/register/register-gnome/gnucash-sheet.h 2007-08-27 23:22:16 UTC (rev 16476)
+++ gnucash/trunk/src/register/register-gnome/gnucash-sheet.h 2007-08-28 00:07:37 UTC (rev 16477)
@@ -137,6 +137,7 @@
GtkWidget *hscrollbar;
GtkWidget *sheet;
GtkWidget *header_canvas;
+ gboolean hscrollbar_visible;
} GnucashRegister;
More information about the gnucash-changes
mailing list