From a70bbac696ef3ad7875dd04e9f39e118e6162b7e Mon Sep 17 00:00:00 2001 From: Dave Peticolas Date: Tue, 12 Sep 2000 06:23:10 +0000 Subject: [PATCH] Add flag for evaluation after a plain 'Return' press. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2830 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/gnome/gnc-amount-edit.c | 21 +++++++++++++++++++++ src/gnome/gnc-amount-edit.h | 5 +++++ 2 files changed, 26 insertions(+) diff --git a/src/gnome/gnc-amount-edit.c b/src/gnome/gnc-amount-edit.c index 66b0f24522..8c1fe2f2c5 100644 --- a/src/gnome/gnc-amount-edit.c +++ b/src/gnome/gnc-amount-edit.c @@ -124,6 +124,7 @@ gnc_amount_edit_init (GNCAmountEdit *gae) gae->amount = 0.0; gae->print_flags = 0; gae->currency = NULL; + gae->evaluate_on_enter = FALSE; } static void @@ -179,6 +180,8 @@ amount_entry_key_press(GtkWidget *widget, GdkEventKey *event, gpointer data) switch (event->keyval) { case GDK_Return: + if (gae->evaluate_on_enter) + break; if (event->state & (GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SHIFT_MASK)) break; return FALSE; @@ -372,3 +375,21 @@ gnc_amount_edit_gtk_entry (GNCAmountEdit *gae) return gae->amount_entry; } + + +/** + * gnc_amount_edit_set_evaluate_on_enter: + * @gae: The GNCAmountEdit widget + * @evaluate_on_enter: The flag value to set + * + * Returns nothing. + */ +void +gnc_amount_edit_set_evaluate_on_enter (GNCAmountEdit *gae, + gboolean evaluate_on_enter) +{ + g_return_if_fail(gae != NULL); + g_return_if_fail(GNC_IS_AMOUNT_EDIT(gae)); + + gae->evaluate_on_enter = evaluate_on_enter; +} diff --git a/src/gnome/gnc-amount-edit.h b/src/gnome/gnc-amount-edit.h index 51104b56ae..9dc4ea8b85 100644 --- a/src/gnome/gnc-amount-edit.h +++ b/src/gnome/gnc-amount-edit.h @@ -51,6 +51,8 @@ typedef struct double amount; + gboolean evaluate_on_enter; + } GNCAmountEdit; typedef struct @@ -77,6 +79,9 @@ void gnc_amount_edit_set_print_flags (GNCAmountEdit *gae, void gnc_amount_edit_set_currency (GNCAmountEdit *gae, const char * currency); +void gnc_amount_edit_set_evaluate_on_enter (GNCAmountEdit *gae, + gboolean evaluate_on_enter); + END_GNOME_DECLS #endif