added setting-plugin-efl UG
authorMyoungJune Park <mj2004.park@samsung.com>
Mon, 1 Apr 2013 14:09:59 +0000 (23:09 +0900)
committerMyoungJune Park <mj2004.park@samsung.com>
Mon, 1 Apr 2013 14:31:54 +0000 (23:31 +0900)
org.tizen.setting.xml
packaging/org.tizen.setting.spec
resource/setting.cfg
setting-plugin/include/setting-plugin.h
setting-plugin/src/setting-plugin-main.c
setting-plugin/src/setting-plugin.c

index a420ab9..2510be8 100755 (executable)
                         <label>Setting Profile</label>
                         <label xml:lang="en-us">Setting Profile</label>
         </ui-application>
+       <ui-application appid="setting-plugin-efl" exec="/usr/ug/bin/setting-plugin-efl" type="capp" nodisplay="true" taskmanage="false">
+                       <icon>ug-setting-plugin-efl.png</icon>
+                       <label>Setting Plugin </label>
+                       <label xml:lang="en-us">Setting Plugin view </label>
+       </ui-application>
 </manifest>
 
index f28adb4..a3a7b6d 100755 (executable)
@@ -422,6 +422,7 @@ sync
 mkdir -p /usr/ug/bin/
 ln -sf /usr/bin/ug-client /usr/ug/bin/setting-font-efl
 ln -sf /usr/bin/ug-client /usr/ug/bin/setting-profile-efl
+ln -sf /usr/bin/ug-client /usr/ug/bin/setting-plugin-efl
 
 %files -n org.tizen.setting
 %manifest settings.manifest
index 2056bed..58cca5f 100755 (executable)
@@ -3,14 +3,6 @@
     "name" : "IDS_ST_BODY_CONNECTIVITY",
     "menu" : [
       {
-        "key_name" : "Test plugin",
-        "icon_path" : "/usr/apps/org.tizen.setting/res/icons/A01-1_icon_Wi-Fi.png",
-        "ug_args" : "setting-plugin-efl",
-        "pos" : 0,
-        "click_times" : 0,
-        "is_resetable" : 1
-      },
-      {
         "key_name" : "IDS_COM_BODY_WI_FI",
         "icon_path" : "/usr/apps/org.tizen.setting/res/icons/A01-1_icon_Wi-Fi.png",
         "ug_args" : "wifi-efl-UG",
index c25b49e..fdc22a6 100755 (executable)
@@ -62,6 +62,8 @@ struct _SettingPluginUG {
        Elm_Genlist_Item_Class itc_layout;
 
        PluginNode* plugin_node;
+       // pkgname
+       char* pkgname;
 };
 
 extern setting_view setting_view_plugin_main;
index 839d0bf..0cf6616 100755 (executable)
@@ -57,21 +57,15 @@ static int setting_plugin_main_create(void *cb)
        snprintf(setBtnStr, sizeof(setBtnStr), "%s",
                 (char *)dgettext("sys_string", "IDS_COM_BODY_BACK"));
 
-       #if 0
-       ad->ly_main = setting_create_layout_navi_bar_genlist(ad->win_main_layout,
-                                                  ad->win_get,
-                                                  "TEST", setBtnStr,
-                                                  NULL,
-                                                  setting_plugin_main_click_softkey_back_cb,
-                                                  NULL, ad, &scroller,
-                                                  &(ad->navi_bar));
-       #endif
        /////////////////////////////////////////////////////////////////////////////////////////////////
 #if 1
-       char* plugin_path = "/opt/apps/UBKFwQidax.AppSetting4/setting/setting.xml";
-       SETTING_TRACE(" >> SELECTED plugin name : %s \n", plugin_path);
+       //char* plugin_path = "/opt/apps/UBKFwQidax.AppSetting4/setting/setting.xml";
+       if (ad->pkgname == NULL)
+               goto errorhandle;
 
-       //setting_dbus_handler_init( ad );
+       char plugin_path[1024];
+       snprintf(plugin_path, 1024, "/opt/apps/%s/setting/setting.xml", ad->pkgname);
+       SETTING_TRACE(" >> SELECTED plugin name : %s \n", plugin_path);
 
        PluginNode* plugin_node = setting_plugin_create(ad->navi_bar, ad->win_get);
        plugin_node->win_main_layout = ad->win_main_layout;
@@ -82,7 +76,9 @@ static int setting_plugin_main_create(void *cb)
        setting_dbus_handler_init( plugin_node );
 
        plugin_node->plugin_path = strdup(plugin_path);
-       setting_plugin_load(plugin_node, (const char *)plugin_node->plugin_path);
+       int ret = setting_plugin_load(plugin_node, (const char *)plugin_node->plugin_path);
+       if (ret < 0)
+               goto errorhandle;
 
        ad->ly_main = plugin_node->ly_main;
 
@@ -91,6 +87,9 @@ static int setting_plugin_main_create(void *cb)
 
        setting_view_plugin_main.is_create = 1;
        return SETTING_RETURN_SUCCESS;
+errorhandle:
+               // resource free
+               return SETTING_RETURN_FAIL;
 }
 
 static int setting_plugin_main_destroy(void *cb)
index 8212e4a..8982965 100755 (executable)
@@ -158,6 +158,12 @@ static void *setting_plugin_ug_on_create(ui_gadget_h ug,
 
        setting_retvm_if(pluginUG->win_main_layout == NULL, NULL, "cannot get main window ");
 
+       char *pkgname = NULL;
+       service_get_extra_data(service, "pkgname", &pkgname);
+
+       if (pkgname) {
+               pluginUG->pkgname = strdup(pkgname);
+       }
 
        /* register view node table */
        setting_view_node_table_intialize();