fixed the plugin window layout (regarding N_SE-14190)
authorMyoungJune Park <mj2004.park@samsung.com>
Sun, 13 Jan 2013 10:39:36 +0000 (19:39 +0900)
committerMyoungJune Park <mj2004.park@samsung.com>
Sun, 13 Jan 2013 10:39:36 +0000 (19:39 +0900)
include/setting.h
src/setting-main.c
src/setting-plugin.c

index 8880e68..28370cd 100755 (executable)
@@ -182,7 +182,7 @@ typedef struct _setting_main_appdata {
        char* view_to_jump;
        char cur_loaded_ug[MAX_DISPLAY_NAME_LEN_ON_UI];
 
-       Evas_Object *conformant;
+       Evas_Object *conform;
 
 } setting_main_appdata;
 
index dd18412..13dee5e 100755 (executable)
@@ -1463,6 +1463,59 @@ static void __allFrequent_btn_cb(void *data, Evas_Object *obj, void *event_info)
        ad->refresh_idler = ecore_idler_add((Ecore_Task_Cb) __refresh_on_idle, ad);
 }
 
+static void __setting_show_title_toolbar(void *data, Evas_Object *obj, void *event_info)
+{
+    SETTING_TRACE_BEGIN;
+    //elm_object_item_signal_emit(data, "elm,state,sip,shown", "");
+    setting_main_appdata *ad = (setting_main_appdata *) data;
+
+    Evas_Object *navi_bar = NULL;
+
+    if (ad->isInUGMode && ad->ug) {
+        Evas_Object *layout = (Evas_Object *)ug_get_layout(ad->ug);
+        if (layout)
+            navi_bar = elm_object_part_content_get(layout, "elm.swallow.content");
+    } else {
+        navi_bar = ad->navibar_main;
+    }
+
+    const char *support = evas_object_data_get(navi_bar, "sip.naviframe.title_obj");
+    SETTING_TRACE("support:%s", support);
+    if (support)
+    {
+        Elm_Object_Item *top_item = elm_naviframe_top_item_get(navi_bar);
+        if (top_item)
+            elm_object_item_signal_emit(top_item, "elm,state,sip,shown", "");
+    }
+}
+
+static void __setting_hide_title_toolbar(void *data, Evas_Object *obj, void *event_info)
+{
+    SETTING_TRACE_BEGIN;
+    //elm_object_item_signal_emit(data, "elm,state,sip,hidden", "");
+    setting_main_appdata *ad = (setting_main_appdata *) data;
+
+    Evas_Object *navi_bar = NULL;
+
+    if (ad->isInUGMode && ad->ug) {
+        Evas_Object *layout = (Evas_Object *)ug_get_layout(ad->ug);
+        if (layout)
+            navi_bar = elm_object_part_content_get(layout, "elm.swallow.content");
+    } else {
+        navi_bar = ad->navibar_main;
+    }
+
+    const char *support = evas_object_data_get(navi_bar, "sip.naviframe.title_obj");
+
+    SETTING_TRACE("support:%s", support);
+    if (support)
+    {
+        Elm_Object_Item *top_item = elm_naviframe_top_item_get(navi_bar);
+        if (top_item)
+            elm_object_item_signal_emit(top_item, "elm,state,sip,hidden", "");
+    }
+}
+
 static bool __setting_create_main_view(void *data)
 {
        SETTING_TRACE_BEGIN;
@@ -1478,9 +1531,12 @@ static bool __setting_create_main_view(void *data)
        elm_object_content_set(conform, ad->ly_main);
        evas_object_show(conform);
 
+    evas_object_smart_callback_add(conform, "virtualkeypad,state,on", __setting_show_title_toolbar, ad);
+    evas_object_smart_callback_add(conform, "virtualkeypad,state,off", __setting_hide_title_toolbar, ad);
+
        elm_win_conformant_set(ad->win_main, EINA_TRUE);
 
-       ad->conformant = conform;
+       ad->conform = conform;
 
        ad->navibar_main = setting_create_navi_bar(ad->ly_main);
 
@@ -1740,6 +1796,10 @@ static int setting_main_destroy(void *cb)
                //already not exsit
                return SETTING_RETURN_SUCCESS;
        }
