[Gnucash-changes] Make the dialog more HIG compliant.

David Hampton hampton at cvs.gnucash.org
Sun May 22 20:18:20 EDT 2005


Log Message:
-----------
Make the dialog more HIG compliant.  Install the callbacks via glade
instead of by hand.  Rework some of the callback logic.  The buttons
that require a lot be selected now cannot be clicked unless a lot is
selected.  Remember window and divider information in gconf.

Tags:
----
gnucash-gnome2-dev

Modified Files:
--------------
    gnucash:
        ChangeLog
        GNOME2_STATUS
    gnucash/src/gnome:
        lot-viewer.c
    gnucash/src/gnome/glade:
        lots.glade

Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1487.2.209
retrieving revision 1.1487.2.210
diff -LChangeLog -LChangeLog -u -r1.1487.2.209 -r1.1487.2.210
--- ChangeLog
+++ ChangeLog
@@ -1,3 +1,15 @@
+2005-05-22  David Hampton  <hampton at employees.org>
+
+	* src/gnome-utils/dialog-utils.c (gnc_save_window_size): Protect
+	against being called after window destruction has started.
+
+	* src/gnome/glade/lots.glade: 
+	* src/gnome/lot-viewer.c: Make the dialog more HIG compliate.
+	Install the callbacks via glade instead of by hand.  Rework some
+	of the callback logic.  The buttons that require a lot be selected
+	now cannot be clicked unless a lot is selected.  Rememver window
+	and divider information in gconf.
+	
 2005-05-21  David Hampton  <hampton at employees.org>
 
 	* src/gnome/glade/lots.glade: Geert Jan Janssens'
Index: GNOME2_STATUS
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/Attic/GNOME2_STATUS,v
retrieving revision 1.1.2.53
retrieving revision 1.1.2.54
diff -LGNOME2_STATUS -LGNOME2_STATUS -u -r1.1.2.53 -r1.1.2.54
--- GNOME2_STATUS
+++ GNOME2_STATUS
@@ -146,16 +146,6 @@
         #11 0x40327076 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
         #12 0x40326047 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
 
-- View Lots
-
-  - Dialog buttons were broken when the glade file was run through
-    glade 2.6.0.  It changed them from GtkButton to GtkToolButton
-    because GtkButtons aren't supposed to put into a GtkToolbar.
-
-  - Weird toolbar/menubar/action-list thingy at top.
-
-  - [HIG] no "ok/cancel" buttons in dialog.
-
 - Business Functions
 
   - Everything works but the New Invoice/Bill code.  The dialog seems to
Index: lot-viewer.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/lot-viewer.c,v
retrieving revision 1.12.2.3
retrieving revision 1.12.2.4
diff -Lsrc/gnome/lot-viewer.c -Lsrc/gnome/lot-viewer.c -u -r1.12.2.3 -r1.12.2.4
--- src/gnome/lot-viewer.c
+++ src/gnome/lot-viewer.c
@@ -57,6 +57,7 @@
 #include "lot-viewer.h"
 #include "gnc-component-manager.h"
 #include "gnc-ui-util.h"
+#include "gnc-gconf-utils.h"
 #include "misc-gnome-utils.h"
 
 #define LOT_VIEWER_CM_CLASS "lot-viewer"
@@ -68,20 +69,27 @@
 #define GAINS_COL 4
 #define NUM_COLS  5
 
