From: jihoon Date: Wed, 29 Feb 2012 04:37:33 +0000 (+0000) Subject: ecore_imf: Add ecore_imf_context_input_panel_caps_lock_mode_set/get to set/get the... X-Git-Tag: accepted/2.0/20130306.224007~71 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6df4fab97d75b198081500de77d4d20095ea1db7;p=profile%2Fivi%2Fecore.git ecore_imf: Add ecore_imf_context_input_panel_caps_lock_mode_set/get to set/get the caps lock mode on the input panel Change-Id: I704577ea798116e33f66bae29543da6e4a15cdc1 git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@68529 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/ChangeLog b/ChangeLog index 788344b..b10261f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -494,3 +494,60 @@ * Add ecore_imf APIs to set return key type, disable return key. +2012-02-16 Leif Middelschulte (T_UNIX) + + * Add ecore_x_randr_mode_add to add a mode to a display + * Add ecore_x_randr_mode_del to remove a mode from the display + * Add ecore_x_randr_output_mode_add to add a mode to an output + * Add ecore_x_randr_output_mode_del to remove a mode from an output + +2012-02-10 Jérémy Zurcher + + * Improve callbacks in ecore_evas to use typedefs for readability. + +2012-02-20 Cedric Bail + + * Rewrite internal of Ecore_Thread to use Eina_Lock and ecore_main_loop_thread_safe_call_async. + +2012-02-23 Cedric Bail + + * Move to Evas buffer engine for Ecore_Evas SDL software backend. + +2012-02-23 Leif Middelschulte (T_UNIX) + + * Add ecore_x_randr_window_crtcs_get to get the crtcs that display a + window. + * Deprecate ecore_x_randr_current_output_get. Use + ecore_x_randr_window_crtcs_get instead. + +2012-02-24 Doyun Kang + + * Add indicator controls to ecore_x + +2012-02-26 Carsten Haitzler (The Rasterman) + + * Fix ecore_file_download to not limit downloads to 30sec. + +2012-02-28 Carsten Haitzler (The Rasterman) + + * Add ecore_x_netwm_icons_set() + * Add ecore_evas_window_group_set() ecore_evas_window_group_get() + ecore_evas_aspect_set() ecore_evas_aspect_get() + ecore_evas_urgent_set() ecore_evas_urgent_get() + ecore_evas_modal_set() ecore_evas_modal_get() + ecore_evas_demand_attention_set() + ecore_evas_demand_attention_get() + ecore_evas_focus_skip_set() ecore_evas_focus_skip_get() + ecore_evas_callback_state_change_set() + +2012-02-28 Christopher Michael (devilhorns) + + * Refactor Ecore_Wayland code to improve running EFL + applications as Wayland Clients. + * Refactor Ecore_Evas Wayland code to match changes in + Ecore_Wayland + +2012-02-29 Jihoon Kim (jihoon) + + * Add ecore_imf_context_input_panel_caps_lock_mode_set/get to set the caps lock mode on the input panel + diff --git a/NEWS b/NEWS index f558bb4..d93798f 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,18 @@ Additions: - Add Socket and Plug to draw other process area. * ecore_wayland - Add Ecore_Wayland (backend to support Wayland). + * ecore_imf + - ecore_imf_context_event_callback_add() + - ecore_imf_context_event_callback_del() + - ecore_imf_context_event_callback_call() + - ecore_imf_context_input_panel_imdata_set() + - ecore_imf_context_input_panel_imdata_get() + - ecore_imf_context_input_panel_return_key_type_set() + - ecore_imf_context_input_panel_return_key_type_get() + - ecore_imf_context_input_panel_return_key_disabled_set() + - ecore_imf_context_input_panel_return_key_disabled_get() + - ecore_imf_context_input_panel_caps_lock_mode_set() + - ecore_imf_context_input_panel_caps_lock_mode_get() Improvements: * ecore: diff --git a/src/lib/ecore_imf/Ecore_IMF.h b/src/lib/ecore_imf/Ecore_IMF.h index cc7082b..96eefa2 100644 --- a/src/lib/ecore_imf/Ecore_IMF.h +++ b/src/lib/ecore_imf/Ecore_IMF.h @@ -378,6 +378,7 @@ struct _Ecore_IMF_Context_Class void (*input_panel_imdata_get)(Ecore_IMF_Context *ctx, void* data, int *len); void (*input_panel_return_key_type_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type); void (*input_panel_return_key_disabled_set) (Ecore_IMF_Context *ctx, Eina_Bool disabled); + void (*input_panel_caps_lock_mode_set) (Ecore_IMF_Context *ctx, Eina_Bool mode); void (*input_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h); Ecore_IMF_Input_Panel_State (*input_panel_state_get) (Ecore_IMF_Context *ctx); void (*input_panel_event_callback_add) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, void (*func) (void *data, Ecore_IMF_Context *ctx, int value), void *data); @@ -461,6 +462,8 @@ EAPI void ecore_imf_context_input_panel_return_key_type EAPI Ecore_IMF_Input_Panel_Return_Key_Type ecore_imf_context_input_panel_return_key_type_get(Ecore_IMF_Context *ctx); EAPI void ecore_imf_context_input_panel_return_key_disabled_set(Ecore_IMF_Context *ctx, Eina_Bool disabled); EAPI Eina_Bool ecore_imf_context_input_panel_return_key_disabled_get(Ecore_IMF_Context *ctx); +EAPI void ecore_imf_context_input_panel_caps_lock_mode_set(Ecore_IMF_Context *ctx, Eina_Bool mode); +EAPI Eina_Bool ecore_imf_context_input_panel_caps_lock_mode_get(Ecore_IMF_Context *ctx); EAPI void ecore_imf_context_input_panel_geometry_get(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h); EAPI Ecore_IMF_Input_Panel_State ecore_imf_context_input_panel_state_get(Ecore_IMF_Context *ctx); EAPI void ecore_imf_context_input_panel_event_callback_add(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, void (*func) (void *data, Ecore_IMF_Context *ctx, int value), const void *data); diff --git a/src/lib/ecore_imf/ecore_imf_context.c b/src/lib/ecore_imf/ecore_imf_context.c index 81583d8..4649a97 100644 --- a/src/lib/ecore_imf/ecore_imf_context.c +++ b/src/lib/ecore_imf/ecore_imf_context.c @@ -1516,6 +1516,51 @@ ecore_imf_context_input_panel_return_key_disabled_get(Ecore_IMF_Context *ctx) } /** + * Set the caps lock mode on the input panel. + * + * @param ctx An #Ecore_IMF_Context. + * @param mode Turn on caps lock on the input panel if EINA_TRUE + * @ingroup Ecore_IMF_Context_Group + * @since 1.2.0 + */ +EAPI void +ecore_imf_context_input_panel_caps_lock_mode_set(Ecore_IMF_Context *ctx, Eina_Bool mode) +{ + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) + { + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, + "ecore_imf_context_input_panel_caps_lock_mode_set"); + return; + } + + if (ctx->klass->input_panel_caps_lock_mode_set) + ctx->klass->input_panel_caps_lock_mode_set(ctx, mode); + + ctx->input_panel_caps_lock_mode = mode; +} + +/** + * Get the caps lock mode on the input panel. + * + * @param ctx An #Ecore_IMF_Context. + * @return EINA_TRUE if the caps lock is turned on. + * @ingroup Ecore_IMF_Context_Group + * @since 1.2.0 + */ +EAPI Eina_Bool +ecore_imf_context_input_panel_caps_lock_mode_get(Ecore_IMF_Context *ctx) +{ + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) + { + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, + "ecore_imf_context_input_panel_caps_lock_mode_get"); + return EINA_FALSE; + } + + return ctx->input_panel_caps_lock_mode; +} + +/** * Get the position of the current active input panel. * * @param ctx An #Ecore_IMF_Context. diff --git a/src/lib/ecore_imf/ecore_imf_private.h b/src/lib/ecore_imf/ecore_imf_private.h index 85f34a3..b4ff0f2 100644 --- a/src/lib/ecore_imf/ecore_imf_private.h +++ b/src/lib/ecore_imf/ecore_imf_private.h @@ -56,6 +56,7 @@ struct _Ecore_IMF_Context Eina_Bool allow_prediction : 1; Eina_Bool input_panel_enabled : 1; Eina_Bool input_panel_return_key_disabled : 1; + Eina_Bool input_panel_caps_lock_mode : 1; }; struct _Ecore_IMF_Module diff --git a/src/modules/immodules/scim/scim_module.cpp b/src/modules/immodules/scim/scim_module.cpp index 3ea9f5d..967c820 100644 --- a/src/modules/immodules/scim/scim_module.cpp +++ b/src/modules/immodules/scim/scim_module.cpp @@ -42,7 +42,8 @@ extern "C" NULL, /* input_panel_imdata_set */ NULL, /* input_panel_imdata_get */ NULL, /* input_panel_return_key_type_set */ - NULL /* input_panel_return_key_disabled_set */ + NULL, /* input_panel_return_key_disabled_set */ + NULL /* input_panel_caps_lock_mode_set */ }; static Ecore_IMF_Context *imf_module_create (void); diff --git a/src/modules/immodules/xim/ecore_imf_xim.c b/src/modules/immodules/xim/ecore_imf_xim.c index 7270117..059dc37 100644 --- a/src/modules/immodules/xim/ecore_imf_xim.c +++ b/src/modules/immodules/xim/ecore_imf_xim.c @@ -762,7 +762,8 @@ static Ecore_IMF_Context_Class xim_class = { .input_panel_imdata_set = NULL, .input_panel_imdata_get = NULL, .input_panel_return_key_type_set = NULL, - .input_panel_return_key_disabled_set = NULL + .input_panel_return_key_disabled_set = NULL, + .input_panel_caps_lock_mode_set = NULL }; static Ecore_IMF_Context *