diff options
author | Peng Huang <shawn.p.huang@gmail.com> | 2009-03-29 09:15:10 +0800 |
---|---|---|
committer | Peng Huang <shawn.p.huang@gmail.com> | 2009-03-29 09:15:10 +0800 |
commit | e48dfe9377db9c40fbfdf81515e730072cef362a (patch) | |
tree | 6f5d1262e5b8090b23480d372ac02bf7f2d22163 /client/gtk2/ibusimcontext.c | |
parent | 0236cd777e6088296a2ac51caf8d859eeac5d557 (diff) | |
download | ibus-e48dfe9377db9c40fbfdf81515e730072cef362a.tar.gz ibus-e48dfe9377db9c40fbfdf81515e730072cef362a.tar.xz ibus-e48dfe9377db9c40fbfdf81515e730072cef362a.zip |
Remove private struct.
Diffstat (limited to 'client/gtk2/ibusimcontext.c')
-rw-r--r-- | client/gtk2/ibusimcontext.c | 473 |
1 files changed, 222 insertions, 251 deletions
diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c index 0063de3..157cdcf 100644 --- a/client/gtk2/ibusimcontext.c +++ b/client/gtk2/ibusimcontext.c @@ -26,8 +26,10 @@ #include <ibus.h> #include "ibusimcontext.h" -/* IBusIMContextPriv */ -struct _IBusIMContextPrivate { +struct _IBusIMContext { + GtkIMContext parent; + + /* instance members */ GtkIMContext *slave; GdkWindow *client_window; @@ -45,6 +47,12 @@ struct _IBusIMContextPrivate { gboolean has_focus; gint caps; + +}; + +struct _IBusIMContextClass { +GtkIMContextClass parent; + /* class members */ }; static guint _signal_commit_id = 0; @@ -174,8 +182,6 @@ ibus_im_context_class_init (IBusIMContextClass *klass) parent_class = (GtkIMContextClass *) g_type_class_peek_parent (klass); - g_type_class_add_private (klass, sizeof (IBusIMContextPrivate)); - im_context_class->reset = ibus_im_context_reset; im_context_class->focus_in = ibus_im_context_focus_in; im_context_class->focus_out = ibus_im_context_focus_out; @@ -217,54 +223,52 @@ ibus_im_context_init (GObject *obj) { IBusIMContext *ibuscontext = IBUS_IM_CONTEXT (obj); - IBusIMContextPrivate *priv = ibuscontext->priv = - G_TYPE_INSTANCE_GET_PRIVATE (ibuscontext, IBUS_TYPE_IM_CONTEXT, IBusIMContextPrivate); - priv->client_window = NULL; + ibuscontext->client_window = NULL; // Init ibus status - priv->enable = FALSE; + ibuscontext->enable = FALSE; // Init preedit status - priv->preedit_string = NULL; - priv->preedit_attrs = NULL; - priv->preedit_cursor_pos = 0; - priv->preedit_visible = FALSE; + ibuscontext->preedit_string = NULL; + ibuscontext->preedit_attrs = NULL; + ibuscontext->preedit_cursor_pos = 0; + ibuscontext->preedit_visible = FALSE; // Init cursor area - priv->cursor_area.x = -1; - priv->cursor_area.y = -1; - priv->cursor_area.width = 0; - priv->cursor_area.height = 0; + ibuscontext->cursor_area.x = -1; + ibuscontext->cursor_area.y = -1; + ibuscontext->cursor_area.width = 0; + ibuscontext->cursor_area.height = 0; - priv->ibus_context = NULL; - priv->has_focus = FALSE; - priv->caps = IBUS_CAP_PREEDIT_TEXT | IBUS_CAP_FOCUS; + ibuscontext->ibus_context = NULL; + ibuscontext->has_focus = FALSE; + ibuscontext->caps = IBUS_CAP_PREEDIT_TEXT | IBUS_CAP_FOCUS; // Create slave im context - priv->slave = gtk_im_context_simple_new (); - g_signal_connect (priv->slave, + ibuscontext->slave = gtk_im_context_simple_new (); + g_signal_connect (ibuscontext->slave, "commit", G_CALLBACK (_slave_commit_cb), ibuscontext); - g_signal_connect (priv->slave, + g_signal_connect (ibuscontext->slave, "preedit-start", G_CALLBACK (_slave_preedit_start_cb), ibuscontext); - g_signal_connect (priv->slave, + g_signal_connect (ibuscontext->slave, "preedit-end", G_CALLBACK (_slave_preedit_end_cb), ibuscontext); - g_signal_connect (priv->slave, + g_signal_connect (ibuscontext->slave, "preedit-changed", G_CALLBACK (_slave_preedit_changed_cb), ibuscontext); - g_signal_connect (priv->slave, + g_signal_connect (ibuscontext->slave, "retrieve-surrounding", G_CALLBACK (_slave_retrieve_surrounding_cb), ibuscontext); - g_signal_connect (priv->slave, + g_signal_connect (ibuscontext->slave, "delete-surrounding", G_CALLBACK (_slave_delete_surrounding_cb), ibuscontext); @@ -286,27 +290,27 @@ ibus_im_context_finalize (GObject *obj) g_return_if_fail (obj != NULL); g_return_if_fail (IBUS_IS_IM_CONTEXT (obj)); - IBusIMContext *ibus = IBUS_IM_CONTEXT (obj); - IBusIMContextPrivate *priv = ibus->priv; + IBusIMContext *ibuscontext = IBUS_IM_CONTEXT (obj); g_signal_handlers_disconnect_by_func (_bus, G_CALLBACK (_bus_connected_cb), obj); - if (priv->ibus_context) { - ibus_object_destroy ((IBusObject *)priv->ibus_context); + if (ibuscontext->ibus_context) { + ibus_object_destroy ((IBusObject *)ibuscontext->ibus_context); } - g_object_unref (priv->slave); + g_object_unref (ibuscontext->slave); - if (priv->client_window) { - g_object_unref (priv->client_window); + if (ibuscontext->client_window) { + g_object_steal_data ((GObject *) ibuscontext->client_window, "IMContext"); + g_object_unref (ibuscontext->client_window); } // release preedit - if (priv->preedit_string) { - g_free (priv->preedit_string); + if (ibuscontext->preedit_string) { + g_free (ibuscontext->preedit_string); } - if (priv->preedit_attrs) { - pango_attr_list_unref (priv->preedit_attrs); + if (ibuscontext->preedit_attrs) { + pango_attr_list_unref (ibuscontext->preedit_attrs); } G_OBJECT_CLASS(parent_class)->finalize (obj); @@ -319,22 +323,21 @@ ibus_im_context_filter_keypress (GtkIMContext *context, g_return_val_if_fail (context != NULL, FALSE); g_return_val_if_fail (IBUS_IS_IM_CONTEXT (context), FALSE); - IBusIMContext *ibus = IBUS_IM_CONTEXT (context); - IBusIMContextPrivate *priv = ibus->priv; + IBusIMContext *ibuscontext = IBUS_IM_CONTEXT (context); - if (priv->ibus_context && priv->has_focus) { + if (ibuscontext->ibus_context && ibuscontext->has_focus) { /* If context does not have focus, ibus will process key event in sync mode. * It is a workaround for increase search in treeview. */ gboolean retval; switch (event->type) { case GDK_KEY_RELEASE: - retval = ibus_input_context_process_key_event (priv->ibus_context, + retval = ibus_input_context_process_key_event (ibuscontext->ibus_context, event->keyval, event->state | IBUS_RELEASE_MASK); break; case GDK_KEY_PRESS: - retval = ibus_input_context_process_key_event (priv->ibus_context, + retval = ibus_input_context_process_key_event (ibuscontext->ibus_context, event->keyval, event->state); break; @@ -345,10 +348,10 @@ ibus_im_context_filter_keypress (GtkIMContext *context, if (retval) { return TRUE; } - return gtk_im_context_filter_keypress (priv->slave, event); + return gtk_im_context_filter_keypress (ibuscontext->slave, event); } else { - return gtk_im_context_filter_keypress (priv->slave, event); + return gtk_im_context_filter_keypress (ibuscontext->slave, event); } } @@ -358,17 +361,14 @@ ibus_im_context_focus_in (GtkIMContext *context) g_assert (IBUS_IS_IM_CONTEXT (context)); IBusIMContext *ibuscontext; - IBusIMContextPrivate *priv; - ibuscontext = IBUS_IM_CONTEXT (context); - priv = ibuscontext->priv; - priv->has_focus = TRUE; - if (priv->ibus_context) { - ibus_input_context_focus_in (priv->ibus_context); + ibuscontext->has_focus = TRUE; + if (ibuscontext->ibus_context) { + ibus_input_context_focus_in (ibuscontext->ibus_context); } - gtk_im_context_focus_in (priv->slave); + gtk_im_context_focus_in (ibuscontext->slave); _set_cursor_location_internal (context); } @@ -380,16 +380,13 @@ ibus_im_context_focus_out (GtkIMContext *context) g_assert (IBUS_IS_IM_CONTEXT (context)); IBusIMContext *ibuscontext; - IBusIMContextPrivate *priv; - ibuscontext = IBUS_IM_CONTEXT (context); - priv = ibuscontext->priv; - priv->has_focus = FALSE; - if (priv->ibus_context) { - ibus_input_context_focus_out (priv->ibus_context); + ibuscontext->has_focus = FALSE; + if (ibuscontext->ibus_context) { + ibus_input_context_focus_out (ibuscontext->ibus_context); } - gtk_im_context_focus_out (priv->slave); + gtk_im_context_focus_out (ibuscontext->slave); } static void @@ -398,15 +395,12 @@ ibus_im_context_reset (GtkIMContext *context) g_assert (IBUS_IS_IM_CONTEXT (context)); IBusIMContext *ibuscontext; - IBusIMContextPrivate *priv; - ibuscontext = IBUS_IM_CONTEXT (context); - priv = ibuscontext->priv; - if (priv->ibus_context) { - ibus_input_context_reset (priv->ibus_context); + if (ibuscontext->ibus_context) { + ibus_input_context_reset (ibuscontext->ibus_context); } - gtk_im_context_reset (priv->slave); + gtk_im_context_reset (ibuscontext->slave); } @@ -419,25 +413,22 @@ ibus_im_context_get_preedit_string (GtkIMContext *context, g_assert (IBUS_IS_IM_CONTEXT (context)); IBusIMContext *ibuscontext; - IBusIMContextPrivate *priv; - ibuscontext = IBUS_IM_CONTEXT (context); - priv = ibuscontext->priv; - if (priv->enable) { - if (priv->preedit_visible) { + if (ibuscontext->enable) { + if (ibuscontext->preedit_visible) { if (str) { - *str = g_strdup (priv->preedit_string ? priv->preedit_string: ""); + *str = g_strdup (ibuscontext->preedit_string ? ibuscontext->preedit_string: ""); } if (attrs) { - *attrs = priv->preedit_attrs ? - pango_attr_list_ref (priv->preedit_attrs): + *attrs = ibuscontext->preedit_attrs ? + pango_attr_list_ref (ibuscontext->preedit_attrs): pango_attr_list_new (); } if (cursor_pos) { - *cursor_pos = priv->preedit_cursor_pos; + *cursor_pos = ibuscontext->preedit_cursor_pos; } } else { @@ -453,7 +444,7 @@ ibus_im_context_get_preedit_string (GtkIMContext *context, } } else { - gtk_im_context_get_preedit_string (priv->slave, str, attrs, cursor_pos); + gtk_im_context_get_preedit_string (ibuscontext->slave, str, attrs, cursor_pos); } } @@ -464,45 +455,45 @@ ibus_im_context_set_client_window (GtkIMContext *context, GdkWindow *client) g_return_if_fail (context != NULL); g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); - IBusIMContext *ibus = IBUS_IM_CONTEXT (context); - IBusIMContextPrivate *priv = ibus->priv; + IBusIMContext *ibuscontext = IBUS_IM_CONTEXT (context); - if (priv->client_window) { - g_object_unref (priv->client_window); + if (ibuscontext->client_window) { + g_object_steal_data ((GObject *) ibuscontext->client_window, "IMContext"); + g_object_unref (ibuscontext->client_window); } if (client) { g_object_ref (client); + g_object_set_data ((GObject *) client, "IMContext", context); } - priv->client_window = client; - gtk_im_context_set_client_window (priv->slave, client); + ibuscontext->client_window = client; + gtk_im_context_set_client_window (ibuscontext->slave, client); } static void _set_cursor_location_internal (GtkIMContext *context) { - IBusIMContext *ibus = IBUS_IM_CONTEXT (context); - IBusIMContextPrivate *priv = ibus->priv; + IBusIMContext *ibuscontext = IBUS_IM_CONTEXT (context); GdkRectangle area; gint x, y; - if(priv->client_window == NULL || priv->ibus_context == NULL) { + if(ibuscontext->client_window == NULL || ibuscontext->ibus_context == NULL) { return; } - area = priv->cursor_area; + area = ibuscontext->cursor_area; if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) { gint w, h; - gdk_drawable_get_size (priv->client_window, &w, &h); + gdk_drawable_get_size (ibuscontext->client_window, &w, &h); area.y += h; area.x = 0; } - gdk_window_get_origin (priv->client_window, &x, &y); + gdk_window_get_origin (ibuscontext->client_window, &x, &y); area.x += x; area.y += y; - ibus_input_context_set_cursor_location (priv->ibus_context, + ibus_input_context_set_cursor_location (ibuscontext->ibus_context, area.x, area.y, area.width, @@ -515,12 +506,11 @@ ibus_im_context_set_cursor_location (GtkIMContext *context, GdkRectangle *area) g_return_if_fail (context != NULL); g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); - IBusIMContext *ibus = IBUS_IM_CONTEXT (context); - IBusIMContextPrivate *priv = ibus->priv; + IBusIMContext *ibuscontext = IBUS_IM_CONTEXT (context); - priv->cursor_area = *area; + ibuscontext->cursor_area = *area; _set_cursor_location_internal (context); - gtk_im_context_set_cursor_location (priv->slave, area); + gtk_im_context_set_cursor_location (ibuscontext->slave, area); } static void @@ -529,59 +519,56 @@ ibus_im_context_set_use_preedit (GtkIMContext *context, gboolean use_preedit) g_return_if_fail (context != NULL); g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); - IBusIMContext *ibus = IBUS_IM_CONTEXT (context); - IBusIMContextPrivate *priv = ibus->priv; + IBusIMContext *ibuscontext = IBUS_IM_CONTEXT (context); - if(priv->ibus_context) { + if(ibuscontext->ibus_context) { if (use_preedit) { - priv->caps |= IBUS_CAP_PREEDIT_TEXT; + ibuscontext->caps |= IBUS_CAP_PREEDIT_TEXT; } else { - priv->caps &= ~IBUS_CAP_PREEDIT_TEXT; + ibuscontext->caps &= ~IBUS_CAP_PREEDIT_TEXT; } - ibus_input_context_set_capabilities (priv->ibus_context, priv->caps); + ibus_input_context_set_capabilities (ibuscontext->ibus_context, ibuscontext->caps); } - gtk_im_context_set_use_preedit (priv->slave, use_preedit); + gtk_im_context_set_use_preedit (ibuscontext->slave, use_preedit); } static void _bus_connected_cb (IBusBus *bus, - IBusIMContext *context) + IBusIMContext *ibuscontext) { - g_assert (IBUS_IS_IM_CONTEXT (context)); - g_assert (context->priv->ibus_context == NULL); + g_assert (IBUS_IS_IM_CONTEXT (ibuscontext)); + g_assert (ibuscontext->ibus_context == NULL); - _create_input_context (context); + _create_input_context (ibuscontext); } static void _ibus_context_commit_text_cb (IBusInputContext *ibus_context, IBusText *text, - IBusIMContext *context) + IBusIMContext *ibuscontext) { g_assert (IBUS_IS_INPUT_CONTEXT (ibus_context)); g_assert (IBUS_IS_TEXT (text)); - g_assert (IBUS_IS_IM_CONTEXT (context)); + g_assert (IBUS_IS_IM_CONTEXT (ibuscontext)); - g_signal_emit (context, _signal_commit_id, 0, text->text); + g_signal_emit (ibuscontext, _signal_commit_id, 0, text->text); } static void _ibus_context_forward_key_event_cb (IBusInputContext *ibus_context, guint keyval, guint state, - IBusIMContext *context) + IBusIMContext *ibuscontext) { - g_assert (IBUS_IS_IM_CONTEXT (context)); + g_assert (IBUS_IS_IM_CONTEXT (ibuscontext)); GdkEventKey *event; - IBusIMContextPrivate *priv; - priv = context->priv; event = (GdkEventKey *)gdk_event_new (state & IBUS_RELEASE_MASK ? GDK_KEY_RELEASE : GDK_KEY_PRESS); event->time = GDK_CURRENT_TIME; - event->window = g_object_ref (priv->client_window); + event->window = g_object_ref (ibuscontext->client_window); event->send_event = FALSE; event->state = state; event->keyval = keyval; @@ -600,29 +587,27 @@ _ibus_context_update_preedit_text_cb (IBusInputContext *ibus_context, IBusText *text, gint cursor_pos, gboolean visible, - IBusIMContext *context) + IBusIMContext *ibuscontext) { g_assert (IBUS_IS_INPUT_CONTEXT (ibus_context)); g_assert (IBUS_IS_TEXT (text)); - g_assert (IBUS_IS_IM_CONTEXT (context)); + g_assert (IBUS_IS_IM_CONTEXT (ibuscontext)); - IBusIMContextPrivate *priv; - priv = context->priv; const gchar *str; - if (priv->preedit_string) { - g_free (priv->preedit_string); + if (ibuscontext->preedit_string) { + g_free (ibuscontext->preedit_string); } - if (priv->preedit_attrs) { - pango_attr_list_unref (priv->preedit_attrs); - priv->preedit_attrs = NULL; + if (ibuscontext->preedit_attrs) { + pango_attr_list_unref (ibuscontext->preedit_attrs); + ibuscontext->preedit_attrs = NULL; } str = text->text; - priv->preedit_string = g_strdup (str); + ibuscontext->preedit_string = g_strdup (str); if (text->attrs) { guint i; - priv->preedit_attrs = pango_attr_list_new (); + ibuscontext->preedit_attrs = pango_attr_list_new (); for (i = 0; ; i++) { IBusAttribute *attr = ibus_attr_list_get (text->attrs, i); if (attr == NULL) { @@ -651,258 +636,244 @@ _ibus_context_update_preedit_text_cb (IBusInputContext *ibus_context, } pango_attr->start_index = g_utf8_offset_to_pointer (str, attr->start_index) - str; pango_attr->end_index = g_utf8_offset_to_pointer (str, attr->end_index) - str; - pango_attr_list_insert (priv->preedit_attrs, pango_attr); + pango_attr_list_insert (ibuscontext->preedit_attrs, pango_attr); } } - priv->preedit_cursor_pos = cursor_pos; - priv->preedit_visible = visible; - if (priv->preedit_visible) { - g_signal_emit (context, _signal_preedit_start_id, 0); - g_signal_emit (context, _signal_preedit_changed_id, 0); + ibuscontext->preedit_cursor_pos = cursor_pos; + ibuscontext->preedit_visible = visible; + if (ibuscontext->preedit_visible) { + g_signal_emit (ibuscontext, _signal_preedit_start_id, 0); + g_signal_emit (ibuscontext, _signal_preedit_changed_id, 0); } else { - g_signal_emit (context, _signal_preedit_changed_id, 0); - g_signal_emit (context, _signal_preedit_end_id, 0); + g_signal_emit (ibuscontext, _signal_preedit_changed_id, 0); + g_signal_emit (ibuscontext, _signal_preedit_end_id, 0); } } static void _ibus_context_show_preedit_text_cb (IBusInputContext *ibus_context, - IBusIMContext *context) + IBusIMContext *ibuscontext) { - g_assert (IBUS_IS_IM_CONTEXT (context)); - IBusIMContextPrivate *priv = context->priv; + g_assert (IBUS_IS_IM_CONTEXT (ibuscontext)); - if (priv->preedit_visible == FALSE) { - priv->preedit_visible = TRUE; - g_signal_emit (context, _signal_preedit_changed_id, 0); + if (ibuscontext->preedit_visible == FALSE) { + ibuscontext->preedit_visible = TRUE; + g_signal_emit (ibuscontext, _signal_preedit_changed_id, 0); } } static void -_ibus_context_hide_preedit_text_cb (IBusInputContext *ibus_context, - IBusIMContext *context) +_ibus_context_hide_preedit_text_cb (IBusInputContext *ibus_context, + IBusIMContext *ibuscontext) { - g_assert (IBUS_IS_IM_CONTEXT (context)); - IBusIMContextPrivate *priv = context->priv; + g_assert (IBUS_IS_IM_CONTEXT (ibuscontext)); - if (priv->preedit_visible == TRUE) { - priv->preedit_visible = FALSE; - g_signal_emit (context, _signal_preedit_changed_id, 0); + if (ibuscontext->preedit_visible == TRUE) { + ibuscontext->preedit_visible = FALSE; + g_signal_emit (ibuscontext, _signal_preedit_changed_id, 0); } } static void -_ibus_context_enabled_cb (IBusInputContext *ibus_context, - IBusIMContext *context) +_ibus_context_enabled_cb (IBusInputContext *ibus_context, + IBusIMContext *ibuscontext) { - g_assert (IBUS_IS_IM_CONTEXT (context)); - IBusIMContextPrivate *priv = context->priv; + g_assert (IBUS_IS_IM_CONTEXT (ibuscontext)); - priv->enable = TRUE; - // g_signal_emit (context, _signal_preedit_changed_id, 0); + ibuscontext->enable = TRUE; } static void -_ibus_context_disabled_cb (IBusInputContext *ibus_context, - IBusIMContext *context) +_ibus_context_disabled_cb (IBusInputContext *ibus_context, + IBusIMContext *ibuscontext) { - g_assert (IBUS_IS_IM_CONTEXT (context)); - IBusIMContextPrivate *priv = context->priv; + ibuscontext->enable = FALSE; - priv->enable = FALSE; - /* clear preedit */ - priv->preedit_visible = FALSE; - priv->preedit_cursor_pos = 0; - g_free (priv->preedit_string); - priv->preedit_string = NULL; - - g_signal_emit (context, _signal_preedit_changed_id, 0); + ibuscontext->preedit_visible = FALSE; + ibuscontext->preedit_cursor_pos = 0; + g_free (ibuscontext->preedit_string); + ibuscontext->preedit_string = NULL; + + g_signal_emit (ibuscontext, _signal_preedit_changed_id, 0); + g_signal_emit (ibuscontext, _signal_preedit_end_id, 0); } static void -_ibus_context_destroy_cb (IBusInputContext *ibus_context, - IBusIMContext *context) +_ibus_context_destroy_cb (IBusInputContext *ibus_context, + IBusIMContext *ibuscontext) { - g_assert (IBUS_IS_IM_CONTEXT (context)); + g_assert (IBUS_IS_IM_CONTEXT (ibuscontext)); + g_assert (ibuscontext->ibus_context == ibus_context); + + g_object_unref (ibuscontext->ibus_context); + ibuscontext->ibus_context = NULL; - IBusIMContextPrivate *priv = context->priv; + ibuscontext->enable = FALSE; - g_assert (priv->ibus_context == ibus_context); + /* clear preedit */ + ibuscontext->preedit_visible = FALSE; + ibuscontext->preedit_cursor_pos = 0; + g_free (ibuscontext->preedit_string); + ibuscontext->preedit_string = NULL; - g_object_unref (priv->ibus_context); - priv->ibus_context = NULL; - priv->enable = FALSE; + g_signal_emit (ibuscontext, _signal_preedit_changed_id, 0); + g_signal_emit (ibuscontext, _signal_preedit_end_id, 0); } static void -_create_input_context (IBusIMContext *context) +_create_input_context (IBusIMContext *ibuscontext) { - g_assert (IBUS_IS_IM_CONTEXT (context)); - g_assert (context->priv->ibus_context == NULL); + g_assert (IBUS_IS_IM_CONTEXT (ibuscontext)); + g_assert (ibuscontext->ibus_context == NULL); - IBusIMContextPrivate *priv; - priv = context->priv; + ibuscontext->ibus_context = ibus_bus_create_input_context (_bus, "test"); - priv->ibus_context = ibus_bus_create_input_context (_bus, "test"); - - g_signal_connect (priv->ibus_context, + g_signal_connect (ibuscontext->ibus_context, "commit-text", G_CALLBACK (_ibus_context_commit_text_cb), - context); - g_signal_connect (priv->ibus_context, + ibuscontext); + g_signal_connect (ibuscontext->ibus_context, "forward-key-event", G_CALLBACK (_ibus_context_forward_key_event_cb), - context); - g_signal_connect (priv->ibus_context, + ibuscontext); + g_signal_connect (ibuscontext->ibus_context, "update-preedit-text", G_CALLBACK (_ibus_context_update_preedit_text_cb), - context); - g_signal_connect (priv->ibus_context, + ibuscontext); + g_signal_connect (ibuscontext->ibus_context, "show-preedit-text", G_CALLBACK (_ibus_context_show_preedit_text_cb), - context); - g_signal_connect (priv->ibus_context, + ibuscontext); + g_signal_connect (ibuscontext->ibus_context, "hide-preedit-text", G_CALLBACK (_ibus_context_hide_preedit_text_cb), - context); - g_signal_connect (priv->ibus_context, + ibuscontext); + g_signal_connect (ibuscontext->ibus_context, "enabled", G_CALLBACK (_ibus_context_enabled_cb), - context); - g_signal_connect (priv->ibus_context, + ibuscontext); + g_signal_connect (ibuscontext->ibus_context, "disabled", G_CALLBACK (_ibus_context_disabled_cb), - context); - g_signal_connect (priv->ibus_context, "destroy", + ibuscontext); + g_signal_connect (ibuscontext->ibus_context, "destroy", G_CALLBACK (_ibus_context_destroy_cb), - context); + ibuscontext); - ibus_input_context_set_capabilities (priv->ibus_context, priv->caps); + ibus_input_context_set_capabilities (ibuscontext->ibus_context, ibuscontext->caps); - if (priv->has_focus) { - ibus_input_context_focus_in (priv->ibus_context); + if (ibuscontext->has_focus) { + ibus_input_context_focus_in (ibuscontext->ibus_context); } } /* Callback functions for slave context */ static void -_slave_commit_cb (GtkIMContext *slave, gchar *string, IBusIMContext *context) +_slave_commit_cb (GtkIMContext *slave, + gchar *string, + IBusIMContext *ibuscontext) { - g_return_if_fail (context != NULL); - g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); + g_return_if_fail (IBUS_IS_IM_CONTEXT (ibuscontext)); - /* IBusIMContextPrivate *priv = context->priv; */ #if 0 if ((GtkIMContext *)context == CURRENT_CONTEXT && ibus_im_client_is_enabled (_client)) return; #endif - g_signal_emit (context, _signal_commit_id, 0, string); + g_signal_emit (ibuscontext, _signal_commit_id, 0, string); } static void -_slave_preedit_changed_cb (GtkIMContext *slave, IBusIMContext *context) +_slave_preedit_changed_cb (GtkIMContext *slave, + IBusIMContext *ibuscontext) { - g_return_if_fail (context != NULL); - g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); - - IBusIMContextPrivate *priv = context->priv; + g_return_if_fail (IBUS_IS_IM_CONTEXT (ibuscontext)); - if (priv->enable && priv->ibus_context) { + if (ibuscontext->enable && ibuscontext->ibus_context) { return; } - g_signal_emit (context, _signal_preedit_changed_id, 0); + g_signal_emit (ibuscontext, _signal_preedit_changed_id, 0); } static void -_slave_preedit_start_cb (GtkIMContext *slave, IBusIMContext *context) +_slave_preedit_start_cb (GtkIMContext *slave, + IBusIMContext *ibuscontext) { - g_return_if_fail (context != NULL); - g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); + g_return_if_fail (IBUS_IS_IM_CONTEXT (ibuscontext)); - IBusIMContextPrivate *priv = context->priv; - - if (priv->enable && priv->ibus_context) { + if (ibuscontext->enable && ibuscontext->ibus_context) { return; } - g_signal_emit (context, _signal_preedit_start_id, 0); + + g_signal_emit (ibuscontext, _signal_preedit_start_id, 0); } static void -_slave_preedit_end_cb (GtkIMContext *slave, IBusIMContext *context) +_slave_preedit_end_cb (GtkIMContext *slave, + IBusIMContext *ibuscontext) { - g_return_if_fail (context != NULL); - g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); - - IBusIMContextPrivate *priv = context->priv; + g_return_if_fail (IBUS_IS_IM_CONTEXT (ibuscontext)); - if (priv->enable && priv->ibus_context) { + if (ibuscontext->enable && ibuscontext->ibus_context) { return; } - g_signal_emit (context, _signal_preedit_end_id, 0); + g_signal_emit (ibuscontext, _signal_preedit_end_id, 0); } static void -_slave_retrieve_surrounding_cb (GtkIMContext *slave, IBusIMContext *context) +_slave_retrieve_surrounding_cb (GtkIMContext *slave, + IBusIMContext *ibuscontext) { - g_return_if_fail (context != NULL); - g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); + g_return_if_fail (IBUS_IS_IM_CONTEXT (ibuscontext)); - IBusIMContextPrivate *priv = context->priv; - - if (priv->enable && priv->ibus_context) { + if (ibuscontext->enable && ibuscontext->ibus_context) { return; } - g_signal_emit (context, _signal_retrieve_surrounding_id, 0); + g_signal_emit (ibuscontext, _signal_retrieve_surrounding_id, 0); } static void -_slave_delete_surrounding_cb (GtkIMContext *slave, gint a1, gint a2, IBusIMContext *context) +_slave_delete_surrounding_cb (GtkIMContext *slave, + gint a1, + gint a2, + IBusIMContext *ibuscontext) { - g_return_if_fail (context != NULL); - g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); + g_return_if_fail (IBUS_IS_IM_CONTEXT (ibuscontext)); - IBusIMContextPrivate *priv = context->priv; - - if (priv->enable && priv->ibus_context) { + if (ibuscontext->enable && ibuscontext->ibus_context) { return; } - g_signal_emit (context, _signal_delete_surrounding_id, 0, a1, a2); + g_signal_emit (ibuscontext, _signal_delete_surrounding_id, 0, a1, a2); } void -ibus_im_context_show_preedit (IBusIMContext *context) +ibus_im_context_show_preedit (IBusIMContext *ibuscontext) { - g_return_if_fail (context != NULL); - g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); + g_return_if_fail (IBUS_IS_IM_CONTEXT (ibuscontext)); - IBusIMContextPrivate *priv = context->priv; - if (priv->preedit_visible) { + if (ibuscontext->preedit_visible) { return; } - priv->preedit_visible = TRUE; + ibuscontext->preedit_visible = TRUE; - g_signal_emit (context, _signal_preedit_start_id, 0); - g_signal_emit (context, _signal_preedit_changed_id, 0); + g_signal_emit (ibuscontext, _signal_preedit_start_id, 0); + g_signal_emit (ibuscontext, _signal_preedit_changed_id, 0); } void -ibus_im_context_hide_preedit (IBusIMContext *context) +ibus_im_context_hide_preedit (IBusIMContext *ibuscontext) { - g_return_if_fail (context != NULL); - g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); - - IBusIMContextPrivate *priv = context->priv; + g_return_if_fail (IBUS_IS_IM_CONTEXT (ibuscontext)); - if (!priv->preedit_visible) { + if (!ibuscontext->preedit_visible) { return; } - priv->preedit_visible = FALSE; + ibuscontext->preedit_visible = FALSE; - g_signal_emit (context, _signal_preedit_changed_id, 0); - g_signal_emit (context, _signal_preedit_end_id, 0); + g_signal_emit (ibuscontext, _signal_preedit_changed_id, 0); + g_signal_emit (ibuscontext, _signal_preedit_end_id, 0); } |