ecore_imf: Add ecore_imf_context_input_panel_caps_lock_mode_set/get to set/get the...
authorjihoon <jihoon@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 29 Feb 2012 04:37:33 +0000 (04:37 +0000)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 29 Feb 2012 05:19:10 +0000 (14:19 +0900)
Change-Id: I704577ea798116e33f66bae29543da6e4a15cdc1
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@68529 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

ChangeLog
NEWS
src/lib/ecore_imf/Ecore_IMF.h
src/lib/ecore_imf/ecore_imf_context.c
src/lib/ecore_imf/ecore_imf_private.h
src/modules/immodules/scim/scim_module.cpp
src/modules/immodules/xim/ecore_imf_xim.c

index 788344b..b10261f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
         * 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 (file)
--- 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:
index cc7082b..96eefa2 100644 (file)
@@ -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);
index 81583d8..4649a97 100644 (file)
@@ -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.
index 85f34a3..b4ff0f2 100644 (file)
@@ -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
index 3ea9f5d..967c820 100644 (file)
@@ -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);
index 7270117..059dc37 100644 (file)
@@ -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 *