+#define RESPONSE_VIEW          1
+#define RESPONSE_DELETE        2
+#define RESPONSE_SCRUB_LOT     3
+#define RESPONSE_SCRUB_ACCOUNT 4
+
+#define GCONF_SECTION "dialogs/lot_viewer"
+#define GCONF_KEY_HPOSITION "hpane_position"
+#define GCONF_KEY_VPOSITION "vpane_position"
+
 struct _GNCLotViewer 
 {
    GtkWidget     * window;
    GtkButton     * regview_button;
    GtkButton     * delete_button;
    GtkButton     * scrub_lot_button;
-   GtkButton     * scrub_acc_button;
    GtkPaned      * lot_hpaned;
    GtkPaned      * lot_vpaned;
    GtkCList      * lot_clist;
    GtkTextView   * lot_notes;
    GtkEntry      * title_entry;
    GtkCList      * mini_clist;
-   GtkStatusbar  * status_bar;
 
    Account       * account;
    GNCLot        * selected_lot;
@@ -91,6 +99,26 @@
 static void gnc_lot_viewer_fill (GNCLotViewer *lv);
 
 /* ======================================================================== */
+/* Callback prototypes */
+
+void  lv_select_row_cb (GtkCList       *clist,
+			gint            row,
+			gint            column,
+			GdkEvent       *event,
+			gpointer        user_data);
+void lv_unselect_row_cb (GtkCList       *clist,
+			 gint            row,
+			 gint            column,
+			 GdkEvent       *event,
+			 gpointer        user_data);
+void lv_title_entry_changed_cb (GtkEntry *ent, gpointer user_data);
+void lv_response_cb (GtkDialog *dialog, gint response, gpointer data);
+void lv_window_destroy_cb (GtkObject *object, gpointer user_data);
+void lv_paned_notify_cb (GObject *gobject,
+			 GParamSpec *pspec,
+			 gpointer user_data);
+
+/* ======================================================================== */
 /* Put the splits into the split clist */
 
 #define MINI_DATE_COL 0 
@@ -202,7 +230,7 @@
 /* ======================================================================== */
 /* Callback for selecting a row the the list-of-list clist */
 
-static void 
+void 
 lv_select_row_cb (GtkCList       *clist,
                   gint            row,
                   gint            column,
@@ -231,6 +259,10 @@
    lv->selected_row = row;
 
    lv_show_splits (lv);
+
+   gtk_widget_set_sensitive(GTK_WIDGET(lv->regview_button), TRUE);
+   gtk_widget_set_sensitive(GTK_WIDGET(lv->delete_button), TRUE);
+   gtk_widget_set_sensitive(GTK_WIDGET(lv->scrub_lot_button), TRUE);
 }
 
 /* ======================================================================== */
@@ -252,12 +284,16 @@
 
    /* Erase the mini-view area */
    lv_clear_splits (lv);
+
+   gtk_widget_set_sensitive(GTK_WIDGET(lv->regview_button), FALSE);
+   gtk_widget_set_sensitive(GTK_WIDGET(lv->delete_button), FALSE);
+   gtk_widget_set_sensitive(GTK_WIDGET(lv->scrub_lot_button), FALSE);
 }
 
 /* ======================================================================== */
 /* Callback for un-selecting a row the the list-of-list clist */
 
