r18732 - gnucash/trunk/src/register/register-gnome - Revert r18713 (reopen 605802 "Input of Japanese characters".
Phil Longstaff
plongstaff at code.gnucash.org
Thu Feb 25 08:39:49 EST 2010
Author: plongstaff
Date: 2010-02-25 08:39:49 -0500 (Thu, 25 Feb 2010)
New Revision: 18732
Trac: http://svn.gnucash.org/trac/changeset/18732
Modified:
gnucash/trunk/src/register/register-gnome/gnucash-item-edit.c
gnucash/trunk/src/register/register-gnome/gnucash-sheet.c
gnucash/trunk/src/register/register-gnome/gnucash-sheet.h
Log:
Revert r18713 (reopen 605802 "Input of Japanese characters".
This commit had 2 problems:
1) when entering an account name, the account separator would no longer accept at the current level of the account tree and move to the next level
2) <SHIFT>+ and <SHIFT>- in a date field would not change the field by 1 week.
Modified: gnucash/trunk/src/register/register-gnome/gnucash-item-edit.c
===================================================================
--- gnucash/trunk/src/register/register-gnome/gnucash-item-edit.c 2010-02-25 13:07:08 UTC (rev 18731)
+++ gnucash/trunk/src/register/register-gnome/gnucash-item-edit.c 2010-02-25 13:39:49 UTC (rev 18732)
@@ -184,10 +184,8 @@
const gchar *text;
PangoRectangle strong_pos;
PangoAttribute *attr;
- PangoAttrList *attr_list;
- GnucashSheet *sheet;
+ PangoAttrList *attr_list;
- sheet = GNUCASH_SHEET (item_edit->sheet);
style = item_edit->style;
table = item_edit->sheet->table;
@@ -235,17 +233,6 @@
info->layout = gtk_widget_create_pango_layout (GTK_WIDGET (item_edit->sheet), text);
- /* IMContext attributes*/
- if (sheet->preedit_length && sheet->preedit_attrs != NULL) {
- PangoAttrList *tmp_attrs = pango_attr_list_new ();
- pango_attr_list_splice (tmp_attrs, sheet->preedit_attrs,
- g_utf8_offset_to_pointer (text, sheet->preedit_start_position) - text ,
- g_utf8_offset_to_pointer (text, sheet->preedit_start_position + sheet->preedit_char_length) - text);
- pango_layout_set_attributes (info->layout, tmp_attrs);
- pango_attr_list_unref (tmp_attrs);
- }
-
-
/* Selection */
if (start_pos != end_pos)
{
@@ -311,18 +298,6 @@
}
gnc_item_edit_update_offset (item_edit, info);
-
- /* Calcurate IMContext aux window position */
- {
- gint xoff, yoff;
- GdkRectangle rect;
- rect = info->cursor_rect;
- gnome_canvas_get_scroll_offsets(GNOME_CANVAS(sheet), &xoff, &yoff);
- rect.x += (x - xoff + item_edit->x_offset);
- rect.y += (y - yoff);
- gtk_im_context_set_cursor_location (sheet->im_context, &rect);
- }
-
}
static void
Modified: gnucash/trunk/src/register/register-gnome/gnucash-sheet.c
===================================================================
--- gnucash/trunk/src/register/register-gnome/gnucash-sheet.c 2010-02-25 13:07:08 UTC (rev 18731)
+++ gnucash/trunk/src/register/register-gnome/gnucash-sheet.c 2010-02-25 13:39:49 UTC (rev 18732)
@@ -40,7 +40,6 @@
#include "gnucash-style.h"
#include "gnucash-header.h"
#include "gnucash-item-edit.h"
-#include "split-register.h"
#include "gnc-engine.h" // For debugging, e.g. ENTER(), LEAVE()
#define DEFAULT_REGISTER_HEIGHT 400
@@ -84,20 +83,8 @@
static void gnucash_sheet_activate_cursor_cell (GnucashSheet *sheet,
gboolean changed_cells);
static void gnucash_sheet_stop_editing (GnucashSheet *sheet);
-static void gnucash_sheet_im_context_reset (GnucashSheet *sheet);
-static void gnucash_sheet_commit_cb (GtkIMContext *context, const gchar *str,
- GnucashSheet *sheet);
-static void gnucash_sheet_preedit_changed_cb (GtkIMContext *context,
- GnucashSheet *sheet);
-static gboolean gnucash_sheet_retrieve_surrounding_cb (GtkIMContext *context,
- GnucashSheet *sheet);
-static gboolean gnucash_sheet_delete_surrounding_cb (GtkIMContext *context,
- gint offset,
- gint n_chars,
- GnucashSheet *sheet);
-static gboolean gnucash_sheet_check_direct_update_cell(GnucashSheet *sheet,
- const VirtualLocation virt_loc);
+
/** Implementation *****************************************************/
void
@@ -204,35 +191,15 @@
static void
gnucash_sheet_stop_editing (GnucashSheet *sheet)
{
- /* Rollback an uncommitted string if it exists *
- * *before* disconnecting signal handlers. */
- gnucash_sheet_im_context_reset(sheet);
-
if (sheet->insert_signal != 0)
g_signal_handler_disconnect (G_OBJECT(sheet->entry),
sheet->insert_signal);
if (sheet->delete_signal != 0)
g_signal_handler_disconnect (G_OBJECT(sheet->entry),
sheet->delete_signal);
- if (sheet->commit_signal != 0)
- g_signal_handler_disconnect (G_OBJECT(sheet->im_context),
- sheet->commit_signal);
- if (sheet->preedit_changed_signal != 0)
- g_signal_handler_disconnect (G_OBJECT(sheet->im_context),
- sheet->preedit_changed_signal);
- if (sheet->retrieve_surrounding_signal != 0)
- g_signal_handler_disconnect (G_OBJECT(sheet->im_context),
- sheet->retrieve_surrounding_signal);
- if (sheet->delete_surrounding_signal != 0)
- g_signal_handler_disconnect (G_OBJECT(sheet->im_context),
- sheet->delete_surrounding_signal);
+
sheet->insert_signal = 0;
sheet->delete_signal = 0;
- sheet->commit_signal = 0;
- sheet->preedit_changed_signal = 0;
- sheet->retrieve_surrounding_signal = 0;
- sheet->delete_surrounding_signal = 0;
- sheet->direct_update_cell = FALSE;
gnucash_sheet_hide_editing_cursor (sheet);
@@ -303,12 +270,11 @@
gnucash_sheet_redraw_block (sheet, virt_loc.vcell_loc);
else
{
- gnucash_sheet_im_context_reset(sheet);
gnucash_sheet_start_editing_at_cursor (sheet);
+
gtk_editable_set_position (editable, cursor_pos);
+
gtk_editable_select_region (editable, start_sel, end_sel);
- sheet->direct_update_cell =
- gnucash_sheet_check_direct_update_cell (sheet, virt_loc);
}
gtk_widget_grab_focus (GTK_WIDGET(sheet));
@@ -691,10 +657,6 @@
if (G_OBJECT_CLASS (sheet_parent_class)->finalize)
(*G_OBJECT_CLASS (sheet_parent_class)->finalize)(object);
- /* Clean up IMContext and unref */
- gnucash_sheet_im_context_reset(sheet);
- g_object_unref (sheet->im_context);
-
/* This has to come after the parent destroy, so the item edit
destruction can do its disconnects. */
g_object_unref (sheet->entry);
@@ -712,8 +674,6 @@
window = widget->window;
gdk_window_set_back_pixmap (GTK_LAYOUT (widget)->bin_window,
NULL, FALSE);
- gtk_im_context_set_client_window( GNUCASH_SHEET (widget)->im_context,
- window);
}
@@ -987,63 +947,29 @@
{
retval = old_text;
- /* reset IMContext if disallowed chars and clear preedit*/
- gnucash_sheet_im_context_reset(sheet);
/* the entry was disallowed, so we stop the insert signal */
g_signal_stop_emission_by_name (G_OBJECT (sheet->entry),
"insert_text");
}
+ if (*position < 0)
+ *position = g_utf8_strlen(retval, -1);
- /* sync cursor position and selection to preedit if it exists */
- if (sheet->preedit_length) {
- gtk_editable_set_position (editable,
- sheet->preedit_start_position
- + sheet->preedit_cursor_position);
- }
- else if (*position < 0)
- *position = g_utf8_strlen(retval, -1);
-
#if GTK_ALLOWED_SELECTION_WITHIN_INSERT_SIGNAL
- if (sheet->preedit_length
- && sheet->preedit_selection_length != 0) {
- gtk_editable_select_region (editable,
- sheet->preedit_start_position
- + sheet->preedit_char_length,
- sheet->preedit_start_position
- + sheet->preedit_char_length
- + sheet->preedit_selection_length);
- }
- else
- gtk_editable_select_region (editable, start_sel, end_sel);
-#else /* !GTK_ALLOWED_SELECTION_WITHIN_INSERT_SIGNAL */
- if (sheet->preedit_length
- && sheet->preedit_selection_length != 0) {
- select_info *info;
-
- info = g_malloc(sizeof(*info));
- info->editable = editable;
- info->start_sel = sheet->preedit_start_position
- + sheet->preedit_char_length;
- info->end_sel = sheet->preedit_start_position
- + sheet->preedit_char_length
- + sheet->preedit_selection_length;
- g_timeout_add(/*ASAP*/ 1,
- (GSourceFunc)gnucash_sheet_select_data_cb,
- info);
-
- } else if (start_sel != end_sel) {
- select_info *info;
-
- info = g_malloc(sizeof(*info));
- info->editable = editable;
- info->start_sel = start_sel;
- info->end_sel = end_sel;
- g_timeout_add(/*ASAP*/ 1,
- (GSourceFunc)gnucash_sheet_select_data_cb,
- info);
- }
-#endif /* GTK_ALLOWED_SELECTION_WITHIN_INSERT_SIGNAL */
-
+ gtk_editable_select_region (editable, start_sel, end_sel);
+#else
+ {
+ select_info *info;
+ if (start_sel != end_sel) {
+ info = g_malloc(sizeof(*info));
+ info->editable = editable;
+ info->start_sel = start_sel;
+ info->end_sel = end_sel;
+ g_timeout_add(/*ASAP*/ 1,
+ (GSourceFunc)gnucash_sheet_select_data_cb,
+ info);
+ }
+ }
+#endif
g_string_free (new_text_gs, TRUE);
g_string_free (change_text_gs, TRUE);
}
@@ -1144,28 +1070,10 @@
"delete_text");
}
+ gtk_editable_set_position (editable, cursor_position);
+ if (start_sel != end_sel)
+ gtk_editable_select_region(editable, start_sel, end_sel);
- /* sync cursor position and selection to preedit if it exists */
- if (sheet->preedit_length) {
- gtk_editable_set_position (editable,
- sheet->preedit_start_position
- + sheet->preedit_cursor_position);
- } else {
- gtk_editable_set_position (editable, cursor_position);
- }
-
- if (sheet->preedit_length
- && sheet->preedit_selection_length != 0) {
- gtk_editable_select_region (editable,
- sheet->preedit_start_position
- + sheet->preedit_char_length,
- sheet->preedit_start_position
- + sheet->preedit_char_length
- + sheet->preedit_selection_length);
- }
- else if (start_sel != end_sel)
- gtk_editable_select_region (editable, start_sel, end_sel);
-
g_string_free (new_text_gs, TRUE);
}
@@ -1228,12 +1136,7 @@
(widget, event);
gnc_item_edit_focus_in (GNC_ITEM_EDIT(sheet->item_editor));
- gtk_im_context_focus_in(sheet->im_context);
-#ifdef G_OS_WIN32
- gnucash_sheet_im_context_reset(sheet);
-#endif /* G_OS_WIN32 */
-
return FALSE;
}
@@ -1246,38 +1149,11 @@
(*GTK_WIDGET_CLASS (sheet_parent_class)->focus_out_event)
(widget, event);
-#ifdef G_OS_WIN32
- gnucash_sheet_im_context_reset(sheet);
-#endif /* G_OS_WIN32 */
-
- gtk_im_context_focus_out (sheet->im_context);
gnc_item_edit_focus_out (GNC_ITEM_EDIT(sheet->item_editor));
+
return FALSE;
}
-static gboolean
-gnucash_sheet_check_direct_update_cell(GnucashSheet *sheet,
- const VirtualLocation virt_loc)
-{
- const gchar *dupdate_list[] =
- { /* From src/register/ledger-core/split-register.{h.c}
- src/register/ledger-core/split-register-layout.c */
- DATE_CELL,
- DDUE_CELL,
- NULL,
- };
- const gchar *cell_name;
- int i;
-
- cell_name = gnc_table_get_cell_name (sheet->table, virt_loc);
- for (i=0; dupdate_list[i]; i++){
- if (gnc_cell_name_equal (cell_name,
- dupdate_list[i]))
- return TRUE;
- }
- return FALSE;
-}
-
static void
gnucash_sheet_start_editing_at_cursor (GnucashSheet *sheet)
{
@@ -1308,26 +1184,8 @@
sheet->delete_signal =
g_signal_connect(G_OBJECT(sheet->entry), "delete_text",
G_CALLBACK(gnucash_sheet_delete_cb), sheet);
-
- sheet->commit_signal =
- g_signal_connect (G_OBJECT (sheet->im_context), "commit",
- G_CALLBACK (gnucash_sheet_commit_cb), sheet);
- sheet->preedit_changed_signal =
- g_signal_connect (G_OBJECT (sheet->im_context), "preedit_changed",
- G_CALLBACK (gnucash_sheet_preedit_changed_cb),
- sheet);
- sheet->retrieve_surrounding_signal =
- g_signal_connect (G_OBJECT (sheet->im_context),
- "retrieve_surrounding",
- G_CALLBACK (gnucash_sheet_retrieve_surrounding_cb),
- sheet);
- sheet->delete_surrounding_signal =
- g_signal_connect (G_OBJECT (sheet->im_context), "delete_surrounding",
- G_CALLBACK (gnucash_sheet_delete_surrounding_cb),
- sheet);
}
-
static gboolean
gnucash_motion_event (GtkWidget *widget, GdkEventMotion *event)
{
@@ -1787,7 +1645,7 @@
}
static gint
-gnucash_sheet_key_press_event_internal (GtkWidget *widget, GdkEventKey *event)
+gnucash_sheet_key_press_event (GtkWidget *widget, GdkEventKey *event)
{
Table *table;
GnucashSheet *sheet;
@@ -1815,7 +1673,7 @@
/* Don't process any keystrokes where a modifier key (Alt,
* Meta, etc.) is being held down. This should't include
- * MOD2, aka NUM LOCK. */
+ * MOD2, aka NUM LOCK. */
if (event->state & (GDK_MOD1_MASK | GDK_MOD3_MASK |
GDK_MOD4_MASK | GDK_MOD5_MASK))
pass_on = TRUE;
@@ -1913,17 +1771,8 @@
}
/* Forward the keystroke to the input line */
- if (pass_on) {
- GValue gval = {0,};
- gboolean result;
- g_value_init (&gval, G_TYPE_BOOLEAN);
- g_value_set_boolean (&gval, TRUE);
- g_object_set_property (G_OBJECT (sheet->entry), "editable", &gval);
- result = gtk_widget_event (sheet->entry, (GdkEvent *) event);
- g_value_set_boolean (&gval, FALSE);
- g_object_set_property (G_OBJECT (sheet->entry), "editable", &gval);
- return result;
- }
+ if (pass_on)
+ return gtk_widget_event (sheet->entry, (GdkEvent *) event);
abort_move = gnc_table_traverse_update (table, cur_virt_loc,
direction, &new_virt_loc);
@@ -1938,238 +1787,8 @@
return TRUE;
}
-static gint
-gnucash_sheet_key_press_event (GtkWidget *widget, GdkEventKey *event)
-{
- GnucashSheet *sheet;
- gint result;
- g_return_val_if_fail(widget != NULL, TRUE);
- g_return_val_if_fail(GNUCASH_IS_SHEET(widget), TRUE);
- g_return_val_if_fail(event != NULL, TRUE);
-
- sheet = GNUCASH_SHEET (widget);
-
- if (gtk_im_context_filter_keypress (sheet->im_context, event)) {
- sheet->need_im_reset = TRUE;
- return TRUE;
- }
-
- return gnucash_sheet_key_press_event_internal (widget, event);
-}
-
-static gint
-gnucash_sheet_key_release_event(GtkWidget *widget, GdkEventKey *event)
-{
- GnucashSheet *sheet;
-
- g_return_val_if_fail(widget != NULL, TRUE);
- g_return_val_if_fail(GNUCASH_IS_SHEET(widget), TRUE);
- g_return_val_if_fail(event != NULL, TRUE);
-
- sheet = GNUCASH_SHEET (widget);
-
- if(gtk_im_context_filter_keypress (sheet->im_context, event)){
- sheet->need_im_reset = TRUE;
- return TRUE;
- }
-
- return FALSE;
-}
-
static void
-gnucash_sheet_im_context_reset_flags(GnucashSheet *sheet)
-{
- sheet->preedit_length = 0;
- sheet->preedit_char_length = 0;
- sheet->preedit_start_position = -1;
- sheet->preedit_cursor_position = 0;
- sheet->preedit_selection_length = 0;
-}
-
-static void
-gnucash_sheet_im_context_reset(GnucashSheet *sheet)
-{
- if (sheet->need_im_reset) {
- if (sheet->preedit_attrs) {
- pango_attr_list_unref (sheet->preedit_attrs);
- sheet->preedit_attrs = NULL;
- }
- gtk_im_context_reset (sheet->im_context);
- sheet->need_im_reset = FALSE;
- }
- gnucash_sheet_im_context_reset_flags(sheet);
-}
-
-static void
-gnucash_sheet_commit_cb (GtkIMContext *context, const gchar *str,
- GnucashSheet *sheet)
-{
- GtkEditable *editable;
- gint tmp_pos, length, sel_start, sel_end;
-
- g_return_if_fail(strlen(str) > 0);
- g_return_if_fail(sheet->editing == TRUE);
-
- editable = GTK_EDITABLE (sheet->entry);
-
- if(strlen(str) == 1 && sheet->direct_update_cell) {
- /* Reconstruct keyevent and direct update */
- GdkEvent *event;
- GdkEventKey *keyevent;
- gboolean result;
-
- event = gdk_event_new (GDK_KEY_PRESS);
- keyevent = (GdkEventKey *) event;
- keyevent->keyval = gdk_unicode_to_keyval(str[0]);
- result = gnucash_sheet_direct_event(sheet, event);
- gdk_event_free(event);
-
- if (result) {
- gnucash_sheet_im_context_reset_flags(sheet);
- return;
- }
- }
-
- /* delete preedit string from editable*/
- if (sheet->preedit_length){
- g_signal_handler_block (G_OBJECT (sheet->entry),
- sheet->delete_signal);
- gtk_editable_delete_text (editable, sheet->preedit_start_position,
- sheet->preedit_start_position
- + sheet->preedit_char_length);
- g_signal_handler_unblock (G_OBJECT (sheet->entry),
- sheet->delete_signal);
- }
-
- if (gtk_editable_get_selection_bounds (editable, &sel_start, &sel_end)){
- if (sel_start != sel_end) {
- gtk_editable_delete_selection (editable);
- sheet->preedit_selection_length = 0;
- }
- }
-
- tmp_pos = (sheet->preedit_start_position == -1)?
- gtk_editable_get_position (editable)
- :sheet->preedit_start_position;
- gtk_editable_insert_text (editable, str, strlen (str), &tmp_pos);
- gtk_editable_set_position (editable, tmp_pos);
- gnucash_sheet_im_context_reset_flags(sheet);
-}
-
-static void
-gnucash_sheet_preedit_changed_cb (GtkIMContext *context, GnucashSheet *sheet)
-{
- gchar *preedit_string;
- GtkEditable *editable;
-
- g_return_if_fail(context != NULL);
- g_return_if_fail(sheet->editing == TRUE);
-
- editable = GTK_EDITABLE (sheet->entry);
-
- /* save preedit start position and selection */
- if(sheet->preedit_length == 0) {
- int start_pos, end_pos;
- if ( gtk_editable_get_selection_bounds (editable, &start_pos, &end_pos)) {
- sheet->preedit_start_position = start_pos;
- sheet->preedit_selection_length = end_pos - start_pos;
- } else {
- sheet->preedit_start_position =
- gtk_editable_get_position (editable);
- }
- }
-#ifdef G_OS_WIN32
- else {/* sheet->preedit_length != 0 */
- /* On Windows, gtk_im_context_reset() in gnucash_sheet_key_press_event()
- * always returns FALSE because Windows IME handles key press at the
- * top level window. So sheet->need_im_reset = TRUE here. */
- sheet->need_im_reset = TRUE;
- }
-#endif /* G_OS_WIN32 */
-
- if (sheet->preedit_attrs)
- pango_attr_list_unref (sheet->preedit_attrs);
-
- gtk_im_context_get_preedit_string (sheet->im_context, &preedit_string,
- &sheet->preedit_attrs, &(sheet->preedit_cursor_position));
-
- if (sheet->preedit_length){
- g_signal_handler_block (G_OBJECT (sheet->entry),
- sheet->delete_signal);
- gtk_editable_delete_text (editable, sheet->preedit_start_position,
- sheet->preedit_start_position
- + sheet->preedit_char_length);
- g_signal_handler_unblock (G_OBJECT (sheet->entry),
- sheet->delete_signal);
- }
-
- sheet->preedit_length = strlen (preedit_string);
- sheet->preedit_char_length = g_utf8_strlen(preedit_string, -1);
-
- if (sheet->preedit_length) {
- int tmp_pos = sheet->preedit_start_position;
- g_signal_handler_block (G_OBJECT (sheet->entry),
- sheet->insert_signal);
- gtk_editable_insert_text (editable, preedit_string, sheet->preedit_length,
- &tmp_pos);
- g_signal_handler_unblock (G_OBJECT (sheet->entry),
- sheet->insert_signal);
-
- gtk_editable_set_position (editable, sheet->preedit_start_position
- + sheet->preedit_cursor_position);
-
- if( sheet->preedit_selection_length != 0) {
- gtk_editable_select_region (editable,
- sheet->preedit_start_position
- + sheet->preedit_char_length,
- sheet->preedit_start_position
- + sheet->preedit_char_length
- + sheet->preedit_selection_length);
- }
- } else {
- gnucash_sheet_im_context_reset_flags(sheet);
- }
-
- g_free (preedit_string);
-}
-
-static gboolean
-gnucash_sheet_retrieve_surrounding_cb (GtkIMContext *context, GnucashSheet *sheet)
-{
- GtkEditable *editable;
- gchar *surrounding;
- gint cur_pos;
-
- editable = GTK_EDITABLE (sheet->entry);
- surrounding = gtk_editable_get_chars (editable, 0, -1);
- cur_pos = gtk_editable_get_position (editable);
-
- gtk_im_context_set_surrounding (context,
- surrounding, strlen (surrounding),
- g_utf8_offset_to_pointer (surrounding, cur_pos) - surrounding);
- g_free (surrounding);
- return TRUE;
-}
-
-static gboolean
-gnucash_sheet_delete_surrounding_cb (GtkIMContext *context, gint offset,
- gint n_chars, GnucashSheet *sheet)
-{
- GtkEditable *editable;
- gint cur_pos;
-
- editable = GTK_EDITABLE (sheet->entry);
- cur_pos = gtk_editable_get_position (editable);
-
- gtk_editable_delete_text (editable,
- cur_pos + offset,
- cur_pos + offset + n_chars);
- return TRUE;
-}
-
-
-static void
gnucash_sheet_goto_virt_loc (GnucashSheet *sheet, VirtualLocation virt_loc)
{
Table *table;
@@ -2618,11 +2237,6 @@
static void
gnucash_sheet_realize_entry (GnucashSheet *sheet, GtkWidget *entry)
{
- GValue gval = {0,};
- g_value_init (&gval, G_TYPE_BOOLEAN);
- g_value_set_boolean (&gval, FALSE);
- g_object_set_property (G_OBJECT (entry), "editable", &gval);
-
gtk_widget_realize (entry);
}
@@ -2754,7 +2368,6 @@
widget_class->focus_out_event = gnucash_sheet_focus_out_event;
widget_class->key_press_event = gnucash_sheet_key_press_event;
- widget_class->key_release_event = gnucash_sheet_key_release_event;
widget_class->button_press_event = gnucash_button_press_event;
widget_class->button_release_event = gnucash_button_release_event;
widget_class->motion_notify_event = gnucash_motion_event;
@@ -2799,21 +2412,6 @@
sheet->blocks = g_table_new (sizeof (SheetBlock),
gnucash_sheet_block_construct,
gnucash_sheet_block_destroy, NULL);
-
- /* setup IMContext */
- sheet->im_context = gtk_im_multicontext_new ();
- sheet->preedit_length = 0;
- sheet->preedit_char_length = 0;
- sheet->preedit_start_position = -1;
- sheet->preedit_cursor_position = 0;
- sheet->preedit_selection_length = 0;
- sheet->preedit_attrs = NULL;
- sheet->direct_update_cell = FALSE;
- sheet->need_im_reset = FALSE;
- sheet->commit_signal = 0;
- sheet->preedit_changed_signal = 0;
- sheet->retrieve_surrounding_signal = 0;
- sheet->delete_surrounding_signal = 0;
}
Modified: gnucash/trunk/src/register/register-gnome/gnucash-sheet.h
===================================================================
--- gnucash/trunk/src/register/register-gnome/gnucash-sheet.h 2010-02-25 13:07:08 UTC (rev 18731)
+++ gnucash/trunk/src/register/register-gnome/gnucash-sheet.h 2010-02-25 13:39:49 UTC (rev 18732)
@@ -126,23 +126,6 @@
GFunc moved_cb;
gpointer moved_cb_data;
-
- /* IMContext */
- GtkIMContext *im_context;
- gint preedit_length; /* num of bytes */
- gint preedit_char_length; /* num of chars in UTF-8 */
- gint preedit_start_position; /* save preedit start position *
- * combined with selection start */
- gint preedit_cursor_position; /* save preedit cursor position */
- gint preedit_selection_length;
- PangoAttrList *preedit_attrs;
- gboolean need_im_reset;
- gboolean direct_update_cell;
- guint commit_signal;
- guint preedit_changed_signal;
- guint retrieve_surrounding_signal;
- guint delete_surrounding_signal;
-
} GnucashSheet;
More information about the gnucash-changes
mailing list