+
+    evas_object_smart_callback_del(ad->conform, "virtualkeypad,state,on", __setting_show_title_toolbar);
+    evas_object_smart_callback_del(ad->conform, "virtualkeypad,state,off", __setting_hide_title_toolbar);
+
        if (ad->refresh_idler) {
                ecore_idler_del(ad->refresh_idler);
                ad->refresh_idler = NULL;
index d735020..ee3570f 100755 (executable)
@@ -117,8 +117,7 @@ static void __drawer_add(const char *type, drawer_fp draw)
 
                _g_drawer_list = eina_list_append(_g_drawer_list, node);
        }
-
-       FREE(node);
+       // FREE(node);
 }
 
 
@@ -984,6 +983,7 @@ static void* editbox_func(void *data, xmlNode *xmlObj)
 
        Setting_GenGroupItem_Data *list_item = NULL;
 
+#if 1
        if (max_len == -1)
        {
                // without maxlength filter
@@ -1010,6 +1010,18 @@ static void* editbox_func(void *data, xmlNode *xmlObj)
                                                                        NULL, NULL);
 
        }
+#endif
+       if (list_item)
+       {
+               list_item->userdata = ad;
+               list_item->isSinglelineFlag = TRUE;
+               //list_item->start_change_cb = (setting_call_back_func)__entry_key_down_cb;
+               //list_item->stop_change_cb = __entry_unfocus_cb;
+               //list_item->maxlength_reached_cb = __max_len_reached;
+               list_item->x_callback_cb = _input_panel_event_cb;
+               //list_item->limit_filter_data = calloc(1, sizeof(Elm_Entry_Filter_Accept_Set));
+       }
+
        if (list_item) {
                list_item->userdata = xmlObj;
                list_item->stop_change_cb = __entry_unfocus_cb;
@@ -1140,26 +1152,19 @@ static Evas_Object *setting_create_win_layout2(Evas_Object *win_layout, Evas_Obj
 {
 
     Evas_Object *layout = NULL;
-    //Evas_Object *conform = elm_conformant_add(win_obj);
-    //setting_main_appdata *ad = (setting_main_appdata *) data;
 
     /*  Base Layout */
     layout = elm_layout_add(win_obj);
-    //evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
     setting_retvm_if(layout == NULL, FALSE, "layout == NULL");
 
     elm_layout_theme_set(layout, "layout", "application", "default");
     evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
     evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-    //elm_win_resize_object_add(win_obj, conform);
-    //elm_object_content_set(conform, layout);
+    elm_win_resize_object_add(win_obj, layout);
 
     Evas_Object *bg = setting_create_bg(layout, win_obj, "group_list");
     elm_object_part_content_set(layout, "elm.swallow.bg", bg);
     evas_object_show(layout);
-    //evas_object_show(conform);
-
-    //ad->conformant = conform;
     return layout;
 }
 
@@ -1185,7 +1190,6 @@ static void* setting_func(void *data, xmlNode *xmlObj)
 {
        SETTING_TRACE_BEGIN;
        retv_if(!data || !xmlObj, NULL);
-
 #if 1
        PluginNode* node = (PluginNode*)data;
        Draw_Data *pd = node->pd;
@@ -1280,6 +1284,8 @@ static int __node_walker(PluginNode* context, xmlNode* cur)
                                        char* key_name = xmlGetProp(cur_node, "id");
                                        eina_hash_add(context->ui_list, strdup(key_name),(void*)genlist_node);
                                }
+                       }else {
+                               SETTING_TRACE(" >>>> fp is NULL ");
                        }
                }
                __node_walker(context, cur_node->children);     /* RECURSIVE */