Evas_Object *mgr_app_create_box(Evas_Object *parent, Eina_Bool is_hori);
Evas_Object *mgr_app_create_button(Evas_Object *parent, void (*func) (void *data, Evas_Object *obj, void *event_info), const char *label, const char *swallow, const char *style, void *data);
Evas_Object *mgr_app_create_label(Evas_Object *parent, const char *text, const char *swallow, void *data);
+void mgr_app_create_popup_text_1button(Evas_Object *parent, char *text, char *btn_text, Evas_Smart_Cb func);
+void mgr_app_create_popup_progressbar(Evas_Object *parent, char *text);
+void mgr_app_destroy_popup_progressbar();
void mgr_app_box_pack_end_separator(Evas_Object *box, const char *style);
-
void mgr_app_set_transit_effect(Evas_Object *parent, int effect_type);
#ifdef __cplusplus
struct _size to;
};
+static Evas_Object *_popup = NULL;
+
static Elm_Transit_Effect *__custom_context_new(Evas_Coord from_w, Evas_Coord from_h, Evas_Coord to_w, Evas_Coord to_h)
{
MGR_APP_BEGIN();
MGR_APP_END();
}
+void mgr_app_create_popup_text_1button(Evas_Object *parent, char *text, char *btn_text, Evas_Smart_Cb func)
+{
+ MGR_APP_BEGIN();
+
+ ret_if(parent == NULL);
+ ret_if(text == NULL);
+ ret_if(btn_text == NULL);
+
+ Evas_Object *popup = NULL;
+ Evas_Object *btn = NULL;
+
+ popup = elm_popup_add(parent);
+ ret_if(popup == NULL);
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_text_set(popup, text);
+
+ btn = elm_button_add(popup);
+ ret_if(btn == NULL);
+ elm_object_text_set(btn, btn_text);
+ elm_object_part_content_set(popup, "button1", btn);
+ evas_object_smart_callback_add(btn, "clicked", func, popup);
+ evas_object_show(popup);
+
+ MGR_APP_BEGIN();
+}
+
+void mgr_app_create_popup_progressbar(Evas_Object *parent, char *text)
+{
+ MGR_APP_BEGIN();
+
+ ret_if(parent == NULL);
+ ret_if(text == NULL);
+
+ Evas_Object *progressbar = NULL;
+
+ if (_popup) {
+ evas_object_del(_popup);
+ _popup = NULL;
+ }
+
+ _popup = elm_popup_add(parent);
+ ret_if(_popup == NULL);
+
+ progressbar = elm_progressbar_add(_popup);
+ ret_if(progressbar == NULL);
+ elm_object_style_set(progressbar, "list_process");
+ evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_progressbar_pulse(progressbar, EINA_TRUE);
+ evas_object_show(progressbar);
+
+ elm_object_part_text_set(_popup, "title,text", text);
+ elm_object_content_set(_popup, progressbar);
+ evas_object_show(_popup);
+
+ MGR_APP_END();
+}
+
+void mgr_app_destroy_popup_progressbar()
+{
+ MGR_APP_BEGIN();
+
+ if (_popup) {
+ evas_object_del(_popup);
+ _popup = NULL;
+ }
+
+ MGR_APP_END();
+}
%define _ugdir %{_optdir}/ug
-Name: ug-setting-manage-applications-efl
-Summary: Manage Application package
-Version: 0.0.24
-Release: 0
-Group: TO_BE/FILLED_IN
-License: Flora Software License
-Source0: %{name}-%{version}.tar.gz
+Name: ug-setting-manage-applications-efl
+Summary: Manage Application package
+Version: 0.0.25
+Release: 0
+Group: TO_BE/FILLED_IN
+License: Flora Software License
+Source0: %{name}-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: gettext-tools
BuildRequires: edje-tools
evas_object_data_del(obj, STR_POPUP);
evas_object_del(popup);
+ mgr_app_create_popup_progressbar(ugd->win_main, dgettext(PACKAGE, "IDS_ST_POP_UNINSTALLING_ING"));
+
_force_stop_clicked_cb(data, btn_uninstall, event_info);
MGR_APP_DEBUG("pkg type: %s, pkg_name: %s", app_info->pkg_type, app_info->pkg_name);
#define STR_END "end"
#define STR_OK "ok"
#define STR_CANCEL "cancel"
-
+#define STR_ERROR "error"
+#define STR_FAIL "fail"
+#define STR_POPUP_OK "OK"
typedef struct _app_list_view_data_t app_list_view_data_t;
return AIL_CB_RET_CONTINUE;
}
-static void _popup_progressbar_by_uninstall(void *data)
+static void _response_cb(void *data, Evas_Object *obj, void *event_info)
{
MGR_APP_BEGIN();
- ret_if(data == NULL);
- struct ug_data *ugd = (struct ug_data*)data;
-
- Evas_Object *popup = NULL;
- Evas_Object *layout = NULL;
- Evas_Object *progressbar = NULL;
-
- popup = elm_popup_add(ugd->win_main);\r
- ret_if(popup == NULL);
-
- progressbar = elm_progressbar_add(popup);
- ret_if(progressbar == NULL);
- elm_object_style_set(progressbar, "list_process");
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- evas_object_show(progressbar);
-
- elm_object_part_text_set(popup, "title,text", dgettext(PACKAGE, "IDS_ST_POP_UNINSTALLING_ING"));
- elm_popup_timeout_set(popup, 1.0);
- elm_object_content_set(popup, progressbar);
- evas_object_show(popup);
+ evas_object_del(data);
MGR_APP_END();
}
if (!strncmp(key, STR_START, strlen(key)) && !strncmp(val, STR_UNINSTALL, strlen(val))) {
ugd->uninstall = EINA_TRUE;
- _popup_progressbar_by_uninstall((void*)ugd);
} else if (!strncmp(key, STR_START, strlen(key)) && !strncmp(val, STR_INSTALL, strlen(val))) {
ugd->uninstall = EINA_FALSE;
+ } else if (!strncmp(key, STR_ERROR, strlen(key))) {
+ } else if (!strncmp(key, STR_END, strlen(key)) && !strncmp(val, STR_FAIL, strlen(val))) {
+ mgr_app_destroy_popup_progressbar();
+ mgr_app_create_popup_text_1button(ugd->win_main, "Uninstall failed", STR_POPUP_OK, _response_cb);
} else if (!strncmp(key, STR_END, strlen(key)) && !strncmp(val, STR_OK, strlen(val))) {
if (ugd->uninstall) {
+ mgr_app_destroy_popup_progressbar();
+ mgr_app_create_popup_text_1button(ugd->win_main, "Uninstall complete", STR_POPUP_OK, _response_cb);
_list_update_by_uninstall(pkg_type, pkg_name, (void*)ugd);
} else {
_list_update_by_install(pkg_type, pkg_name, (void*)ugd);