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; }