elementary/index - added "language,changed" smart callback to index
authorChunEon Park <hermet@hermet.pe.kr>
Tue, 5 Feb 2013 12:54:36 +0000 (12:54 +0000)
committerChunEon Park <hermet@hermet.pe.kr>
Tue, 5 Feb 2013 12:54:36 +0000 (12:54 +0000)
SVN revision: 83626

ChangeLog
NEWS
src/lib/elm_index.c
src/lib/elm_index.h

index f6cdaee..24505d1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
         * Fix a elm_transit crash issue when user delete all target objects in the effect end callback.
 
+2013-02-05  ChunEon Park (Hermet)
+
+        * Index supports "language,changed" smart callback 
diff --git a/NEWS b/NEWS
index c0a4b5a..e9cf4f6 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -31,6 +31,7 @@ Additions:
    * Add a label signal callback "slide,end"
    * Add "highlighted" and "unhighlighted" callbacks to list, genlist, and gengrid.
    * Add elm_index_delay_change_time_set/get for changing delay change time in index.
+   * Add elm_index smart callback - "language,changed".
 
 Improvements:
 
index daedd1b..a6a87d3 100644 (file)
@@ -17,22 +17,33 @@ static const char SIG_DELAY_CHANGED[] = "delay,changed";
 static const char SIG_SELECTED[] = "selected";
 static const char SIG_LEVEL_UP[] = "level,up";
 static const char SIG_LEVEL_DOWN[] = "level,down";
+static const char SIG_LANG_CHANGED[] = "language,changed";
+
 static const Evas_Smart_Cb_Description _smart_callbacks[] = {
    {SIG_CHANGED, ""},
    {SIG_DELAY_CHANGED, ""},
    {SIG_SELECTED, ""},
    {SIG_LEVEL_UP, ""},
    {SIG_LEVEL_DOWN, ""},
+   {SIG_LANG_CHANGED, ""},
    {NULL, NULL}
 };
 
 static void
+_elm_index_smart_translate(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+{
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   evas_object_smart_callback_call(obj, SIG_LANG_CHANGED, NULL);
+   if (ret) *ret = EINA_TRUE;
+}
+
+static void
 _item_free(Elm_Index_Item *it)
 {
    ELM_INDEX_DATA_GET(WIDGET(it), sd);
 
    sd->items = eina_list_remove(sd->items, it);
-   if (it->letter) 
+   if (it->letter)
      {
         eina_stringshare_del(it->letter);
         it->letter = NULL;
@@ -1464,6 +1475,7 @@ _class_constructor(Eo_Class *klass)
         EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT), _elm_index_smart_focus_next),
         EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ACCESS), _elm_index_smart_access),
         EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS), _elm_index_smart_focus_direction_manager_is),
+        EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_TRANSLATE), _elm_index_smart_translate),
 
         EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIZING_EVAL), _elm_index_smart_sizing_eval),
 
index b88768a..6037198 100644 (file)
@@ -41,6 +41,7 @@
  *      level to the second level
  * - @c "level,down" - when the user moves a finger from the second
  *      level to the first level
+ * - @c "language,changed" - the program's language changed
  *
  * The @c "delay,changed" event is so that it'll wait a small time
  * before actually reporting those events and, moreover, just the