[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"><b>_Notes</b></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"><b>_Title</b></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"><b>_Lots in This Account</b></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"><b>_Mini-Viewer</b></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