jihoon pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d059e1af953329e13792f18333087d84a836e99c

commit d059e1af953329e13792f18333087d84a836e99c
Author: Jihoon Kim <[email protected]>
Date:   Tue Sep 30 10:47:26 2014 +0900

    ecore_imf/ibus: support delete-surrounding-text signal
---
 src/modules/ecore_imf/ibus/ibus_imcontext.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/src/modules/ecore_imf/ibus/ibus_imcontext.c 
b/src/modules/ecore_imf/ibus/ibus_imcontext.c
index c735ce2..d662ac2 100644
--- a/src/modules/ecore_imf/ibus/ibus_imcontext.c
+++ b/src/modules/ecore_imf/ibus/ibus_imcontext.c
@@ -682,6 +682,25 @@ sort_cb(const void *d1, const void *d2)
 }
 
 static void
+_ecore_imf_context_ibus_delete_surrounding_text_cb(IBusInputContext 
*ibuscontext EINA_UNUSED,
+                                                   gint              
offset_from_cursor,
+                                                   guint             nchars,
+                                                   IBusIMContext    
*ibusimcontext)
+{
+   EINA_SAFETY_ON_NULL_RETURN(ibusimcontext);
+
+   if (_focus_im_context != ibusimcontext->ctx)
+     return;
+
+   Ecore_IMF_Event_Delete_Surrounding ev;
+   ev.ctx = _focus_im_context;
+   ev.n_chars = nchars;
+   ev.offset = offset_from_cursor;
+   ecore_imf_context_delete_surrounding_event_add(_focus_im_context, 
offset_from_cursor, nchars);
+   ecore_imf_context_event_callback_call(_focus_im_context, 
ECORE_IMF_CALLBACK_DELETE_SURROUNDING, &ev);
+}
+
+static void
 _ecore_imf_context_ibus_update_preedit_text_cb(IBusInputContext  *ibuscontext 
EINA_UNUSED,
                                                IBusText          *text,
                                                gint               cursor_pos,
@@ -932,6 +951,10 @@ _ecore_imf_context_ibus_create(IBusIMContext 
*ibusimcontext)
                     G_CALLBACK (_ecore_imf_context_ibus_forward_key_event_cb),
                     ibusimcontext);
    g_signal_connect(ibusimcontext->ibuscontext,
+                    "delete-surrounding-text",
+                    G_CALLBACK 
(_ecore_imf_context_ibus_delete_surrounding_text_cb),
+                    ibusimcontext);
+   g_signal_connect(ibusimcontext->ibuscontext,
                     "update-preedit-text",
                     G_CALLBACK 
(_ecore_imf_context_ibus_update_preedit_text_cb),
                     ibusimcontext);

-- 


Reply via email to