/**
* @param data
+ * ex) name : AppSetting4
+ * ex) pkgname : UBKFwQidax.AppSetting4
*/
static void draw_3rdapp(void* data, char* name, char* pkgname)
{
if (ad)
{
- if (ad->plugin_path)
- {
- free(ad->plugin_path);
- ad->plugin_path = NULL;
- }
- ad->plugin_path = strdup(fullpath);
-
- setting_create_Gendial_field_groupitem(ad->main_genlist,
+ char* plugin_path = strdup(fullpath);
+ Setting_GenGroupItem_Data * plugin_node = setting_create_Gendial_field_groupitem(ad->main_genlist,
&(ad->itc[GENDIAL_Type_1text_1icon_2]),
NULL,
setting_main_click_list_plugin_cb,
ad,
SWALLOW_Type_INVALID,
IMG_DefaultIcon, NULL,
- 0, name, NULL,
+ 0, name, plugin_path, // <<-- refactoring
NULL);
}
SETTING_TRACE_END;
setting_view_main.is_create = 1;
+ setting_drawer_list_init();
return SETTING_RETURN_SUCCESS;
}
evas_object_smart_callback_del(ad->main_genlist, "realized", __gl_realized);
+ setting_dbus_handler_fini();
+ setting_drawer_list_fini();
+
setting_view_main.is_create = 0;
SETTING_TRACE_END;
return SETTING_RETURN_SUCCESS;
retm_if(event_info == NULL, "Invalid argument: event info is NULL");
Elm_Object_Item *item = (Elm_Object_Item *) event_info;
elm_genlist_item_selected_set(item, EINA_FALSE);
+ Setting_GenGroupItem_Data *selected_item = (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
setting_main_appdata *ad = data;
- if (ad->plugin_path)
- {
- PluginNode* plugin_node = setting_plugin_create();
- plugin_node->plugin_path = strdup(ad->plugin_path);
- setting_plugin_load(plugin_node, (const char *)ad->plugin_path);
- ad->plugin_node = (void*)plugin_node;
+ ad->plugin_path = strdup(selected_item->sub_desc);
+ SETTING_TRACE(" >> SELECTED plugin name : %s \n", ad->plugin_path);
- #if 0
- if(ad->plugin_path)
- {
- free(ad->plugin_path);
- ad->plugin_path = NULL;
- }
- #endif
- }
+ setting_dbus_handler_init( ad );
+
+ #if 1
+ PluginNode* plugin_node = setting_plugin_create(ad);
+ plugin_node->plugin_path = strdup(ad->plugin_path);
+ setting_plugin_load(plugin_node, (const char *)plugin_node->plugin_path);
+
+ ad->plugin_node = plugin_node; // the selected plugin name
+ #endif
}
/**