diff options
author | David Walter Seikel | 2012-04-22 09:19:23 +1000 |
---|---|---|
committer | David Walter Seikel | 2012-04-22 09:19:23 +1000 |
commit | c963d75dfdeec11f82e79e727062fbf89afa2c04 (patch) | |
tree | 895633dbf641110be46f117c29890c49b3ffc0bd /libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c | |
parent | Adding the new extantz viewer and grid manager. (diff) | |
download | SledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.zip SledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.tar.gz SledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.tar.bz2 SledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.tar.xz |
Update EFL to latest beta.
Diffstat (limited to 'libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c')
-rw-r--r-- | libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c | 48 |
1 files changed, 46 insertions, 2 deletions
diff --git a/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c b/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c index ea7ee7f..01a3576 100644 --- a/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c +++ b/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c | |||
@@ -294,6 +294,10 @@ _ecore_imf_context_xim_focus_in(Ecore_IMF_Context *ctx) | |||
294 | imf_context_data = ecore_imf_context_data_get(ctx); | 294 | imf_context_data = ecore_imf_context_data_get(ctx); |
295 | ic = imf_context_data->ic; | 295 | ic = imf_context_data->ic; |
296 | imf_context_data->has_focus = EINA_TRUE; | 296 | imf_context_data->has_focus = EINA_TRUE; |
297 | |||
298 | if (ecore_imf_context_input_panel_enabled_get(ctx)) | ||
299 | ecore_imf_context_input_panel_show(ctx); | ||
300 | |||
297 | if (ic) | 301 | if (ic) |
298 | { | 302 | { |
299 | char *str; | 303 | char *str; |
@@ -326,6 +330,9 @@ _ecore_imf_context_xim_focus_out(Ecore_IMF_Context *ctx) | |||
326 | ic = imf_context_data->ic; | 330 | ic = imf_context_data->ic; |
327 | if (ic) | 331 | if (ic) |
328 | XUnsetICFocus(ic); | 332 | XUnsetICFocus(ic); |
333 | |||
334 | if (ecore_imf_context_input_panel_enabled_get(ctx)) | ||
335 | ecore_imf_context_input_panel_hide(ctx); | ||
329 | } | 336 | } |
330 | #else | 337 | #else |
331 | (void)ctx; | 338 | (void)ctx; |
@@ -501,6 +508,38 @@ _ecore_imf_context_xim_cursor_location_set(Ecore_IMF_Context *ctx, | |||
501 | (void)(w); // yes w is unused, but only a bi-product of the algorithm | 508 | (void)(w); // yes w is unused, but only a bi-product of the algorithm |
502 | } | 509 | } |
503 | 510 | ||
511 | static void | ||
512 | _ecore_imf_context_xim_input_panel_show(Ecore_IMF_Context *ctx) | ||
513 | { | ||
514 | EINA_LOG_DBG("%s in", __FUNCTION__); | ||
515 | |||
516 | #ifdef ENABLE_XIM | ||
517 | Ecore_IMF_Context_Data *imf_context_data; | ||
518 | imf_context_data = ecore_imf_context_data_get(ctx); | ||
519 | |||
520 | ecore_x_e_virtual_keyboard_state_set | ||
521 | (imf_context_data->win, ECORE_X_VIRTUAL_KEYBOARD_STATE_ON); | ||
522 | #else | ||
523 | (void)ctx; | ||
524 | #endif | ||
525 | } | ||
526 | |||
527 | static void | ||
528 | _ecore_imf_context_xim_input_panel_hide(Ecore_IMF_Context *ctx) | ||
529 | { | ||
530 | EINA_LOG_DBG("%s in", __FUNCTION__); | ||
531 | |||
532 | #ifdef ENABLE_XIM | ||
533 | Ecore_IMF_Context_Data *imf_context_data; | ||
534 | imf_context_data = ecore_imf_context_data_get(ctx); | ||
535 | |||
536 | ecore_x_e_virtual_keyboard_state_set | ||
537 | (imf_context_data->win, ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF); | ||
538 | #else | ||
539 | (void)ctx; | ||
540 | #endif | ||
541 | } | ||
542 | |||
504 | #ifdef ENABLE_XIM | 543 | #ifdef ENABLE_XIM |
505 | static unsigned int | 544 | static unsigned int |
506 | _ecore_x_event_reverse_modifiers(unsigned int state) | 545 | _ecore_x_event_reverse_modifiers(unsigned int state) |
@@ -739,8 +778,8 @@ static Ecore_IMF_Context_Class xim_class = { | |||
739 | .del = _ecore_imf_context_xim_del, | 778 | .del = _ecore_imf_context_xim_del, |
740 | .client_window_set = _ecore_imf_context_xim_client_window_set, | 779 | .client_window_set = _ecore_imf_context_xim_client_window_set, |
741 | .client_canvas_set = NULL, | 780 | .client_canvas_set = NULL, |
742 | .show = NULL, | 781 | .show = _ecore_imf_context_xim_input_panel_show, |
743 | .hide = NULL, | 782 | .hide = _ecore_imf_context_xim_input_panel_hide, |
744 | .preedit_string_get = _ecore_imf_context_xim_preedit_string_get, | 783 | .preedit_string_get = _ecore_imf_context_xim_preedit_string_get, |
745 | .focus_in = _ecore_imf_context_xim_focus_in, | 784 | .focus_in = _ecore_imf_context_xim_focus_in, |
746 | .focus_out = _ecore_imf_context_xim_focus_out, | 785 | .focus_out = _ecore_imf_context_xim_focus_out, |
@@ -759,6 +798,11 @@ static Ecore_IMF_Context_Class xim_class = { | |||
759 | .input_panel_language_set = NULL, | 798 | .input_panel_language_set = NULL, |
760 | .input_panel_language_get = NULL, | 799 | .input_panel_language_get = NULL, |
761 | .cursor_location_set = _ecore_imf_context_xim_cursor_location_set, | 800 | .cursor_location_set = _ecore_imf_context_xim_cursor_location_set, |
801 | .input_panel_imdata_set = NULL, | ||
802 | .input_panel_imdata_get = NULL, | ||
803 | .input_panel_return_key_type_set = NULL, | ||
804 | .input_panel_return_key_disabled_set = NULL, | ||
805 | .input_panel_caps_lock_mode_set = NULL | ||
762 | }; | 806 | }; |
763 | 807 | ||
764 | static Ecore_IMF_Context * | 808 | static Ecore_IMF_Context * |