From 6d38ef14579441f673c7ca6688c8b7ac478cc7de Mon Sep 17 00:00:00 2001 From: David Hampton Date: Sat, 17 Jun 2006 03:37:55 +0000 Subject: [PATCH] Correctly indicate the focus state of the register. Fixes #342055. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@14378 57a11ea4-9604-0410-9ed3-97b8803252fd --- ChangeLog | 3 +++ src/register/register-gnome/gnucash-item-edit.c | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c2e9de1d83..dde49712e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-06-16 David Hampton + * src/register/register-gnome/gnucash-item-edit.c: Correctly + indicate the focus state of the register. Fixes #342055. + * src/gnome-utils/gnc-main-window.[ch]: * src/gnome/gnc-plugin-page-account-tree.c: Instead of marking the first page so that it can't be closed, mark the first *accounts* diff --git a/src/register/register-gnome/gnucash-item-edit.c b/src/register/register-gnome/gnucash-item-edit.c index b11e054385..163b108373 100644 --- a/src/register/register-gnome/gnucash-item-edit.c +++ b/src/register/register-gnome/gnucash-item-edit.c @@ -84,6 +84,7 @@ struct _TextDrawInfo }; +static void queue_sync (GncItemEdit *item_edit); static void gnc_item_edit_show_popup_toggle (GncItemEdit *item_edit, gint x, gint y, gint width, gint height, @@ -218,7 +219,7 @@ gnc_item_edit_draw_info (GncItemEdit *item_edit, int x, int y, TextDrawInfo *inf /* Selection */ if (start_pos != end_pos) { - gint start_byte_pos, end_byte_pos; + gint start_byte_pos, end_byte_pos, color; start_byte_pos = g_utf8_offset_to_pointer (text, start_pos) - text; end_byte_pos = g_utf8_offset_to_pointer (text, end_pos) - text; @@ -230,7 +231,8 @@ gnc_item_edit_draw_info (GncItemEdit *item_edit, int x, int y, TextDrawInfo *inf attr->end_index = end_byte_pos; pango_attr_list_insert (attr_list, attr); - attr = pango_attr_background_new (0x0, 0x0, 0x0); + color = GTK_WIDGET_HAS_FOCUS(item_edit->sheet) ? 0x0 : 0x7fff; + attr = pango_attr_background_new (color, color, color); attr->start_index = start_byte_pos; attr->end_index = end_byte_pos; pango_attr_list_insert (attr_list, attr); @@ -447,6 +449,7 @@ gnc_item_edit_focus_in (GncItemEdit *item_edit) ev.window = GTK_WIDGET (item_edit->sheet)->window; ev.in = TRUE; gtk_widget_event (item_edit->editor, (GdkEvent*) &ev); + queue_sync(item_edit); } void @@ -461,6 +464,7 @@ gnc_item_edit_focus_out (GncItemEdit *item_edit) ev.window = GTK_WIDGET (item_edit->sheet)->window; ev.in = FALSE; gtk_widget_event (item_edit->editor, (GdkEvent*) &ev); + queue_sync(item_edit); } void