-static void 
+void 
 lv_unselect_row_cb (GtkCList       *clist,
                     gint            row,
                     gint            column,
@@ -289,7 +325,7 @@
 /* ======================================================================== */
 /* Callback when user types a new lot title into the entry widget */
 
-static void
+void
 lv_title_entry_changed_cb (GtkEntry *ent, gpointer user_data)
 {
    GNCLotViewer *lv = user_data;
@@ -300,59 +336,6 @@
 }
 
 /* ======================================================================== */
-/* Delete button was pressed */
-
-static void
-lv_delete_cb (GtkButton *but, gpointer user_data)
-{
-   GNCLotViewer *lv = user_data;
-   GNCLot *lot = lv->selected_lot;
-
-   if (NULL == lot) return; 
-   xaccAccountRemoveLot (gnc_lot_get_account(lot), lot);
-   gnc_lot_destroy (lot);
-   lv_unset_lot (lv);
-   gnc_lot_viewer_fill (lv);
-}
-
-/* ======================================================================== */
-/* Scrub-lot button was pressed */
-
-static void
-lv_scrub_lot_cb (GtkButton *but, gpointer user_data)
-{
-   GNCLotViewer *lv = user_data;
-   if (NULL == lv->selected_lot) return; 
-   xaccScrubLot (lv->selected_lot);
-   gnc_lot_viewer_fill (lv);
-   lv_show_splits (lv);
-}
-
-/* ======================================================================== */
-/* Scrub-acc button was pressed */
-
-static void
-lv_scrub_acc_cb (GtkButton *but, gpointer user_data)
-{
-   GNCLotViewer *lv = user_data;
-   xaccAccountScrubLots (lv->account);
-   gnc_lot_viewer_fill (lv);
-   lv_show_splits (lv);
-}
-
-/* ======================================================================== */
-/* This callback opens a register window, and shows only the splits 
- * in this lot.  */
-
-static void
-lv_regview_cb (GtkButton *but, gpointer user_data)
-{
-   GNCLotViewer *lv = user_data;
-   if (NULL == lv->selected_lot) return; 
-printf ("duude UNIMPLEMENTED: need to disply register showing only this one lot \n");
-}
-
-/* ======================================================================== */
 /* Get the realized gains for this lot.  This routine or a varient of it
  * should probably be moved to gnc-lot.c. 
  * The conceptual difficulty here is that this works only if all of the 
@@ -512,10 +495,11 @@
       g_free(notes);
    }
 
+   gnc_save_window_size(GCONF_SECTION, GTK_WINDOW(lv->window));
    gtk_widget_destroy (lv->window);
 }
 
-static void
+void
 lv_window_destroy_cb (GtkObject *object, gpointer user_data)
 {
    GNCLotViewer *lv = user_data;
@@ -526,12 +510,81 @@
                                                                                 
 
 /* ======================================================================== */
+/* Divider moved */
+
+void
+lv_paned_notify_cb (GObject *gobject,
+		     GParamSpec *pspec,
+		     gpointer user_data)
+{
+   const gchar *param_name;
+   gint value;
+
+   param_name = g_param_spec_get_name(pspec);
+   if (strcmp(param_name, "position") != 0)
+     return;
+   g_object_get(gobject, "position", &value, NULL);
+
+   if (GTK_IS_HPANED(gobject)) {
+     gnc_gconf_set_int(GCONF_SECTION, GCONF_KEY_HPOSITION, value, NULL);
+   } else {
+     gnc_gconf_set_int(GCONF_SECTION, GCONF_KEY_VPOSITION, value, NULL);
+   }
+}
+
+/* ======================================================================== */
+/* Any button was pressed */
+
+void
+lv_response_cb (GtkDialog *dialog, gint response, gpointer data)
+{
+   GNCLotViewer *lv = data;
+   GNCLot *lot = lv->selected_lot;
+
+   switch (response) {
+   case GTK_RESPONSE_CLOSE:
+     lv_close_handler(lv);
+     return;
+
+   case RESPONSE_VIEW:
+     if (NULL == lot)
+       return; 
+     printf ("duude UNIMPLEMENTED: need to disply register showing only this one lot \n");
+     break;
+
+   case RESPONSE_DELETE:
+     if (NULL == lot)
+       return; 
+     xaccAccountRemoveLot (gnc_lot_get_account(lot), lot);
+     gnc_lot_destroy (lot);
+     lv_unset_lot (lv);
+     gnc_lot_viewer_fill (lv);
+     break;
+
+   case RESPONSE_SCRUB_LOT:
+     if (NULL == lot)
+       return; 
+     xaccScrubLot (lot);
+     gnc_lot_viewer_fill (lv);
+     lv_show_splits (lv);
+     break;
+
+   case RESPONSE_SCRUB_ACCOUNT:
+     xaccAccountScrubLots (lv->account);
+     gnc_lot_viewer_fill (lv);
+     lv_show_splits (lv);
+     break;
+   }
+}
+
+/* ======================================================================== */
 
 static void
 lv_create (GNCLotViewer *lv)
 {
    GladeXML *xml;
    char win_title[251];
+   gint position;
 
    xml = gnc_glade_xml_new ("lots.glade", "Lot Viewer Window");
    lv->window = glade_xml_get_widget (xml, "Lot Viewer Window");
@@ -543,25 +596,30 @@
    lv->regview_button = GTK_BUTTON(glade_xml_get_widget (xml, "regview button"));
    lv->delete_button = GTK_BUTTON(glade_xml_get_widget (xml, "delete button"));
    lv->scrub_lot_button = GTK_BUTTON(glade_xml_get_widget (xml, "scrub lot button"));
-   lv->scrub_acc_button = GTK_BUTTON(glade_xml_get_widget (xml, "scrub account button"));
 
    lv->lot_clist = GTK_CLIST(glade_xml_get_widget (xml, "lot clist"));
    lv->lot_notes = GTK_TEXT_VIEW(glade_xml_get_widget (xml, "lot notes text"));
    lv->title_entry = GTK_ENTRY (glade_xml_get_widget (xml, "lot title entry"));
 
    lv->lot_vpaned = GTK_PANED (glade_xml_get_widget (xml, "lot vpaned"));
-   gtk_paned_set_position (lv->lot_vpaned, 200);   /* XXX hack to make visible */
+   position = gnc_gconf_get_int(GCONF_SECTION, GCONF_KEY_VPOSITION, NULL);
+   if (position)
+     gtk_paned_set_position (lv->lot_vpaned, position);
+
    lv->lot_hpaned = GTK_PANED (glade_xml_get_widget (xml, "lot hpaned"));
-   gtk_paned_set_position (lv->lot_hpaned, 200);   /* XXX hack to make visible */
+   position = gnc_gconf_get_int(GCONF_SECTION, GCONF_KEY_HPOSITION, NULL);
+   if (position)
+     gtk_paned_set_position (lv->lot_hpaned, position);
 
    lv->mini_clist = GTK_CLIST(glade_xml_get_widget (xml, "mini clist"));
-   lv->status_bar = GTK_STATUSBAR(glade_xml_get_widget (xml, "lot statusbar"));
 
    lv->selected_lot = NULL;
    lv->selected_row = -1;
     
-   gtk_signal_connect (GTK_OBJECT (lv->window), "destroy",
-                      GTK_SIGNAL_FUNC (lv_window_destroy_cb), lv);
+   /* Setup signals */
+   glade_xml_signal_autoconnect_full( xml,
+                                     gnc_glade_autoconnect_full_func,
+                                     lv);
 
    gtk_signal_connect (GTK_OBJECT (lv->lot_clist), "select_row",
                       GTK_SIGNAL_FUNC (lv_select_row_cb), lv);
@@ -569,21 +627,7 @@
    gtk_signal_connect (GTK_OBJECT (lv->lot_clist), "unselect_row",
                       GTK_SIGNAL_FUNC (lv_unselect_row_cb), lv);
 
-   gtk_signal_connect (GTK_OBJECT (lv->title_entry), "changed",
-                      GTK_SIGNAL_FUNC (lv_title_entry_changed_cb), lv);
-
-   gtk_signal_connect (GTK_OBJECT (lv->regview_button), "clicked",
-                      GTK_SIGNAL_FUNC (lv_regview_cb), lv);
-
-   gtk_signal_connect (GTK_OBJECT (lv->delete_button), "clicked",
-                      GTK_SIGNAL_FUNC (lv_delete_cb), lv);
-
-   gtk_signal_connect (GTK_OBJECT (lv->scrub_acc_button), "clicked",
-                      GTK_SIGNAL_FUNC (lv_scrub_acc_cb), lv);
-
-   gtk_signal_connect (GTK_OBJECT (lv->scrub_lot_button), "clicked",
-                      GTK_SIGNAL_FUNC (lv_scrub_lot_cb), lv);
-
+   gnc_restore_window_size(GCONF_SECTION, GTK_WINDOW(lv->window));
 }
 
 /* ======================================================================== */
Index: lots.glade
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/glade/lots.glade,v
retrieving revision 1.8.2.5
retrieving revision 1.8.2.6
diff -Lsrc/gnome/glade/lots.glade -Lsrc/gnome/glade/lots.glade -u -r1.8.2.5 -r1.8.2.6
--- src/gnome/glade/lots.glade
+++ src/gnome/glade/lots.glade
@@ -2,9 +2,8 @@
 <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
 
 <glade-interface>
-<requires lib="gnome"/>
 
-<widget class="GtkWindow" id="Lot Viewer Window">
+<widget class="GtkDialog" id="Lot Viewer Window">
   <property name="visible">True</property>
   <property name="title" translatable="yes">Lot Viewer</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
@@ -17,249 +16,473 @@
   <property name="decorated">True</property>
   <property name="skip_taskbar_hint">False</property>
   <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="has_separator">True</property>
+  <signal name="response" handler="lv_response_cb" last_modification_time="Sun, 22 May 2005 21:32:09 GMT"/>
+  <signal name="destroy" handler="lv_window_destroy_cb" last_modification_time="Sun, 22 May 2005 21:17:37 GMT"/>
 
-  <child>
-    <widget class="GtkVBox" id="vbox1">
-      <property name="border_width">3</property>
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="dialog-vbox1">
       <property name="visible">True</property>
       <property name="homogeneous">False</property>
       <property name="spacing">0</property>
 
-      <child>
-	<widget class="GtkToolbar" id="toolbar1">
-	  <property name="border_width">3</property>
+      <child internal-child="action_area">
+	<widget class="GtkHButtonBox" id="dialog-action_area1">
 	  <property name="visible">True</property>
-	  <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
-	  <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
-	  <property name="tooltips">True</property>
-	  <property name="show_arrow">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
 
 	  <child>
-	    <widget class="GtkToolButton" id="regview button">
+	    <widget class="GtkButton" id="scrub account button">
 	      <property name="visible">True</property>
-	      <property name="tooltip" translatable="yes">Open a register showing the transactions in this lot</property>
-	      <property name="label" translatable="yes">View Lot
-in Register</property>
-	      <property name="use_underline">True</property>
-	      <property name="visible_horizontal">True</property>
-	      <property name="visible_vertical">True</property>
-	      <property name="is_important">False</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">4</property>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment1">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">0</property>
+		  <property name="yscale">0</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">0</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox2">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">2</property>
+
+		      <child>
+			<widget class="GtkImage" id="image1">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-clear</property>
+			  <property name="icon_size">4</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label16">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Scrub _Account</property>
+			  <property name="use_underline">True</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="scrub lot button">
+	      <property name="visible">True</property>
+	      <property name="sensitive">False</property>
+	      <property name="tooltip" translatable="yes">Scrub the highlighted lot</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">3</property>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment2">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">0</property>
+		  <property name="yscale">0</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">0</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox3">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">2</property>
+
+		      <child>
+			<widget class="GtkImage" id="image2">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-clear</property>
+			  <property name="icon_size">4</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label17">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">_Scrub</property>
+			  <property name="use_underline">True</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
 	    </widget>
-	    <packing>
-	      <property name="expand">False</property>
-	      <property name="homogeneous">True</property>
-	    </packing>
 	  </child>
 
 	  <child>
-	    <widget class="GtkToolButton" id="delete button">
+	    <widget class="GtkButton" id="delete button">
 	      <property name="visible">True</property>
+	      <property name="sensitive">False</property>
 	      <property name="tooltip" translatable="yes">Delete the highlighted lot</property>
-	      <property name="label" translatable="yes">Delete
-Lot</property>
-	      <property name="use_underline">True</property>
-	      <property name="visible_horizontal">True</property>
-	      <property name="visible_vertical">True</property>
-	      <property name="is_important">False</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-delete</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">2</property>
 	    </widget>
-	    <packing>
-	      <property name="expand">False</property>
-	      <property name="homogeneous">True</property>
-	    </packing>
 	  </child>
 
 	  <child>
-	    <widget class="GtkToolButton" id="scrub lot button">
+	    <widget class="GtkButton" id="regview button">
 	      <property name="visible">True</property>
-	      <property name="tooltip" translatable="yes">Scrub the highlighted lot</property>
-	      <property name="label" translatable="yes">Scrub
-Lot</property>
-	      <property name="use_underline">True</property>
-	      <property name="visible_horizontal">True</property>
-	      <property name="visible_vertical">True</property>
-	      <property name="is_important">False</property>
+	      <property name="sensitive">False</property>
+	      <property name="tooltip" translatable="yes">Open a register showing the transactions in this lot</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">1</property>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment3">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">0</property>
+		  <property name="yscale">0</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">0</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox4">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">2</property>
+
+		      <child>
+			<widget class="GtkImage" id="image3">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-jump-to</property>
+			  <property name="icon_size">4</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label18">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">_View</property>
+			  <property name="use_underline">True</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
 	    </widget>
-	    <packing>
-	      <property name="expand">False</property>
-	      <property name="homogeneous">True</property>
-	    </packing>
 	  </child>
 
 	  <child>
-	    <widget class="GtkToolButton" id="scrub account button">
+	    <widget class="GtkButton" id="button5">
 	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Scrub
-Account</property>
-	      <property name="use_underline">True</property>
-	      <property name="visible_horizontal">True</property>
-	      <property name="visible_vertical">True</property>
-	      <property name="is_important">False</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-close</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">-7</property>
 	    </widget>
-	    <packing>
-	      <property name="expand">False</property>
-	      <property name="homogeneous">True</property>
-	    </packing>
 	  </child>
 	</widget>
 	<packing>
 	  <property name="padding">0</property>
 	  <property name="expand">False</property>
-	  <property name="fill">False</property>
+	  <property name="fill">True</property>
+	  <property name="pack_type">GTK_PACK_END</property>
 	</packing>
       </child>
 
       <child>
 	<widget class="GtkVPaned" id="lot vpaned">
 	  <property name="visible">True</property>
-	  <property name="position">150</property>
+	  <property name="can_focus">True</property>
+	  <property name="position">200</property>
+	  <signal name="notify" handler="lv_paned_notify_cb" last_modification_time="Sun, 22 May 2005 23:43:20 GMT"/>
 
 	  <child>
 	    <widget class="GtkHPaned" id="lot hpaned">
 	      <property name="border_width">3</property>
+	      <property name="width_request">300</property>
+	      <property name="height_request">100</property>
 	      <property name="visible">True</property>
-	      <property name="position">0</property>
+	      <property name="can_focus">True</property>
+	      <property name="position">200</property>
+	      <signal name="notify" handler="lv_paned_notify_cb" last_modification_time="Sun, 22 May 2005 23:43:11 GMT"/>
 
 	      <child>
-		<widget class="GtkFrame" id="notes frame">
-		  <property name="border_width">3</property>
+		<widget class="GtkTable" id="table1">
 		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+		  <property name="n_rows">5</property>
+		  <property name="n_columns">1</property>
+		  <property name="homogeneous">False</property>
+		  <property name="row_spacing">0</property>
+		  <property name="column_spacing">0</property>
 
 		  <child>
-		    <widget class="GtkVBox" id="vbox2">
+		    <widget class="GtkEntry" id="lot title entry">
 		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox1">
-			  <property name="border_width">3</property>
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
+		      <property name="tooltip" translatable="yes">Enter a name for the highlighted lot.</property>
+		      <property name="can_focus">True</property>
+		      <property name="editable">True</property>
+		      <property name="visibility">True</property>
+		      <property name="max_length">0</property>
+		      <property name="text" translatable="yes"></property>
+		      <property name="has_frame">True</property>
+		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		      <signal name="changed" handler="lv_title_entry_changed_cb" last_modification_time="Sun, 22 May 2005 21:25:12 GMT"/>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="x_padding">12</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
 
-			  <child>
-			    <widget class="GtkLabel" id="label8">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Title:</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_CENTER</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">3</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
+		  <child>
+		    <widget class="GtkLabel" id="label19">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">&lt;b&gt;_Notes&lt;/b&gt;</property>
+		      <property name="use_underline">True</property>
+		      <property name="use_markup">True</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">3</property>
+		      <property name="bottom_attach">4</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
 
-			  <child>
-			    <widget class="GtkEntry" id="lot title entry">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Enter a name for the highlighted lot.</property>
-			      <property name="can_focus">True</property>
-			      <property name="editable">True</property>
-			      <property name="visibility">True</property>
-			      <property name="max_length">0</property>
-			      <property name="text" translatable="yes"></property>
-			      <property name="has_frame">True</property>
-			      <property name="invisible_char" translatable="yes">*</property>
-			      <property name="activates_default">False</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">3</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
+		  <child>
+		    <widget class="GtkScrolledWindow" id="scrolledwindow2">
+		      <property name="visible">True</property>
+		      <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+		      <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
+		      <property name="shadow_type">GTK_SHADOW_IN</property>
+		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 		      <child>
-			<widget class="GtkScrolledWindow" id="scrolledwindow2">
+			<widget class="GtkTextView" id="lot notes text">
 			  <property name="visible">True</property>
-			  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-			  <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
-			  <property name="shadow_type">GTK_SHADOW_IN</property>
-			  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			  <child>
-			    <widget class="GtkTextView" id="lot notes text">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Enter any notes you want to make about this lot.</property>
-			      <property name="can_focus">True</property>
-			      <property name="editable">True</property>
-			      <property name="overwrite">False</property>
-			      <property name="accepts_tab">True</property>
-			      <property name="justification">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap_mode">GTK_WRAP_WORD</property>
-			      <property name="cursor_visible">True</property>
-			      <property name="pixels_above_lines">0</property>
-			      <property name="pixels_below_lines">0</property>
-			      <property name="pixels_inside_wrap">0</property>
-			      <property name="left_margin">0</property>
-			      <property name="right_margin">0</property>
-			      <property name="indent">0</property>
-			      <property name="text" translatable="yes"></property>
-			    </widget>
-			  </child>
+			  <property name="tooltip" translatable="yes">Enter any notes you want to make about this lot.</property>
+			  <property name="can_focus">True</property>
+			  <property name="editable">True</property>
+			  <property name="overwrite">False</property>
+			  <property name="accepts_tab">True</property>
+			  <property name="justification">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap_mode">GTK_WRAP_WORD</property>
+			  <property name="cursor_visible">True</property>
+			  <property name="pixels_above_lines">0</property>
+			  <property name="pixels_below_lines">0</property>
+			  <property name="pixels_inside_wrap">0</property>
+			  <property name="left_margin">0</property>
+			  <property name="right_margin">0</property>
+			  <property name="indent">0</property>
+			  <property name="text" translatable="yes"></property>
 			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
 		      </child>
 		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">4</property>
+		      <property name="bottom_attach">5</property>
+		      <property name="x_padding">12</property>
+		    </packing>
 		  </child>
 
 		  <child>
-		    <widget class="GtkLabel" id="label1">
+		    <widget class="GtkLabel" id="label20">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Lot Title and Notes</property>
+		      <property name="label" translatable="yes"></property>
 		      <property name="use_underline">False</property>
 		      <property name="use_markup">False</property>
 		      <property name="justify">GTK_JUSTIFY_LEFT</property>
 		      <property name="wrap">False</property>
 		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">2</property>
+		      <property name="bottom_attach">3</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label8">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">&lt;b&gt;_Title&lt;/b&gt;</property>
+		      <property name="use_underline">True</property>
+		      <property name="use_markup">True</property>
+		      <property name="justify">GTK_JUSTIFY_CENTER</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
 		      <property name="yalign">0.5</property>
 		      <property name="xpad">0</property>
 		      <property name="ypad">0</property>
 		    </widget>
 		    <packing>
-		      <property name="type">label_item</property>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="y_options"></property>
 		    </packing>
 		  </child>
 		</widget>
 		<packing>
-		  <property name="shrink">False</property>
-		  <property name="resize">True</property>
+		  <property name="shrink">True</property>
+		  <property name="resize">False</property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkFrame" id="lot list frame">
-		  <property name="border_width">3</property>
+		<widget class="GtkTable" id="table2">
 		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+		  <property name="n_rows">2</property>
+		  <property name="n_columns">1</property>
+		  <property name="homogeneous">False</property>
+		  <property name="row_spacing">0</property>
+		  <property name="column_spacing">0</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label9">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">&lt;b&gt;_Lots in This Account&lt;/b&gt;</property>
+		      <property name="use_underline">True</property>
+		      <property name="use_markup">True</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
 
 		  <child>
 		    <widget class="GtkScrolledWindow" id="scrolledwindow5">
@@ -280,6 +503,8 @@
 			  <property name="selection_mode">GTK_SELECTION_SINGLE</property>
 			  <property name="show_titles">True</property>
 			  <property name="shadow_type">GTK_SHADOW_IN</property>
+			  <signal name="select_row" handler="lv_select_row_cb" last_modification_time="Sun, 22 May 2005 21:25:47 GMT"/>
+			  <signal name="unselect_row" handler="lv_unselect_row_cb" last_modification_time="Sun, 22 May 2005 21:26:02 GMT"/>
 
 			  <child>
 			    <widget class="GtkLabel" id="label3">
@@ -358,24 +583,12 @@
 			</widget>
 		      </child>
 		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label9">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Listing of Lots in This Account</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
 		    <packing>
-		      <property name="type">label_item</property>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="x_padding">12</property>
 		    </packing>
 		  </child>
 		</widget>
@@ -392,12 +605,37 @@
 	  </child>
 
 	  <child>
-	    <widget class="GtkFrame" id="mini frame">
-	      <property name="border_width">3</property>
+	    <widget class="GtkTable" id="table3">
 	      <property name="visible">True</property>
-	      <property name="label_xalign">0</property>
-	      <property name="label_yalign">0.5</property>
-	      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+	      <property name="n_rows">2</property>
+	      <property name="n_columns">1</property>
+	      <property name="homogeneous">False</property>
+	      <property name="row_spacing">0</property>
+	      <property name="column_spacing">0</property>
+
+	      <child>
+		<widget class="GtkLabel" id="label10">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">&lt;b&gt;_Mini-Viewer&lt;/b&gt;</property>
+		  <property name="use_underline">True</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">0</property>
+		  <property name="bottom_attach">1</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
 
 	      <child>
 		<widget class="GtkScrolledWindow" id="scrolledwindow4">
@@ -524,24 +762,12 @@
 		    </widget>
 		  </child>
 		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label10">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Lot Mini-View</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		</widget>
 		<packing>
-		  <property name="type">label_item</property>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">1</property>
+		  <property name="bottom_attach">2</property>
+		  <property name="x_padding">12</property>
 		</packing>
 	      </child>
 	    </widget>
@@ -557,18 +783,6 @@
 	  <property name="fill">True</property>
 	</packing>
       </child>
-
-      <child>
-	<widget class="GtkStatusbar" id="lot statusbar">
-	  <property name="visible">True</property>
-	  <property name="has_resize_grip">True</property>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
     </widget>
   </child>
 </widget>


More information about the gnucash-changes mailing list