evas_object_del(ad->popup);
ad->popup = NULL;
}
- appmgr_main_genlist_append_items(ad);
+ appmgr_main_fill_the_list(ad);
}
static void appmgr_main_sort_popup(void *data, Evas_Object *obj,
SettingAppMgr *ad = (SettingAppMgr *)data;
- if (ad->popup)
- evas_object_del(ad->popup);
+ evas_object_del(ad->popup);
Evas_Object *menu_glist = NULL;
ad->popup = setting_create_popup_with_list(&menu_glist, ad, ad->md.window,
naviframe_resize_cb, ad->popup);
}
-static UNUSED char *_appmgr_access_info_prepend_cb(void *data,
- Evas_Object *obj)
-{
- retv_if(!data, NULL);
- char str[256];
-
- snprintf(str, 256, _("IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"), data);
- return strdup(_(str));
-}
-
static void appmgr_main_create_more_popup(void *data, Evas_Object *obj,
void *event_info)
{
evas_object_show(ctxpopup);
}
-static void appmgr_main_gl_realized(void *data, Evas_Object *obj,
- void *event_info)
-{
- setting_retm_if(event_info == NULL,
- "invalid parameter: event_info is NULL");
-}
-
-static Evas_Object *appmgr_main_genlist(Evas_Object *parent)
-{
- Evas_Object *genlist;
-
- genlist = elm_genlist_add(parent);
- if (NULL == genlist) {
- SETTING_TRACE_ERROR("elm_genlist_add() Fail");
- return NULL;
- }
-
- elm_genlist_block_count_set(genlist, 8);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL,
- EVAS_HINT_FILL);
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(genlist);
-
- evas_object_smart_callback_add(genlist, "realized",
- appmgr_main_gl_realized, NULL);
-
- return genlist;
-}
-
static void appmgr_main_gl_sel(void *data, Evas_Object *obj, void *event_info)
{
appmgr_listinfo *info;
}
}
-static inline Evas_Object *appmgr_main_no_item_handle(SettingAppMgr *ad)
+static void _show_blank_page(SettingAppMgr *ad)
{
- const char *text, *help_txt = NULL;
- Evas_Object *lo = NULL;
+ const char *text = NULL;
+ const char *help_txt = NULL;
+ Evas_Object *layout = NULL;
switch (ad->tabtype) {
case APPMGR_TAB_RUNNING:
break;
}
- if (NULL == ad->lo_noitem || ad->noitem_type != ad->tabtype) {
- if (ad->tabtype == APPMGR_TAB_RUNNING)
- lo = appmgr_loading_item(ad->md.naviframe, text, help_txt);
- else
- lo = appmgr_no_item(ad->md.naviframe, text, help_txt);
+ if (ad->noitem_type != ad->tabtype) {
+ if (ad->tabtype == APPMGR_TAB_RUNNING) {
+ layout = ad->blank_loading_layout;
+ } else {
+ layout = ad->blank_layout;
+ }
+ elm_object_part_content_unset(ad->md.layout,
+ "elm.swallow.content");
+ elm_object_part_content_set(ad->md.layout,
+ "elm.swallow.content",
+ layout);
+ elm_object_part_text_set(layout, "elm.text", _(text));
+ if (help_txt)
+ elm_object_part_text_set(layout, "elm.help.text",
+ _(help_txt));
+ evas_object_hide(ad->md.genlist);
}
-
- return lo;
}
-void appmgr_main_genlist_append_items(SettingAppMgr *ad)
+void appmgr_main_fill_the_list(SettingAppMgr *ad)
{
- GList *cursor;
+ GList *cursor = NULL;
+ int invalid = 0;
int item_cnt = 0;
- Evas_Object *lo_new = NULL;
appmgr_listinfo *info = NULL;
- /*For first Empty view */
- if (NULL == ad->pkg_list) {
- lo_new = appmgr_no_item(ad->md.naviframe, MGRAPP_STR_CHECKING, "");
- elm_object_item_part_content_set(ad->md.naviframe_it,
- "elm.swallow.content", lo_new);
- ad->lo_noitem = lo_new;
- return;
- }
-
- if (NULL == ad->gl_main)
- lo_new = ad->gl_main = appmgr_main_genlist(ad->md.naviframe);
- else
- elm_genlist_clear(ad->gl_main);
+ elm_genlist_clear(ad->md.genlist);
cursor = ad->pkg_list;
- while (cursor
- && (ad->tabtype != APPMGR_TAB_RUNNING
+ while (cursor && (ad->tabtype != APPMGR_TAB_RUNNING
|| ad->is_runlist_ready)) {
- int invalid;
-
info = cursor->data;
cursor = cursor->next;
-
- if (NULL == info) {
- SETTING_TRACE_ERROR("info is a null");
+ invalid = 0;
+ if (!info)
continue;
- }
- invalid = 0;
switch (ad->tabtype) {
case APPMGR_TAB_DOWNLOAD:
if (info->is_preload && !info->is_update)
invalid = 1;
break;
}
+
if (invalid) {
info->item = NULL;
continue;
}
- if (ad->gl_main) {
- info->item = elm_genlist_item_append(ad->gl_main,
- &ad->itc_main, info, NULL,
- ELM_GENLIST_ITEM_NONE,
- appmgr_main_gl_sel, ad);
- item_cnt++;
- }
+ info->item = elm_genlist_item_append(ad->md.genlist,
+ &ad->itc_main, info, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ appmgr_main_gl_sel, ad);
+ item_cnt++;
}
- if (0 == item_cnt) {
- if (lo_new)
- evas_object_del(lo_new);
-
- lo_new = appmgr_main_no_item_handle(ad);
-
- if (lo_new)
- ad->lo_noitem = lo_new;
- ad->noitem_type = ad->tabtype;
- ad->gl_main = NULL;
- }
- if (lo_new) {
- elm_object_item_part_content_set(ad->md.naviframe_it,
- "elm.swallow.content", lo_new);
- if (ad->gl_main)
- ad->lo_noitem = NULL;
+ if (0 == item_cnt) {
+ _show_blank_page(ad);
+ } else {
+ elm_object_part_content_unset(ad->md.layout,
+ "elm.swallow.content");
+ elm_object_part_content_set(ad->md.layout,
+ "elm.swallow.content",
+ ad->md.genlist);
+ evas_object_hide(ad->blank_layout);
+ evas_object_hide(ad->blank_loading_layout);
}
}
elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
evas_object_size_hint_min_set(icon, SETTING_APP_MGR_ICON_SIZE,
SETTING_APP_MGR_ICON_SIZE);
-#if 1
return icon;
-#else
- Evas_Object *lay = NULL;
- lay = elm_layout_add(obj);
- retv_if(lay == NULL, NULL);
- elm_layout_theme_set(lay, "layout", "list/B/type.2", "default");
- elm_layout_content_set(lay, "elm.swallow.content", icon);
-
- return lay;
-#endif
} else {
return NULL;
}
ad->tabtype = APPMGR_TAB_DOWNLOAD;
- appmgr_main_genlist_append_items(ad);
+ appmgr_main_fill_the_list(ad);
}
static void appmgr_disabled_create(void *data, Evas_Object *obj,
ad->tabtype = APPMGR_TAB_DISABLED;
- appmgr_main_genlist_append_items(ad);
+ appmgr_main_fill_the_list(ad);
}
static void appmgr_running_create(void *data, Evas_Object *obj,
ad->tabtype = APPMGR_TAB_RUNNING;
ad->is_runlist_ready = EINA_FALSE;
- /*ad->running_list_worker = appmgr_start_async_worker(
- * appmgr_get_running_list, appmgr_get_runlistinfos_cb, ad); */
appmgr_get_running_list(ad);
- appmgr_main_genlist_append_items(ad);
+ appmgr_main_fill_the_list(ad);
}
static void appmgr_all_create(void *data, Evas_Object *obj, void *event_info)
ad->tabtype = APPMGR_TAB_ALL;
- appmgr_main_genlist_append_items(ad);
+ appmgr_main_fill_the_list(ad);
}
static inline Evas_Object *appmgr_main_create_top_tabbar(Evas_Object *parent,
return toolbar;
}
-static inline Evas_Object *appmgr_main_creat_more_btn(Evas_Object *parent,
- SettingAppMgr *ad)
+static void _click_softkey_back_cb(void *data, Evas_Object *obj, void *event_info)
{
- Evas_Object *btn;
-
- btn = elm_button_add(parent);
- elm_object_style_set(btn, "naviframe/more/default");
-
- evas_object_smart_callback_add(btn, "clicked",
- appmgr_main_create_more_popup, ad);
-
- return btn;
-}
-
-static Eina_Bool setting_appmgr_main_click_softkey_back_cb(void *data,
- Evas_Object *obj, void *event_info)
-{
- SETTING_TRACE_BEGIN;
- ui_app_exit();
- SETTING_TRACE_END;
- return EINA_FALSE;
+ SettingAppMgr *ad = data;
+ ret_if(!ad);
+ elm_naviframe_item_pop(ad->md.naviframe);
}
static int appmgr_main_create(void *data)
{
- Elm_Object_Item *navi_it;
- Evas_Object *back_btn;
- Evas_Object *toolbar, *more_btn;
+ Evas_Object *back_btn = NULL;
+ Evas_Object *toolbar = NULL;
+ Evas_Object *more_btn = NULL;
SettingAppMgr *ad = data;
- retv_if(NULL == data, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
+ retv_if(!ad, SETTING_RETURN_FAIL);
+ elm_naviframe_item_pop_cb_set(ad->md.naviframe_it,
+ appmgr_main_back_cb, ad);
+ elm_naviframe_item_style_set(ad->md.naviframe_it, "tabbar");
ad->list_worker = appmgr_start_async_worker(appmgr_get_listinfos,
- appmgr_get_listinfos_cb, ad);
-
- /* back button */
- back_btn = setting_create_button(ad->md.naviframe, MGRAPP_STR_APP_MANAGER,
- NAVI_BACK_ARROW_BUTTON_STYLE,
- (setting_call_back_func)setting_appmgr_main_click_softkey_back_cb,
- ad);
+ appmgr_get_listinfos_cb, ad);
- navi_it = elm_naviframe_item_push(ad->md.naviframe, MGRAPP_STR_APP_MANAGER,
- back_btn, NULL, NULL, "tabbar");
- elm_object_item_domain_text_translatable_set(navi_it, SETTING_PACKAGE,
- EINA_TRUE);
- elm_naviframe_item_pop_cb_set(navi_it, appmgr_main_back_cb, ad);
- ad->md.naviframe_it = navi_it;
+ back_btn = setting_create_button(ad->md.naviframe,
+ NULL, NAVI_BACK_ARROW_BUTTON_STYLE,
+ _click_softkey_back_cb, ad);
+ elm_layout_content_set(ad->md.naviframe, "prev_btn", back_btn);
toolbar = appmgr_main_create_top_tabbar(ad->md.naviframe, ad);
- if (NULL == toolbar) {
- SETTING_TRACE_ERROR("appmgr_main_create_top_tabbar() Fail");
- return SETTING_RETURN_FAIL;
- }
- elm_object_item_part_content_set(navi_it, "tabbar", toolbar);
+ elm_object_item_part_content_set(ad->md.naviframe_it, "tabbar",
+ toolbar);
- more_btn = appmgr_main_creat_more_btn(ad->md.naviframe, ad);
- if (NULL == more_btn) {
- SETTING_TRACE_ERROR("appmgr_main_creat_more_btn() Fail");
- return SETTING_RETURN_FAIL;
- }
- elm_object_item_part_content_set(navi_it, "toolbar_more_btn", more_btn);
+ more_btn = setting_create_button(ad->md.naviframe,
+ NULL, "naviframe/more/default",
+ appmgr_main_create_more_popup, ad);
+ elm_object_item_part_content_set(ad->md.naviframe_it,
+ "toolbar_more_btn", more_btn);
+
+ ad->blank_layout = appmgr_no_item(ad->md.layout, NULL, NULL);
+ ad->blank_loading_layout = appmgr_loading_item(ad->md.layout,
+ NULL, NULL);
appmgr_pkgmgr_subscribe(ad);
appmgr_pkgmgr_deinit(ad);
-#if 0
- if (ad->popup) {
- evas_object_del(ad->popup);
- ad->popup = NULL;
- }
-#endif
-
appmgr_free_listinfos(ad);
setting_view_appmgr_main.is_create = 0;
retv_if(data == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
- appmgr_main_genlist_append_items(ad);
+ appmgr_main_fill_the_list(ad);
return SETTING_RETURN_SUCCESS;
}
-static int appmgr_main_cleanup(void *data)
-{
- return SETTING_RETURN_SUCCESS;
-}
-
void appmgr_main_init(SettingAppMgr *ad)
{
- ret_if(NULL == ad);
+ ret_if(!ad);
ret_if(ad->main_view);
setting_view_appmgr_main.create = appmgr_main_create;
setting_view_appmgr_main.destroy = appmgr_main_destroy;
setting_view_appmgr_main.update = appmgr_main_update;
- setting_view_appmgr_main.cleanup = appmgr_main_cleanup;
+ setting_view_appmgr_main.cleanup = NULL;
ad->main_view = &setting_view_appmgr_main;
}
#include "setting-appmgr.h"
#include <app.h>
-#include <appcore-common.h>
#define SETTING_APPMGR_PACKAGE_NAME "org.tizen.setting-appmgr"
static void _setting_appmgr_app_on_pause(void *data);
static void _setting_appmgr_app_on_resume(void *data);
static void _setting_appmgr_app_terminate(void *data);
-/********************************OTHER***************************************/
-static void _main_win_del_cb(void *data, Evas_Object *obj, void *event_info);
-
-
-static void _main_win_del_cb(void *data, Evas_Object *obj, void *event_info)
-{
- SETTING_TRACE_BEGIN;
- ui_app_exit();
-}
static void appmgr_resize(void *data, Evas *e, Evas_Object *obj,
void *event_info)
if (ad->main_view->is_create)
setting_view_update(ad->main_view, ad);
}
-#if 0
-static void _app_mgr_item_del(void *data, Evas_Object *obj)
-{
- SETTING_TRACE_BEGIN;
- setting_retm_if(data == NULL, "Data parameter is NULL");
- Setting_GenGroupItem_Data *item_data =
- (Setting_GenGroupItem_Data *) data;
- if (item_data)
- FREE(item_data);
-}
-#endif
static inline void appmgr_init_itcs(SettingAppMgr *ad)
{
SETTING_TRACE_ERROR("Cannot initialize application");
return false;
}
- evas_object_smart_callback_add(appmgr_ad->md.window, "delete,request",
- _main_win_del_cb, appmgr_ad);
appmgr_init_itcs(appmgr_ad);
appmgr_main_init(appmgr_ad);
appmgr_pkginfo_init(appmgr_ad);
appmgr_appinfo_init(appmgr_ad);
+ if (SETTING_RETURN_SUCCESS != view_init(&appmgr_ad->md,
+ _("IDS_ST_BODY_APPLICATION_MANAGER"))
+ ) {
+ SETTING_TRACE_ERROR("Cannot init application view");
+ return false;
+ }
+
evas_object_event_callback_add(appmgr_ad->md.window,
EVAS_CALLBACK_RESIZE, appmgr_resize, appmgr_ad);
- /* Conformant */
- Evas_Object *conform = elm_conformant_add(appmgr_ad->md.window);
- evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(appmgr_ad->md.window, conform);
- evas_object_show(conform);
-
- /* navi frame */
- Evas_Object *navi = NULL;
- navi = elm_naviframe_add(conform);
-
- elm_naviframe_prev_btn_auto_pushed_set(navi, EINA_TRUE);
- elm_object_part_content_set(conform, "elm.swallow.content", navi);
- eext_object_event_callback_add(navi, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL);
- eext_object_event_callback_add(navi, EEXT_CALLBACK_MORE, eext_naviframe_more_cb, NULL);
-
- if (navi == NULL) {
- SETTING_TRACE(" *** elm_naviframe_add returns NULL *** ");
- return SETTING_GENERAL_ERR_NULL_DATA_PARAMETER;
- }
- evas_object_show(navi);
- appmgr_ad->md.naviframe = navi;
-
- appmgr_ad->current_rotation = elm_win_rotation_get(
- appmgr_ad->md.window);
- SETTING_TRACE_DEBUG("ad->current_rotation:%d",
- appmgr_ad->current_rotation);
- if (elm_win_wm_rotation_supported_get(appmgr_ad->md.window)) {
- int rots[4] = { 0, 90, 180, 270 };
- /* rotation value that app may want */
- elm_win_wm_rotation_available_rotations_set(
- appmgr_ad->md.window, rots, 4);
- }
+ view_rotate_support(&appmgr_ad->md);
evas_object_show(appmgr_ad->md.window);
return true;
if (ad->main_view->is_create)
setting_view_destroy(ad->main_view, ad);
- SETTING_TRACE_DEBUG("!!! After setting_view_destroy");
evas_object_del(ad->md.window);
ad->md.window = NULL;
-
}
static void _setting_appmgr_app_on_pause(void *data)
EXPORT_PUBLIC
int main(int argc, char *argv[])
{
- SettingAppMgr appmgr_ad;
+ SettingAppMgr appmgr_ad = {{0},};
ui_app_lifecycle_callback_s ops = {
.create = _setting_appmgr_app_create,
.app_control = _setting_appmgr_app_control_cb,
};
- memset(&appmgr_ad, 0x00, sizeof(SettingAppMgr));
- int r = 0;
- r = ui_app_main(argc, argv, &ops, &appmgr_ad);
- retv_if(r == -1, -1);
-
- return 0;
+ return ui_app_main(argc, argv, &ops, &appmgr_ad);;
}