diff --git a/src/business/business-gnome/dialog-order.c b/src/business/business-gnome/dialog-order.c
index f319ef0b58..5c2daddeac 100644
--- a/src/business/business-gnome/dialog-order.c
+++ b/src/business/business-gnome/dialog-order.c
@@ -179,6 +179,7 @@ gnc_order_new_window (GtkWidget *parent, GNCBook *bookp,
GtkWidget *vbox, *regWidget;
GncEntryLedger *entry_ledger;
GnomeDialog *owd;
+ GList *entries;
ow = g_new0 (OrderWindow, 1);
@@ -196,6 +197,9 @@ gnc_order_new_window (GtkWidget *parent, GNCBook *bookp,
/* Build the ledger */
entry_ledger = gnc_entry_ledger_new (ow->book, GNCENTRY_LEDGER);
+ entries = gncOrderGetEntries (order);
+ /* Set watches on entries*/
+ gnc_entry_ledger_load (entry_ledger, entries);
/* Watch the order of operations, here... */
gnucash_register_set_initial_rows( 6 );
@@ -214,6 +218,13 @@ gnc_order_new_window (GtkWidget *parent, GNCBook *bookp,
gtk_signal_connect (GTK_OBJECT (ow->dialog), "destroy",
GTK_SIGNAL_FUNC(gnc_order_window_destroy_cb), ow);
+ gnome_dialog_button_connect (owd, 0,
+ GTK_SIGNAL_FUNC(gnc_order_window_ok_cb), ow);
+ gnome_dialog_button_connect (owd, 1,
+ GTK_SIGNAL_FUNC(gnc_order_window_cancel_cb), ow);
+ gnome_dialog_button_connect (owd, 2,
+ GTK_SIGNAL_FUNC(gnc_order_window_help_cb), ow);
+
/* Setup initial values */
if (order != NULL) {
ow->dialog_type = EDIT_ORDER;
diff --git a/src/business/business-gnome/order.glade b/src/business/business-gnome/order.glade
index 4370576535..d806d71c70 100644
--- a/src/business/business-gnome/order.glade
+++ b/src/business/business-gnome/order.glade
@@ -37,15 +37,15 @@
8
4
- True
- True
+ False
+ False
GtkHButtonBox
GnomeDialog:action_area
dialog-action_area1
- GTK_BUTTONBOX_END
+ GTK_BUTTONBOX_DEFAULT_STYLE
8
85
27
@@ -71,7 +71,7 @@
button2
True
True
- GNOME_STOCK_BUTTON_APPLY
+ GNOME_STOCK_BUTTON_CANCEL
@@ -79,7 +79,7 @@
button3
True
True
- GNOME_STOCK_BUTTON_CANCEL
+ GNOME_STOCK_BUTTON_HELP
@@ -90,8 +90,8 @@
0
0
- True
- True
+ False
+ False
diff --git a/src/business/business-ledger/gncEntryLedger.c b/src/business/business-ledger/gncEntryLedger.c
index 3449feae48..42cf1815a3 100644
--- a/src/business/business-ledger/gncEntryLedger.c
+++ b/src/business/business-ledger/gncEntryLedger.c
@@ -80,7 +80,10 @@ GncEntry * gnc_entry_ledger_get_current_entry (GncEntryLedger *ledger)
}
/* Copy GncEntry information from the list to the rows of the Ledger. */
-void gnc_entry_ledger_load (GncEntryLedger *ledger, GList *entry_list);
+void gnc_entry_ledger_load (GncEntryLedger *ledger, GList *entry_list)
+{
+ GncEntry *entry;
+}
/* Create and return a new GncEntry Ledger */
@@ -107,8 +110,36 @@ GncEntryLedger * gnc_entry_ledger_new (GNCBook *book, GncEntryLedgerType type)
/* config_cells? */
/* set up header */
+ {
+ VirtualCellLocation vcell_loc = { 0, 0 };
+ CellBlock *header;
+
+ header = gnc_table_layout_get_cursor (ledger->table->layout, CURSOR_HEADER);
+
+ gnc_table_set_vcell (ledger->table, header, NULL, TRUE, TRUE, vcell_loc);
+ }
/* set up first initial row */
+ {
+ VirtualLocation vloc;
+ CellBlock *cursor;
+
+ vloc.vcell_loc.virt_row = 1;
+ vloc.vcell_loc.virt_col = 0;
+ vloc.phys_row_offset = 0;
+ vloc.phys_col_offset = 0;
+
+ cursor = gnc_table_layout_get_cursor (ledger->table->layout, "cursor");
+
+ gnc_table_set_vcell (ledger->table, cursor, NULL, TRUE, TRUE, vloc.vcell_loc);
+
+ if (gnc_table_find_close_valid_cell (ledger->table, &vloc, FALSE))
+ gnc_table_move_cursor (ledger->table, vloc);
+ else
+ {
+ g_warning ("Can't find valid initial location");
+ }
+}
return ledger;
}
@@ -124,7 +155,7 @@ void gnc_entry_ledger_destroy (GncEntryLedger *ledger)
Table * gnc_entry_ledger_get_table (GncEntryLedger *ledger)
{
- if (!ledger) return;
+ if (!ledger) return NULL;
return ledger->table;
}