diff --git a/ChangeLog b/ChangeLog index 3b31dbf1c5..ece971806f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2000-05-02 Robert Graham Merkel + + * man/gnc-prices.1: fixed typo. + + * src/scm/report/transaction-report-2.scm: fixed typo for debit string + and reversed displayed sign in debit column. + 2000-05-01 Robert Graham Merkel * src/scm/report/transaction-report-2.scm : Added i18n and diff --git a/src/gnome/dialog-budget.c b/src/gnome/dialog-budget.c index e6a5e4d75b..cadaff9bc7 100644 --- a/src/gnome/dialog-budget.c +++ b/src/gnome/dialog-budget.c @@ -537,6 +537,50 @@ get_selected_node(BudgetDialog *bd, EntryType type) } } +static GtkCTreeNode * +get_previous_sibling_node(BudgetDialog *bd, GtkCTreeNode *node) +{ + GtkCTreeNode *sibling; + GtkCTree *ctree; + BudgetItem *bi; + EntryType type; + + if (node == NULL) + return NULL; + + ctree = GTK_CTREE(bd->entry_tree); + + bi = gtk_ctree_node_get_row_data(ctree, node); + type = bi->type; + + sibling = GTK_CTREE_NODE_PREV(node); + if (sibling == NULL) + return NULL; + + bi = gtk_ctree_node_get_row_data(ctree, sibling); + switch (type) + { + case BUDGET_ENTRY: + while (bi->type != BUDGET_ENTRY) + { + sibling = GTK_CTREE_NODE_PREV(sibling); + if (sibling == NULL) + return NULL; + bi = gtk_ctree_node_get_row_data(ctree, sibling); + } + break; + case BUDGET_SUBENTRY: + if (bi->type == BUDGET_ENTRY) + return NULL; + break; + default: + g_warning("get_previous_sibling_node: bad entry type"); + return NULL; + } + + return sibling; +} + static void entry_description_entry_changed(GtkEditable *editable, BudgetDialog *bd) { @@ -603,7 +647,6 @@ entry_up_button_clicked(GtkButton *button, BudgetDialog *bd) GtkCTreeNode *parent; GtkCTreeNode *sibling; GtkCTree *ctree; - BudgetItem *bi; if (bd->num_entries == 0) return; @@ -616,33 +659,11 @@ entry_up_button_clicked(GtkButton *button, BudgetDialog *bd) row = GTK_CTREE_ROW(node); parent = row->parent; - sibling = GTK_CTREE_NODE_PREV(node); + sibling = get_previous_sibling_node(bd, node); if (sibling == NULL) return; - bi = gtk_ctree_node_get_row_data(ctree, node); - switch (bi->type) - { - case BUDGET_SUBENTRY: - if (parent == sibling) - return; - break; - case BUDGET_ENTRY: - bi = gtk_ctree_node_get_row_data(ctree, sibling); - while (bi->type != BUDGET_ENTRY) - { - sibling = GTK_CTREE_NODE_PREV(sibling); - if (sibling == NULL) - return; - bi = gtk_ctree_node_get_row_data(ctree, sibling); - } - break; - default: - g_warning("entry_up_button_clicked: bad item type"); - return; - } - gtk_ctree_move(ctree, node, parent, sibling); if (gtk_ctree_node_is_visible(ctree, node) != GTK_VISIBILITY_FULL) gtk_ctree_node_moveto(ctree, node, 0, 0.5, 0); @@ -749,13 +770,8 @@ mechanism_menu_changed(GtkButton *button, BudgetDialog *bd) static void allow_edits(BudgetDialog *bd, gboolean allow_edits) { - GtkWidget *widget; - - widget = gtk_object_get_data(GTK_OBJECT(bd->dialog), "entry_frame"); - gtk_widget_set_sensitive(widget, allow_edits); - - widget = gtk_object_get_data(GTK_OBJECT(bd->dialog), "subentry_frame"); - gtk_widget_set_sensitive(widget, allow_edits); + gtk_widget_set_sensitive(bd->entry_frame, allow_edits); + gtk_widget_set_sensitive(bd->subentry_frame, allow_edits); } void @@ -970,7 +986,7 @@ gnc_ui_budget_dialog_create(SCM budget, SCM apply_func) menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(menu)); gtk_container_forall(GTK_CONTAINER(menu), connect_mechanism_menu_item, bd); - bd->entry_frame = gtk_object_get_data(bdo, "entry_frame"); + bd->subentry_frame = gtk_object_get_data(bdo, "subentry_frame"); button = gtk_object_get_data(bdo, "entry_up_button"); arrow = gtk_arrow_new(GTK_ARROW_UP, GTK_SHADOW_IN); diff --git a/src/scm/report/transaction-report-2.scm b/src/scm/report/transaction-report-2.scm index 4d21d89348..6979cd2182 100644 --- a/src/scm/report/transaction-report-2.scm +++ b/src/scm/report/transaction-report-2.scm @@ -171,10 +171,10 @@ (eq? (gnc:option-value (gnc:lookup-option options "Display" "Amount")) 'double) (make-report-spec - (string-db 'lookup -debit-string) - (lambda (split) (min 0 (gnc:split-get-value split))) + (string-db 'lookup 'debit-string) + (lambda (split) (max 0 (- (gnc:split-get-value split)))) (lambda (value) - (if (< value 0) (html-right-cell (html-currency value)) + (if (> value 0) (html-right-cell (html-currency value)) (html-right-cell (html-string " ")))) + ; total-proc (lambda (value) @@ -185,7 +185,7 @@ (lambda (split) (map gnc:split-get-value (gnc:split-get-other-splits split))) (lambda (value) - (if (< value 0) (html-right-cell (html-ital (html-currency value))) + (if (> value 0) (html-right-cell (html-ital (html-currency value))) (html-right-cell (html-ital (html-string " ")))))) #f)