From 0728e2d7c3c70a13d2e88c54217380c80e6a826f Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Wed, 8 Jun 2016 15:24:43 +0900 Subject: [PATCH 01/16] coding rule Change-Id: I12352e6fca85a5059f04022cad98fe4101416f45 Signed-off-by: YoungHun Cho --- inc/add_widget_viewer/add_widget_data.h | 18 +- inc/apps_data.h | 42 +- inc/cluster_data.h | 20 +- inc/cluster_page.h | 20 +- inc/homescreen-efl.h | 16 +- inc/menu.h | 16 +- inc/mouse.h | 24 +- inc/page_indicator.h | 18 +- inc/popup.h | 2 +- inc/util.h | 6 +- inc/view.h | 12 +- res/edje/add_widget_viewer.edc | 522 +++--- res/edje/app_icon.edc | 978 +++++------ res/edje/apps_chooser_btn.edc | 326 ++-- res/edje/apps_folder_icon.edc | 548 +++--- res/edje/apps_folder_popup.edc | 390 ++--- res/edje/apps_view.edc | 282 ++-- res/edje/apps_view_bg.edc | 214 +-- res/edje/cluster_allpage.edc | 44 +- res/edje/cluster_allpage_thumbnail.edc | 438 ++--- res/edje/cluster_page.edc | 126 +- res/edje/home.edc | 34 +- res/edje/home_btn.edc | 514 +++--- res/edje/page_indicator_unit.edc | 172 +- res/edje/widget.edc | 318 ++-- src/add_widget_viewer/add_widget_data.c | 190 +-- src/add_widget_viewer/add_widget_viewer.c | 834 +++++----- src/apps_data.c | 568 +++---- src/apps_db.c | 562 +++---- src/apps_package_manager.c | 284 ++-- src/apps_view.c | 2576 ++++++++++++++--------------- src/cluster_data.c | 162 +- src/cluster_db.c | 350 ++-- src/cluster_page.c | 488 +++--- src/cluster_view.c | 2030 +++++++++++------------ src/conf.c | 16 +- src/homescreen-efl.c | 440 ++--- src/hw_key.c | 152 +- src/menu.c | 104 +- src/page_indicator.c | 300 ++-- src/popup.c | 118 +- src/util.c | 82 +- src/widget_viewer.c | 92 +- 43 files changed, 7223 insertions(+), 7225 deletions(-) diff --git a/inc/add_widget_viewer/add_widget_data.h b/inc/add_widget_viewer/add_widget_data.h index 763b56a..71cd47c 100755 --- a/inc/add_widget_viewer/add_widget_data.h +++ b/inc/add_widget_viewer/add_widget_data.h @@ -18,20 +18,20 @@ #define __ADD_WIDGET_DATA_H__ typedef struct { - char *widget_id; - char *app_id; - char *label; + char *widget_id; + char *app_id; + char *label; - Eina_List *preview_list; - Elm_Object_Item *genlist_item; + Eina_List *preview_list; + Elm_Object_Item *genlist_item; - int size_types_count; - int size_types; + int size_types_count; + int size_types; } add_widget_data_t; typedef struct { - int type; - char *path; + int type; + char *path; } add_widget_data_preview_t; bool add_widget_data_init(void); diff --git a/inc/apps_data.h b/inc/apps_data.h index 627f968..288188b 100755 --- a/inc/apps_data.h +++ b/inc/apps_data.h @@ -24,30 +24,30 @@ #define TEMP_OWNER "owner" typedef struct { - int db_id; - int parent_db_id; - char* owner; - Eina_Bool is_folder; - int position; - char* app_id; - char* pkg_id; - char* label_str; - char* icon_path_str; - char* uri; - int type; - bool is_removable; - bool is_system; - Evas_Object *app_layout; - Evas_Object *folder_layout; - unsigned int badge_count; - Eina_Bool is_checked; - bool temp; + int db_id; + int parent_db_id; + char* owner; + Eina_Bool is_folder; + int position; + char* app_id; + char* pkg_id; + char* label_str; + char* icon_path_str; + char* uri; + int type; + bool is_removable; + bool is_system; + Evas_Object *app_layout; + Evas_Object *folder_layout; + unsigned int badge_count; + Eina_Bool is_checked; + bool temp; } app_data_t; enum { - APPS_DATA_TYPE_APP = 0, - APPS_DATA_TYPE_APP_SHORTCUT, - APPS_DATA_TYPE_URI_SHORTCUT + APPS_DATA_TYPE_APP = 0, + APPS_DATA_TYPE_APP_SHORTCUT, + APPS_DATA_TYPE_URI_SHORTCUT }; void apps_data_init(void *data, Ecore_Thread *th); diff --git a/inc/cluster_data.h b/inc/cluster_data.h index 0a191ac..edf13f3 100755 --- a/inc/cluster_data.h +++ b/inc/cluster_data.h @@ -22,16 +22,16 @@ #include typedef struct { - int widget_id; - int page_idx; - int pos_y; - int pos_x; - char *pkg_name; - char *content_info; - widget_size_type_e type; - double period; - int allow_duplicate; - Evas_Object *widget_layout; + int widget_id; + int page_idx; + int pos_y; + int pos_x; + char *pkg_name; + char *content_info; + widget_size_type_e type; + double period; + int allow_duplicate; + Evas_Object *widget_layout; } widget_data_t; void cluster_data_init(void); diff --git a/inc/cluster_page.h b/inc/cluster_page.h index 2760527..c7205d5 100755 --- a/inc/cluster_page.h +++ b/inc/cluster_page.h @@ -23,17 +23,17 @@ #include "cluster_data.h" typedef struct { - int page_index; - Evas_Object *page_layout; - int space[CLUSTER_ROW][CLUSTER_COL]; + int page_index; + Evas_Object *page_layout; + int space[CLUSTER_ROW][CLUSTER_COL]; - Evas_Object *grid; - Evas_Object *thumbnail_ly; - Evas_Object *highlight; - int highlight_pos_x; - int highlight_pos_y; + Evas_Object *grid; + Evas_Object *thumbnail_ly; + Evas_Object *highlight; + int highlight_pos_x; + int highlight_pos_y; - Eina_List *widget_list; + Eina_List *widget_list; } cluster_page_t; cluster_page_t *cluster_page_new(Evas_Object* parent); @@ -41,7 +41,7 @@ void cluster_page_delete(cluster_page_t *page); bool cluster_page_set_widget(cluster_page_t *page, widget_data_t *item); bool cluster_page_unset(cluster_page_t *page, widget_data_t *item); bool cluster_page_check_empty_space(cluster_page_t *page, widget_size_type_e type, - int pos_x, int pos_y, int *empty_x, int *empty_y); + int pos_x, int pos_y, int *empty_x, int *empty_y); void cluster_page_check_empty_space_pos(cluster_page_t *page, widget_data_t *item, int *out_x, int *out_y); Evas_Object *cluster_page_thumbnail(cluster_page_t *page); void cluster_page_drag_cancel(cluster_page_t *page); diff --git a/inc/homescreen-efl.h b/inc/homescreen-efl.h index 2534331..cc8de26 100755 --- a/inc/homescreen-efl.h +++ b/inc/homescreen-efl.h @@ -25,14 +25,14 @@ #endif typedef enum { - HOMESCREEN_VIEW_HOME = 0, - //HOMESCREEN_VIEW_HOME_EDIT, - //HOMESCREEN_VIEW_HOME_ALL_PAGES, - //HOMESCREEN_VIEW_HOME_ADD_VIEWER, - HOMESCREEN_VIEW_APPS, - //HOMESCREEN_VIEW_APPS_EDIT, - //HOMESCREEN_VIEW_APPS_CHOOSE, - HOMESCREEN_VIEW_UNKNOWN, + HOMESCREEN_VIEW_HOME = 0, + //HOMESCREEN_VIEW_HOME_EDIT, + //HOMESCREEN_VIEW_HOME_ALL_PAGES, + //HOMESCREEN_VIEW_HOME_ADD_VIEWER, + HOMESCREEN_VIEW_APPS, + //HOMESCREEN_VIEW_APPS_EDIT, + //HOMESCREEN_VIEW_APPS_CHOOSE, + HOMESCREEN_VIEW_UNKNOWN, } homescreen_view_t; Evas_Object *homescreen_efl_get_win(void); diff --git a/inc/menu.h b/inc/menu.h index 2394da4..b956d48 100755 --- a/inc/menu.h +++ b/inc/menu.h @@ -21,14 +21,14 @@ #include typedef enum { - MENU_DEFAULT = -1, - MENU_CLUSTER_EDIT = 0, - MENU_CLUSTER_ADD_WIDGET, - MENU_CLUSTER_CHANGE_WALLPAPER, - MENU_CLUSTER_ALL_PAGES, - MENU_APPS_EDIT, - MENU_APPS_CREATE_FOLDER, - MENU_MAX + MENU_DEFAULT = -1, + MENU_CLUSTER_EDIT = 0, + MENU_CLUSTER_ADD_WIDGET, + MENU_CLUSTER_CHANGE_WALLPAPER, + MENU_CLUSTER_ALL_PAGES, + MENU_APPS_EDIT, + MENU_APPS_CREATE_FOLDER, + MENU_MAX } menu_item_t; void menu_show(Eina_Hash* hash_table); diff --git a/inc/mouse.h b/inc/mouse.h index 99e514b..95d2fe3 100755 --- a/inc/mouse.h +++ b/inc/mouse.h @@ -20,18 +20,18 @@ #define MOUSE_MOVE_MIN_DISTANCE 100 typedef struct { - bool pressed; - bool long_pressed; - Evas_Coord down_x; - Evas_Coord down_y; - Evas_Coord move_x; - Evas_Coord move_y; - Evas_Coord up_x; - Evas_Coord up_y; - int offset_x; - int offset_y; - Ecore_Timer *long_press_timer; - Evas_Object *pressed_obj; + bool pressed; + bool long_pressed; + Evas_Coord down_x; + Evas_Coord down_y; + Evas_Coord move_x; + Evas_Coord move_y; + Evas_Coord up_x; + Evas_Coord up_y; + int offset_x; + int offset_y; + Ecore_Timer *long_press_timer; + Evas_Object *pressed_obj; } mouse_info_t; #endif /* __MOUSE_H__ */ diff --git a/inc/page_indicator.h b/inc/page_indicator.h index fcbdaa4..bbfe4ed 100755 --- a/inc/page_indicator.h +++ b/inc/page_indicator.h @@ -23,16 +23,16 @@ #define PAGE_INDICATOR_MAX_PAGE_COUNT 7 typedef struct { - Evas_Object *scroller; - Evas_Object *box; - Evas_Object *unit[PAGE_INDICATOR_MAX_PAGE_COUNT]; + Evas_Object *scroller; + Evas_Object *box; + Evas_Object *unit[PAGE_INDICATOR_MAX_PAGE_COUNT]; - int page_count; - int x; - int y; - int w; - int h; - int current_page; + int page_count; + int x; + int y; + int w; + int h; + int current_page; } page_indicator_t; page_indicator_t * page_indictor_create(Evas_Object *scroller); diff --git a/inc/popup.h b/inc/popup.h index 7df99e4..41636f6 100755 --- a/inc/popup.h +++ b/inc/popup.h @@ -20,7 +20,7 @@ #include "conf.h" void popup_show(int btn_count, Evas_Smart_Cb btn_func[3], void *func_data[3], - const char (*btn_text)[STR_MAX], const char *title_text, const char *popup_text); + const char (*btn_text)[STR_MAX], const char *title_text, const char *popup_text); void popup_hide(void); bool popup_is_show(void); diff --git a/inc/util.h b/inc/util.h index 25828ec..70d6ba2 100755 --- a/inc/util.h +++ b/inc/util.h @@ -29,9 +29,9 @@ #define LOG_TAG "HOMESCREEN_EFL" #define LOG_(prio, tag, fmt, arg...) \ - ({ do { \ - dlog_print(prio, tag, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg);\ - } while (0); }) + ({ do { \ + dlog_print(prio, tag, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg);\ + } while (0); }) #define LOGD(format, arg...) LOG_(DLOG_DEBUG, LOG_TAG, format, ##arg) #define LOGI(format, arg...) LOG_(DLOG_INFO, LOG_TAG, format, ##arg) diff --git a/inc/view.h b/inc/view.h index b73b612..3c3692c 100755 --- a/inc/view.h +++ b/inc/view.h @@ -18,12 +18,12 @@ #define __VIEW_H__ typedef enum { - VIEW_STATE_NORMAL = 0, - VIEW_STATE_EDIT, - VIEW_STATE_CHOOSER, - VIEW_STATE_ADD_VIEWER, - VIEW_STATE_ALL_PAGE, - VIEW_STATE_UNKNOWN, + VIEW_STATE_NORMAL = 0, + VIEW_STATE_EDIT, + VIEW_STATE_CHOOSER, + VIEW_STATE_ADD_VIEWER, + VIEW_STATE_ALL_PAGE, + VIEW_STATE_UNKNOWN, } view_state_t; #endif /* __VIEW_H__ */ diff --git a/res/edje/add_widget_viewer.edc b/res/edje/add_widget_viewer.edc index 92233cc..0a52873 100755 --- a/res/edje/add_widget_viewer.edc +++ b/res/edje/add_widget_viewer.edc @@ -17,282 +17,282 @@ #include "../../inc/edc_conf.h" images { - image: "preview_bg_4x2.png" COMP; - image: "preview_bg_4x4.png" COMP; + image: "preview_bg_4x2.png" COMP; + image: "preview_bg_4x4.png" COMP; } styles { - style { - name: "leaf,font"; - base: "font=Tizen text_class=T024 font_size=38 align=left color=#808080FF color_class=T024 ellipsis=1.0"; - } + style { + name: "leaf,font"; + base: "font=Tizen text_class=T024 font_size=38 align=left color=#808080FF color_class=T024 ellipsis=1.0"; + } } collections { - group { - name: "elm/genlist/item/widget,leaf/default"; + group { + name: "elm/genlist/item/widget,leaf/default"; - data.item: "contents" "size_setter elm.icon"; - data.item: "texts" "elm.text"; + data.item: "contents" "size_setter elm.icon"; + data.item: "texts" "elm.text"; - parts { - part { - name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - } - } - part { - name: "elm.text"; - type: TEXTBLOCK; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { relative: 0.044 0.026; to: SIZE_SETTER; } - rel2 { relative: 0.894 0.159; to: SIZE_SETTER; } - align: 0.0 0.0; - text { style: "leaf,font"; } - } - } - part { - name: "elm.icon"; - type: SWALLOW; - mouse_events: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.044 0.180; to: SIZE_SETTER; } - rel2 { relative: 0.894 0.954; to: SIZE_SETTER; } - align: 0.0 0.0; - } - } - } - } + parts { + part { + name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + } + } + part { + name: "elm.text"; + type: TEXTBLOCK; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.044 0.026; to: SIZE_SETTER; } + rel2 { relative: 0.894 0.159; to: SIZE_SETTER; } + align: 0.0 0.0; + text { style: "leaf,font"; } + } + } + part { + name: "elm.icon"; + type: SWALLOW; + mouse_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.044 0.180; to: SIZE_SETTER; } + rel2 { relative: 0.894 0.954; to: SIZE_SETTER; } + align: 0.0 0.0; + } + } + } + } - group { - name: ADD_WIDGET_VIEWER_CONFORMANT_FRAME; - parts { - part { - name: "bg"; - type: RECT; - scale: 1; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - visible: 0; - } - } + group { + name: ADD_WIDGET_VIEWER_CONFORMANT_FRAME; + parts { + part { + name: "bg"; + type: RECT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + visible: 0; + } + } - part { - name: "content"; - type: SWALLOW; - mouse_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - } - } - } - } + part { + name: "content"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + } + } + } + } - group { - name: ADD_WIDGET_VIEWER_CONTENT_FRAME; - parts { - part { - name: "content"; - type: SWALLOW; - mouse_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - align: 0.0 0.0; - visible: 0; - } - description { - state: "show,normal" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } + group { + name: ADD_WIDGET_VIEWER_CONTENT_FRAME; + parts { + part { + name: "content"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + align: 0.0 0.0; + visible: 0; + } + description { + state: "show,normal" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } - part { - name: "index"; - type: SWALLOW; - mouse_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.00 0.0;} - rel2 { relative: 1.00 1.00; } - visible: 0; - } - description { - state: "show,normal" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } + part { + name: "index"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.00 0.0;} + rel2 { relative: 1.00 1.00; } + visible: 0; + } + description { + state: "show,normal" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } - part { - name: "loading"; - type: RECT; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { relative: 0.25 0.40; } - rel2 { relative: 0.75 0.60; } - color: 100 100 200 200; - visible: 0; - } + part { + name: "loading"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.25 0.40; } + rel2 { relative: 0.75 0.60; } + color: 100 100 200 200; + visible: 0; + } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } - part { - name: "loading,txt"; - type: TEXT; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "loading"; } - rel2 { relative: 1.0 1.0; to, "loading"; } - text { - font: "Tizen:style=Bold"; - text_class: "tizen"; - align: 0.5 0.5; - size: 26; - text: "Loading"; - } - visible: 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - } - programs { - program { - name: "loading,on"; - source: ADD_WIDGET_VIEWER_CONTENT_FRAME; - signal: "loading,on"; - action: STATE_SET "show" 0.0; - target: "loading"; - target: "loading,txt"; - } - program { - name: "loading,off"; - source: ADD_WIDGET_VIEWER_CONTENT_FRAME; - signal: "loading,off"; - action: STATE_SET "default" 0.0; - target: "loading"; - target: "loading,txt"; - } - program { - name: "show,normal"; - signal: "display,normal"; - source: "container"; - action: STATE_SET "show,normal" 0.0; - target: "content"; - } - program { - name: "show,normal,index"; - signal: "display,index"; - source: "container"; - action: STATE_SET "show,normal" 0.0; - target: "index"; - } - } - } + part { + name: "loading,txt"; + type: TEXT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to, "loading"; } + rel2 { relative: 1.0 1.0; to, "loading"; } + text { + font: "Tizen:style=Bold"; + text_class: "tizen"; + align: 0.5 0.5; + size: 26; + text: "Loading"; + } + visible: 0; + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program { + name: "loading,on"; + source: ADD_WIDGET_VIEWER_CONTENT_FRAME; + signal: "loading,on"; + action: STATE_SET "show" 0.0; + target: "loading"; + target: "loading,txt"; + } + program { + name: "loading,off"; + source: ADD_WIDGET_VIEWER_CONTENT_FRAME; + signal: "loading,off"; + action: STATE_SET "default" 0.0; + target: "loading"; + target: "loading,txt"; + } + program { + name: "show,normal"; + signal: "display,normal"; + source: "container"; + action: STATE_SET "show,normal" 0.0; + target: "content"; + } + program { + name: "show,normal,index"; + signal: "display,index"; + source: "container"; + action: STATE_SET "show,normal" 0.0; + target: "index"; + } + } + } - group { - name: ADD_WIDGET_VIEWER_PREVIEW; - parts { - part { - name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - } - } - part { - name: "bg"; - type: RECT; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to: SIZE_SETTER; } - rel2 { relative: 1.0 1.0; to: SIZE_SETTER; } - color: 61 185 204 178; - } - description { - state: "pressed" 0.0; - inherit: "default" 0.0; - color: 255 0 121 212; - } - } - part { - name: ADD_WIDGET_VIEWER_PREVIEW_ICON; - type: SWALLOW; - mouse_events: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to: SIZE_SETTER; } - rel2 { relative: 1.0 1.0; to: SIZE_SETTER; } - } - } - part { - name: "icon,touch"; - type: RECT; - mouse_events: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to: ADD_WIDGET_VIEWER_PREVIEW_ICON; } - rel2 { relative: 1.0 1.0; to: ADD_WIDGET_VIEWER_PREVIEW_ICON; } - color: 0 0 0 0; - } - } - } - programs { - program { - name: "icon,clicked"; - signal: "mouse,clicked,1"; - source: "icon,touch"; - action: SIGNAL_EMIT SIGNAL_PREVIEW_CLICKED SIGNAL_SOURCE; - } - program { - name: "icon,down"; - source: "icon,touch"; - signal: "mouse,down,1"; - action: STATE_SET "pressed" 0.0; - target: "bg"; - } - program { - name: "icon,up"; - source: "icon,touch"; - signal: "mouse,up,1"; - action: STATE_SET "default" 0.0; - target: "bg"; - } - } - } + group { + name: ADD_WIDGET_VIEWER_PREVIEW; + parts { + part { + name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + } + } + part { + name: "bg"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: SIZE_SETTER; } + rel2 { relative: 1.0 1.0; to: SIZE_SETTER; } + color: 61 185 204 178; + } + description { + state: "pressed" 0.0; + inherit: "default" 0.0; + color: 255 0 121 212; + } + } + part { + name: ADD_WIDGET_VIEWER_PREVIEW_ICON; + type: SWALLOW; + mouse_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: SIZE_SETTER; } + rel2 { relative: 1.0 1.0; to: SIZE_SETTER; } + } + } + part { + name: "icon,touch"; + type: RECT; + mouse_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: ADD_WIDGET_VIEWER_PREVIEW_ICON; } + rel2 { relative: 1.0 1.0; to: ADD_WIDGET_VIEWER_PREVIEW_ICON; } + color: 0 0 0 0; + } + } + } + programs { + program { + name: "icon,clicked"; + signal: "mouse,clicked,1"; + source: "icon,touch"; + action: SIGNAL_EMIT SIGNAL_PREVIEW_CLICKED SIGNAL_SOURCE; + } + program { + name: "icon,down"; + source: "icon,touch"; + signal: "mouse,down,1"; + action: STATE_SET "pressed" 0.0; + target: "bg"; + } + program { + name: "icon,up"; + source: "icon,touch"; + signal: "mouse,up,1"; + action: STATE_SET "default" 0.0; + target: "bg"; + } + } + } } diff --git a/res/edje/app_icon.edc b/res/edje/app_icon.edc index 9062ae1..aeca487 100755 --- a/res/edje/app_icon.edc +++ b/res/edje/app_icon.edc @@ -17,502 +17,502 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/app_press_117.png" COMP; - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; - image: "../res/images/icon_badge_container.png" COMP; - image: "../res/images/core_check_bg.png" COMP; - image: "../res/images/core_check_bg_stroke.png" COMP; - image: "../res/images/core_check_icon.png" COMP; - image: "../res/images/folder_appicon_bg.png" COMP; + image: "../res/images/app_press_117.png" COMP; + image: "../res/images/btn_delete_nor.png" COMP; + image: "../res/images/btn_delete_press.png" COMP; + image: "../res/images/icon_badge_container.png" COMP; + image: "../res/images/core_check_bg.png" COMP; + image: "../res/images/core_check_bg_stroke.png" COMP; + image: "../res/images/core_check_icon.png" COMP; + image: "../res/images/folder_appicon_bg.png" COMP; } styles { - style{ - name: "icon_label"; - base: "font=Tizen:style=Regular align=center color=#FFFFFFFF style=shadow,bottom shadow_color=#000000FF font_size=26 ellipsis=1.0 wrap=mixed"; - } - style{ - name: "icon_label_edit"; - base: "font=Tizen:style=Regular align=center color=#FFFFFFFF style=shadow,bottom shadow_color=#000000FF font_size=23 ellipsis=1.0 wrap=mixed"; - } + style{ + name: "icon_label"; + base: "font=Tizen:style=Regular align=center color=#FFFFFFFF style=shadow,bottom shadow_color=#000000FF font_size=26 ellipsis=1.0 wrap=mixed"; + } + style{ + name: "icon_label_edit"; + base: "font=Tizen:style=Regular align=center color=#FFFFFFFF style=shadow,bottom shadow_color=#000000FF font_size=23 ellipsis=1.0 wrap=mixed"; + } } collections { - group { name: GROUP_APP_ICON_LY; - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part { name: APPS_ICON_CONTENT; - type: SWALLOW; - description { - state: "default" 0.0; - rel1{relative: 0.16 0; to: SIZE_SETTER;} - rel2{relative: 0.84 0.6; to: SIZE_SETTER;} - align: 0.5 0.5; - fixed: 1 1; - } - } //APPS_ICON_CONTENT + group { name: GROUP_APP_ICON_LY; + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { name: APPS_ICON_CONTENT; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: 0.16 0; to: SIZE_SETTER;} + rel2{relative: 0.84 0.6; to: SIZE_SETTER;} + align: 0.5 0.5; + fixed: 1 1; + } + } //APPS_ICON_CONTENT - part { name: APPS_ICON_CONTENT_TOUCH; - type: IMAGE; - mouse_events: 1; - repeat_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;} - rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - color: 0 0 0 0; - image { - normal: "../res/images/app_press_117.png"; - } - } - description{ - state: "icon_touched" 0.0; - inherit: "default" 0.0; - color: 0 0 0 250; - } - } //APPS_ICON_CONTENT_TOUCH + part { name: APPS_ICON_CONTENT_TOUCH; + type: IMAGE; + mouse_events: 1; + repeat_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;} + rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + color: 0 0 0 0; + image { + normal: "../res/images/app_press_117.png"; + } + } + description{ + state: "icon_touched" 0.0; + inherit: "default" 0.0; + color: 0 0 0 250; + } + } //APPS_ICON_CONTENT_TOUCH - part { name: "app_icon_disable"; - type: IMAGE; - mouse_events: 1; - repeat_events: 0; - scale: 1; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;} - rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - color: 0 0 0 0; - image { - normal: "../res/images/folder_appicon_bg.png"; - } - visible: 0; - } - description{ - state: "disable" 0.0; - inherit: "default" 0.0; - color: 0 0 0 150; - visible: 1; - } - } //APPS_ICON_CONTENT_TOUCH + part { name: "app_icon_disable"; + type: IMAGE; + mouse_events: 1; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;} + rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + color: 0 0 0 0; + image { + normal: "../res/images/folder_appicon_bg.png"; + } + visible: 0; + } + description{ + state: "disable" 0.0; + inherit: "default" 0.0; + color: 0 0 0 150; + visible: 1; + } + } //APPS_ICON_CONTENT_TOUCH - part { name: APPS_ICON_NAME; - type: TEXTBLOCK; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - rel1{relative: 0.04 0.6; to: SIZE_SETTER;} - rel2{relative: 0.95 0.98; to: SIZE_SETTER;} - color: 255 255 255 255; - text { - style: "icon_label"; - align: 0.5 0.0; - } - } - description { - state: "disable" 0.0; - inherit: "default" 0.0; - color: 0 0 0 50; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - }//APPS_ICON_NAME - part - { - name: "icon_badge"; - type: IMAGE; - scale: 0; - description - { - state: "default" 0.0; - rel1{relative: 0.0 0.0; offset: -10 -1; to: APPS_ICON_BADGE_TEXT;} - rel2{relative: 1.0 1.0; offset: 13 1; to: APPS_ICON_BADGE_TEXT;} - visible: 0; - image - { - normal: "../res/images/icon_badge_container.png"; - } - } - description - { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part - { - name: APPS_ICON_BADGE_TEXT; - type: TEXT; - scale: 1; - description - { - state: "default" 0.0; - visible: 0; - fixed: 1 1; - color: 255 255 255 255; - rel1{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;} - rel2{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;} - align: 1.0 0.0; - text - { - font: "arial"; - size: 12; - text_class: "ATO002"; - min: 1 1; - max: 1 1; - } - } - description - { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { //APPS_ICON_UNINSTALL_BUTTON - name: APPS_ICON_UNINSTALL_BUTTON; - type: IMAGE; - scale: 0; - description { - state: "default" 0.0; - rel1{relative: 0.0 -0.1; to: SIZE_SETTER;} - rel2{relative: 0.4 0.4; to: SIZE_SETTER;} - color: 255 255 255 0; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/btn_delete_nor.png"; - } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - visible: 1; - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - image { - normal: "../res/images/btn_delete_press.png"; - } - visible: 1; - } - }//APPS_ICON_UNINSTALL_BUTTON + part { name: APPS_ICON_NAME; + type: TEXTBLOCK; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1{relative: 0.04 0.6; to: SIZE_SETTER;} + rel2{relative: 0.95 0.98; to: SIZE_SETTER;} + color: 255 255 255 255; + text { + style: "icon_label"; + align: 0.5 0.0; + } + } + description { + state: "disable" 0.0; + inherit: "default" 0.0; + color: 0 0 0 50; + } + description { + state: "hide" 0.0; + inherit: "default" 0.0; + visible: 0; + } + }//APPS_ICON_NAME + part + { + name: "icon_badge"; + type: IMAGE; + scale: 0; + description + { + state: "default" 0.0; + rel1{relative: 0.0 0.0; offset: -10 -1; to: APPS_ICON_BADGE_TEXT;} + rel2{relative: 1.0 1.0; offset: 13 1; to: APPS_ICON_BADGE_TEXT;} + visible: 0; + image + { + normal: "../res/images/icon_badge_container.png"; + } + } + description + { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part + { + name: APPS_ICON_BADGE_TEXT; + type: TEXT; + scale: 1; + description + { + state: "default" 0.0; + visible: 0; + fixed: 1 1; + color: 255 255 255 255; + rel1{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;} + rel2{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;} + align: 1.0 0.0; + text + { + font: "arial"; + size: 12; + text_class: "ATO002"; + min: 1 1; + max: 1 1; + } + } + description + { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { //APPS_ICON_UNINSTALL_BUTTON + name: APPS_ICON_UNINSTALL_BUTTON; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 -0.1; to: SIZE_SETTER;} + rel2{relative: 0.4 0.4; to: SIZE_SETTER;} + color: 255 255 255 0; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/btn_delete_nor.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../res/images/btn_delete_press.png"; + } + visible: 1; + } + }//APPS_ICON_UNINSTALL_BUTTON - part { //"icon_checkbox_bg"; - name: "icon_checkbox_bg"; - type: IMAGE; - scale: 0; - description { - state: "default" 0.0; - rel1{relative: 0.6 -0.1; to: APPS_ICON_CONTENT;} - rel2{relative: 1.1 0.4; to: APPS_ICON_CONTENT;} - color: 61 184 204 120; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/core_check_bg.png"; - } - } - description { - state: "blank" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "checked" 0.0; - inherit: "default" 0.0; - color: 61 184 204 120; - visible: 1; - } - }//"icon_checkbox_bg" - part { //"icon_checkbox_border"; - name: "icon_checkbox_border"; - type: IMAGE; - scale: 0; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";} - rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";} - color: 255 255 255 0; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/core_check_bg_stroke.png"; - } - } - description { - state: "blank" 0.0; - inherit: "default" 0.0; - color: 61 184 204 255; - visible: 1; - } - description { - state: "checked" 0.0; - inherit: "default" 0.0; - color: 61 184 204 120; - visible: 1; - } - }//"icon_checkbox_border" - part { //"icon_checkbox" - name: "icon_checkbox"; - type: IMAGE; - scale: 0; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";} - rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";} - color: 255 255 255 120; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/core_check_icon.png"; - } - } - description { - state: "blank" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "checked" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - visible: 1; - } - description { - state: "half-checked" 0.0; - inherit: "default" 0.0; - color: 255 255 255 127; - visible: 1; - } - } - part { - name: "icon_checkbox_touch"; - type:RECT; - scale:0; - mouse_events: 1; - repeat_events: 0; - description { - state: "default" 0.0; - rel1{relative: 0.0 -0.1; to: APPS_ICON_CONTENT;} - rel2{relative: 1.2 1.0; to: APPS_ICON_CONTENT;} - color: 255 255 255 0; - visible: 0; - } - description { - state: "blank" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "checked" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - } - programs { - program { - name: "icon_touch_program"; - signal: "mouse,down,1"; - source: APPS_ICON_CONTENT_TOUCH; - action: STATE_SET "icon_touched" 0.0; - target: APPS_ICON_CONTENT_TOUCH; - transition: LINEAR 0.1; - } - program { - name: "icon_touch_release_program"; - signal: "mouse,up,1"; - source: APPS_ICON_CONTENT_TOUCH; - action: STATE_SET "default" 0.0; - target: APPS_ICON_CONTENT_TOUCH; - transition: LINEAR 0.1; - } - program { - name: "uninstall_button_show_ani"; - signal: SIGNAL_UNINSTALL_BUTTON_SHOW_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "uninstall_button_show"; - signal: SIGNAL_UNINSTALL_BUTTON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - } - program { - name: "uninstall_button_hide_ani"; - signal: SIGNAL_UNINSTALL_BUTTON_HIDE_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "uninstall_button_hide"; - signal: SIGNAL_UNINSTALL_BUTTON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - } - program { - name: "uninstall_button_clicked"; - signal: "mouse,clicked,1"; - source: APPS_ICON_UNINSTALL_BUTTON; - action: SIGNAL_EMIT SIGNAL_UNINSTALL_BUTTON_CLICKED SIGNAL_SOURCE; - } - program { - name: "uninstall_button_mouse_down"; - signal: "mouse,down,1"; - source: APPS_ICON_UNINSTALL_BUTTON; - action: STATE_SET "press" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "uninstall_button_mouse_up"; - signal: "mouse,up,1"; - source: APPS_ICON_UNINSTALL_BUTTON; - action: STATE_SET "show" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program{ - name: "checkbox_show"; - signal:SIGNAL_CHOOSER_MODE_ON; - source:SIGNAL_SOURCE; - action:STATE_SET "blank" 0.0; - target:"icon_checkbox_bg"; - target:"icon_checkbox_border"; - target:"icon_checkbox_touch"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program{ - name: "checkbox_hide"; - signal:SIGNAL_CHOOSER_MODE_OFF; - source:SIGNAL_SOURCE; - action:STATE_SET "default" 0.0; - target:"icon_checkbox_bg"; - target:"icon_checkbox_border"; - target:"icon_checkbox"; - target:"icon_checkbox_touch"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program{ - name: "checkbox_show_folder"; - signal:SIGNAL_CHOOSER_MODE_ON_FOLDER; - source:SIGNAL_SOURCE; - action:STATE_SET "blank" 0.0; - target:"icon_checkbox_bg"; - target:"icon_checkbox_border"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - //Set default value of check box. - program{ - name: "checkbox_check"; - signal:SIGNAL_CHECK_CHECK_BOX; - source:SIGNAL_SOURCE; - action:STATE_SET "checked" 0.0; - target:"icon_checkbox"; - } - program{ - name: "checkbox_half_check"; - signal:SIGNAL_CHECK_HALF_CHECK_BOX; - source:SIGNAL_SOURCE; - action:STATE_SET "half-checked" 0.0; - target:"icon_checkbox"; - } - //Set default value of check box. - program{ - name: "checkbox_uncheck"; - signal:SIGNAL_UNCHECK_CHECK_BOX; - source:SIGNAL_SOURCE; - action:STATE_SET "blank" 0.0; - target:"icon_checkbox"; - } - program { - name: "checkbox_clicked"; - signal:"mouse,clicked,1"; - source:"icon_checkbox_touch"; - script { - emit(SIGNAL_CHANGED_CHECK_BOX, SIGNAL_SOURCE); //signal for C listener - } - } - program { - name: "icon_badge_show"; - signal: SIGNAL_BADGE_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: "icon_badge"; - target: APPS_ICON_BADGE_TEXT; - } - program { - name: "icon_badge_hide"; - signal: SIGNAL_BADGE_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: "icon_badge"; - target: APPS_ICON_BADGE_TEXT; - } - program { - name: "icon_disable"; - signal: SIGNAL_ICON_DISABLE; - source: SIGNAL_SOURCE; - action: STATE_SET "disable" 0.0; - target: "app_icon_disable"; - target: APPS_ICON_NAME; - } - program { - name: "icon_enable"; - signal: SIGNAL_ICON_ENABLE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_ICON_NAME; - target: "app_icon_disable"; - } - program { - name: "icon_picked"; - signal: SIGNAL_ICON_NAME_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: APPS_ICON_NAME; - } - program { - name: "icon_drop"; - signal: SIGNAL_ICON_NAME_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_ICON_NAME; - } - } - } + part { //"icon_checkbox_bg"; + name: "icon_checkbox_bg"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.6 -0.1; to: APPS_ICON_CONTENT;} + rel2{relative: 1.1 0.4; to: APPS_ICON_CONTENT;} + color: 61 184 204 120; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/core_check_bg.png"; + } + } + description { + state: "blank" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "checked" 0.0; + inherit: "default" 0.0; + color: 61 184 204 120; + visible: 1; + } + }//"icon_checkbox_bg" + part { //"icon_checkbox_border"; + name: "icon_checkbox_border"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";} + rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";} + color: 255 255 255 0; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/core_check_bg_stroke.png"; + } + } + description { + state: "blank" 0.0; + inherit: "default" 0.0; + color: 61 184 204 255; + visible: 1; + } + description { + state: "checked" 0.0; + inherit: "default" 0.0; + color: 61 184 204 120; + visible: 1; + } + }//"icon_checkbox_border" + part { //"icon_checkbox" + name: "icon_checkbox"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";} + rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";} + color: 255 255 255 120; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/core_check_icon.png"; + } + } + description { + state: "blank" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "checked" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "half-checked" 0.0; + inherit: "default" 0.0; + color: 255 255 255 127; + visible: 1; + } + } + part { + name: "icon_checkbox_touch"; + type:RECT; + scale:0; + mouse_events: 1; + repeat_events: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 -0.1; to: APPS_ICON_CONTENT;} + rel2{relative: 1.2 1.0; to: APPS_ICON_CONTENT;} + color: 255 255 255 0; + visible: 0; + } + description { + state: "blank" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "checked" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + name: "icon_touch_program"; + signal: "mouse,down,1"; + source: APPS_ICON_CONTENT_TOUCH; + action: STATE_SET "icon_touched" 0.0; + target: APPS_ICON_CONTENT_TOUCH; + transition: LINEAR 0.1; + } + program { + name: "icon_touch_release_program"; + signal: "mouse,up,1"; + source: APPS_ICON_CONTENT_TOUCH; + action: STATE_SET "default" 0.0; + target: APPS_ICON_CONTENT_TOUCH; + transition: LINEAR 0.1; + } + program { + name: "uninstall_button_show_ani"; + signal: SIGNAL_UNINSTALL_BUTTON_SHOW_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "uninstall_button_show"; + signal: SIGNAL_UNINSTALL_BUTTON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + } + program { + name: "uninstall_button_hide_ani"; + signal: SIGNAL_UNINSTALL_BUTTON_HIDE_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "uninstall_button_hide"; + signal: SIGNAL_UNINSTALL_BUTTON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + } + program { + name: "uninstall_button_clicked"; + signal: "mouse,clicked,1"; + source: APPS_ICON_UNINSTALL_BUTTON; + action: SIGNAL_EMIT SIGNAL_UNINSTALL_BUTTON_CLICKED SIGNAL_SOURCE; + } + program { + name: "uninstall_button_mouse_down"; + signal: "mouse,down,1"; + source: APPS_ICON_UNINSTALL_BUTTON; + action: STATE_SET "press" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "uninstall_button_mouse_up"; + signal: "mouse,up,1"; + source: APPS_ICON_UNINSTALL_BUTTON; + action: STATE_SET "show" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program{ + name: "checkbox_show"; + signal:SIGNAL_CHOOSER_MODE_ON; + source:SIGNAL_SOURCE; + action:STATE_SET "blank" 0.0; + target:"icon_checkbox_bg"; + target:"icon_checkbox_border"; + target:"icon_checkbox_touch"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program{ + name: "checkbox_hide"; + signal:SIGNAL_CHOOSER_MODE_OFF; + source:SIGNAL_SOURCE; + action:STATE_SET "default" 0.0; + target:"icon_checkbox_bg"; + target:"icon_checkbox_border"; + target:"icon_checkbox"; + target:"icon_checkbox_touch"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program{ + name: "checkbox_show_folder"; + signal:SIGNAL_CHOOSER_MODE_ON_FOLDER; + source:SIGNAL_SOURCE; + action:STATE_SET "blank" 0.0; + target:"icon_checkbox_bg"; + target:"icon_checkbox_border"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + //Set default value of check box. + program{ + name: "checkbox_check"; + signal:SIGNAL_CHECK_CHECK_BOX; + source:SIGNAL_SOURCE; + action:STATE_SET "checked" 0.0; + target:"icon_checkbox"; + } + program{ + name: "checkbox_half_check"; + signal:SIGNAL_CHECK_HALF_CHECK_BOX; + source:SIGNAL_SOURCE; + action:STATE_SET "half-checked" 0.0; + target:"icon_checkbox"; + } + //Set default value of check box. + program{ + name: "checkbox_uncheck"; + signal:SIGNAL_UNCHECK_CHECK_BOX; + source:SIGNAL_SOURCE; + action:STATE_SET "blank" 0.0; + target:"icon_checkbox"; + } + program { + name: "checkbox_clicked"; + signal:"mouse,clicked,1"; + source:"icon_checkbox_touch"; + script { + emit(SIGNAL_CHANGED_CHECK_BOX, SIGNAL_SOURCE); //signal for C listener + } + } + program { + name: "icon_badge_show"; + signal: SIGNAL_BADGE_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: "icon_badge"; + target: APPS_ICON_BADGE_TEXT; + } + program { + name: "icon_badge_hide"; + signal: SIGNAL_BADGE_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "icon_badge"; + target: APPS_ICON_BADGE_TEXT; + } + program { + name: "icon_disable"; + signal: SIGNAL_ICON_DISABLE; + source: SIGNAL_SOURCE; + action: STATE_SET "disable" 0.0; + target: "app_icon_disable"; + target: APPS_ICON_NAME; + } + program { + name: "icon_enable"; + signal: SIGNAL_ICON_ENABLE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_ICON_NAME; + target: "app_icon_disable"; + } + program { + name: "icon_picked"; + signal: SIGNAL_ICON_NAME_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: APPS_ICON_NAME; + } + program { + name: "icon_drop"; + signal: SIGNAL_ICON_NAME_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_ICON_NAME; + } + } + } } \ No newline at end of file diff --git a/res/edje/apps_chooser_btn.edc b/res/edje/apps_chooser_btn.edc index 642d888..523882c 100755 --- a/res/edje/apps_chooser_btn.edc +++ b/res/edje/apps_chooser_btn.edc @@ -17,167 +17,167 @@ #include "../../inc/edc_conf.h" collections { - images { - } - styles { - style{ - name: "label"; - base: "font=Tizen:style=Regular align=center color=#FFFFFFFF font_size=26 ellipsis=1.0"; - } - } - group { name: GROUP_APPS_CHOOSER_BTN_LY; - parts { - part { - name: "chooser_spacer"; - type: SPACER; - mouse_events: 0; - description { - state: "default" 0.0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 0.0625; - } - } - part { - name: APPS_CHOOSER_LEFT_LABEL; - type: TEXTBLOCK; - description - { - color: 255 255 255 255; - state: "default" 0.0; - visible: 0; - text - { - align: 0.25 0.90; - style: label; - text: "CANCEL"; - } - rel1 { relative: 0.0 0.0;to: "chooser_spacer"; } - rel2 { relative: 0.28 1.0;to: "chooser_spacer"; } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { - name: "chooser_left_clickable_space"; - type: RECT; - mouse_events: 1; - description - { - state: "default" 0.0; - color: 0 0 0 0; - visible: 0; - rel1 { relative: 0.0 0.0; to: APPS_CHOOSER_LEFT_LABEL; } - rel2 { relative: 1.0 1.5; to: APPS_CHOOSER_LEFT_LABEL; } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { - name: APPS_CHOOSER_MIDDLE_LABEL; - type: TEXTBLOCK; - description - { - state: "default" 0.0; - visible: 0; - color: 255 255 255 255; - text - { - align: 0.5 0.90; - text: "0 Selected"; - style: label; - } - rel1 { relative: 0.30 0.0;to: "chooser_spacer"; } - rel2 { relative: 0.70 1.0;to: "chooser_spacer"; } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { - name: APPS_CHOOSER_RIGHT_LABEL; - type: TEXTBLOCK; - description - { - state: "default" 0.0; - visible: 0; - color: 255 255 255 255; - text - { - align: (1.0 - 0.25) 0.90; - style: label; - text: "DONE"; - } - rel1 { relative: 0.72 0.0;to: "chooser_spacer"; } - rel2 { relative: 1.0 1.0;to: "chooser_spacer"; } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { - name: "chooser_right_clickable_space"; - type: RECT; - mouse_events: 1; - description - { - state: "default" 0.0; - visible: 0; - color: 0 0 0 0; - rel1 { relative: 0.0 0.0;to: APPS_CHOOSER_RIGHT_LABEL; } - rel2 { relative: 1.0 1.5;to: APPS_CHOOSER_RIGHT_LABEL; } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - } - programs { - program { - name: "chooser_btn_show"; - signal: SIGNAL_CHOOSER_BUTTON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: APPS_CHOOSER_LEFT_LABEL; - target: "chooser_left_clickable_space"; - target: APPS_CHOOSER_MIDDLE_LABEL; - target: APPS_CHOOSER_RIGHT_LABEL; - target: "chooser_right_clickable_space"; - } - program { - name: "chooser_btn_hide"; - signal: SIGNAL_CHOOSER_BUTTON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_CHOOSER_LEFT_LABEL; - target: "chooser_left_clickable_space"; - target: APPS_CHOOSER_MIDDLE_LABEL; - target: APPS_CHOOSER_RIGHT_LABEL; - target: "chooser_right_clickable_space"; - } - program { - name: "chooser_left_click"; - signal: "mouse,down,1"; - source: "chooser_left_clickable_space"; - action: SIGNAL_EMIT SIGNAL_CHOOSER_LEFT_BTN_CLICKED SIGNAL_SOURCE; - } - program { - name: "chooser_right_click"; - signal: "mouse,clicked,1"; - source: "chooser_right_clickable_space"; - action: SIGNAL_EMIT SIGNAL_CHOOSER_RIGHT_BTN_CLICKED SIGNAL_SOURCE; - } - } - } + images { + } + styles { + style{ + name: "label"; + base: "font=Tizen:style=Regular align=center color=#FFFFFFFF font_size=26 ellipsis=1.0"; + } + } + group { name: GROUP_APPS_CHOOSER_BTN_LY; + parts { + part { + name: "chooser_spacer"; + type: SPACER; + mouse_events: 0; + description { + state: "default" 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 0.0625; + } + } + part { + name: APPS_CHOOSER_LEFT_LABEL; + type: TEXTBLOCK; + description + { + color: 255 255 255 255; + state: "default" 0.0; + visible: 0; + text + { + align: 0.25 0.90; + style: label; + text: "CANCEL"; + } + rel1 { relative: 0.0 0.0;to: "chooser_spacer"; } + rel2 { relative: 0.28 1.0;to: "chooser_spacer"; } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "chooser_left_clickable_space"; + type: RECT; + mouse_events: 1; + description + { + state: "default" 0.0; + color: 0 0 0 0; + visible: 0; + rel1 { relative: 0.0 0.0; to: APPS_CHOOSER_LEFT_LABEL; } + rel2 { relative: 1.0 1.5; to: APPS_CHOOSER_LEFT_LABEL; } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: APPS_CHOOSER_MIDDLE_LABEL; + type: TEXTBLOCK; + description + { + state: "default" 0.0; + visible: 0; + color: 255 255 255 255; + text + { + align: 0.5 0.90; + text: "0 Selected"; + style: label; + } + rel1 { relative: 0.30 0.0;to: "chooser_spacer"; } + rel2 { relative: 0.70 1.0;to: "chooser_spacer"; } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: APPS_CHOOSER_RIGHT_LABEL; + type: TEXTBLOCK; + description + { + state: "default" 0.0; + visible: 0; + color: 255 255 255 255; + text + { + align: (1.0 - 0.25) 0.90; + style: label; + text: "DONE"; + } + rel1 { relative: 0.72 0.0;to: "chooser_spacer"; } + rel2 { relative: 1.0 1.0;to: "chooser_spacer"; } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "chooser_right_clickable_space"; + type: RECT; + mouse_events: 1; + description + { + state: "default" 0.0; + visible: 0; + color: 0 0 0 0; + rel1 { relative: 0.0 0.0;to: APPS_CHOOSER_RIGHT_LABEL; } + rel2 { relative: 1.0 1.5;to: APPS_CHOOSER_RIGHT_LABEL; } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + name: "chooser_btn_show"; + signal: SIGNAL_CHOOSER_BUTTON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: APPS_CHOOSER_LEFT_LABEL; + target: "chooser_left_clickable_space"; + target: APPS_CHOOSER_MIDDLE_LABEL; + target: APPS_CHOOSER_RIGHT_LABEL; + target: "chooser_right_clickable_space"; + } + program { + name: "chooser_btn_hide"; + signal: SIGNAL_CHOOSER_BUTTON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_CHOOSER_LEFT_LABEL; + target: "chooser_left_clickable_space"; + target: APPS_CHOOSER_MIDDLE_LABEL; + target: APPS_CHOOSER_RIGHT_LABEL; + target: "chooser_right_clickable_space"; + } + program { + name: "chooser_left_click"; + signal: "mouse,down,1"; + source: "chooser_left_clickable_space"; + action: SIGNAL_EMIT SIGNAL_CHOOSER_LEFT_BTN_CLICKED SIGNAL_SOURCE; + } + program { + name: "chooser_right_click"; + signal: "mouse,clicked,1"; + source: "chooser_right_clickable_space"; + action: SIGNAL_EMIT SIGNAL_CHOOSER_RIGHT_BTN_CLICKED SIGNAL_SOURCE; + } + } + } } \ No newline at end of file diff --git a/res/edje/apps_folder_icon.edc b/res/edje/apps_folder_icon.edc index 927f4be..734e532 100755 --- a/res/edje/apps_folder_icon.edc +++ b/res/edje/apps_folder_icon.edc @@ -17,284 +17,284 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/folder_appicon_bg.png" COMP; - image: "../res/images/folder_appicon_bg_possible.png" COMP; - image: "../res/images/folder_appicon_bg_impossible.png" COMP; - image: "../res/images/folder_appicon_empty_bg.png" COMP; + image: "../res/images/folder_appicon_bg.png" COMP; + image: "../res/images/folder_appicon_bg_possible.png" COMP; + image: "../res/images/folder_appicon_bg_impossible.png" COMP; + image: "../res/images/folder_appicon_empty_bg.png" COMP; } collections { - group { name: GROUP_FOLDER_ICON_LY; - parts { - part { - name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; } - rel2{relative: 1.0 1.0; } - align: 0.5 0.5; - } - } - part { - name: "folder_icon_bg_image"; - type: IMAGE; - mouse_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: SIZE_SETTER;} - rel2{relative: 1.0 1.0; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/folder_appicon_bg.png"; - } - } - } - part { - name: "folder_icon_image_possible"; - type: IMAGE; - mouse_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: SIZE_SETTER;} - rel2{relative: 1.0 1.0; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/folder_appicon_bg_possible.png"; - } - visible: 0; - } - description { - state: "frame_possible" 0.0; - inherit: "default" 0.0; - image { - normal: "../res/images/folder_appicon_bg_possible.png"; - } - visible: 1; - } - description { - state: "frame_impossible" 0.0; - inherit: "default" 0.0; - image { - normal: "../res/images/folder_appicon_bg_impossible.png"; - } - visible: 1; - } - } - part{ - name :"icon_0"; - type: SWALLOW; - description { - state: "default" 0.0; - rel1{relative: 0.185 0.185; to: SIZE_SETTER;} - rel2{relative: 0.485 0.485; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - visible: 0; - } - description { - state: "item_count_1" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_2" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_3" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_4" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part{ - name :"icon_1"; - type: SWALLOW; - description { - state: "default" 0.0; - rel1{relative: 0.515 0.185; to: SIZE_SETTER;} - rel2{relative: 0.815 0.485; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - visible: 0; - } + group { name: GROUP_FOLDER_ICON_LY; + parts { + part { + name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; } + rel2{relative: 1.0 1.0; } + align: 0.5 0.5; + } + } + part { + name: "folder_icon_bg_image"; + type: IMAGE; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: SIZE_SETTER;} + rel2{relative: 1.0 1.0; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/folder_appicon_bg.png"; + } + } + } + part { + name: "folder_icon_image_possible"; + type: IMAGE; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: SIZE_SETTER;} + rel2{relative: 1.0 1.0; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/folder_appicon_bg_possible.png"; + } + visible: 0; + } + description { + state: "frame_possible" 0.0; + inherit: "default" 0.0; + image { + normal: "../res/images/folder_appicon_bg_possible.png"; + } + visible: 1; + } + description { + state: "frame_impossible" 0.0; + inherit: "default" 0.0; + image { + normal: "../res/images/folder_appicon_bg_impossible.png"; + } + visible: 1; + } + } + part{ + name :"icon_0"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: 0.185 0.185; to: SIZE_SETTER;} + rel2{relative: 0.485 0.485; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + visible: 0; + } + description { + state: "item_count_1" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_2" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_3" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_4" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part{ + name :"icon_1"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: 0.515 0.185; to: SIZE_SETTER;} + rel2{relative: 0.815 0.485; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + visible: 0; + } - description { - state: "item_count_1" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_2" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_3" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_4" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part{ - name :"icon_2"; - type: SWALLOW; - description { - state: "default" 0.0; - rel1{relative: 0.185 0.515; to: SIZE_SETTER;} - rel2{relative: 0.485 0.815; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - visible: 0; - } - description { - state: "item_count_1" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_2" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_3" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_4" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part{ - name :"icon_3"; - type: SWALLOW; - description { - state: "default" 0.0; - rel1{relative: 0.515 0.515; to: SIZE_SETTER;} - rel2{relative: 0.815 0.815; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - visible: 0; - } - description { - state: "item_count_1" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_2" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_3" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_4" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - programs - { - program { - name: "set_item_count_1"; - signal: "set_item_count_1"; - source: SIGNAL_SOURCE; - action: STATE_SET "item_count_1" 0.0; - target: "icon_0"; - target: "icon_1"; - target: "icon_2"; - target: "icon_3"; - transition: DECELERATE 0.2; - } + description { + state: "item_count_1" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_2" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_3" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_4" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part{ + name :"icon_2"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: 0.185 0.515; to: SIZE_SETTER;} + rel2{relative: 0.485 0.815; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + visible: 0; + } + description { + state: "item_count_1" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_2" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_3" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_4" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part{ + name :"icon_3"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: 0.515 0.515; to: SIZE_SETTER;} + rel2{relative: 0.815 0.815; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + visible: 0; + } + description { + state: "item_count_1" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_2" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_3" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_4" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + programs + { + program { + name: "set_item_count_1"; + signal: "set_item_count_1"; + source: SIGNAL_SOURCE; + action: STATE_SET "item_count_1" 0.0; + target: "icon_0"; + target: "icon_1"; + target: "icon_2"; + target: "icon_3"; + transition: DECELERATE 0.2; + } - program { - name: "set_item_count_2"; - signal: "set_item_count_2"; - source: SIGNAL_SOURCE; - action: STATE_SET "item_count_2" 0.0; - target: "icon_0"; - target: "icon_1"; - target: "icon_2"; - target: "icon_3"; - transition: DECELERATE 0.2; - } + program { + name: "set_item_count_2"; + signal: "set_item_count_2"; + source: SIGNAL_SOURCE; + action: STATE_SET "item_count_2" 0.0; + target: "icon_0"; + target: "icon_1"; + target: "icon_2"; + target: "icon_3"; + transition: DECELERATE 0.2; + } - program { - name: "set_item_count_3"; - signal: "set_item_count_3"; - source: SIGNAL_SOURCE; - action: STATE_SET "item_count_3" 0.0; - target: "icon_0"; - target: "icon_1"; - target: "icon_2"; - target: "icon_3"; - transition: DECELERATE 0.2; - } - program { - name: "set_item_count_4"; - signal: "set_item_count_4"; - source: SIGNAL_SOURCE; - action: STATE_SET "item_count_4" 0.0; - target: "icon_0"; - target: "icon_1"; - target: "icon_2"; - target: "icon_3"; - transition: DECELERATE 0.2; - } - program { - name: "set_item_count_0"; - signal: "set_item_count_0"; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: "icon_0"; - target: "icon_1"; - target: "icon_2"; - target: "icon_3"; - } + program { + name: "set_item_count_3"; + signal: "set_item_count_3"; + source: SIGNAL_SOURCE; + action: STATE_SET "item_count_3" 0.0; + target: "icon_0"; + target: "icon_1"; + target: "icon_2"; + target: "icon_3"; + transition: DECELERATE 0.2; + } + program { + name: "set_item_count_4"; + signal: "set_item_count_4"; + source: SIGNAL_SOURCE; + action: STATE_SET "item_count_4" 0.0; + target: "icon_0"; + target: "icon_1"; + target: "icon_2"; + target: "icon_3"; + transition: DECELERATE 0.2; + } + program { + name: "set_item_count_0"; + signal: "set_item_count_0"; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "icon_0"; + target: "icon_1"; + target: "icon_2"; + target: "icon_3"; + } - program { - name: "show,bg,possible"; - signal: SIGNAL_FRAME_POSSIBLE_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "frame_possible" 0.0; - target: "folder_icon_image_possible"; - } - program { - name: "show,bg,impossible"; - signal: SIGNAL_FRAME_IMPOSSIBLE_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "frame_impossible" 0.0; - target: "folder_icon_image_possible"; - } - program { - name: "hide,bg,possible"; - signal: SIGNAL_FRAME_POSSIBLE_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: "folder_icon_image_possible"; - } - } - } + program { + name: "show,bg,possible"; + signal: SIGNAL_FRAME_POSSIBLE_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "frame_possible" 0.0; + target: "folder_icon_image_possible"; + } + program { + name: "show,bg,impossible"; + signal: SIGNAL_FRAME_IMPOSSIBLE_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "frame_impossible" 0.0; + target: "folder_icon_image_possible"; + } + program { + name: "hide,bg,possible"; + signal: SIGNAL_FRAME_POSSIBLE_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "folder_icon_image_possible"; + } + } + } } diff --git a/res/edje/apps_folder_popup.edc b/res/edje/apps_folder_popup.edc index 25ed671..5ce73f0 100755 --- a/res/edje/apps_folder_popup.edc +++ b/res/edje/apps_folder_popup.edc @@ -17,205 +17,205 @@ #include "../../inc/edc_conf.h" #define MAKE_TILE(num_x,num_y)\ - part{ name: "icon_"num_x"_"num_y;\ - type : SWALLOW;\ - description {\ - state : "default" 0.0;\ - fixed : 1 1;\ - rel1 {\ - relative: num_x/APPS_FOLDER_COL num_y/APPS_FOLDER_ROW;\ - to: APPS_FOLDER_CONTAINER;\ - }\ - rel2 {\ - relative :(num_x+1)/APPS_FOLDER_COL (num_y+1)/APPS_FOLDER_ROW;\ - to: APPS_FOLDER_CONTAINER;\ - }\ - align: 0.0 0.0;\ - }\ - } + part{ name: "icon_"num_x"_"num_y;\ + type : SWALLOW;\ + description {\ + state : "default" 0.0;\ + fixed : 1 1;\ + rel1 {\ + relative: num_x/APPS_FOLDER_COL num_y/APPS_FOLDER_ROW;\ + to: APPS_FOLDER_CONTAINER;\ + }\ + rel2 {\ + relative :(num_x+1)/APPS_FOLDER_COL (num_y+1)/APPS_FOLDER_ROW;\ + to: APPS_FOLDER_CONTAINER;\ + }\ + align: 0.0 0.0;\ + }\ + } images { - image: "../res/images/folder_popup_bg.png" COMP; - image: "../res/images/btn_add_nor.png" COMP; - image: "../res/images/btn_add_press.png" COMP; + image: "../res/images/folder_popup_bg.png" COMP; + image: "../res/images/btn_add_nor.png" COMP; + image: "../res/images/btn_add_press.png" COMP; } collections { - group { name: GROUP_APPS_FOLDER_POPUP_LY; - script { - public plus_x; - public plus_y; + group { name: GROUP_APPS_FOLDER_POPUP_LY; + script { + public plus_x; + public plus_y; - public message(Msg_Type:type, id, ...) { - if (type == MSG_FLOAT_SET) - { - set_float(plus_x, getfarg(2)); - set_float(plus_y, getfarg(3)); - send_message(type, id, getfarg(2), getfarg(3)); - } - } - } - parts { - part { name: SIZE_SETTER; - type: RECT; - mouse_events: 1; - repeat_events: 0; - description { - state: "default" 0.0; - align: 0.0 0.0; - color: 0 0 0 100; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part { name: APPS_FOLDER_BG; - type: IMAGE; - mouse_events: 1; - repeat_events: 0; - description { - state: "default" 0.0; - align: 0.0 0.0; - rel1 {relative: 0.04 0.2; to:SIZE_SETTER;} - rel2 {relative: 0.96 0.8; to:SIZE_SETTER;} - image { - normal: "../res/images/folder_popup_bg.png"; - border: 5 5 5 5; - } - color: 255 255 255 255; - } - } - part { name: APPS_FOLDER_TITLE; - type: SWALLOW; - mouse_events: 1; - repeat_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1 {relative: 0.08 0.02; to:APPS_FOLDER_BG;} - rel2 {relative: 0.92 0.12; to:APPS_FOLDER_BG;} - color: 255 255 255 255; - } - } - part { name: APPS_FOLDER_SEPARATOR; - type: RECT; - mouse_events: 1; - repeat_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1 {relative: 0.08 0.12; to:APPS_FOLDER_BG;} - rel2 {relative: 0.92 0.125; to:APPS_FOLDER_BG;} - color: 77 231 255 255; - } - } - part { name: APPS_FOLDER_CONTAINER; - type: SPACER; - mouse_events: 1; - repeat_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1 {relative: 0.08 0.15; to:APPS_FOLDER_BG;} - rel2 {relative: 0.92 0.96; to:APPS_FOLDER_BG;} - } - } - MAKE_TILE(0,0) - MAKE_TILE(1,0) - MAKE_TILE(2,0) - MAKE_TILE(0,1) - MAKE_TILE(1,1) - MAKE_TILE(2,1) - MAKE_TILE(0,2) - MAKE_TILE(1,2) - MAKE_TILE(2,2) - part { name: APPS_FOLDER_PLUS_ICON; - type: IMAGE; - mouse_events: 1; - repeat_events: 0; - description { state: "default" 0.0; - aspect: 1.0 1.0; - rel1 { - relative: (0 + 0.16 / APPS_FOLDER_COL) 0 ; - to: APPS_FOLDER_CONTAINER; - } - rel2 { - relative :(1 - 0.16)/APPS_FOLDER_COL (1 - 0.4)/APPS_FOLDER_ROW; - to: APPS_FOLDER_CONTAINER; - } - image { - normal: "../res/images/btn_add_nor.png"; - } - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - image { - normal: "../res/images/btn_add_press.png"; - } - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - } - programs { - program { - name:"bg_touched"; - signal: "mouse,clicked,1"; - source: SIZE_SETTER; - action: SIGNAL_EMIT SIGNAL_APPS_FOLDER_HIDE SIGNAL_SOURCE; - } - program { - name: "set_plus_btn"; - signal: SIGNAL_APPS_FOLDER_SET_PLUS_ICON; - source: SIGNAL_SOURCE; - script { - custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); - set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); - } - } - program { - name: "set_plus_btn_up"; - signal: "mouse,up,1"; - source: APPS_FOLDER_PLUS_ICON; - script { - custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); - set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); - } - } - program { - name: "set_plus_btn_down"; - signal: "mouse,down,1"; - source: APPS_FOLDER_PLUS_ICON; - script { - custom_state(PART:APPS_FOLDER_PLUS_ICON, "press", 0.0); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_press.png")); - set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); - } - } + public message(Msg_Type:type, id, ...) { + if (type == MSG_FLOAT_SET) + { + set_float(plus_x, getfarg(2)); + set_float(plus_y, getfarg(3)); + send_message(type, id, getfarg(2), getfarg(3)); + } + } + } + parts { + part { name: SIZE_SETTER; + type: RECT; + mouse_events: 1; + repeat_events: 0; + description { + state: "default" 0.0; + align: 0.0 0.0; + color: 0 0 0 100; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { name: APPS_FOLDER_BG; + type: IMAGE; + mouse_events: 1; + repeat_events: 0; + description { + state: "default" 0.0; + align: 0.0 0.0; + rel1 {relative: 0.04 0.2; to:SIZE_SETTER;} + rel2 {relative: 0.96 0.8; to:SIZE_SETTER;} + image { + normal: "../res/images/folder_popup_bg.png"; + border: 5 5 5 5; + } + color: 255 255 255 255; + } + } + part { name: APPS_FOLDER_TITLE; + type: SWALLOW; + mouse_events: 1; + repeat_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1 {relative: 0.08 0.02; to:APPS_FOLDER_BG;} + rel2 {relative: 0.92 0.12; to:APPS_FOLDER_BG;} + color: 255 255 255 255; + } + } + part { name: APPS_FOLDER_SEPARATOR; + type: RECT; + mouse_events: 1; + repeat_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1 {relative: 0.08 0.12; to:APPS_FOLDER_BG;} + rel2 {relative: 0.92 0.125; to:APPS_FOLDER_BG;} + color: 77 231 255 255; + } + } + part { name: APPS_FOLDER_CONTAINER; + type: SPACER; + mouse_events: 1; + repeat_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1 {relative: 0.08 0.15; to:APPS_FOLDER_BG;} + rel2 {relative: 0.92 0.96; to:APPS_FOLDER_BG;} + } + } + MAKE_TILE(0,0) + MAKE_TILE(1,0) + MAKE_TILE(2,0) + MAKE_TILE(0,1) + MAKE_TILE(1,1) + MAKE_TILE(2,1) + MAKE_TILE(0,2) + MAKE_TILE(1,2) + MAKE_TILE(2,2) + part { name: APPS_FOLDER_PLUS_ICON; + type: IMAGE; + mouse_events: 1; + repeat_events: 0; + description { state: "default" 0.0; + aspect: 1.0 1.0; + rel1 { + relative: (0 + 0.16 / APPS_FOLDER_COL) 0 ; + to: APPS_FOLDER_CONTAINER; + } + rel2 { + relative :(1 - 0.16)/APPS_FOLDER_COL (1 - 0.4)/APPS_FOLDER_ROW; + to: APPS_FOLDER_CONTAINER; + } + image { + normal: "../res/images/btn_add_nor.png"; + } + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + image { + normal: "../res/images/btn_add_press.png"; + } + } + description { + state: "hide" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program { + name:"bg_touched"; + signal: "mouse,clicked,1"; + source: SIZE_SETTER; + action: SIGNAL_EMIT SIGNAL_APPS_FOLDER_HIDE SIGNAL_SOURCE; + } + program { + name: "set_plus_btn"; + signal: SIGNAL_APPS_FOLDER_SET_PLUS_ICON; + source: SIGNAL_SOURCE; + script { + custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); + set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); + } + } + program { + name: "set_plus_btn_up"; + signal: "mouse,up,1"; + source: APPS_FOLDER_PLUS_ICON; + script { + custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); + set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); + } + } + program { + name: "set_plus_btn_down"; + signal: "mouse,down,1"; + source: APPS_FOLDER_PLUS_ICON; + script { + custom_state(PART:APPS_FOLDER_PLUS_ICON, "press", 0.0); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_press.png")); + set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); + } + } - program { - name: "set_plus_btn_clicked"; - signal: "mouse,clicked,1"; - source: APPS_FOLDER_PLUS_ICON; - action: SIGNAL_EMIT SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON SIGNAL_SOURCE; - } - program { - name: "hide_plus_icon"; - signal: SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON; - source: SIGNAL_SOURCE; - script { - custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_VISIBLE, 0); - set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); - } - } - } - } + program { + name: "set_plus_btn_clicked"; + signal: "mouse,clicked,1"; + source: APPS_FOLDER_PLUS_ICON; + action: SIGNAL_EMIT SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON SIGNAL_SOURCE; + } + program { + name: "hide_plus_icon"; + signal: SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON; + source: SIGNAL_SOURCE; + script { + custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_VISIBLE, 0); + set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); + } + } + } + } } \ No newline at end of file diff --git a/res/edje/apps_view.edc b/res/edje/apps_view.edc index 6ede61c..8eab85b 100755 --- a/res/edje/apps_view.edc +++ b/res/edje/apps_view.edc @@ -17,148 +17,146 @@ #include "../../inc/edc_conf.h" #define MAKE_TILE(num_x,num_y)\ - part{ name: "icon_"num_x"_"num_y;\ - type : SWALLOW;\ - description {\ - state : "default" 0.0;\ - fixed : 1 1;\ - rel1 {\ - relative :num_y/APPS_VIEW_COL num_x/APPS_VIEW_ROW ;\ - to: SIZE_SETTER;\ - }\ - rel2 {\ - relative :(num_y+1)/APPS_VIEW_COL (num_x+1)/APPS_VIEW_ROW ;\ - to: SIZE_SETTER;\ - }\ - align: 0.0 0.0;\ - }\ - description {\ - state: "edit" 0.0;\ - inherit: "default" 0.0;\ - rel1 {\ - relative :0.04+(num_y/APPS_VIEW_COL)*0.9 0.05+(num_x/APPS_VIEW_ROW)*0.9 ;\ - to: SIZE_SETTER;\ - }\ - rel2 {\ - relative :0.04+((num_y+1)/APPS_VIEW_COL)*0.9 0.05+((num_x+1)/APPS_VIEW_ROW)*0.09 ;\ - to: SIZE_SETTER;\ - };\ - }\ - } + part{ name: "icon_"num_x"_"num_y;\ + type : SWALLOW;\ + description {\ + state : "default" 0.0;\ + fixed : 1 1;\ + rel1 {\ + relative :num_y/APPS_VIEW_COL num_x/APPS_VIEW_ROW ;\ + to: SIZE_SETTER;\ + }\ + rel2 {\ + relative :(num_y+1)/APPS_VIEW_COL (num_x+1)/APPS_VIEW_ROW ;\ + to: SIZE_SETTER;\ + }\ + align: 0.0 0.0;\ + }\ + description {\ + state: "edit" 0.0;\ + inherit: "default" 0.0;\ + rel1 {\ + relative :0.04+(num_y/APPS_VIEW_COL)*0.9 0.05+(num_x/APPS_VIEW_ROW)*0.9 ;\ + to: SIZE_SETTER;\ + }\ + rel2 {\ + relative :0.04+((num_y+1)/APPS_VIEW_COL)*0.9 0.05+((num_x+1)/APPS_VIEW_ROW)*0.09 ;\ + to: SIZE_SETTER;\ + };\ + }\ + } collections { - images { - } - group { name: GROUP_APPS_LY; - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 0.0 0.0; - } - } - part { name: APPS_VIEW_BG; - type: RECT; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0 0; - rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} - rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} - color: 0 0 0 0; - visible: 0; - } - description { - state: "edit_done" 0.0; - inherit: "default" 0.0; - rel1 {relative :0.05 0.05; to: SIZE_SETTER;} - rel2 {relative :0.95 0.95; to: SIZE_SETTER;} - color: 0 0 0 APPS_VIEW_BG_OPACITY; - visible: 1; - } - } - part { name: APPS_VIEW_GRID; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0 0; - rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} - rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} - } - description { - state: "edit" 0.0; - inherit: "default" 0.0; - rel1 {relative :0.05 0.05; to: SIZE_SETTER;} - rel2 {relative :0.95 0.95; to: SIZE_SETTER;} - } - } - } - programs { - program { - name: "bg_edit_mode_on_ani"; - signal: SIGNAL_EDIT_MODE_ON_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: APPS_VIEW_GRID; - transition: DECELERATE ANIMATION_RESIZE_TIME; - after: bg_edit_mode_on_ani_done; - } - - program { - name: "bg_edit_mode_on"; - signal: SIGNAL_EDIT_MODE_ON; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: APPS_VIEW_GRID; - after: bg_edit_mode_on_ani_done; - } - program { - name: "bg_edit_mode_on_ani_done"; - signal: SIGNAL_EDIT_MODE_ON_ANI_DONE; - source: SIGNAL_SOURCE; - action: STATE_SET "edit_done" 0.0; - target: APPS_VIEW_BG; - } - - program { - name: "bg_edit_mode_off_ani"; - signal: SIGNAL_EDIT_MODE_OFF_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_VIEW_BG; - after: "bg_edit_mode_off2_ani"; - } - program { - name: "bg_edit_mode_off"; - signal: SIGNAL_EDIT_MODE_OFF; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_VIEW_BG; - after: "bg_edit_mode_off2"; - } - program { - name: "bg_edit_mode_off2_ani"; - signal: "bg_edit_mode_off2_ani"; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_VIEW_GRID; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "bg_edit_mode_off2"; - signal: "bg_edit_mode_off2"; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_VIEW_GRID; - } - } - } + images { + } + group { name: GROUP_APPS_LY; + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 0.0; + } + } + part { name: APPS_VIEW_BG; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0 0; + rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} + rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} + color: 0 0 0 0; + visible: 0; + } + description { + state: "edit_done" 0.0; + inherit: "default" 0.0; + rel1 {relative :0.05 0.05; to: SIZE_SETTER;} + rel2 {relative :0.95 0.95; to: SIZE_SETTER;} + color: 0 0 0 APPS_VIEW_BG_OPACITY; + visible: 1; + } + } + part { name: APPS_VIEW_GRID; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0 0; + rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} + rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + rel1 {relative :0.05 0.05; to: SIZE_SETTER;} + rel2 {relative :0.95 0.95; to: SIZE_SETTER;} + } + } + } + programs { + program { + name: "bg_edit_mode_on_ani"; + signal: SIGNAL_EDIT_MODE_ON_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: APPS_VIEW_GRID; + transition: DECELERATE ANIMATION_RESIZE_TIME; + after: bg_edit_mode_on_ani_done; + } + program { + name: "bg_edit_mode_on"; + signal: SIGNAL_EDIT_MODE_ON; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: APPS_VIEW_GRID; + after: bg_edit_mode_on_ani_done; + } + program { + name: "bg_edit_mode_on_ani_done"; + signal: SIGNAL_EDIT_MODE_ON_ANI_DONE; + source: SIGNAL_SOURCE; + action: STATE_SET "edit_done" 0.0; + target: APPS_VIEW_BG; + } + program { + name: "bg_edit_mode_off_ani"; + signal: SIGNAL_EDIT_MODE_OFF_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_VIEW_BG; + after: "bg_edit_mode_off2_ani"; + } + program { + name: "bg_edit_mode_off"; + signal: SIGNAL_EDIT_MODE_OFF; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_VIEW_BG; + after: "bg_edit_mode_off2"; + } + program { + name: "bg_edit_mode_off2_ani"; + signal: "bg_edit_mode_off2_ani"; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_VIEW_GRID; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "bg_edit_mode_off2"; + signal: "bg_edit_mode_off2"; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_VIEW_GRID; + } + } + } } \ No newline at end of file diff --git a/res/edje/apps_view_bg.edc b/res/edje/apps_view_bg.edc index cbb1d20..1bed222 100755 --- a/res/edje/apps_view_bg.edc +++ b/res/edje/apps_view_bg.edc @@ -17,112 +17,112 @@ #include "../../inc/edc_conf.h" collections { - group { name: GROUP_APPS_BG_LY; - script { - public alpha; + group { name: GROUP_APPS_BG_LY; + script { + public alpha; - public message(Msg_Type:type, id, ...) { - if (type == MSG_FLOAT_SET) - { - set_float(alpha, getfarg(2)); - send_message(type, id, getfarg(2)); - } - } - } - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - rel1.relative: 0.0 0.0; - rel2.relative: 0.0 0.0; - visible: 1; - } - } - part { name: APPS_VIEW_BG; - type: RECT; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - color: 0 0 0 APPS_VIEW_BG_OPACITY; - rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} - rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} - visible: 0; - } - description { - state: "edit" 0.0; - inherit: "default" 0.0; - visible: 1; - rel1 {relative: 0.052 0.1; to:SIZE_SETTER;} - rel2 {relative: 0.95 0.845; to:SIZE_SETTER;} - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - } - programs { - program { - name: "apps_bg_hide"; - signal: SIGNAL_APPS_VIEW_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: APPS_VIEW_BG; - } - program { - name: "apps_bg_show"; - signal: SIGNAL_APPS_VIEW_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: APPS_VIEW_BG; - } - program { - name: "rotation,changed"; - signal: SIGNAL_APPS_VIEW_ANIM; - source: SIGNAL_SOURCE; - script { - custom_state(PART:APPS_VIEW_BG, "show", 0.0); - set_state_val(PART:APPS_VIEW_BG, STATE_COLOR, 0, 0, 0, round(get_float(alpha))); - set_state(PART:APPS_VIEW_BG, "custom", 0.0); - } - } - program { - name: "bg_edit_mode_on"; - signal: SIGNAL_EDIT_MODE_ON_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: APPS_VIEW_BG; - transition: DECELERATE ANIMATION_RESIZE_TIME; - after: SIGNAL_APPS_VIEW_HIDE; - } - program { - name: "bg_edit_mode_off"; - signal: SIGNAL_EDIT_MODE_OFF_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: APPS_VIEW_BG; - after: "bg_edit_mode_off2"; - } - program { - name: "bg_edit_mode_off2"; - signal: "bg_edit_mode_off2"; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: APPS_VIEW_BG; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - } - } + public message(Msg_Type:type, id, ...) { + if (type == MSG_FLOAT_SET) + { + set_float(alpha, getfarg(2)); + send_message(type, id, getfarg(2)); + } + } + } + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0.0 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 0.0; + visible: 1; + } + } + part { name: APPS_VIEW_BG; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0.0 0.0; + color: 0 0 0 APPS_VIEW_BG_OPACITY; + rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} + rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} + visible: 0; + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + visible: 1; + rel1 {relative: 0.052 0.1; to:SIZE_SETTER;} + rel2 {relative: 0.95 0.845; to:SIZE_SETTER;} + } + description { + state: "hide" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + name: "apps_bg_hide"; + signal: SIGNAL_APPS_VIEW_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: APPS_VIEW_BG; + } + program { + name: "apps_bg_show"; + signal: SIGNAL_APPS_VIEW_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: APPS_VIEW_BG; + } + program { + name: "rotation,changed"; + signal: SIGNAL_APPS_VIEW_ANIM; + source: SIGNAL_SOURCE; + script { + custom_state(PART:APPS_VIEW_BG, "show", 0.0); + set_state_val(PART:APPS_VIEW_BG, STATE_COLOR, 0, 0, 0, round(get_float(alpha))); + set_state(PART:APPS_VIEW_BG, "custom", 0.0); + } + } + program { + name: "bg_edit_mode_on"; + signal: SIGNAL_EDIT_MODE_ON_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: APPS_VIEW_BG; + transition: DECELERATE ANIMATION_RESIZE_TIME; + after: SIGNAL_APPS_VIEW_HIDE; + } + program { + name: "bg_edit_mode_off"; + signal: SIGNAL_EDIT_MODE_OFF_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: APPS_VIEW_BG; + after: "bg_edit_mode_off2"; + } + program { + name: "bg_edit_mode_off2"; + signal: "bg_edit_mode_off2"; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: APPS_VIEW_BG; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + } + } } \ No newline at end of file diff --git a/res/edje/cluster_allpage.edc b/res/edje/cluster_allpage.edc index 2bae1b7..6980a5b 100755 --- a/res/edje/cluster_allpage.edc +++ b/res/edje/cluster_allpage.edc @@ -16,26 +16,26 @@ #include "../../inc/edc_conf.h" collections { - group { name: GROUP_CLUSTER_ALLPAGE_LY; - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part { name: CLUSTER_ALLPAGE_GRID; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1{relative: 0.0 0.0; to: SIZE_SETTER;} - rel2{relative: 1.0 1.0; to: SIZE_SETTER;} - } - } - } - } + group { name: GROUP_CLUSTER_ALLPAGE_LY; + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { name: CLUSTER_ALLPAGE_GRID; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1{relative: 0.0 0.0; to: SIZE_SETTER;} + rel2{relative: 1.0 1.0; to: SIZE_SETTER;} + } + } + } + } } \ No newline at end of file diff --git a/res/edje/cluster_allpage_thumbnail.edc b/res/edje/cluster_allpage_thumbnail.edc index 1ed1f04..64296dc 100755 --- a/res/edje/cluster_allpage_thumbnail.edc +++ b/res/edje/cluster_allpage_thumbnail.edc @@ -17,223 +17,223 @@ #include "../../inc/edc_conf.h" collections { - images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; - image: "../res/images/all_page_add.png" COMP; - image: "../res/images/all_page_add_press.png" COMP; - image: "../res/images/all_page_drag.png" COMP; - } - group { name: GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY; - parts { - part { name: "bg"; - type: RECT; - description { - state: "default" 0.0; - align: 0 0; - color: 0 0 0 50; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - color: 0 0 0 0; - visible: 0; - } - } - part { name: CLUSTER_ALLPAGE_ADD_BUTTON; - type: IMAGE; - description { - state: "default" 0.0; - rel1{relative: 0.375 0.375; to: "bg";} - rel2{relative: 0.625 0.625; to: "bg";} - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/all_page_add.png"; - } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - visible: 1; - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - image { - normal: "../res/images/all_page_add_press.png"; - } - visible: 1; - } - } - part { name: "cluster_allpage_add_button_touch_rect"; - type: RECT; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: "bg";} - rel2{relative: 1.0 1.0; to: "bg";} - visible: 0; - color: 0 0 0 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { name: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part { name: CLUSTER_ALLPAGE_DRAG_IMAGE; - type: IMAGE; - description { - state: "default" 0.0; - rel1{relative: -0.03 -0.03; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} - rel2{relative: 1.03 1.03; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} - color: 255 255 255 150; - visible: 0; - image { - normal: "../res/images/all_page_drag.png"; - } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { - name: CLUSTER_ALLPAGE_DELETE_BUTTON; - type: IMAGE; - description { - state: "default" 0.0; - rel1{relative: 0.031 0.031; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} - rel2{relative: 0.218 0.218; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} - color: 255 255 255 0; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/btn_delete_nor.png"; - } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - visible: 1; - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - image { - normal: "../res/images/btn_delete_press.png"; - } - visible: 1; - } - } - } - programs { - program { - name: "delete_button_clicked"; - signal: "mouse,clicked,1"; - source: CLUSTER_ALLPAGE_DELETE_BUTTON; - action: SIGNAL_EMIT SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED SIGNAL_SOURCE; - } - program { - name: "delete_button_mouse_down"; - signal: "mouse,down,1"; - source: CLUSTER_ALLPAGE_DELETE_BUTTON; - action: STATE_SET "press" 0.0; - target: CLUSTER_ALLPAGE_DELETE_BUTTON; - } - program { - name: "delete_button_mouse_up"; - signal: "mouse,up,1"; - source: CLUSTER_ALLPAGE_DELETE_BUTTON; - action: STATE_SET "show" 0.0; - target: CLUSTER_ALLPAGE_DELETE_BUTTON; - } - program { - name: "delete_button_show"; - signal: SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: CLUSTER_ALLPAGE_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "delete_button_hide"; - signal: SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: CLUSTER_ALLPAGE_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "add_button_clicked"; - signal: "mouse,clicked,1"; - source: "cluster_allpage_add_button_touch_rect"; - action: SIGNAL_EMIT SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED SIGNAL_SOURCE; - } - program { - name: "add_button_mouse_down"; - signal: "mouse,down,1"; - source: "cluster_allpage_add_button_touch_rect"; - action: STATE_SET "press" 0.0; - target: CLUSTER_ALLPAGE_ADD_BUTTON; - } - program { - name: "add_button_mouse_up"; - signal: "mouse,up,1"; - source: "cluster_allpage_add_button_touch_rect"; - action: STATE_SET "show" 0.0; - target: CLUSTER_ALLPAGE_ADD_BUTTON; - } - program { - name: "add_button_show"; - signal: SIGNAL_ALLPAGE_ADD_BUTTON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: CLUSTER_ALLPAGE_ADD_BUTTON; - target: "cluster_allpage_add_button_touch_rect"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "add_button_hide"; - signal: SIGNAL_ALLPAGE_ADD_BUTTON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: CLUSTER_ALLPAGE_ADD_BUTTON; - target: "cluster_allpage_add_button_touch_rect"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "drag_show"; - signal: SIGNAL_ALLPAGE_DRAG_BG_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: CLUSTER_ALLPAGE_DRAG_IMAGE; - } - program { - name: "drag_hide"; - signal: SIGNAL_ALLPAGE_DRAG_BG_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: CLUSTER_ALLPAGE_DRAG_IMAGE; - } - } - } + images { + image: "../res/images/btn_delete_nor.png" COMP; + image: "../res/images/btn_delete_press.png" COMP; + image: "../res/images/all_page_add.png" COMP; + image: "../res/images/all_page_add_press.png" COMP; + image: "../res/images/all_page_drag.png" COMP; + } + group { name: GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY; + parts { + part { name: "bg"; + type: RECT; + description { + state: "default" 0.0; + align: 0 0; + color: 0 0 0 50; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + description { + state: "hide" 0.0; + inherit: "default" 0.0; + color: 0 0 0 0; + visible: 0; + } + } + part { name: CLUSTER_ALLPAGE_ADD_BUTTON; + type: IMAGE; + description { + state: "default" 0.0; + rel1{relative: 0.375 0.375; to: "bg";} + rel2{relative: 0.625 0.625; to: "bg";} + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/all_page_add.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../res/images/all_page_add_press.png"; + } + visible: 1; + } + } + part { name: "cluster_allpage_add_button_touch_rect"; + type: RECT; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "bg";} + rel2{relative: 1.0 1.0; to: "bg";} + visible: 0; + color: 0 0 0 0; + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { name: CLUSTER_ALLPAGE_DRAG_IMAGE; + type: IMAGE; + description { + state: "default" 0.0; + rel1{relative: -0.03 -0.03; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} + rel2{relative: 1.03 1.03; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} + color: 255 255 255 150; + visible: 0; + image { + normal: "../res/images/all_page_drag.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: CLUSTER_ALLPAGE_DELETE_BUTTON; + type: IMAGE; + description { + state: "default" 0.0; + rel1{relative: 0.031 0.031; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} + rel2{relative: 0.218 0.218; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} + color: 255 255 255 0; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/btn_delete_nor.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../res/images/btn_delete_press.png"; + } + visible: 1; + } + } + } + programs { + program { + name: "delete_button_clicked"; + signal: "mouse,clicked,1"; + source: CLUSTER_ALLPAGE_DELETE_BUTTON; + action: SIGNAL_EMIT SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED SIGNAL_SOURCE; + } + program { + name: "delete_button_mouse_down"; + signal: "mouse,down,1"; + source: CLUSTER_ALLPAGE_DELETE_BUTTON; + action: STATE_SET "press" 0.0; + target: CLUSTER_ALLPAGE_DELETE_BUTTON; + } + program { + name: "delete_button_mouse_up"; + signal: "mouse,up,1"; + source: CLUSTER_ALLPAGE_DELETE_BUTTON; + action: STATE_SET "show" 0.0; + target: CLUSTER_ALLPAGE_DELETE_BUTTON; + } + program { + name: "delete_button_show"; + signal: SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: CLUSTER_ALLPAGE_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "delete_button_hide"; + signal: SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: CLUSTER_ALLPAGE_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "add_button_clicked"; + signal: "mouse,clicked,1"; + source: "cluster_allpage_add_button_touch_rect"; + action: SIGNAL_EMIT SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED SIGNAL_SOURCE; + } + program { + name: "add_button_mouse_down"; + signal: "mouse,down,1"; + source: "cluster_allpage_add_button_touch_rect"; + action: STATE_SET "press" 0.0; + target: CLUSTER_ALLPAGE_ADD_BUTTON; + } + program { + name: "add_button_mouse_up"; + signal: "mouse,up,1"; + source: "cluster_allpage_add_button_touch_rect"; + action: STATE_SET "show" 0.0; + target: CLUSTER_ALLPAGE_ADD_BUTTON; + } + program { + name: "add_button_show"; + signal: SIGNAL_ALLPAGE_ADD_BUTTON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: CLUSTER_ALLPAGE_ADD_BUTTON; + target: "cluster_allpage_add_button_touch_rect"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "add_button_hide"; + signal: SIGNAL_ALLPAGE_ADD_BUTTON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: CLUSTER_ALLPAGE_ADD_BUTTON; + target: "cluster_allpage_add_button_touch_rect"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "drag_show"; + signal: SIGNAL_ALLPAGE_DRAG_BG_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: CLUSTER_ALLPAGE_DRAG_IMAGE; + } + program { + name: "drag_hide"; + signal: SIGNAL_ALLPAGE_DRAG_BG_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: CLUSTER_ALLPAGE_DRAG_IMAGE; + } + } + } } \ No newline at end of file diff --git a/res/edje/cluster_page.edc b/res/edje/cluster_page.edc index 8512f37..fb619fb 100755 --- a/res/edje/cluster_page.edc +++ b/res/edje/cluster_page.edc @@ -17,67 +17,67 @@ #include "../../inc/edc_conf.h" collections { - images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; - } - group { name: GROUP_CLUSTER_PAGE_LY; - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part { name: CLUSTER_BG; - type: RECT; - description { - state: "default" 0.0; - align: 0 0; - visible: 0; - color : 0 0 0 0; - rel1{relative: 0.0 0.0; to: SIZE_SETTER;} - rel2{relative: 1.0 1.0; to: SIZE_SETTER;} - } - description { - state: "edit" 0.0; - inherit: "default" 0.0; - color : 0 0 0 50; - visible: 1; - rel1{relative: 0.05 0.05; to: SIZE_SETTER;} - rel2{relative: 0.95 0.95; to: SIZE_SETTER;} - } - } - part { name: CLUSTER_BOX; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1{relative: 0.0 0.0; to: CLUSTER_BG;} - rel2{relative: 1.0 1.0; to: CLUSTER_BG;} - } - } - } - programs { - program { - name: "edit_mode_on"; - signal: SIGNAL_EDIT_MODE_ON; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: CLUSTER_BG; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "edit_mode_off"; - signal: SIGNAL_EDIT_MODE_OFF; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: CLUSTER_BG; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - } - } + images { + image: "../res/images/btn_delete_nor.png" COMP; + image: "../res/images/btn_delete_press.png" COMP; + } + group { name: GROUP_CLUSTER_PAGE_LY; + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { name: CLUSTER_BG; + type: RECT; + description { + state: "default" 0.0; + align: 0 0; + visible: 0; + color : 0 0 0 0; + rel1{relative: 0.0 0.0; to: SIZE_SETTER;} + rel2{relative: 1.0 1.0; to: SIZE_SETTER;} + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + color : 0 0 0 50; + visible: 1; + rel1{relative: 0.05 0.05; to: SIZE_SETTER;} + rel2{relative: 0.95 0.95; to: SIZE_SETTER;} + } + } + part { name: CLUSTER_BOX; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1{relative: 0.0 0.0; to: CLUSTER_BG;} + rel2{relative: 1.0 1.0; to: CLUSTER_BG;} + } + } + } + programs { + program { + name: "edit_mode_on"; + signal: SIGNAL_EDIT_MODE_ON; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: CLUSTER_BG; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "edit_mode_off"; + signal: SIGNAL_EDIT_MODE_OFF; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: CLUSTER_BG; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + } + } } \ No newline at end of file diff --git a/res/edje/home.edc b/res/edje/home.edc index 5398e9b..16fdc93 100755 --- a/res/edje/home.edc +++ b/res/edje/home.edc @@ -17,21 +17,21 @@ #include "../../inc/edc_conf.h" collections { - images { - } - group { name: GROUP_HOME_LY; - parts { - part { name: HOME_BG; - type: SWALLOW; - scale: 1; - description { state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 0.0 0.0; - } - } - } - programs { - } - } + images { + } + group { name: GROUP_HOME_LY; + parts { + part { name: HOME_BG; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 0.0; + } + } + } + programs { + } + } } \ No newline at end of file diff --git a/res/edje/home_btn.edc b/res/edje/home_btn.edc index 125bd01..12af99f 100755 --- a/res/edje/home_btn.edc +++ b/res/edje/home_btn.edc @@ -17,261 +17,261 @@ #include "../../inc/edc_conf.h" collections { - images { - image: "../res/images/home_button_bg.png" COMP; - image: "../res/images/home_button_menu.png" COMP; - image: "../res/images/home_button_home.png" COMP; - image: "../res/images/home_button_apps.png" COMP; - } - group { name: GROUP_HOME_BTN_LY; - parts { - // Menu button - part { name: MENU_BUTTON; - type: IMAGE; - description { state: "default" 0.0; - align: 0 0; - rel1{relative: 0.044 0.928;} - rel2{relative: 0.223 0.986;} - color: 0 0 0 40; - visible: 1; - image { - normal: "../res/images/home_button_bg.png"; - } - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color: 255 255 255 40; - } - description { state: "show" 0.0; - inherit: "default" 0.0; - } - description { state: "hide" 0.0; - inherit: "default" 0.0; - color: 0 0 0 0; - visible: 0; - } - } - part { name: "menu_btn_icon"; - type: IMAGE; - mouse_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1{relative: 0.27 0.1; to:MENU_BUTTON;} - rel2{relative: 0.73 0.9; to:MENU_BUTTON;} - color: 255 255 255 255; - visible: 1; - image { - normal: "../res/images/home_button_menu.png"; - } - } - description { state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - } - description { state: "hide" 0.0; - inherit: "default" 0.0; - color: 255 255 255 0; - visible: 0; - } - } - //Home Button - part { name: HOME_BUTTON; - type: IMAGE; - description {state: "default" 0.0; - align: 0 0; - rel1{relative: 0.776 0.928;} - rel2{relative: 0.955 0.986;} - color: 0 0 0 40; - visible: 1; - image { - normal: "../res/images/home_button_bg.png"; - } - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color : 255 255 255 40; - } - description { state: "show" 0.0; - inherit: "default" 0.0; - } - description { state: "hide" 0.0; - inherit: "default" 0.0; - color: 0 0 0 0; - visible: 0; - } - } - part { name: "home_btn_home_icon"; - type: IMAGE; - mouse_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1{relative: 0.27 0.1; to:HOME_BUTTON;} - rel2{relative: 0.73 0.9; to:HOME_BUTTON;} - color: 255 255 255 0; - visible: 1; - image { - normal: "../res/images/home_button_home.png"; - } - } - description { state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - } - description { state: "hide" 0.0; - inherit: "default" 0.0; - color: 255 255 255 0; - visible: 0; - } - } - part { name: "home_btn_app_icon"; - type: IMAGE; - mouse_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1{relative: 0.27 0.1; to:HOME_BUTTON;} - rel2{relative: 0.73 0.9; to:HOME_BUTTON;} - color: 255 255 255 255; - visible: 1; - image { - normal: "../res/images/home_button_apps.png"; - } - } - description { state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - } - description { state: "hide" 0.0; - inherit: "default" 0.0; - color: 255 255 255 0; - visible: 0; - } - } - } - programs { - //menu button event - program { - name: "menu_btn_down"; - signal: "mouse,down,1"; - source: MENU_BUTTON; - action: STATE_SET "press" 0.0; - target: MENU_BUTTON; - transition: DECELERATE 0.1; - } - program { - name: "menu_btn_up"; - signal: "mouse,up,1"; - source: MENU_BUTTON; - action: STATE_SET "default" 0.0; - target: MENU_BUTTON; - transition: DECELERATE 0.1; - } - program { - name: "menu_btn_click"; - signal: "mouse,clicked,1"; - source: MENU_BUTTON; - action: SIGNAL_EMIT SIGNAL_MENU_BTN_CLICKED SIGNAL_SOURCE; - } - //home button event - program { - name: "home_btn_down"; - signal: "mouse,down,1"; - source: HOME_BUTTON; - action: STATE_SET "press" 0.0; - target: HOME_BUTTON; - transition: DECELERATE 0.1; - } - program { - name: "home_btn_up"; - signal: "mouse,up,1"; - source: HOME_BUTTON; - action: STATE_SET "default" 0.0; - target: HOME_BUTTON; - transition: DECELERATE 0.1; - } - program { - name: "home_btn_click"; - signal: "mouse,clicked,1"; - source: HOME_BUTTON; - action: SIGNAL_EMIT SIGNAL_HOME_BTN_CLICKED SIGNAL_SOURCE; - } - program { - name: "home_btn_show"; - signal: SIGNAL_HOME_BTN_ICON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: "home_btn_home_icon"; - transition: DECELERATE 0.3; - } - program { - name: "home_btn_hide"; - signal: SIGNAL_HOME_BTN_ICON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: "home_btn_home_icon"; - transition: DECELERATE 0.3; - } - program { - name: "apps_btn_show"; - signal: SIGNAL_APPS_BTN_ICON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: "home_btn_app_icon"; - transition: DECELERATE 0.3; - } - program { - name: "apps_btn_hide"; - signal: SIGNAL_APPS_BTN_ICON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: "home_btn_app_icon"; - transition: DECELERATE 0.3; - } - program { - name: "btn_show_home"; - signal: SIGNAL_BTN_SHOW_APPS_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: MENU_BUTTON; - target: "menu_btn_icon"; - target: HOME_BUTTON; - target: "home_btn_home_icon"; - transition: DECELERATE 0.3; - } - program { - name: "btn_hide_home"; - signal: SIGNAL_BTN_HIDE_APPS_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: MENU_BUTTON; - target: "menu_btn_icon"; - target: HOME_BUTTON; - target: "home_btn_home_icon"; - transition: DECELERATE 0.3; - } - program { - name: "btn_show_apps"; - signal: SIGNAL_BTN_SHOW_HOME_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: MENU_BUTTON; - target: "menu_btn_icon"; - target: HOME_BUTTON; - target: "home_btn_app_icon"; - transition: DECELERATE 0.3; - } - program { - name: "btn_hide_apps"; - signal: SIGNAL_BTN_HIDE_HOME_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: MENU_BUTTON; - target: "menu_btn_icon"; - target: HOME_BUTTON; - target: "home_btn_app_icon"; - transition: DECELERATE 0.3; - } - } - } + images { + image: "../res/images/home_button_bg.png" COMP; + image: "../res/images/home_button_menu.png" COMP; + image: "../res/images/home_button_home.png" COMP; + image: "../res/images/home_button_apps.png" COMP; + } + group { name: GROUP_HOME_BTN_LY; + parts { + // Menu button + part { name: MENU_BUTTON; + type: IMAGE; + description { state: "default" 0.0; + align: 0 0; + rel1{relative: 0.044 0.928;} + rel2{relative: 0.223 0.986;} + color: 0 0 0 40; + visible: 1; + image { + normal: "../res/images/home_button_bg.png"; + } + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 40; + } + description { state: "show" 0.0; + inherit: "default" 0.0; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + color: 0 0 0 0; + visible: 0; + } + } + part { name: "menu_btn_icon"; + type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1{relative: 0.27 0.1; to:MENU_BUTTON;} + rel2{relative: 0.73 0.9; to:MENU_BUTTON;} + color: 255 255 255 255; + visible: 1; + image { + normal: "../res/images/home_button_menu.png"; + } + } + description { state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + visible: 0; + } + } + //Home Button + part { name: HOME_BUTTON; + type: IMAGE; + description {state: "default" 0.0; + align: 0 0; + rel1{relative: 0.776 0.928;} + rel2{relative: 0.955 0.986;} + color: 0 0 0 40; + visible: 1; + image { + normal: "../res/images/home_button_bg.png"; + } + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color : 255 255 255 40; + } + description { state: "show" 0.0; + inherit: "default" 0.0; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + color: 0 0 0 0; + visible: 0; + } + } + part { name: "home_btn_home_icon"; + type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1{relative: 0.27 0.1; to:HOME_BUTTON;} + rel2{relative: 0.73 0.9; to:HOME_BUTTON;} + color: 255 255 255 0; + visible: 1; + image { + normal: "../res/images/home_button_home.png"; + } + } + description { state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + visible: 0; + } + } + part { name: "home_btn_app_icon"; + type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1{relative: 0.27 0.1; to:HOME_BUTTON;} + rel2{relative: 0.73 0.9; to:HOME_BUTTON;} + color: 255 255 255 255; + visible: 1; + image { + normal: "../res/images/home_button_apps.png"; + } + } + description { state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + visible: 0; + } + } + } + programs { + //menu button event + program { + name: "menu_btn_down"; + signal: "mouse,down,1"; + source: MENU_BUTTON; + action: STATE_SET "press" 0.0; + target: MENU_BUTTON; + transition: DECELERATE 0.1; + } + program { + name: "menu_btn_up"; + signal: "mouse,up,1"; + source: MENU_BUTTON; + action: STATE_SET "default" 0.0; + target: MENU_BUTTON; + transition: DECELERATE 0.1; + } + program { + name: "menu_btn_click"; + signal: "mouse,clicked,1"; + source: MENU_BUTTON; + action: SIGNAL_EMIT SIGNAL_MENU_BTN_CLICKED SIGNAL_SOURCE; + } + //home button event + program { + name: "home_btn_down"; + signal: "mouse,down,1"; + source: HOME_BUTTON; + action: STATE_SET "press" 0.0; + target: HOME_BUTTON; + transition: DECELERATE 0.1; + } + program { + name: "home_btn_up"; + signal: "mouse,up,1"; + source: HOME_BUTTON; + action: STATE_SET "default" 0.0; + target: HOME_BUTTON; + transition: DECELERATE 0.1; + } + program { + name: "home_btn_click"; + signal: "mouse,clicked,1"; + source: HOME_BUTTON; + action: SIGNAL_EMIT SIGNAL_HOME_BTN_CLICKED SIGNAL_SOURCE; + } + program { + name: "home_btn_show"; + signal: SIGNAL_HOME_BTN_ICON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: "home_btn_home_icon"; + transition: DECELERATE 0.3; + } + program { + name: "home_btn_hide"; + signal: SIGNAL_HOME_BTN_ICON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: "home_btn_home_icon"; + transition: DECELERATE 0.3; + } + program { + name: "apps_btn_show"; + signal: SIGNAL_APPS_BTN_ICON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: "home_btn_app_icon"; + transition: DECELERATE 0.3; + } + program { + name: "apps_btn_hide"; + signal: SIGNAL_APPS_BTN_ICON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: "home_btn_app_icon"; + transition: DECELERATE 0.3; + } + program { + name: "btn_show_home"; + signal: SIGNAL_BTN_SHOW_APPS_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: MENU_BUTTON; + target: "menu_btn_icon"; + target: HOME_BUTTON; + target: "home_btn_home_icon"; + transition: DECELERATE 0.3; + } + program { + name: "btn_hide_home"; + signal: SIGNAL_BTN_HIDE_APPS_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: MENU_BUTTON; + target: "menu_btn_icon"; + target: HOME_BUTTON; + target: "home_btn_home_icon"; + transition: DECELERATE 0.3; + } + program { + name: "btn_show_apps"; + signal: SIGNAL_BTN_SHOW_HOME_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: MENU_BUTTON; + target: "menu_btn_icon"; + target: HOME_BUTTON; + target: "home_btn_app_icon"; + transition: DECELERATE 0.3; + } + program { + name: "btn_hide_apps"; + signal: SIGNAL_BTN_HIDE_HOME_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: MENU_BUTTON; + target: "menu_btn_icon"; + target: HOME_BUTTON; + target: "home_btn_app_icon"; + transition: DECELERATE 0.3; + } + } + } } \ No newline at end of file diff --git a/res/edje/page_indicator_unit.edc b/res/edje/page_indicator_unit.edc index 9c142a3..0dbae85 100755 --- a/res/edje/page_indicator_unit.edc +++ b/res/edje/page_indicator_unit.edc @@ -17,92 +17,92 @@ #include "../../inc/edc_conf.h" collections { - group { - name: GROUP_PAGE_INDICATOR_UNIT; - images { - image: "../res/images/page_indicator_current.png" COMP; - image: "../res/images/page_indicator_unit.png" COMP; - } - script { - public rot; - public alpha; + group { + name: GROUP_PAGE_INDICATOR_UNIT; + images { + image: "../res/images/page_indicator_current.png" COMP; + image: "../res/images/page_indicator_unit.png" COMP; + } + script { + public rot; + public alpha; - public message(Msg_Type:type, id, ...) { - if (type == MSG_FLOAT_SET) - { - set_float(rot, getfarg(2)); - set_float(alpha, getfarg(3)); - send_message(type, id, getfarg(2), getfarg(3)); - } - } - } - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 0.0 0.0; - } - } - part { - name: "unit"; - type: IMAGE; + public message(Msg_Type:type, id, ...) { + if (type == MSG_FLOAT_SET) + { + set_float(rot, getfarg(2)); + set_float(alpha, getfarg(3)); + send_message(type, id, getfarg(2), getfarg(3)); + } + } + } + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 0.0; + } + } + part { + name: "unit"; + type: IMAGE; - description { - state: "default" 0.0; - color: 255 255 255 75; - rel1{relative: 0.0 0.0; to:SIZE_SETTER;} - rel2{relative: 1.0 1.0; to:SIZE_SETTER;} - image { - normal: "../res/images/page_indicator_unit.png"; - } - map { - on: 1; - perspective_on: 1; - smooth: 1; - alpha: 1; - } - } - description { - state: "current" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - image { - normal: "../res/images/page_indicator_current.png"; - } - } - } - } - programs { - program - { - name: "indice_set_default"; - signal: SIGNAL_PAGE_IDICATOR_DEFAULT; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: "unit"; - } - program - { - name: "indice_set_current"; - signal: SIGNAL_PAGE_IDICATOR_CURRENT; - source: SIGNAL_SOURCE; - action: STATE_SET "current" 0.0; - target: "unit"; - } - program { - name: "rotation,changed"; - signal: SIGNAL_PAGE_IDICATOR_ROTATION_CHANGE; - source: SIGNAL_SOURCE; - script { - custom_state(PART:"unit", "default", 0.0); - set_state_val(PART:"unit", STATE_MAP_ROT_Z, get_float(rot)); - set_state_val(PART:"unit", STATE_COLOR, 255, 255, 255, round(get_float(alpha))); - set_state(PART:"unit", "custom", 0.0); - } - } - } - } + description { + state: "default" 0.0; + color: 255 255 255 75; + rel1{relative: 0.0 0.0; to:SIZE_SETTER;} + rel2{relative: 1.0 1.0; to:SIZE_SETTER;} + image { + normal: "../res/images/page_indicator_unit.png"; + } + map { + on: 1; + perspective_on: 1; + smooth: 1; + alpha: 1; + } + } + description { + state: "current" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../res/images/page_indicator_current.png"; + } + } + } + } + programs { + program + { + name: "indice_set_default"; + signal: SIGNAL_PAGE_IDICATOR_DEFAULT; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "unit"; + } + program + { + name: "indice_set_current"; + signal: SIGNAL_PAGE_IDICATOR_CURRENT; + source: SIGNAL_SOURCE; + action: STATE_SET "current" 0.0; + target: "unit"; + } + program { + name: "rotation,changed"; + signal: SIGNAL_PAGE_IDICATOR_ROTATION_CHANGE; + source: SIGNAL_SOURCE; + script { + custom_state(PART:"unit", "default", 0.0); + set_state_val(PART:"unit", STATE_MAP_ROT_Z, get_float(rot)); + set_state_val(PART:"unit", STATE_COLOR, 255, 255, 255, round(get_float(alpha))); + set_state(PART:"unit", "custom", 0.0); + } + } + } + } } \ No newline at end of file diff --git a/res/edje/widget.edc b/res/edje/widget.edc index 41b41f7..22add8a 100755 --- a/res/edje/widget.edc +++ b/res/edje/widget.edc @@ -1,166 +1,166 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; + image: "../res/images/btn_delete_nor.png" COMP; + image: "../res/images/btn_delete_press.png" COMP; } collections { - group { name: GROUP_WIDGET_LY; - parts { - part { name: WIDGET_CONTENT; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - rel1.relative: 0.0 0.0; - } - } - part { name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - color: 0 0 0 0; - align: 0 0; - visible: 0; - rel1.relative: 0.0 0.0; - rel2.relative: 0.01 0.01; - } - } - part { name: "touch,block"; - type: RECT; - mouse_events: 1; - repeat_events: 0; - description { - state: "default" 0.0; - color: 0 0 0 0; - visible: 0; - rel1{relative: 0.0 0.0; to: WIDGET_CONTENT;} - rel2{relative: 1.0 1.0; to: WIDGET_CONTENT;} - } - description { - state: "edit" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "pickup" 0.0; - inherit: "default" 0.0; - color: 0 0 0 100; - visible: 1; - } - } - part { - name: WIDGET_DELETE_BUTTON; - type: IMAGE; - scale: 0; - description { - state: "default" 0.0; - rel1{relative: 0.055 0.055; to: SIZE_SETTER;} - rel2{relative: 0.388 0.388; to: SIZE_SETTER;} - color: 255 255 255 0; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/btn_delete_nor.png"; - } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - visible: 1; - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - image { - normal: "../res/images/btn_delete_press.png"; - } - visible: 1; - } - } - } - programs { - program { - name: "delete_button_show_ani"; - signal: SIGNAL_DELETE_BUTTON_SHOW_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: WIDGET_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "delete_button_show"; - signal: SIGNAL_DELETE_BUTTON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: WIDGET_DELETE_BUTTON; - } - program { - name: "delete_button_hide_ani"; - signal: SIGNAL_DELETE_BUTTON_HIDE_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: WIDGET_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "delete_button_hide"; - signal: SIGNAL_DELETE_BUTTON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: WIDGET_DELETE_BUTTON; - } - program { - name: "delete_button_clicked"; - signal: "mouse,clicked,1"; - source: WIDGET_DELETE_BUTTON; - action: SIGNAL_EMIT SIGNAL_DELETE_BUTTON_CLICKED SIGNAL_SOURCE; - } - program { - name: "delete_button_mouse_down"; - signal: "mouse,down,1"; - source: WIDGET_DELETE_BUTTON; - action: STATE_SET "press" 0.0; - target: WIDGET_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "delete_button_mouse_up"; - signal: "mouse,up,1"; - source: WIDGET_DELETE_BUTTON; - action: STATE_SET "show" 0.0; - target: WIDGET_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "touch,disable"; - signal: SIGNAL_CLUSTER_EDIT_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: "touch,block"; - } - program { - name: "touch,enable"; - signal: SIGNAL_CLUSTER_NORMAL_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: "touch,block"; - } - program { - name: "pick,up,widget"; - signal: SIGNAL_CLUSTER_PICKUP_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "pickup" 0.0; - target: "touch,block"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - } - } + group { name: GROUP_WIDGET_LY; + parts { + part { name: WIDGET_CONTENT; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1.relative: 0.0 0.0; + } + } + part { name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + color: 0 0 0 0; + align: 0 0; + visible: 0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.01 0.01; + } + } + part { name: "touch,block"; + type: RECT; + mouse_events: 1; + repeat_events: 0; + description { + state: "default" 0.0; + color: 0 0 0 0; + visible: 0; + rel1{relative: 0.0 0.0; to: WIDGET_CONTENT;} + rel2{relative: 1.0 1.0; to: WIDGET_CONTENT;} + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "pickup" 0.0; + inherit: "default" 0.0; + color: 0 0 0 100; + visible: 1; + } + } + part { + name: WIDGET_DELETE_BUTTON; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.055 0.055; to: SIZE_SETTER;} + rel2{relative: 0.388 0.388; to: SIZE_SETTER;} + color: 255 255 255 0; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/btn_delete_nor.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../res/images/btn_delete_press.png"; + } + visible: 1; + } + } + } + programs { + program { + name: "delete_button_show_ani"; + signal: SIGNAL_DELETE_BUTTON_SHOW_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: WIDGET_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "delete_button_show"; + signal: SIGNAL_DELETE_BUTTON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: WIDGET_DELETE_BUTTON; + } + program { + name: "delete_button_hide_ani"; + signal: SIGNAL_DELETE_BUTTON_HIDE_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: WIDGET_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "delete_button_hide"; + signal: SIGNAL_DELETE_BUTTON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: WIDGET_DELETE_BUTTON; + } + program { + name: "delete_button_clicked"; + signal: "mouse,clicked,1"; + source: WIDGET_DELETE_BUTTON; + action: SIGNAL_EMIT SIGNAL_DELETE_BUTTON_CLICKED SIGNAL_SOURCE; + } + program { + name: "delete_button_mouse_down"; + signal: "mouse,down,1"; + source: WIDGET_DELETE_BUTTON; + action: STATE_SET "press" 0.0; + target: WIDGET_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "delete_button_mouse_up"; + signal: "mouse,up,1"; + source: WIDGET_DELETE_BUTTON; + action: STATE_SET "show" 0.0; + target: WIDGET_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "touch,disable"; + signal: SIGNAL_CLUSTER_EDIT_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: "touch,block"; + } + program { + name: "touch,enable"; + signal: SIGNAL_CLUSTER_NORMAL_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "touch,block"; + } + program { + name: "pick,up,widget"; + signal: SIGNAL_CLUSTER_PICKUP_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "pickup" 0.0; + target: "touch,block"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + } + } } \ No newline at end of file diff --git a/src/add_widget_viewer/add_widget_data.c b/src/add_widget_viewer/add_widget_data.c index eaff0bf..61a6dc0 100755 --- a/src/add_widget_viewer/add_widget_data.c +++ b/src/add_widget_viewer/add_widget_data.c @@ -22,9 +22,9 @@ #include "util.h" static struct { - Eina_List *data_list; + Eina_List *data_list; } add_widget_data_s = { - .data_list = NULL + .data_list = NULL }; static void __add_widget_data_list_delete(void); @@ -34,129 +34,129 @@ static int __add_widget_data_widget_compare_cb(const void *data1, const void *da bool add_widget_data_init(void) { - int ret = 0; - ret = widget_service_get_widget_list(__add_widget_data_widget_list_cb, NULL); - if (ret < 0 || add_widget_data_s.data_list == NULL) { - LOGE("Can not create widget list, ret: %d", ret); - return false; - } - - return true; + int ret = 0; + ret = widget_service_get_widget_list(__add_widget_data_widget_list_cb, NULL); + if (ret < 0 || add_widget_data_s.data_list == NULL) { + LOGE("Can not create widget list, ret: %d", ret); + return false; + } + + return true; } void add_widget_data_fini(void) { - __add_widget_data_list_delete(); + __add_widget_data_list_delete(); } Eina_List *add_widget_data_get_widget_list(void) { - return add_widget_data_s.data_list; + return add_widget_data_s.data_list; } Eina_List *add_widget_data_get_widget_preview_list(add_widget_data_t *widget) { - return widget->preview_list; + return widget->preview_list; } static int __add_widget_data_widget_list_cb(const char *app_id, const char *widget_id, int is_prime, void *data) { - LOGD("App id: %s", app_id); - LOGD("Widget id: %s", widget_id); - - add_widget_data_t *widget = NULL; - add_widget_data_preview_t *widget_preview_type = NULL; - - int *type = NULL; - int types_count = 0; - int ret = WIDGET_ERROR_NONE; - - ret = widget_service_get_supported_size_types(widget_id, &types_count, &type); - if (ret != WIDGET_ERROR_NONE || types_count <= 0) { - LOGE("Can not get widgets supported size types"); - return WIDGET_ERROR_FAULT; - } - - widget = calloc(1, sizeof(add_widget_data_t)); - if (!widget) { - LOGE("Can not allocate memory for list item"); - return WIDGET_ERROR_FAULT; - } - - int i; - for (i = 0; i < types_count; ++i) { - widget_preview_type = calloc(1, sizeof(add_widget_data_preview_t)); - if (!widget_preview_type) { - LOGE("Can not allocate memory for list item preview type"); - __add_widget_data_list_delete(); - return WIDGET_ERROR_FAULT; - } - - widget_preview_type->path = widget_service_get_preview_image_path(widget_id, type[i]); - if (!widget_preview_type->path) { - free(widget_preview_type); - continue; - } - - widget_preview_type->type = type[i]; - - widget->size_types |= type[i]; - widget->preview_list = eina_list_append(widget->preview_list, widget_preview_type); - } - - widget->size_types_count = types_count; - widget->app_id = strdup(app_id); - widget->widget_id = strdup(widget_id); - widget->label = widget_service_get_name(widget->widget_id, NULL); - if (!widget->label || strlen(widget->label) == 0) - widget->label = strdup(widget_id); - - add_widget_data_s.data_list = eina_list_sorted_insert(add_widget_data_s.data_list, - __add_widget_data_widget_compare_cb, widget); - - free(type); - - return WIDGET_ERROR_NONE; + LOGD("App id: %s", app_id); + LOGD("Widget id: %s", widget_id); + + add_widget_data_t *widget = NULL; + add_widget_data_preview_t *widget_preview_type = NULL; + + int *type = NULL; + int types_count = 0; + int ret = WIDGET_ERROR_NONE; + + ret = widget_service_get_supported_size_types(widget_id, &types_count, &type); + if (ret != WIDGET_ERROR_NONE || types_count <= 0) { + LOGE("Can not get widgets supported size types"); + return WIDGET_ERROR_FAULT; + } + + widget = calloc(1, sizeof(add_widget_data_t)); + if (!widget) { + LOGE("Can not allocate memory for list item"); + return WIDGET_ERROR_FAULT; + } + + int i; + for (i = 0; i < types_count; ++i) { + widget_preview_type = calloc(1, sizeof(add_widget_data_preview_t)); + if (!widget_preview_type) { + LOGE("Can not allocate memory for list item preview type"); + __add_widget_data_list_delete(); + return WIDGET_ERROR_FAULT; + } + + widget_preview_type->path = widget_service_get_preview_image_path(widget_id, type[i]); + if (!widget_preview_type->path) { + free(widget_preview_type); + continue; + } + + widget_preview_type->type = type[i]; + + widget->size_types |= type[i]; + widget->preview_list = eina_list_append(widget->preview_list, widget_preview_type); + } + + widget->size_types_count = types_count; + widget->app_id = strdup(app_id); + widget->widget_id = strdup(widget_id); + widget->label = widget_service_get_name(widget->widget_id, NULL); + if (!widget->label || strlen(widget->label) == 0) + widget->label = strdup(widget_id); + + add_widget_data_s.data_list = eina_list_sorted_insert(add_widget_data_s.data_list, + __add_widget_data_widget_compare_cb, widget); + + free(type); + + return WIDGET_ERROR_NONE; } static int __add_widget_data_widget_compare_cb(const void *data1, const void *data2) { - int res = 0; - add_widget_data_t *w1 = (add_widget_data_t *)data1; - add_widget_data_t *w2 = (add_widget_data_t *)data2; + int res = 0; + add_widget_data_t *w1 = (add_widget_data_t *)data1; + add_widget_data_t *w2 = (add_widget_data_t *)data2; - res = strcmp(w1->label, w2->label); + res = strcmp(w1->label, w2->label); - if (res < 0) return -1; - if (res > 0) return 1; - return 0; + if (res < 0) return -1; + if (res > 0) return 1; + return 0; } static void __add_widget_data_list_delete(void) { - Eina_List *list; - add_widget_data_t *item; + Eina_List *list; + add_widget_data_t *item; - EINA_LIST_FOREACH(add_widget_data_s.data_list, list, item) - __add_widget_data_free(item); + EINA_LIST_FOREACH(add_widget_data_s.data_list, list, item) + __add_widget_data_free(item); - eina_list_free(add_widget_data_s.data_list); - add_widget_data_s.data_list = NULL; + eina_list_free(add_widget_data_s.data_list); + add_widget_data_s.data_list = NULL; } static void __add_widget_data_free(add_widget_data_t *item) { - Eina_List *list; - add_widget_data_preview_t *preview; - - EINA_LIST_FOREACH(item->preview_list, list, preview) { - free(preview->path); - free(preview); - } - - eina_list_free(item->preview_list); - free(item->app_id); - free(item->widget_id); - free(item->label); - free(item); + Eina_List *list; + add_widget_data_preview_t *preview; + + EINA_LIST_FOREACH(item->preview_list, list, preview) { + free(preview->path); + free(preview); + } + + eina_list_free(item->preview_list); + free(item->app_id); + free(item->widget_id); + free(item->label); + free(item); } diff --git a/src/add_widget_viewer/add_widget_viewer.c b/src/add_widget_viewer/add_widget_viewer.c index 9485c72..029a1ff 100755 --- a/src/add_widget_viewer/add_widget_viewer.c +++ b/src/add_widget_viewer/add_widget_viewer.c @@ -27,23 +27,23 @@ #include "edc_conf.h" static struct { - Evas_Object *win; - Evas_Object *conformant; - Evas_Object *layout; - Evas_Object *naviframe; - Evas_Object *genlist; - Elm_Theme *theme; - Elm_Object_Item *navi_item; - Evas_Object *index; + Evas_Object *win; + Evas_Object *conformant; + Evas_Object *layout; + Evas_Object *naviframe; + Evas_Object *genlist; + Elm_Theme *theme; + Elm_Object_Item *navi_item; + Evas_Object *index; } add_widget_viewer_s = { - .win = NULL, - .conformant = NULL, - .layout = NULL, - .naviframe = NULL, - .genlist = NULL, - .theme = NULL, - .navi_item = NULL, - .index = NULL + .win = NULL, + .conformant = NULL, + .layout = NULL, + .naviframe = NULL, + .genlist = NULL, + .theme = NULL, + .navi_item = NULL, + .index = NULL }; static void __add_widget_viewer_win_del_cb(void *data, Evas_Object* obj, void* event_info); @@ -66,517 +66,517 @@ static void __add_widget_viewer_item_realized_cb(void *data, Evas_Object *obj, v void add_widget_viewer_win_create(void) { - if (!add_widget_data_init()) { - LOGE("Can not create widget list"); - return ; - } + if (!add_widget_data_init()) { + LOGE("Can not create widget list"); + return ; + } - add_widget_viewer_s.win = elm_win_add(NULL, "add_viewer", ELM_WIN_BASIC); - if (!add_widget_viewer_s.win) { - LOGE("Failed to create a new window"); - return; - } + add_widget_viewer_s.win = elm_win_add(NULL, "add_viewer", ELM_WIN_BASIC); + if (!add_widget_viewer_s.win) { + LOGE("Failed to create a new window"); + return; + } - elm_win_alpha_set(add_widget_viewer_s.win, EINA_TRUE); - elm_win_autodel_set(add_widget_viewer_s.win, EINA_TRUE); - evas_object_smart_callback_add(add_widget_viewer_s.win, "delete,request", __add_widget_viewer_win_del_cb, NULL); + elm_win_alpha_set(add_widget_viewer_s.win, EINA_TRUE); + elm_win_autodel_set(add_widget_viewer_s.win, EINA_TRUE); + evas_object_smart_callback_add(add_widget_viewer_s.win, "delete,request", __add_widget_viewer_win_del_cb, NULL); - add_widget_viewer_s.theme = __add_widget_viewer_create_theme(); - add_widget_viewer_s.conformant = __add_widget_viewer_create_conformant(); - add_widget_viewer_s.layout = __add_widget_viewer_create_layout(); - add_widget_viewer_s.naviframe = __add_widget_viewer_create_naviframe(); + add_widget_viewer_s.theme = __add_widget_viewer_create_theme(); + add_widget_viewer_s.conformant = __add_widget_viewer_create_conformant(); + add_widget_viewer_s.layout = __add_widget_viewer_create_layout(); + add_widget_viewer_s.naviframe = __add_widget_viewer_create_naviframe(); - add_widget_viewer_s.navi_item = __add_widget_viewer_create_content(add_widget_viewer_s.naviframe, add_widget_viewer_s.genlist); + add_widget_viewer_s.navi_item = __add_widget_viewer_create_content(add_widget_viewer_s.naviframe, add_widget_viewer_s.genlist); - elm_object_signal_emit(add_widget_viewer_s.layout, "display,normal", "container"); + elm_object_signal_emit(add_widget_viewer_s.layout, "display,normal", "container"); - elm_win_indicator_mode_set(add_widget_viewer_s.win, ELM_WIN_INDICATOR_SHOW); - elm_win_indicator_opacity_set(add_widget_viewer_s.win, ELM_WIN_INDICATOR_OPAQUE); - elm_win_resize_object_add(add_widget_viewer_s.win, add_widget_viewer_s.conformant); - elm_win_conformant_set(add_widget_viewer_s.win, EINA_TRUE); - evas_object_resize(add_widget_viewer_s.win, WINDOW_W, WINDOW_H); + elm_win_indicator_mode_set(add_widget_viewer_s.win, ELM_WIN_INDICATOR_SHOW); + elm_win_indicator_opacity_set(add_widget_viewer_s.win, ELM_WIN_INDICATOR_OPAQUE); + elm_win_resize_object_add(add_widget_viewer_s.win, add_widget_viewer_s.conformant); + elm_win_conformant_set(add_widget_viewer_s.win, EINA_TRUE); + evas_object_resize(add_widget_viewer_s.win, WINDOW_W, WINDOW_H); - evas_object_show(add_widget_viewer_s.naviframe); - evas_object_show(add_widget_viewer_s.layout); - evas_object_show(add_widget_viewer_s.conformant); + evas_object_show(add_widget_viewer_s.naviframe); + evas_object_show(add_widget_viewer_s.layout); + evas_object_show(add_widget_viewer_s.conformant); - evas_object_show(add_widget_viewer_s.win); + evas_object_show(add_widget_viewer_s.win); } void add_widget_viewer_win_destroy(void) { - evas_object_del(add_widget_viewer_s.win); - add_widget_data_fini(); + evas_object_del(add_widget_viewer_s.win); + add_widget_data_fini(); } static void __add_widget_viewer_win_del_cb(void *data, Evas_Object* obj, void* event_info) { - evas_object_del(add_widget_viewer_s.win); + evas_object_del(add_widget_viewer_s.win); } static Elm_Theme *__add_widget_viewer_create_theme(void) { - Elm_Theme *theme = elm_theme_new(); - if (!theme) { - LOGE("Failed to create theme\n"); - return NULL; - } + Elm_Theme *theme = elm_theme_new(); + if (!theme) { + LOGE("Failed to create theme\n"); + return NULL; + } - elm_theme_ref_set(theme, NULL); - elm_theme_extension_add(theme, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj")); + elm_theme_ref_set(theme, NULL); + elm_theme_extension_add(theme, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj")); - return theme; + return theme; } static Evas_Object *__add_widget_viewer_create_conformant(void) { - Evas_Object *conformant; - Evas_Object *bg; - - conformant = elm_conformant_add(add_widget_viewer_s.win); - if (!conformant) { - LOGE("Failed to create a conformant\n"); - return NULL; - } - - evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - bg = elm_bg_add(conformant); - if (bg) { - elm_object_style_set(bg, "indicator/headerbg"); - elm_object_part_content_set(conformant, "elm.swallow.indicator_bg", bg); - evas_object_show(bg); - } else { - LOGE("Failed to create a BG object\n"); - } - - return conformant; + Evas_Object *conformant; + Evas_Object *bg; + + conformant = elm_conformant_add(add_widget_viewer_s.win); + if (!conformant) { + LOGE("Failed to create a conformant\n"); + return NULL; + } + + evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + bg = elm_bg_add(conformant); + if (bg) { + elm_object_style_set(bg, "indicator/headerbg"); + elm_object_part_content_set(conformant, "elm.swallow.indicator_bg", bg); + evas_object_show(bg); + } else { + LOGE("Failed to create a BG object\n"); + } + + return conformant; } static Evas_Object *__add_widget_viewer_create_layout() { - Evas_Object *layout; - char edj_path[STR_PATH_LEN] = {0, }; + Evas_Object *layout; + char edj_path[STR_PATH_LEN] = {0, }; - if (!add_widget_viewer_s.conformant) { - return NULL; - } + if (!add_widget_viewer_s.conformant) { + return NULL; + } - layout = elm_layout_add(add_widget_viewer_s.conformant); - if (!layout) { - return NULL; - } + layout = elm_layout_add(add_widget_viewer_s.conformant); + if (!layout) { + return NULL; + } - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj")); - if (elm_layout_file_set(layout, edj_path, ADD_WIDGET_VIEWER_CONFORMANT_FRAME) != EINA_TRUE) { - evas_object_del(layout); - return NULL; - } + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj")); + if (elm_layout_file_set(layout, edj_path, ADD_WIDGET_VIEWER_CONFORMANT_FRAME) != EINA_TRUE) { + evas_object_del(layout); + return NULL; + } - elm_object_part_content_set(add_widget_viewer_s.conformant, "elm.swallow.content", layout); + elm_object_part_content_set(add_widget_viewer_s.conformant, "elm.swallow.content", layout); - return layout; + return layout; } static Evas_Object *__add_widget_viewer_create_naviframe() { - Evas_Object *naviframe; + Evas_Object *naviframe; - naviframe = elm_naviframe_add(add_widget_viewer_s.conformant); - if (!naviframe) { - return NULL; - } + naviframe = elm_naviframe_add(add_widget_viewer_s.conformant); + if (!naviframe) { + return NULL; + } - elm_naviframe_content_preserve_on_pop_set(naviframe, EINA_TRUE); - elm_object_part_content_set(add_widget_viewer_s.layout, "content", naviframe); + elm_naviframe_content_preserve_on_pop_set(naviframe, EINA_TRUE); + elm_object_part_content_set(add_widget_viewer_s.layout, "content", naviframe); - return naviframe; + return naviframe; } static Evas_Object *__add_widget_viewer_create_content(Evas_Object *naviframe, Evas_Object *genlist) { - Elm_Object_Item *item; - Evas_Object *content; - - content = elm_layout_add(naviframe); - if (!content) { - return NULL; - } - - if (elm_layout_file_set(content, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"), ADD_WIDGET_VIEWER_CONTENT_FRAME) != EINA_TRUE) { - LOGE("Can not set layout file"); - evas_object_del(content); - return NULL; - } - add_widget_viewer_s.index = __add_widget_viewer_create_index(content); - if (!add_widget_viewer_s.index) { - evas_object_del(content); - return NULL; - } - elm_object_part_content_set(content, "index", add_widget_viewer_s.index); - - genlist = __add_widget_viewer_create_list(content); - elm_object_part_content_set(content, "content", genlist); - - item = elm_naviframe_item_push(naviframe, _("IDS_HS_HEADER_ADD_WIDGET"), NULL, NULL, content, NULL); - elm_object_signal_emit(content, "display,normal", "container"); - elm_object_signal_emit(content, "display,index", "container"); - - if (!item) { - LOGD("Failed to push an item\n"); - return NULL; - } - - return content; + Elm_Object_Item *item; + Evas_Object *content; + + content = elm_layout_add(naviframe); + if (!content) { + return NULL; + } + + if (elm_layout_file_set(content, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"), ADD_WIDGET_VIEWER_CONTENT_FRAME) != EINA_TRUE) { + LOGE("Can not set layout file"); + evas_object_del(content); + return NULL; + } + add_widget_viewer_s.index = __add_widget_viewer_create_index(content); + if (!add_widget_viewer_s.index) { + evas_object_del(content); + return NULL; + } + elm_object_part_content_set(content, "index", add_widget_viewer_s.index); + + genlist = __add_widget_viewer_create_list(content); + elm_object_part_content_set(content, "content", genlist); + + item = elm_naviframe_item_push(naviframe, _("IDS_HS_HEADER_ADD_WIDGET"), NULL, NULL, content, NULL); + elm_object_signal_emit(content, "display,normal", "container"); + elm_object_signal_emit(content, "display,index", "container"); + + if (!item) { + LOGD("Failed to push an item\n"); + return NULL; + } + + return content; } static Evas_Object *__add_widget_viewer_create_index(Evas_Object *layout) { - Evas_Object *index; - const char *idx_str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - char ch[2] = {0, }; + Evas_Object *index; + const char *idx_str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + char ch[2] = {0, }; - index = elm_index_add(layout); - elm_index_autohide_disabled_set(index, EINA_TRUE); - elm_index_omit_enabled_set(index, EINA_TRUE); - elm_index_item_append(index, "#", NULL, NULL); + index = elm_index_add(layout); + elm_index_autohide_disabled_set(index, EINA_TRUE); + elm_index_omit_enabled_set(index, EINA_TRUE); + elm_index_item_append(index, "#", NULL, NULL); - int i; - for (i = 0; i < strlen(idx_str); ++i) { - ch[0] = idx_str[i]; - ch[1] = '\0'; - elm_index_item_append(index, ch, __add_widget_viewer_index_cb, &ch[0]); - } + int i; + for (i = 0; i < strlen(idx_str); ++i) { + ch[0] = idx_str[i]; + ch[1] = '\0'; + elm_index_item_append(index, ch, __add_widget_viewer_index_cb, &ch[0]); + } - elm_index_level_go(index, 0); + elm_index_level_go(index, 0); - return index; + return index; } static void __add_widget_viewer_index_cb(void *data, Evas_Object *obj, void *event_info) { - char *idx_str = (char *)data; - Eina_List *widget_list = NULL; - add_widget_data_t *widget = NULL; + char *idx_str = (char *)data; + Eina_List *widget_list = NULL; + add_widget_data_t *widget = NULL; - widget_list = add_widget_data_get_widget_list(); - if (!widget_list) { - LOGE("Can not get widget list"); - return; - } + widget_list = add_widget_data_get_widget_list(); + if (!widget_list) { + LOGE("Can not get widget list"); + return; + } - widget = eina_list_search_unsorted(widget_list, __add_widget_viewer_compare_index_cb, idx_str); - if (!widget) { - LOGE("Can not find widget"); - return; - } + widget = eina_list_search_unsorted(widget_list, __add_widget_viewer_compare_index_cb, idx_str); + if (!widget) { + LOGE("Can not find widget"); + return; + } - elm_genlist_item_bring_in(widget->genlist_item, ELM_GENLIST_ITEM_SCROLLTO_TOP); + elm_genlist_item_bring_in(widget->genlist_item, ELM_GENLIST_ITEM_SCROLLTO_TOP); } static int __add_widget_viewer_compare_index_cb(const void *data1, const void *data2) { - add_widget_data_t *w = (add_widget_data_t *)data1; - char *idx_str = (char *)data2; + add_widget_data_t *w = (add_widget_data_t *)data1; + char *idx_str = (char *)data2; - char c1 = 0; - char c2 = 0; + char c1 = 0; + char c2 = 0; - c1 = tolower(idx_str[0]); - c2 = tolower(w->widget_id[0]); + c1 = tolower(idx_str[0]); + c2 = tolower(w->widget_id[0]); - LOGD("Compare: %c == %c in %s, %s", c1, c2, idx_str, w->widget_id); + LOGD("Compare: %c == %c in %s, %s", c1, c2, idx_str, w->widget_id); - if (c1 < c2) return -1; - if (c1 > c2) return 1; - return 0; + if (c1 < c2) return -1; + if (c1 > c2) return 1; + return 0; } static Evas_Object *__add_widget_viewer_create_list(Evas_Object *content) { - Elm_Genlist_Item_Class *itc_widget; - Evas_Object *genlist = NULL; - Elm_Object_Item *widget_gl_item = NULL; - Eina_List *widget_list = NULL, *l = NULL; - add_widget_data_t *widget = NULL; - - genlist = elm_genlist_add(content); - if (!genlist) { - LOGE("Failed to create a genlist\n"); - return NULL; - } - - elm_scroller_bounce_set(genlist, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_NONE); - - if (add_widget_viewer_s.theme) - elm_object_theme_set(genlist, add_widget_viewer_s.theme); - - itc_widget = elm_genlist_item_class_new(); - itc_widget->item_style = "widget,leaf"; - itc_widget->func.text_get = __add_widget_viewer_list_text_get_cb; - itc_widget->func.content_get = __add_widget_viewer_list_content_get_cb; - - widget_list = add_widget_data_get_widget_list(); - if (!widget_list) { - LOGE("Can not get widget list"); - return NULL; - } - - LOGD("Widget list length: %d", eina_list_count(widget_list)); - EINA_LIST_FOREACH(widget_list, l, widget) { - LOGD("Genlist append %s", widget->app_id); - widget_gl_item = elm_genlist_item_append(genlist, itc_widget, widget, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - widget->genlist_item = widget_gl_item; - } - - evas_object_smart_callback_add(genlist, "realized", __add_widget_viewer_item_realized_cb, NULL); - - elm_genlist_item_class_free(itc_widget); - - return genlist; + Elm_Genlist_Item_Class *itc_widget; + Evas_Object *genlist = NULL; + Elm_Object_Item *widget_gl_item = NULL; + Eina_List *widget_list = NULL, *l = NULL; + add_widget_data_t *widget = NULL; + + genlist = elm_genlist_add(content); + if (!genlist) { + LOGE("Failed to create a genlist\n"); + return NULL; + } + + elm_scroller_bounce_set(genlist, EINA_FALSE, EINA_TRUE); + elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_NONE); + + if (add_widget_viewer_s.theme) + elm_object_theme_set(genlist, add_widget_viewer_s.theme); + + itc_widget = elm_genlist_item_class_new(); + itc_widget->item_style = "widget,leaf"; + itc_widget->func.text_get = __add_widget_viewer_list_text_get_cb; + itc_widget->func.content_get = __add_widget_viewer_list_content_get_cb; + + widget_list = add_widget_data_get_widget_list(); + if (!widget_list) { + LOGE("Can not get widget list"); + return NULL; + } + + LOGD("Widget list length: %d", eina_list_count(widget_list)); + EINA_LIST_FOREACH(widget_list, l, widget) { + LOGD("Genlist append %s", widget->app_id); + widget_gl_item = elm_genlist_item_append(genlist, itc_widget, widget, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + widget->genlist_item = widget_gl_item; + } + + evas_object_smart_callback_add(genlist, "realized", __add_widget_viewer_item_realized_cb, NULL); + + elm_genlist_item_class_free(itc_widget); + + return genlist; } static void __add_widget_viewer_item_realized_cb(void *data, Evas_Object *obj, void *event_info) { - LOGD("item realized_cb"); + LOGD("item realized_cb"); - char ch[2] = {0, }; - Elm_Object_Item *item = event_info; - Elm_Index_Item *index_item = NULL; - add_widget_data_t *widget = NULL; + char ch[2] = {0, }; + Elm_Object_Item *item = event_info; + Elm_Index_Item *index_item = NULL; + add_widget_data_t *widget = NULL; - widget = (add_widget_data_t *)elm_object_item_data_get(item); + widget = (add_widget_data_t *)elm_object_item_data_get(item); - LOGD("item data: %s", widget->widget_id); - ch[0] = widget->widget_id[0]; + LOGD("item data: %s", widget->widget_id); + ch[0] = widget->widget_id[0]; - if (strlen(ch) == 0) { - LOGE("Can not get first char of widget name"); - return; - } + if (strlen(ch) == 0) { + LOGE("Can not get first char of widget name"); + return; + } - index_item = elm_index_item_find(add_widget_viewer_s.index, ch); - if (!index_item) { - LOGE("Can not set selected index item"); - return ; - } + index_item = elm_index_item_find(add_widget_viewer_s.index, ch); + if (!index_item) { + LOGE("Can not set selected index item"); + return ; + } - elm_index_item_selected_set(index_item, EINA_TRUE); + elm_index_item_selected_set(index_item, EINA_TRUE); } static char *__add_widget_viewer_list_text_get_cb(void *data, Evas_Object *obj, const char *part) { - add_widget_data_t *widget = data; + add_widget_data_t *widget = data; - if (!widget || !part) - return NULL; + if (!widget || !part) + return NULL; - if (!strcmp(part, "elm.text")) { - char style_string[STR_MAX] = {0, }; - snprintf(style_string, sizeof(style_string), "%s", (int)CLUSTER_ADDVIEWER_TEXT_SIZE, widget->label); - return strdup(style_string); - } + if (!strcmp(part, "elm.text")) { + char style_string[STR_MAX] = {0, }; + snprintf(style_string, sizeof(style_string), "%s", (int)CLUSTER_ADDVIEWER_TEXT_SIZE, widget->label); + return strdup(style_string); + } - return strdup("widget name not found"); + return strdup("widget name not found"); } static Evas_Object *__add_widget_viewer_list_content_get_cb(void *data, Evas_Object *obj, const char *part) { - LOGD("Part: %s", part); - - Evas_Object *main_box = NULL; - add_widget_data_t *widget = data; - - if (!widget || !part) - return NULL; - - if (!strcmp(part, SIZE_SETTER)) { - Evas_Object *rect = NULL; - rect = evas_object_rectangle_add(evas_object_evas_get(obj)); - if (!rect) { - LOGE("Can not create preview box"); - return NULL; - } - evas_object_color_set(rect, 255, 255, 255, 0); - evas_object_size_hint_min_set(rect, ALLPAGE_PREVIEW_LIST_ITEM_W, ALLPAGE_PREVIEW_LIST_ITEM_H); - evas_object_size_hint_max_set(rect, ALLPAGE_PREVIEW_LIST_ITEM_W, ALLPAGE_PREVIEW_LIST_ITEM_H); - evas_object_show(rect); - return rect; - } else if (!strcmp(part, "elm.icon")) { - main_box = __add_widget_viewer_list_widget_box_create(obj, widget); - if (!main_box) { - LOGE("Can not create preview box"); - return NULL; - } - } - - return main_box; + LOGD("Part: %s", part); + + Evas_Object *main_box = NULL; + add_widget_data_t *widget = data; + + if (!widget || !part) + return NULL; + + if (!strcmp(part, SIZE_SETTER)) { + Evas_Object *rect = NULL; + rect = evas_object_rectangle_add(evas_object_evas_get(obj)); + if (!rect) { + LOGE("Can not create preview box"); + return NULL; + } + evas_object_color_set(rect, 255, 255, 255, 0); + evas_object_size_hint_min_set(rect, ALLPAGE_PREVIEW_LIST_ITEM_W, ALLPAGE_PREVIEW_LIST_ITEM_H); + evas_object_size_hint_max_set(rect, ALLPAGE_PREVIEW_LIST_ITEM_W, ALLPAGE_PREVIEW_LIST_ITEM_H); + evas_object_show(rect); + return rect; + } else if (!strcmp(part, "elm.icon")) { + main_box = __add_widget_viewer_list_widget_box_create(obj, widget); + if (!main_box) { + LOGE("Can not create preview box"); + return NULL; + } + } + + return main_box; } static Evas_Object *__add_widget_viewer_list_widget_box_create(Evas_Object *obj, add_widget_data_t *widget) { - LOGD("Create box for %s", widget->widget_id); - - Evas_Object *box = NULL; - Evas_Object *preview_layout = NULL; - Eina_List *l; - Eina_List *children; - add_widget_data_preview_t *preview; - - box = elm_box_add(obj); - if (!box) { - LOGE("Can not create preview box"); - return NULL; - } - - elm_box_align_set(box, 0.0, 0.0); - elm_box_horizontal_set(box, EINA_TRUE); - elm_box_homogeneous_set(box, EINA_FALSE); - elm_box_padding_set(box, ALLPAGE_PREVIEW_PADDING_MID, 0); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - EINA_LIST_FOREACH(widget->preview_list, l, preview) { - preview_layout = __add_widget_viewer_list_widget_preview_box_create(box, widget, preview); - if (!preview_layout) { - LOGE("Can not create preview layout"); - continue; - } - evas_object_show(preview_layout); - - switch (preview->type) { - case WIDGET_SIZE_TYPE_4x4: - case WIDGET_SIZE_TYPE_4x2: - evas_object_size_hint_align_set(preview_layout, 0.0, 0.0); - elm_box_pack_end(box, preview_layout); - break; - default: - LOGE("Unsupported size\n"); - break; - return NULL; - } - } - - children = elm_box_children_get(box); - if (eina_list_count(children) == 0) { - evas_object_del(box); - LOGE("Preview is not exists"); - box = NULL; - } else { - evas_object_show(box); - } - - eina_list_free(children); - - return box; + LOGD("Create box for %s", widget->widget_id); + + Evas_Object *box = NULL; + Evas_Object *preview_layout = NULL; + Eina_List *l; + Eina_List *children; + add_widget_data_preview_t *preview; + + box = elm_box_add(obj); + if (!box) { + LOGE("Can not create preview box"); + return NULL; + } + + elm_box_align_set(box, 0.0, 0.0); + elm_box_horizontal_set(box, EINA_TRUE); + elm_box_homogeneous_set(box, EINA_FALSE); + elm_box_padding_set(box, ALLPAGE_PREVIEW_PADDING_MID, 0); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + EINA_LIST_FOREACH(widget->preview_list, l, preview) { + preview_layout = __add_widget_viewer_list_widget_preview_box_create(box, widget, preview); + if (!preview_layout) { + LOGE("Can not create preview layout"); + continue; + } + evas_object_show(preview_layout); + + switch (preview->type) { + case WIDGET_SIZE_TYPE_4x4: + case WIDGET_SIZE_TYPE_4x2: + evas_object_size_hint_align_set(preview_layout, 0.0, 0.0); + elm_box_pack_end(box, preview_layout); + break; + default: + LOGE("Unsupported size\n"); + break; + return NULL; + } + } + + children = elm_box_children_get(box); + if (eina_list_count(children) == 0) { + evas_object_del(box); + LOGE("Preview is not exists"); + box = NULL; + } else { + evas_object_show(box); + } + + eina_list_free(children); + + return box; } static Evas_Object *__add_widget_viewer_list_widget_preview_box_create(Evas_Object *main_box, add_widget_data_t *widget, add_widget_data_preview_t *preview) { - LOGD("Create preview: type->%d path->%s", preview->type, preview->path); - - Evas_Object *preview_layout = NULL; - Evas_Object *preview_img = NULL; - int w = 0, h = 0; - int ret = 0; - - if (!preview || !preview->path || !preview->type) { - LOGE("Path to preview image is empty"); - return NULL; - } - - preview_layout = elm_layout_add(main_box); - if (!preview_layout) { - LOGE("Can not create preview layout"); - return NULL; - } - - ret = elm_layout_file_set(preview_layout, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"), ADD_WIDGET_VIEWER_PREVIEW); - if (ret != EINA_TRUE) { - LOGE("Can not set preview layout"); - evas_object_del(preview_layout); - return NULL; - } - - switch (preview->type) { - case WIDGET_SIZE_TYPE_4x2: - w = ALLPAGE_PREVIEW_4X2_W; - h = ALLPAGE_PREVIEW_4X2_H; - break; - case WIDGET_SIZE_TYPE_4x4: - w = ALLPAGE_PREVIEW_4X4_W; - h = ALLPAGE_PREVIEW_4X4_H; - break; - default: - return NULL; - } - - Evas_Object *rect = NULL; - rect = evas_object_rectangle_add(evas_object_evas_get(preview_layout)); - if (!rect) { - LOGE("Can not create preview layout"); - return NULL; - } - evas_object_color_set(rect, 255, 255, 255, 0); - evas_object_size_hint_min_set(rect, w, h); - evas_object_size_hint_max_set(rect, w, h); - elm_object_part_content_set(preview_layout, SIZE_SETTER, rect); - - int *preview_type = calloc(1, sizeof(int)); - if (!preview_type) { - LOGE("Can not allocate memory for additional data"); - evas_object_del(preview_layout); - return NULL; - } - *preview_type = preview->type; - - preview_img = evas_object_image_filled_add(evas_object_evas_get(preview_layout)); - if (!preview_img) { - LOGE("Can not create image object"); - evas_object_del(preview_layout); - return NULL; - } - - evas_object_data_set(preview_layout, "preview_type", preview_type); - - elm_object_signal_callback_add(preview_layout, SIGNAL_PREVIEW_CLICKED, SIGNAL_SOURCE, __add_widget_viewer_preview_clicked_cb, widget); - - evas_object_image_file_set(preview_img, preview->path, NULL); - evas_object_image_size_get(preview_img, &w, &h); - evas_object_image_fill_set(preview_img, 0, 0, w, h); - - elm_object_part_content_set(preview_layout, ADD_WIDGET_VIEWER_PREVIEW_ICON, preview_img); - - return preview_layout; + LOGD("Create preview: type->%d path->%s", preview->type, preview->path); + + Evas_Object *preview_layout = NULL; + Evas_Object *preview_img = NULL; + int w = 0, h = 0; + int ret = 0; + + if (!preview || !preview->path || !preview->type) { + LOGE("Path to preview image is empty"); + return NULL; + } + + preview_layout = elm_layout_add(main_box); + if (!preview_layout) { + LOGE("Can not create preview layout"); + return NULL; + } + + ret = elm_layout_file_set(preview_layout, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"), ADD_WIDGET_VIEWER_PREVIEW); + if (ret != EINA_TRUE) { + LOGE("Can not set preview layout"); + evas_object_del(preview_layout); + return NULL; + } + + switch (preview->type) { + case WIDGET_SIZE_TYPE_4x2: + w = ALLPAGE_PREVIEW_4X2_W; + h = ALLPAGE_PREVIEW_4X2_H; + break; + case WIDGET_SIZE_TYPE_4x4: + w = ALLPAGE_PREVIEW_4X4_W; + h = ALLPAGE_PREVIEW_4X4_H; + break; + default: + return NULL; + } + + Evas_Object *rect = NULL; + rect = evas_object_rectangle_add(evas_object_evas_get(preview_layout)); + if (!rect) { + LOGE("Can not create preview layout"); + return NULL; + } + evas_object_color_set(rect, 255, 255, 255, 0); + evas_object_size_hint_min_set(rect, w, h); + evas_object_size_hint_max_set(rect, w, h); + elm_object_part_content_set(preview_layout, SIZE_SETTER, rect); + + int *preview_type = calloc(1, sizeof(int)); + if (!preview_type) { + LOGE("Can not allocate memory for additional data"); + evas_object_del(preview_layout); + return NULL; + } + *preview_type = preview->type; + + preview_img = evas_object_image_filled_add(evas_object_evas_get(preview_layout)); + if (!preview_img) { + LOGE("Can not create image object"); + evas_object_del(preview_layout); + return NULL; + } + + evas_object_data_set(preview_layout, "preview_type", preview_type); + + elm_object_signal_callback_add(preview_layout, SIGNAL_PREVIEW_CLICKED, SIGNAL_SOURCE, __add_widget_viewer_preview_clicked_cb, widget); + + evas_object_image_file_set(preview_img, preview->path, NULL); + evas_object_image_size_get(preview_img, &w, &h); + evas_object_image_fill_set(preview_img, 0, 0, w, h); + + elm_object_part_content_set(preview_layout, ADD_WIDGET_VIEWER_PREVIEW_ICON, preview_img); + + return preview_layout; } static void __add_widget_viewer_preview_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - LOGD("Preview clicked"); + LOGD("Preview clicked"); - add_widget_data_t *widget = NULL; - int *size = NULL; + add_widget_data_t *widget = NULL; + int *size = NULL; - size = evas_object_data_del(obj, "preview_type"); - if (*size == WIDGET_SIZE_TYPE_UNKNOWN) { - LOGE("Can not get widgets size type"); - return; - } + size = evas_object_data_del(obj, "preview_type"); + if (*size == WIDGET_SIZE_TYPE_UNKNOWN) { + LOGE("Can not get widgets size type"); + return; + } - widget = (add_widget_data_t *)data; - if (!widget) { - LOGE("Can not get widget"); - return; - } + widget = (add_widget_data_t *)data; + if (!widget) { + LOGE("Can not get widget"); + return; + } - int type = *size; - free(size); - char *widget_id = strdup(widget->widget_id); + int type = *size; + free(size); + char *widget_id = strdup(widget->widget_id); - cluster_view_set_state(VIEW_STATE_NORMAL); + cluster_view_set_state(VIEW_STATE_NORMAL); - cluster_data_insert_widget(widget_id, widget_id, type); - free(widget_id); + cluster_data_insert_widget(widget_id, widget_id, type); + free(widget_id); } diff --git a/src/apps_data.c b/src/apps_data.c index 9d0f82c..a6b6cc0 100755 --- a/src/apps_data.c +++ b/src/apps_data.c @@ -24,9 +24,9 @@ #include "conf.h" static struct { - Eina_List *data_list; + Eina_List *data_list; } apps_data_s = { - .data_list = NULL + .data_list = NULL }; static void __apps_data_print(Eina_List *list); @@ -34,362 +34,362 @@ static int __apps_data_sort_cb(const void *a , const void *b); static void __apps_data_item_free(app_data_t *item); app_data_t *__apps_data_find_item(int db_id); static int __apps_data_shortcut_request_cb(const char *pkgname, - const char *name, int type, const char *content_info, const char *icon, - int pid, double period, int allow_duplicate, void *data); + const char *name, int type, const char *content_info, const char *icon, + int pid, double period, int allow_duplicate, void *data); void apps_data_init(void *data, Ecore_Thread *th) { - Eina_List *pkg_list = NULL, *db_list = NULL; - Eina_List *pkg_find_list, *db_find_list; - app_data_t *pkg_item = NULL, *db_item = NULL; - apps_package_manager_init(); - apps_package_manger_get_list(&pkg_list); - - if (!apps_db_create()) { - apps_db_get_app_list(&db_list); - } - - EINA_LIST_FOREACH(pkg_list, pkg_find_list, pkg_item) { - EINA_LIST_FOREACH(db_list, db_find_list, db_item) { - if (!strcmp(pkg_item->app_id, db_item->app_id) && !strcmp(pkg_item->owner, db_item->owner)) { - pkg_item->db_id = db_item->db_id; - pkg_item->parent_db_id = db_item->parent_db_id; - db_item->temp = true; - break; - } - } - apps_data_s.data_list = eina_list_append(apps_data_s.data_list, pkg_item); - } - - EINA_LIST_FOREACH(db_list, db_find_list, db_item) { - if (!db_item->temp) { - apps_db_delete_by_app_id(db_item->app_id); - apps_view_delete_icon(db_item); - __apps_data_item_free(db_item); - } - } - db_list = eina_list_free(db_list); - - apps_db_get_list(&db_list); - EINA_LIST_FOREACH(db_list, db_find_list, db_item) { - if (db_item->is_folder || db_item->type >= APPS_DATA_TYPE_APP_SHORTCUT) { - apps_data_s.data_list = eina_list_append(apps_data_s.data_list, db_item); - } - } - eina_list_free(db_list); - eina_list_free(pkg_list); - - apps_data_sort(); - - EINA_LIST_FOREACH(apps_data_s.data_list, pkg_find_list, pkg_item) { - if (pkg_item->db_id == INIT_VALUE) - apps_db_insert(pkg_item); - else - apps_db_update(pkg_item); - } - __apps_data_print(apps_data_s.data_list); - - int ret = shortcut_set_request_cb(__apps_data_shortcut_request_cb, NULL); - if (ret != SHORTCUT_ERROR_NONE) - LOGE("Failed to add shortcut request cb: 0x%X\n", ret); + Eina_List *pkg_list = NULL, *db_list = NULL; + Eina_List *pkg_find_list, *db_find_list; + app_data_t *pkg_item = NULL, *db_item = NULL; + apps_package_manager_init(); + apps_package_manger_get_list(&pkg_list); + + if (!apps_db_create()) { + apps_db_get_app_list(&db_list); + } + + EINA_LIST_FOREACH(pkg_list, pkg_find_list, pkg_item) { + EINA_LIST_FOREACH(db_list, db_find_list, db_item) { + if (!strcmp(pkg_item->app_id, db_item->app_id) && !strcmp(pkg_item->owner, db_item->owner)) { + pkg_item->db_id = db_item->db_id; + pkg_item->parent_db_id = db_item->parent_db_id; + db_item->temp = true; + break; + } + } + apps_data_s.data_list = eina_list_append(apps_data_s.data_list, pkg_item); + } + + EINA_LIST_FOREACH(db_list, db_find_list, db_item) { + if (!db_item->temp) { + apps_db_delete_by_app_id(db_item->app_id); + apps_view_delete_icon(db_item); + __apps_data_item_free(db_item); + } + } + db_list = eina_list_free(db_list); + + apps_db_get_list(&db_list); + EINA_LIST_FOREACH(db_list, db_find_list, db_item) { + if (db_item->is_folder || db_item->type >= APPS_DATA_TYPE_APP_SHORTCUT) { + apps_data_s.data_list = eina_list_append(apps_data_s.data_list, db_item); + } + } + eina_list_free(db_list); + eina_list_free(pkg_list); + + apps_data_sort(); + + EINA_LIST_FOREACH(apps_data_s.data_list, pkg_find_list, pkg_item) { + if (pkg_item->db_id == INIT_VALUE) + apps_db_insert(pkg_item); + else + apps_db_update(pkg_item); + } + __apps_data_print(apps_data_s.data_list); + + int ret = shortcut_set_request_cb(__apps_data_shortcut_request_cb, NULL); + if (ret != SHORTCUT_ERROR_NONE) + LOGE("Failed to add shortcut request cb: 0x%X\n", ret); } void apps_data_sort(void) { - int index = 0; - int parent_id = APPS_ROOT; - app_data_t *item = NULL; - Eina_List *find_list; - - if (apps_data_s.data_list) { - apps_data_s.data_list = eina_list_sort(apps_data_s.data_list, eina_list_count(apps_data_s.data_list), __apps_data_sort_cb); - } - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->parent_db_id == parent_id) { - item->position = index++; - } else { - parent_id = item->parent_db_id; - index = 0; - item->position = index++; - } - } + int index = 0; + int parent_id = APPS_ROOT; + app_data_t *item = NULL; + Eina_List *find_list; + + if (apps_data_s.data_list) { + apps_data_s.data_list = eina_list_sort(apps_data_s.data_list, eina_list_count(apps_data_s.data_list), __apps_data_sort_cb); + } + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->parent_db_id == parent_id) { + item->position = index++; + } else { + parent_id = item->parent_db_id; + index = 0; + item->position = index++; + } + } } static int __apps_data_sort_cb(const void *a , const void *b) { - int i; - app_data_t *item1 = (app_data_t *)a; - app_data_t *item2 = (app_data_t *)b; - if (item1->parent_db_id < item2->parent_db_id) - return -1; - else if (item1->parent_db_id > item2->parent_db_id) - return 1; - - if (item1->label_str == NULL && item2->label_str == NULL) - return 1; - else if (item1->label_str == NULL) - return -1; - else if (item2->label_str == NULL) - return 1; - - for (i = 0; item1->label_str[i]; i++) { - if (tolower(item1->label_str[i]) != tolower(item2->label_str[i])) { - int ret = tolower(item1->label_str[i]) - tolower(item2->label_str[i]); - return ret; - } - } - - return item2->label_str[i] ? -1 : (item2->db_id - item1->db_id); + int i; + app_data_t *item1 = (app_data_t *)a; + app_data_t *item2 = (app_data_t *)b; + if (item1->parent_db_id < item2->parent_db_id) + return -1; + else if (item1->parent_db_id > item2->parent_db_id) + return 1; + + if (item1->label_str == NULL && item2->label_str == NULL) + return 1; + else if (item1->label_str == NULL) + return -1; + else if (item2->label_str == NULL) + return 1; + + for (i = 0; item1->label_str[i]; i++) { + if (tolower(item1->label_str[i]) != tolower(item2->label_str[i])) { + int ret = tolower(item1->label_str[i]) - tolower(item2->label_str[i]); + return ret; + } + } + + return item2->label_str[i] ? -1 : (item2->db_id - item1->db_id); } Eina_List *apps_data_get_list(void) { - return apps_data_s.data_list; + return apps_data_s.data_list; } void apps_data_get_folder_item_list(Eina_List **list, app_data_t *folder) { - app_data_t *item = NULL; - Eina_List *find_list; - - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->parent_db_id == folder->db_id) { - *list = eina_list_append(*list , item); - } - } + app_data_t *item = NULL; + Eina_List *find_list; + + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->parent_db_id == folder->db_id) { + *list = eina_list_append(*list , item); + } + } } void apps_data_install(app_data_t *item) { - apps_data_s.data_list = eina_list_append(apps_data_s.data_list, item); - apps_db_insert(item); - apps_data_sort(); - apps_view_icon_add(item); - apps_view_reorder(); + apps_data_s.data_list = eina_list_append(apps_data_s.data_list, item); + apps_db_insert(item); + apps_data_sort(); + apps_view_icon_add(item); + apps_view_reorder(); } void apps_data_uninstall(const char *package) { - Eina_List *find_list; - Eina_List *find_result = NULL; - app_data_t *item = NULL; - - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->pkg_id && (strcmp(item->pkg_id, package) == 0) && - item->owner && (strcmp(item->owner, TEMP_OWNER) == 0)) { - find_result = eina_list_append(find_result, item); - } - } - apps_data_delete_list(find_result); + Eina_List *find_list; + Eina_List *find_result = NULL; + app_data_t *item = NULL; + + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->pkg_id && (strcmp(item->pkg_id, package) == 0) && + item->owner && (strcmp(item->owner, TEMP_OWNER) == 0)) { + find_result = eina_list_append(find_result, item); + } + } + apps_data_delete_list(find_result); } app_data_t *apps_data_add_folder(void) { - app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); - memset(new_item, 0, sizeof(app_data_t)); + app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); + memset(new_item, 0, sizeof(app_data_t)); - new_item->db_id = INIT_VALUE; - new_item->parent_db_id = APPS_ROOT; - new_item->owner = strdup(TEMP_OWNER); - new_item->position = INIT_VALUE; - new_item->label_str = strdup(""); - new_item->type = APPS_DATA_TYPE_APP; + new_item->db_id = INIT_VALUE; + new_item->parent_db_id = APPS_ROOT; + new_item->owner = strdup(TEMP_OWNER); + new_item->position = INIT_VALUE; + new_item->label_str = strdup(""); + new_item->type = APPS_DATA_TYPE_APP; - new_item->is_checked = false; - new_item->is_folder = true; - new_item->is_removable = true; - new_item->is_system = false; + new_item->is_checked = false; + new_item->is_folder = true; + new_item->is_removable = true; + new_item->is_system = false; - apps_data_s.data_list = eina_list_append(apps_data_s.data_list, new_item); + apps_data_s.data_list = eina_list_append(apps_data_s.data_list, new_item); - apps_db_insert(new_item); - apps_view_icon_add(new_item); - apps_data_sort(); - apps_view_reorder(); + apps_db_insert(new_item); + apps_view_icon_add(new_item); + apps_data_sort(); + apps_view_reorder(); - return new_item; + return new_item; } void apps_data_delete_folder(app_data_t *folder_item) { - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->parent_db_id == folder_item->db_id) { - item->parent_db_id = APPS_ROOT; - apps_db_update(item); - apps_view_icon_add(item); - } - } - apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, folder_item); - apps_db_delete(folder_item); - apps_data_sort(); - apps_view_reorder(); - apps_view_delete_icon(folder_item); - __apps_data_item_free(folder_item); + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->parent_db_id == folder_item->db_id) { + item->parent_db_id = APPS_ROOT; + apps_db_update(item); + apps_view_icon_add(item); + } + } + apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, folder_item); + apps_db_delete(folder_item); + apps_data_sort(); + apps_view_reorder(); + apps_view_delete_icon(folder_item); + __apps_data_item_free(folder_item); } void apps_data_update_folder(app_data_t *folder_item) { - apps_db_update(folder_item); - apps_data_sort(); - apps_view_reorder(); + apps_db_update(folder_item); + apps_data_sort(); + apps_view_reorder(); } static int __apps_data_shortcut_request_cb(const char *package_name, - const char *name, int type, const char *content_info, const char *icon, - int pid, double period, int allow_duplicate, void *data) + const char *name, int type, const char *content_info, const char *icon, + int pid, double period, int allow_duplicate, void *data) { - LOGD("package_name: %s", package_name); - LOGD("name: %s", name); - LOGD("type: %d", type); - LOGD("content_info: %s", content_info); - LOGD("icon: %s", icon); - LOGD("pid: %d", pid); - LOGD("period: %.2lf", period); - LOGD("allow_duplicate: %d", allow_duplicate); - - app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); - memset(new_item, 0, sizeof(app_data_t)); - - new_item->db_id = INIT_VALUE; - new_item->parent_db_id = APPS_ROOT; - new_item->owner = strdup(TEMP_OWNER); - new_item->position = INIT_VALUE; - new_item->label_str = strdup(name); - new_item->app_id = strdup(package_name); - - char* pkg_id = NULL; - int ret = package_manager_get_package_id_by_app_id(package_name, &pkg_id); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - new_item->pkg_id = strdup(package_name); - LOGE("Failed to get package ID, %s, [%d] %s", package_name, ret, get_error_message(ret)); - } else { - new_item->pkg_id = pkg_id; - } - if (type == LAUNCH_BY_URI) { - new_item->uri = strdup(content_info); - new_item->type = APPS_DATA_TYPE_URI_SHORTCUT; - } else { - new_item->type = APPS_DATA_TYPE_APP_SHORTCUT; - } - new_item->icon_path_str = strdup(icon); - - new_item->is_checked = false; - new_item->is_folder = false; - new_item->is_removable = true; - new_item->is_system = false; - - apps_data_s.data_list = eina_list_append(apps_data_s.data_list, new_item); - - apps_db_insert(new_item); - apps_view_icon_add(new_item); - apps_data_sort(); - apps_view_reorder(); - - return 0; + LOGD("package_name: %s", package_name); + LOGD("name: %s", name); + LOGD("type: %d", type); + LOGD("content_info: %s", content_info); + LOGD("icon: %s", icon); + LOGD("pid: %d", pid); + LOGD("period: %.2lf", period); + LOGD("allow_duplicate: %d", allow_duplicate); + + app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); + memset(new_item, 0, sizeof(app_data_t)); + + new_item->db_id = INIT_VALUE; + new_item->parent_db_id = APPS_ROOT; + new_item->owner = strdup(TEMP_OWNER); + new_item->position = INIT_VALUE; + new_item->label_str = strdup(name); + new_item->app_id = strdup(package_name); + + char* pkg_id = NULL; + int ret = package_manager_get_package_id_by_app_id(package_name, &pkg_id); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + new_item->pkg_id = strdup(package_name); + LOGE("Failed to get package ID, %s, [%d] %s", package_name, ret, get_error_message(ret)); + } else { + new_item->pkg_id = pkg_id; + } + if (type == LAUNCH_BY_URI) { + new_item->uri = strdup(content_info); + new_item->type = APPS_DATA_TYPE_URI_SHORTCUT; + } else { + new_item->type = APPS_DATA_TYPE_APP_SHORTCUT; + } + new_item->icon_path_str = strdup(icon); + + new_item->is_checked = false; + new_item->is_folder = false; + new_item->is_removable = true; + new_item->is_system = false; + + apps_data_s.data_list = eina_list_append(apps_data_s.data_list, new_item); + + apps_db_insert(new_item); + apps_view_icon_add(new_item); + apps_data_sort(); + apps_view_reorder(); + + return 0; } void apps_data_delete_item(app_data_t *item) { - apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item); - apps_db_delete(item); - apps_data_sort(); - apps_view_reorder(); - apps_view_folder_reroder(); - if (item->parent_db_id != APPS_ROOT) { - app_data_t *parent = __apps_data_find_item(item->parent_db_id); - if (parent) - apps_view_update_folder_icon(parent); - } - apps_view_delete_icon(item); - __apps_data_item_free(item); + apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item); + apps_db_delete(item); + apps_data_sort(); + apps_view_reorder(); + apps_view_folder_reroder(); + if (item->parent_db_id != APPS_ROOT) { + app_data_t *parent = __apps_data_find_item(item->parent_db_id); + if (parent) + apps_view_update_folder_icon(parent); + } + apps_view_delete_icon(item); + __apps_data_item_free(item); } void apps_data_delete_list(Eina_List *list) { - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(list, find_list, item) { - apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item); - apps_db_delete(item); - } - - apps_data_sort(); - apps_view_reorder(); - apps_view_folder_reroder(); - - EINA_LIST_FOREACH(list, find_list, item) { - if (item->parent_db_id != APPS_ROOT) { - app_data_t *parent = __apps_data_find_item(item->parent_db_id); - if (parent) - apps_view_update_folder_icon(parent); - } - apps_view_delete_icon(item); - __apps_data_item_free(item); - } + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(list, find_list, item) { + apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item); + apps_db_delete(item); + } + + apps_data_sort(); + apps_view_reorder(); + apps_view_folder_reroder(); + + EINA_LIST_FOREACH(list, find_list, item) { + if (item->parent_db_id != APPS_ROOT) { + app_data_t *parent = __apps_data_find_item(item->parent_db_id); + if (parent) + apps_view_update_folder_icon(parent); + } + apps_view_delete_icon(item); + __apps_data_item_free(item); + } } app_data_t *apps_data_find_item_by_index(int index) { - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->position == index && item->parent_db_id == APPS_ROOT) - return item; - } - return NULL; + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->position == index && item->parent_db_id == APPS_ROOT) + return item; + } + return NULL; } app_data_t *__apps_data_find_item(int db_id) { - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->db_id == db_id) - return item; - } - return NULL; + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->db_id == db_id) + return item; + } + return NULL; } static void __apps_data_item_free(app_data_t *item) { - if (item && item->label_str) - free(item->label_str); - if (item && item->icon_path_str) - free(item->icon_path_str); - if (item && item->app_id) - free(item->app_id); - if (item && item->pkg_id) - free(item->pkg_id); - if (item && item->owner) - free(item->owner); - if (item && item->uri) - free(item->uri); - if (item) - free(item); + if (item && item->label_str) + free(item->label_str); + if (item && item->icon_path_str) + free(item->icon_path_str); + if (item && item->app_id) + free(item->app_id); + if (item && item->pkg_id) + free(item->pkg_id); + if (item && item->owner) + free(item->owner); + if (item && item->uri) + free(item->uri); + if (item) + free(item); } static void __apps_data_print(Eina_List *list) { - app_data_t *item = NULL; - Eina_List *find_list; - LOGD("========================================"); - EINA_LIST_FOREACH(list, find_list, item) { - if (item != NULL) - LOGD("%d [app: %s][pkg: %s][name:%s][iconPath: %s][icon:%p]", item->position, item->app_id, item->pkg_id, item->label_str, item->icon_path_str, item->app_layout); - } - LOGD("========================================"); + app_data_t *item = NULL; + Eina_List *find_list; + LOGD("========================================"); + EINA_LIST_FOREACH(list, find_list, item) { + if (item != NULL) + LOGD("%d [app: %s][pkg: %s][name:%s][iconPath: %s][icon:%p]", item->position, item->app_id, item->pkg_id, item->label_str, item->icon_path_str, item->app_layout); + } + LOGD("========================================"); } int apps_data_get_folder_item_count(app_data_t *folder) { - int cnt = 0; - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->parent_db_id == folder->db_id) - cnt += 1; - } - return cnt; + int cnt = 0; + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->parent_db_id == folder->db_id) + cnt += 1; + } + return cnt; } diff --git a/src/apps_db.c b/src/apps_db.c index 85576f8..1e69fa7 100755 --- a/src/apps_db.c +++ b/src/apps_db.c @@ -23,68 +23,68 @@ #define APPS_DB_NAME ".apps-data.db" -#define QUERY_MAXLEN 4096 +#define QUERY_MAXLEN 4096 static sqlite3 *apps_db = NULL; enum { - COL_ID = 0, - COL_PARENT_ID, - COL_OWNER, - COL_IS_FOLDER, - COL_POSITION, - COL_APPLICATION_ID, - COL_PACKAGE_ID, - COL_LABEL, - COL_URI, - COL_TYPE, - COL_IS_SYSTEM, - COL_IS_REMOVABLE, - COL_ICON_PATH + COL_ID = 0, + COL_PARENT_ID, + COL_OWNER, + COL_IS_FOLDER, + COL_POSITION, + COL_APPLICATION_ID, + COL_PACKAGE_ID, + COL_LABEL, + COL_URI, + COL_TYPE, + COL_IS_SYSTEM, + COL_IS_REMOVABLE, + COL_ICON_PATH }; #define CREATE_APPS_DB_TABLE "create table if not exists apps(\ - id INTEGER PRIMARY KEY AUTOINCREMENT,\ - parentId INTEGER,\ - owner TEXT,\ - isFolder INTEGER,\ - position INTEGER,\ - appId TEXT,\ - pkgId TEXT,\ - label TEXT,\ - uri TEXT,\ - type INTEGER,\ - isSystem INTEGER,\ - isRemovable INTEGER,\ - iconPath TEXT);" + id INTEGER PRIMARY KEY AUTOINCREMENT,\ + parentId INTEGER,\ + owner TEXT,\ + isFolder INTEGER,\ + position INTEGER,\ + appId TEXT,\ + pkgId TEXT,\ + label TEXT,\ + uri TEXT,\ + type INTEGER,\ + isSystem INTEGER,\ + isRemovable INTEGER,\ + iconPath TEXT);" #define UPDATE_APPS_DB_TABLE "UPDATE apps set \ - parentId=%d,\ - owner='%s',\ - isFolder=%d,\ - position=%d,\ - appId='%s',\ - pkgId='%s',\ - label='%s',\ - uri='%s',\ - type=%d,\ - isSystem=%d,\ - isRemovable=%d,\ - iconPath='%s' WHERE id = %d" + parentId=%d,\ + owner='%s',\ + isFolder=%d,\ + position=%d,\ + appId='%s',\ + pkgId='%s',\ + label='%s',\ + uri='%s',\ + type=%d,\ + isSystem=%d,\ + isRemovable=%d,\ + iconPath='%s' WHERE id = %d" #define INSERT_APPS_DB_TABLE "INSERT into apps (\ - parentId,\ - owner,\ - isFolder,\ - position,\ - appId,\ - pkgId,\ - label,\ - uri,\ - type,\ - isSystem,\ - isRemovable,\ - iconPath) VALUES(%d,'%s',%d,%d,'%s','%s','%s','%s',%d,%d,%d,'%s')" + parentId,\ + owner,\ + isFolder,\ + position,\ + appId,\ + pkgId,\ + label,\ + uri,\ + type,\ + isSystem,\ + isRemovable,\ + iconPath) VALUES(%d,'%s',%d,%d,'%s','%s','%s','%s',%d,%d,%d,'%s')" #define SELECT_ITEM "SELECT * FROM apps;" #define SELECT_APP_ITEM "SELECT * FROM apps WHERE type=0 AND isFolder=0;" @@ -93,270 +93,270 @@ static bool __apps_db_open(void); bool apps_db_create(void) { - char *errMsg; - int ret; - const char *db_path = util_get_data_file_path(APPS_DB_NAME); - FILE *fp = fopen(db_path, "r"); - if (fp) { - fclose(fp); - LOGE("Apps DB[%s] exist", db_path); - return false; - } - - ret = sqlite3_open(db_path, &apps_db); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%d] : path [%s]", ret, db_path); - return false; - } - - ret = sqlite3_exec(apps_db, "PRAGMA journal_mode = PERSIST", - NULL, NULL, &errMsg); - if (ret != SQLITE_OK) { - LOGE("SQL error(%d) : %s", ret, errMsg); - sqlite3_free(errMsg); - return false; - } - - ret = sqlite3_exec(apps_db, CREATE_APPS_DB_TABLE, NULL, NULL, &errMsg); - if (ret != SQLITE_OK) { - LOGE("SQL error(%d) : %s", ret, errMsg); - sqlite3_free(errMsg); - return false; - } - LOGD("Create DB[%s] : [%s] OK ", db_path, CREATE_APPS_DB_TABLE); - return true; + char *errMsg; + int ret; + const char *db_path = util_get_data_file_path(APPS_DB_NAME); + FILE *fp = fopen(db_path, "r"); + if (fp) { + fclose(fp); + LOGE("Apps DB[%s] exist", db_path); + return false; + } + + ret = sqlite3_open(db_path, &apps_db); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%d] : path [%s]", ret, db_path); + return false; + } + + ret = sqlite3_exec(apps_db, "PRAGMA journal_mode = PERSIST", + NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { + LOGE("SQL error(%d) : %s", ret, errMsg); + sqlite3_free(errMsg); + return false; + } + + ret = sqlite3_exec(apps_db, CREATE_APPS_DB_TABLE, NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { + LOGE("SQL error(%d) : %s", ret, errMsg); + sqlite3_free(errMsg); + return false; + } + LOGD("Create DB[%s] : [%s] OK ", db_path, CREATE_APPS_DB_TABLE); + return true; } bool apps_db_close() { - if (apps_db) { - sqlite3_exec(apps_db, "COMMIT TRANSACTION", NULL, NULL, NULL); - sqlite3_close(apps_db); - apps_db = NULL; - } - return true; + if (apps_db) { + sqlite3_exec(apps_db, "COMMIT TRANSACTION", NULL, NULL, NULL); + sqlite3_close(apps_db); + apps_db = NULL; + } + return true; } bool apps_db_get_list(Eina_List **apps) { - sqlite3_stmt *stmt; - - if (!__apps_db_open()) - return false; - - int ret = sqlite3_prepare_v2(apps_db, SELECT_ITEM, strlen(SELECT_ITEM), &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", SELECT_ITEM, sqlite3_errmsg(apps_db)); - return false; - } - - const char *str = NULL; - while (sqlite3_step(stmt) == SQLITE_ROW) { - app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t)); - memset(item, 0, sizeof(app_data_t)); - - item->db_id = sqlite3_column_int(stmt, COL_ID); - item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID); - str = (const char *) sqlite3_column_text(stmt, COL_OWNER); - item->owner = (!str || !strlen(str)) ? NULL : strdup(str); - item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER); - item->position = sqlite3_column_int(stmt, COL_POSITION); - str = (const char *) sqlite3_column_text(stmt, COL_APPLICATION_ID); - item->app_id = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_ID); - item->pkg_id = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_LABEL); - item->label_str = (!str) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_URI); - item->uri = (!str || !strlen(str)) ? NULL : strdup(str); - item->type = sqlite3_column_int(stmt, COL_TYPE); - item->is_system = sqlite3_column_int(stmt, COL_IS_SYSTEM); - item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE); - str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH); - item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str); - *apps = eina_list_append(*apps, item); - } - sqlite3_finalize(stmt); - return true; + sqlite3_stmt *stmt; + + if (!__apps_db_open()) + return false; + + int ret = sqlite3_prepare_v2(apps_db, SELECT_ITEM, strlen(SELECT_ITEM), &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", SELECT_ITEM, sqlite3_errmsg(apps_db)); + return false; + } + + const char *str = NULL; + while (sqlite3_step(stmt) == SQLITE_ROW) { + app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t)); + memset(item, 0, sizeof(app_data_t)); + + item->db_id = sqlite3_column_int(stmt, COL_ID); + item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID); + str = (const char *) sqlite3_column_text(stmt, COL_OWNER); + item->owner = (!str || !strlen(str)) ? NULL : strdup(str); + item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER); + item->position = sqlite3_column_int(stmt, COL_POSITION); + str = (const char *) sqlite3_column_text(stmt, COL_APPLICATION_ID); + item->app_id = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_ID); + item->pkg_id = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_LABEL); + item->label_str = (!str) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_URI); + item->uri = (!str || !strlen(str)) ? NULL : strdup(str); + item->type = sqlite3_column_int(stmt, COL_TYPE); + item->is_system = sqlite3_column_int(stmt, COL_IS_SYSTEM); + item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE); + str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH); + item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str); + *apps = eina_list_append(*apps, item); + } + sqlite3_finalize(stmt); + return true; } bool apps_db_get_app_list(Eina_List **apps) { - sqlite3_stmt *stmt; - - if (!__apps_db_open()) - return false; - - int ret = sqlite3_prepare_v2(apps_db, SELECT_APP_ITEM, strlen(SELECT_APP_ITEM), &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", SELECT_APP_ITEM, sqlite3_errmsg(apps_db)); - return false; - } - - const char *str = NULL; - while (sqlite3_step(stmt) == SQLITE_ROW) { - app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t)); - memset(item, 0, sizeof(app_data_t)); - - item->db_id = sqlite3_column_int(stmt, COL_ID); - item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID); - str = (const char *) sqlite3_column_text(stmt, COL_OWNER); - item->owner = (!str || !strlen(str)) ? NULL : strdup(str); - item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER); - item->position = sqlite3_column_int(stmt, COL_POSITION); - str = (const char *) sqlite3_column_text(stmt, COL_APPLICATION_ID); - item->app_id = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_ID); - item->pkg_id = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_LABEL); - item->label_str = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_URI); - item->uri = (!str || !strlen(str)) ? NULL : strdup(str); - item->type = sqlite3_column_int(stmt, COL_TYPE); - item->is_system = sqlite3_column_int(stmt, COL_IS_SYSTEM); - item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE); - str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH); - item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str); - *apps = eina_list_append(*apps, item); - } - sqlite3_finalize(stmt); - return true; + sqlite3_stmt *stmt; + + if (!__apps_db_open()) + return false; + + int ret = sqlite3_prepare_v2(apps_db, SELECT_APP_ITEM, strlen(SELECT_APP_ITEM), &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", SELECT_APP_ITEM, sqlite3_errmsg(apps_db)); + return false; + } + + const char *str = NULL; + while (sqlite3_step(stmt) == SQLITE_ROW) { + app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t)); + memset(item, 0, sizeof(app_data_t)); + + item->db_id = sqlite3_column_int(stmt, COL_ID); + item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID); + str = (const char *) sqlite3_column_text(stmt, COL_OWNER); + item->owner = (!str || !strlen(str)) ? NULL : strdup(str); + item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER); + item->position = sqlite3_column_int(stmt, COL_POSITION); + str = (const char *) sqlite3_column_text(stmt, COL_APPLICATION_ID); + item->app_id = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_ID); + item->pkg_id = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_LABEL); + item->label_str = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_URI); + item->uri = (!str || !strlen(str)) ? NULL : strdup(str); + item->type = sqlite3_column_int(stmt, COL_TYPE); + item->is_system = sqlite3_column_int(stmt, COL_IS_SYSTEM); + item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE); + str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH); + item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str); + *apps = eina_list_append(*apps, item); + } + sqlite3_finalize(stmt); + return true; } bool apps_db_update(app_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__apps_db_open()) - return false; - snprintf(query, QUERY_MAXLEN, UPDATE_APPS_DB_TABLE, - item->parent_db_id, - item->owner, - item->is_folder, - item->position, - item->app_id, - item->pkg_id, - item->label_str, - item->uri, - item->type, - item->is_system, - item->is_removable, - item->icon_path_str, - item->db_id); - int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); - return false; - } - sqlite3_step(stmt); - sqlite3_finalize(stmt); - apps_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__apps_db_open()) + return false; + snprintf(query, QUERY_MAXLEN, UPDATE_APPS_DB_TABLE, + item->parent_db_id, + item->owner, + item->is_folder, + item->position, + item->app_id, + item->pkg_id, + item->label_str, + item->uri, + item->type, + item->is_system, + item->is_removable, + item->icon_path_str, + item->db_id); + int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); + return false; + } + sqlite3_step(stmt); + sqlite3_finalize(stmt); + apps_db_close(); + return true; } bool apps_db_insert(app_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__apps_db_open()) - return false; - - snprintf(query, QUERY_MAXLEN, INSERT_APPS_DB_TABLE, - item->parent_db_id, - item->owner, - item->is_folder, - item->position, - item->app_id, - item->pkg_id, - item->label_str, - item->uri, - item->type, - item->is_system, - item->is_removable, - item->icon_path_str); - - int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); - return false; - } - sqlite3_step(stmt); - sqlite3_finalize(stmt); - item->db_id = (int)sqlite3_last_insert_rowid(apps_db); - - apps_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__apps_db_open()) + return false; + + snprintf(query, QUERY_MAXLEN, INSERT_APPS_DB_TABLE, + item->parent_db_id, + item->owner, + item->is_folder, + item->position, + item->app_id, + item->pkg_id, + item->label_str, + item->uri, + item->type, + item->is_system, + item->is_removable, + item->icon_path_str); + + int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); + return false; + } + sqlite3_step(stmt); + sqlite3_finalize(stmt); + item->db_id = (int)sqlite3_last_insert_rowid(apps_db); + + apps_db_close(); + return true; } bool apps_db_delete(app_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__apps_db_open()) - return false; - snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE id=%d", item->db_id); - int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); - return false; - } - - sqlite3_step(stmt); - sqlite3_finalize(stmt); - - apps_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__apps_db_open()) + return false; + snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE id=%d", item->db_id); + int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); + return false; + } + + sqlite3_step(stmt); + sqlite3_finalize(stmt); + + apps_db_close(); + return true; } bool apps_db_delete_by_app_id(const char* app_id) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__apps_db_open()) - return false; - snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE appId='%s'", app_id); - int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); - return false; - } - - sqlite3_step(stmt); - sqlite3_finalize(stmt); - - apps_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__apps_db_open()) + return false; + snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE appId='%s'", app_id); + int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); + return false; + } + + sqlite3_step(stmt); + sqlite3_finalize(stmt); + + apps_db_close(); + return true; } bool apps_db_delete_by_pkg_id(const char* pkg_id) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__apps_db_open()) - return false; - snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE pkgId='%s'", pkg_id); - int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); - return false; - } - - sqlite3_step(stmt); - sqlite3_finalize(stmt); - - apps_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__apps_db_open()) + return false; + snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE pkgId='%s'", pkg_id); + int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); + return false; + } + + sqlite3_step(stmt); + sqlite3_finalize(stmt); + + apps_db_close(); + return true; } bool __apps_db_open() { - if (!apps_db) { - int ret; - ret = sqlite3_open(util_get_data_file_path(APPS_DB_NAME), &apps_db); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%d] : path [%s]", ret, util_get_data_file_path(APPS_DB_NAME)); - return false; - } - } - return true; + if (!apps_db) { + int ret; + ret = sqlite3_open(util_get_data_file_path(APPS_DB_NAME), &apps_db); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%d] : path [%s]", ret, util_get_data_file_path(APPS_DB_NAME)); + return false; + } + } + return true; } diff --git a/src/apps_package_manager.c b/src/apps_package_manager.c index cd3a5bf..0fdbc5b 100755 --- a/src/apps_package_manager.c +++ b/src/apps_package_manager.c @@ -22,8 +22,8 @@ static package_manager_h pkg_mgr = NULL; static void __apps_package_manager_event_cb(const char *type, const char *package, - package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, - package_manager_error_e error, void *user_data); + package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, + package_manager_error_e error, void *user_data); static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **item); static bool __apps_package_manager_get_item(app_info_h app_handle, void *data); static void __apps_package_manager_install(const char *package); @@ -31,174 +31,174 @@ static void __apps_package_manager_uninstall(const char *package); void apps_package_manager_init() { - int ret; - if (pkg_mgr != NULL) - return; - - ret = package_manager_create(&pkg_mgr); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("package_manager_create : failed[%d]", ret); - } - - ret = package_manager_set_event_status(pkg_mgr, PACKAGE_MANAGER_STATUS_TYPE_INSTALL|PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("package_manager_set_event_status : failed[%d]", ret); - } - - ret = package_manager_set_event_cb(pkg_mgr, __apps_package_manager_event_cb, NULL); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("package_manager_set_event_cb : failed[%d]", ret); - } + int ret; + if (pkg_mgr != NULL) + return; + + ret = package_manager_create(&pkg_mgr); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("package_manager_create : failed[%d]", ret); + } + + ret = package_manager_set_event_status(pkg_mgr, PACKAGE_MANAGER_STATUS_TYPE_INSTALL|PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("package_manager_set_event_status : failed[%d]", ret); + } + + ret = package_manager_set_event_cb(pkg_mgr, __apps_package_manager_event_cb, NULL); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("package_manager_set_event_cb : failed[%d]", ret); + } } static void __apps_package_manager_event_cb(const char *type, const char *package, - package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, - package_manager_error_e error, void *user_data) + package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, + package_manager_error_e error, void *user_data) { - if (event_state == PACKAGE_MANAGER_EVENT_STATE_STARTED) { - LOGI("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_STARTED", package, event_type); - } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_PROCESSING) { - LOGI("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_PROCESSING", package, event_type); - } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_COMPLETED) { - LOGI("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_COMPLETED", package, event_type); - if (event_type == PACKAGE_MANAGER_EVENT_TYPE_INSTALL) { - __apps_package_manager_install(package); - } else if (event_type == PACKAGE_MANAGER_EVENT_TYPE_UNINSTALL) { - __apps_package_manager_uninstall(package); - } else { //PACKAGE_MANAGER_EVENT_TYPE_UPDATE - LOGD("UPDATE - %s", package); - } - } else { - LOGE("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_COMPLETED: FAILED", package, event_type); - } + if (event_state == PACKAGE_MANAGER_EVENT_STATE_STARTED) { + LOGI("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_STARTED", package, event_type); + } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_PROCESSING) { + LOGI("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_PROCESSING", package, event_type); + } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_COMPLETED) { + LOGI("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_COMPLETED", package, event_type); + if (event_type == PACKAGE_MANAGER_EVENT_TYPE_INSTALL) { + __apps_package_manager_install(package); + } else if (event_type == PACKAGE_MANAGER_EVENT_TYPE_UNINSTALL) { + __apps_package_manager_uninstall(package); + } else { //PACKAGE_MANAGER_EVENT_TYPE_UPDATE + LOGD("UPDATE - %s", package); + } + } else { + LOGE("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_COMPLETED: FAILED", package, event_type); + } } Eina_Bool apps_package_manger_get_list(Eina_List **list) { - int ret; - app_info_filter_h handle = NULL; + int ret; + app_info_filter_h handle = NULL; - ret = app_info_filter_create(&handle); - app_info_filter_add_bool(handle, PACKAGE_INFO_PROP_APP_NODISPLAY , false); - app_info_filter_foreach_appinfo(handle, __apps_package_manager_get_item, list); - return true; + ret = app_info_filter_create(&handle); + app_info_filter_add_bool(handle, PACKAGE_INFO_PROP_APP_NODISPLAY , false); + app_info_filter_foreach_appinfo(handle, __apps_package_manager_get_item, list); + return true; } static bool __apps_package_manager_get_item(app_info_h app_handle, void *data) { - Eina_List **list = (Eina_List **)data; - app_data_t *item = NULL; - if (__apps_data_pkg_get_apps_info(app_handle, &item)) { - *list = eina_list_append(*list, item); - } - usleep(1); - return true; + Eina_List **list = (Eina_List **)data; + app_data_t *item = NULL; + if (__apps_data_pkg_get_apps_info(app_handle, &item)) { + *list = eina_list_append(*list, item); + } + usleep(1); + return true; } static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **item) { - bool nodisplay = false; - int ret; - package_info_h p_handle = NULL; - - app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); - memset(new_item, 0, sizeof(app_data_t)); - *item = new_item; - - app_info_is_nodisplay(app_handle, &nodisplay); - if (nodisplay) - goto ERROR; - - new_item->db_id = INIT_VALUE; - new_item->parent_db_id = APPS_ROOT; - new_item->owner = strdup(TEMP_OWNER); - new_item->is_folder = false; - new_item->position = INIT_VALUE; - new_item->uri = NULL; - new_item->type = APPS_DATA_TYPE_APP; - - ret = app_info_get_app_id(app_handle, &new_item->app_id); - if (APP_MANAGER_ERROR_NONE != ret) { - LOGE("app_info_get_app_id return [%d] %s", ret, new_item->app_id); - goto ERROR; - } - - ret = app_info_get_package(app_handle, &new_item->pkg_id); - if (APP_MANAGER_ERROR_NONE != ret) { - LOGE("app_info_get_package return [%d] %s", ret, new_item->pkg_id); - goto ERROR; - } - - ret = app_info_get_label(app_handle, &new_item->label_str); - if (APP_MANAGER_ERROR_NONE != ret) { - LOGE("app_info_get_label return [%d] %s", ret, new_item->label_str); - goto ERROR; - } - - ret = app_info_get_icon(app_handle, &new_item->icon_path_str); - if (APP_MANAGER_ERROR_NONE != ret) { - LOGE("app_info_get_icon return [%d]", ret); - goto ERROR; - } - - LOGD("%s", new_item->pkg_id); - - ret = package_manager_get_package_info(new_item->pkg_id, &p_handle); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Failed to inialize package handle for item : %s", new_item->pkg_id); - goto ERROR; - } - - ret = package_info_is_removable_package(p_handle, &new_item->is_removable); - if (PACKAGE_MANAGER_ERROR_NONE != ret) { - LOGE("package_info_is_removable_package return [%d]", ret); - goto ERROR; - } - - ret = package_info_is_system_package(p_handle, &new_item->is_system); - if (PACKAGE_MANAGER_ERROR_NONE != ret) { - LOGE("package_info_is_system_package return [%d]", ret); - goto ERROR; - } - - if (!new_item->icon_path_str || !ecore_file_can_read(new_item->icon_path_str)) { - if (new_item->icon_path_str) free(new_item->icon_path_str); - - new_item->icon_path_str = malloc(MAX_FILE_PATH_LEN); - sprintf(new_item->icon_path_str, "%s", util_get_res_file_path(IMAGE_DIR"/default_app_icon.png")); - } - return true; + bool nodisplay = false; + int ret; + package_info_h p_handle = NULL; + + app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); + memset(new_item, 0, sizeof(app_data_t)); + *item = new_item; + + app_info_is_nodisplay(app_handle, &nodisplay); + if (nodisplay) + goto ERROR; + + new_item->db_id = INIT_VALUE; + new_item->parent_db_id = APPS_ROOT; + new_item->owner = strdup(TEMP_OWNER); + new_item->is_folder = false; + new_item->position = INIT_VALUE; + new_item->uri = NULL; + new_item->type = APPS_DATA_TYPE_APP; + + ret = app_info_get_app_id(app_handle, &new_item->app_id); + if (APP_MANAGER_ERROR_NONE != ret) { + LOGE("app_info_get_app_id return [%d] %s", ret, new_item->app_id); + goto ERROR; + } + + ret = app_info_get_package(app_handle, &new_item->pkg_id); + if (APP_MANAGER_ERROR_NONE != ret) { + LOGE("app_info_get_package return [%d] %s", ret, new_item->pkg_id); + goto ERROR; + } + + ret = app_info_get_label(app_handle, &new_item->label_str); + if (APP_MANAGER_ERROR_NONE != ret) { + LOGE("app_info_get_label return [%d] %s", ret, new_item->label_str); + goto ERROR; + } + + ret = app_info_get_icon(app_handle, &new_item->icon_path_str); + if (APP_MANAGER_ERROR_NONE != ret) { + LOGE("app_info_get_icon return [%d]", ret); + goto ERROR; + } + + LOGD("%s", new_item->pkg_id); + + ret = package_manager_get_package_info(new_item->pkg_id, &p_handle); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Failed to inialize package handle for item : %s", new_item->pkg_id); + goto ERROR; + } + + ret = package_info_is_removable_package(p_handle, &new_item->is_removable); + if (PACKAGE_MANAGER_ERROR_NONE != ret) { + LOGE("package_info_is_removable_package return [%d]", ret); + goto ERROR; + } + + ret = package_info_is_system_package(p_handle, &new_item->is_system); + if (PACKAGE_MANAGER_ERROR_NONE != ret) { + LOGE("package_info_is_system_package return [%d]", ret); + goto ERROR; + } + + if (!new_item->icon_path_str || !ecore_file_can_read(new_item->icon_path_str)) { + if (new_item->icon_path_str) free(new_item->icon_path_str); + + new_item->icon_path_str = malloc(MAX_FILE_PATH_LEN); + sprintf(new_item->icon_path_str, "%s", util_get_res_file_path(IMAGE_DIR"/default_app_icon.png")); + } + return true; ERROR: - if (new_item && new_item->label_str) - free(new_item->label_str); - if (new_item && new_item->icon_path_str) - free(new_item->icon_path_str); - if (new_item && new_item->app_id) - free(new_item->app_id); - if (new_item && new_item->pkg_id) - free(new_item->pkg_id); - if (new_item && new_item->owner) - free(new_item->owner); - if (new_item) free(new_item); - return false; + if (new_item && new_item->label_str) + free(new_item->label_str); + if (new_item && new_item->icon_path_str) + free(new_item->icon_path_str); + if (new_item && new_item->app_id) + free(new_item->app_id); + if (new_item && new_item->pkg_id) + free(new_item->pkg_id); + if (new_item && new_item->owner) + free(new_item->owner); + if (new_item) free(new_item); + return false; } static void __apps_package_manager_install(const char *package) { - app_info_h app_info = NULL; - app_data_t *item = NULL; + app_info_h app_info = NULL; + app_data_t *item = NULL; - app_manager_get_app_info(package, &app_info); - if (__apps_data_pkg_get_apps_info(app_info, &item)) { - apps_data_install(item); - } - app_info_destroy(app_info); + app_manager_get_app_info(package, &app_info); + if (__apps_data_pkg_get_apps_info(app_info, &item)) { + apps_data_install(item); + } + app_info_destroy(app_info); } static void __apps_package_manager_uninstall(const char *package) { - apps_data_uninstall(package); + apps_data_uninstall(package); } diff --git a/src/apps_view.c b/src/apps_view.c index a1a4008..2472cd1 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -34,75 +34,75 @@ #define MAX_BADGE_DISPLAY_COUNT 999 static struct { - Evas_Object *scroller; - Evas_Object *bg; - Evas_Object *box; - Evas_Object *chooser_btn; - Evas_Object *folder_popup_ly; - Evas_Object *folder_title_entry; - Evas_Object *event_block_bg; - app_data_t *picked_item; - int width; - int height; - page_indicator_t *indicator; - Eina_List *page_list; - int page_count; - int current_page; - view_state_t view_state; - view_state_t pre_view_state; - Eina_List *selected_items; - app_data_t *dest_folder; - app_data_t *opened_folder; - app_data_t *candidate_folder; - int selected_item_count; - Ecore_Animator *animator; - Ecore_Timer *edit_mode_scroll_timer; - bool is_srolling; + Evas_Object *scroller; + Evas_Object *bg; + Evas_Object *box; + Evas_Object *chooser_btn; + Evas_Object *folder_popup_ly; + Evas_Object *folder_title_entry; + Evas_Object *event_block_bg; + app_data_t *picked_item; + int width; + int height; + page_indicator_t *indicator; + Eina_List *page_list; + int page_count; + int current_page; + view_state_t view_state; + view_state_t pre_view_state; + Eina_List *selected_items; + app_data_t *dest_folder; + app_data_t *opened_folder; + app_data_t *candidate_folder; + int selected_item_count; + Ecore_Animator *animator; + Ecore_Timer *edit_mode_scroll_timer; + bool is_srolling; } apps_view_s = { - .scroller = NULL, - .bg = NULL, - .box = NULL, - .chooser_btn = NULL, - .folder_popup_ly = NULL, - .folder_title_entry = NULL, - .event_block_bg = NULL, - .picked_item = NULL, - .width = 0, - .height = 0, - .indicator = NULL, - .page_list = NULL, - .page_count = 0, - .current_page = 0, - .view_state = VIEW_STATE_NORMAL, - .pre_view_state = VIEW_STATE_UNKNOWN, - .selected_items = NULL, - .selected_item_count = 0, - .dest_folder = NULL, - .opened_folder = NULL, - .candidate_folder = NULL, - .animator = NULL, - .edit_mode_scroll_timer = NULL, - .is_srolling = false, + .scroller = NULL, + .bg = NULL, + .box = NULL, + .chooser_btn = NULL, + .folder_popup_ly = NULL, + .folder_title_entry = NULL, + .event_block_bg = NULL, + .picked_item = NULL, + .width = 0, + .height = 0, + .indicator = NULL, + .page_list = NULL, + .page_count = 0, + .current_page = 0, + .view_state = VIEW_STATE_NORMAL, + .pre_view_state = VIEW_STATE_UNKNOWN, + .selected_items = NULL, + .selected_item_count = 0, + .dest_folder = NULL, + .opened_folder = NULL, + .candidate_folder = NULL, + .animator = NULL, + .edit_mode_scroll_timer = NULL, + .is_srolling = false, }; static int apps_menu_list[2] = { - MENU_APPS_EDIT, - MENU_APPS_CREATE_FOLDER + MENU_APPS_EDIT, + MENU_APPS_CREATE_FOLDER }; static mouse_info_t apps_mouse_info = { - .pressed = false, - .long_pressed = false, - .down_x = 0, - .down_y = 0, - .move_x = 0, - .move_y = 0, - .up_x = 0, - .up_y = 0, - .long_press_timer = NULL, - .offset_x = 0, - .offset_y = 0, - .pressed_obj = NULL, + .pressed = false, + .long_pressed = false, + .down_x = 0, + .down_y = 0, + .move_x = 0, + .move_y = 0, + .up_x = 0, + .up_y = 0, + .long_press_timer = NULL, + .offset_x = 0, + .offset_y = 0, + .pressed_obj = NULL, }; static Eina_Hash *apps_menu_table = NULL; @@ -157,1601 +157,1601 @@ static void __apps_view_folder_entry_done_cb(void *data, Evas_Object *obj, void Evas_Object *apps_view_create(Evas_Object *win) { - elm_win_screen_size_get(win, NULL, NULL, &apps_view_s.width, &apps_view_s.height); + elm_win_screen_size_get(win, NULL, NULL, &apps_view_s.width, &apps_view_s.height); - __apps_view_create_base_gui(win); - __apps_view_create_chooser(); - __apps_view_create_menu(); + __apps_view_create_base_gui(win); + __apps_view_create_chooser(); + __apps_view_create_menu(); - if (!apps_view_s.scroller) { - LOGE("[FAILED][apps_view_s.scroller==NULL]"); - return NULL; - } + if (!apps_view_s.scroller) { + LOGE("[FAILED][apps_view_s.scroller==NULL]"); + return NULL; + } - return apps_view_s.scroller; + return apps_view_s.scroller; } void apps_view_init(void) { - ecore_thread_run(apps_data_init, __apps_view_fill_apps, __apps_view_fill_apps, NULL); + ecore_thread_run(apps_data_init, __apps_view_fill_apps, __apps_view_fill_apps, NULL); } void apps_view_app_terminate(void) { - evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_scroller_down_cb); - evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_scroller_move_cb); - evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __apps_view_scroller_up_cb); + evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_scroller_down_cb); + evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_scroller_move_cb); + evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __apps_view_scroller_up_cb); - eina_hash_free(apps_menu_table); + eina_hash_free(apps_menu_table); } void apps_view_show(void) { - page_indicator_show(apps_view_s.indicator); + page_indicator_show(apps_view_s.indicator); } void apps_view_hide(void) { - page_indicator_hide(apps_view_s.indicator); + page_indicator_hide(apps_view_s.indicator); } void apps_view_show_anim(double pos) { - Evas_Object *edje = NULL; - edje = elm_layout_edje_get(apps_view_s.bg); - if (!edje) { - LOGE("Failed to get edje from layout"); - return; - } - Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + sizeof(double)); - msg->count = 1; - msg->val[0] = pos*APPS_VIEW_BG_OPACITY; - - edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); - edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); - - evas_object_color_set(apps_view_s.box, 255, 255, 255, pos*255); - evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * (1-pos))); - if (pos >= (1.0 - (1e-10))) { - evas_object_show(apps_view_s.event_block_bg); - evas_object_color_set(apps_view_s.box, 255, 255, 255, 255); - evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP); - edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_SHOW, SIGNAL_SOURCE); - } + Evas_Object *edje = NULL; + edje = elm_layout_edje_get(apps_view_s.bg); + if (!edje) { + LOGE("Failed to get edje from layout"); + return; + } + Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + sizeof(double)); + msg->count = 1; + msg->val[0] = pos*APPS_VIEW_BG_OPACITY; + + edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); + edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); + + evas_object_color_set(apps_view_s.box, 255, 255, 255, pos*255); + evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * (1-pos))); + if (pos >= (1.0 - (1e-10))) { + evas_object_show(apps_view_s.event_block_bg); + evas_object_color_set(apps_view_s.box, 255, 255, 255, 255); + evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP); + edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_SHOW, SIGNAL_SOURCE); + } } void apps_view_hide_anim(double pos) { - Evas_Object *edje = NULL; - edje = elm_layout_edje_get(apps_view_s.bg); - if (!edje) { - LOGE("Failed to get edje from layout"); - return; - } - Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 3 * sizeof(double)); - msg->count = 3; - msg->val[0] = ((APPS_VIEW_ANIMATION_DELTA * pos) / apps_view_s.height); - msg->val[1] = 1+((APPS_VIEW_ANIMATION_DELTA * pos) / apps_view_s.height); - msg->val[2] = (1-pos)*APPS_VIEW_BG_OPACITY; - - edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); - edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); - - evas_object_color_set(apps_view_s.box, 255, 255, 255, (1-pos)*255); - evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * pos)); - if (pos >= (1.0 - (1e-10))) { - evas_object_hide(apps_view_s.event_block_bg); - evas_object_color_set(apps_view_s.box, 255, 255, 255, 0); - evas_object_move(apps_view_s.scroller, 0, apps_view_s.height); - edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_HIDE, SIGNAL_SOURCE); - } + Evas_Object *edje = NULL; + edje = elm_layout_edje_get(apps_view_s.bg); + if (!edje) { + LOGE("Failed to get edje from layout"); + return; + } + Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 3 * sizeof(double)); + msg->count = 3; + msg->val[0] = ((APPS_VIEW_ANIMATION_DELTA * pos) / apps_view_s.height); + msg->val[1] = 1+((APPS_VIEW_ANIMATION_DELTA * pos) / apps_view_s.height); + msg->val[2] = (1-pos)*APPS_VIEW_BG_OPACITY; + + edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); + edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); + + evas_object_color_set(apps_view_s.box, 255, 255, 255, (1-pos)*255); + evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * pos)); + if (pos >= (1.0 - (1e-10))) { + evas_object_hide(apps_view_s.event_block_bg); + evas_object_color_set(apps_view_s.box, 255, 255, 255, 0); + evas_object_move(apps_view_s.scroller, 0, apps_view_s.height); + edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_HIDE, SIGNAL_SOURCE); + } } void apps_view_reorder(void) { - Eina_List *data_list = apps_data_get_list(); - app_data_t *item = NULL; - Eina_List *find_list; - int item_count = 0; + Eina_List *data_list = apps_data_get_list(); + app_data_t *item = NULL; + Eina_List *find_list; + int item_count = 0; - apps_view_unset_all(); + apps_view_unset_all(); - EINA_LIST_FOREACH(data_list, find_list, item) { - if (apps_view_icon_set(item)) - item_count++; - } + EINA_LIST_FOREACH(data_list, find_list, item) { + if (apps_view_icon_set(item)) + item_count++; + } - //Delete empty page - while (((item_count-1) / (APPS_VIEW_COL*APPS_VIEW_ROW) +1) < eina_list_count(apps_view_s.page_list)) { - __apps_view_remove_page(); - } + //Delete empty page + while (((item_count-1) / (APPS_VIEW_COL*APPS_VIEW_ROW) +1) < eina_list_count(apps_view_s.page_list)) { + __apps_view_remove_page(); + } } void apps_view_folder_reroder(void) { - Eina_List *data_list = apps_data_get_list(); - app_data_t *item = NULL; - Eina_List *find_list; - int item_count = 0; - if (!apps_view_s.opened_folder) - return; - - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->parent_db_id == apps_view_s.opened_folder->db_id) { - apps_view_icon_set(item); - item_count++; - } - } - - if (item_count < APPS_FOLDER_MAX_ITEM) { - Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 2 * sizeof(double)); - msg->count = 2; - msg->val[0] = item_count / APPS_FOLDER_COL; - msg->val[1] = item_count % APPS_FOLDER_COL; - - if (apps_view_get_state() != VIEW_STATE_CHOOSER) { - Evas_Object *edje = NULL; - edje = elm_layout_edje_get(apps_view_s.folder_popup_ly); - edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); - edje_object_signal_emit(edje, SIGNAL_APPS_FOLDER_SET_PLUS_ICON, SIGNAL_SOURCE); - elm_object_signal_callback_add(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON, SIGNAL_SOURCE, - __apps_view_plus_icon_clicked, (void *)apps_view_s.opened_folder); - } else { - elm_object_signal_emit(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON, SIGNAL_SOURCE); - } - free(msg); - } else { - elm_object_signal_emit(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON, SIGNAL_SOURCE); - elm_object_signal_callback_del(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON, SIGNAL_SOURCE, - __apps_view_plus_icon_clicked); - } + Eina_List *data_list = apps_data_get_list(); + app_data_t *item = NULL; + Eina_List *find_list; + int item_count = 0; + if (!apps_view_s.opened_folder) + return; + + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->parent_db_id == apps_view_s.opened_folder->db_id) { + apps_view_icon_set(item); + item_count++; + } + } + + if (item_count < APPS_FOLDER_MAX_ITEM) { + Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 2 * sizeof(double)); + msg->count = 2; + msg->val[0] = item_count / APPS_FOLDER_COL; + msg->val[1] = item_count % APPS_FOLDER_COL; + + if (apps_view_get_state() != VIEW_STATE_CHOOSER) { + Evas_Object *edje = NULL; + edje = elm_layout_edje_get(apps_view_s.folder_popup_ly); + edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); + edje_object_signal_emit(edje, SIGNAL_APPS_FOLDER_SET_PLUS_ICON, SIGNAL_SOURCE); + elm_object_signal_callback_add(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON, SIGNAL_SOURCE, + __apps_view_plus_icon_clicked, (void *)apps_view_s.opened_folder); + } else { + elm_object_signal_emit(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON, SIGNAL_SOURCE); + } + free(msg); + } else { + elm_object_signal_emit(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON, SIGNAL_SOURCE); + elm_object_signal_callback_del(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON, SIGNAL_SOURCE, + __apps_view_plus_icon_clicked); + } } Evas_Object* apps_view_create_icon(app_data_t *item) { - Evas_Object *icon_layout; - Evas_Object *rect = NULL; - Evas_Object *icon_image = NULL; - - icon_layout = elm_layout_add(apps_view_s.box); - elm_layout_file_set(icon_layout, util_get_res_file_path(EDJE_DIR"/app_icon.edj"), GROUP_APP_ICON_LY); - evas_object_size_hint_weight_set(icon_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - rect = evas_object_rectangle_add(evas_object_evas_get(icon_layout)); - if (!rect) { - LOGE("[FAILED][rect=NULL]"); - return NULL; - } - evas_object_color_set(rect, 0, 0, 0, 0); - evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_content_set(icon_layout, SIZE_SETTER, rect); - - item->app_layout = icon_layout; - - //icon image - if (item->is_folder) { - LOGD("Create Folder ICON"); - Evas_Object *folder_layout; - Evas_Object *size_setter; - - folder_layout = elm_layout_add(icon_layout); - elm_layout_file_set(folder_layout, util_get_res_file_path(EDJE_DIR"/apps_folder_icon.edj"), GROUP_FOLDER_ICON_LY); - evas_object_size_hint_weight_set(folder_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - size_setter = evas_object_rectangle_add(evas_object_evas_get(folder_layout)); - if (!rect) { - LOGE("[FAILED][rect=NULL]"); - return NULL; - } - evas_object_color_set(size_setter, 0, 0, 0, 0); - evas_object_size_hint_min_set(size_setter, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); - evas_object_size_hint_max_set(size_setter, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); - elm_object_part_content_set(folder_layout, SIZE_SETTER, size_setter); - item->folder_layout = folder_layout; - - apps_view_update_folder_icon(item); - elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, folder_layout); - - __apps_view__set_icon_label_style(item, apps_view_s.view_state); - if (apps_view_s.view_state == VIEW_STATE_EDIT) { - elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); - } - evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb, item); - evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb, item); - evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb, item); - } else { - if (ecore_file_can_read(item->icon_path_str)) { - LOGD("Create Image: %s", item->icon_path_str); - icon_image = elm_image_add(icon_layout); - elm_image_file_set(icon_image, item->icon_path_str, NULL); - evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image); - } else { - LOGE("Can not read : %s", item->icon_path_str); - - const char *default_icon = util_get_res_file_path(IMAGE_DIR"/default_app_icon.png"); - icon_image = elm_image_add(icon_layout); - elm_image_file_set(icon_image, default_icon, NULL); - evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image); - } - - __apps_view__set_icon_label_style(item, apps_view_s.view_state); - if (apps_view_s.view_state == VIEW_STATE_EDIT) { - if (item->is_removable) - elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW, SIGNAL_SOURCE); - } else if (apps_view_s.view_state == VIEW_STATE_CHOOSER) { - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE); - if (item->is_checked) { - elm_object_signal_emit(item->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); - } - } - - __apps_view_badge_update_icon(item); - evas_object_show(icon_image); - - evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb, item); - evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb, item); - evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb, item); - } - - elm_object_signal_callback_add(icon_layout, SIGNAL_UNINSTALL_BUTTON_CLICKED, SIGNAL_SOURCE, __apps_view_icon_uninstall_btn_clicked_cb, (void *)item); - elm_object_signal_callback_add(icon_layout, SIGNAL_CHANGED_CHECK_BOX, SIGNAL_SOURCE, __apps_view_icon_check_changed_cb, (void *)item); - - evas_object_show(icon_layout); - - LOGD("icon [%s, %s] create", item->app_id, item->pkg_id); - - return icon_layout; + Evas_Object *icon_layout; + Evas_Object *rect = NULL; + Evas_Object *icon_image = NULL; + + icon_layout = elm_layout_add(apps_view_s.box); + elm_layout_file_set(icon_layout, util_get_res_file_path(EDJE_DIR"/app_icon.edj"), GROUP_APP_ICON_LY); + evas_object_size_hint_weight_set(icon_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + rect = evas_object_rectangle_add(evas_object_evas_get(icon_layout)); + if (!rect) { + LOGE("[FAILED][rect=NULL]"); + return NULL; + } + evas_object_color_set(rect, 0, 0, 0, 0); + evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(icon_layout, SIZE_SETTER, rect); + + item->app_layout = icon_layout; + + //icon image + if (item->is_folder) { + LOGD("Create Folder ICON"); + Evas_Object *folder_layout; + Evas_Object *size_setter; + + folder_layout = elm_layout_add(icon_layout); + elm_layout_file_set(folder_layout, util_get_res_file_path(EDJE_DIR"/apps_folder_icon.edj"), GROUP_FOLDER_ICON_LY); + evas_object_size_hint_weight_set(folder_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + size_setter = evas_object_rectangle_add(evas_object_evas_get(folder_layout)); + if (!rect) { + LOGE("[FAILED][rect=NULL]"); + return NULL; + } + evas_object_color_set(size_setter, 0, 0, 0, 0); + evas_object_size_hint_min_set(size_setter, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); + evas_object_size_hint_max_set(size_setter, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); + elm_object_part_content_set(folder_layout, SIZE_SETTER, size_setter); + item->folder_layout = folder_layout; + + apps_view_update_folder_icon(item); + elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, folder_layout); + + __apps_view__set_icon_label_style(item, apps_view_s.view_state); + if (apps_view_s.view_state == VIEW_STATE_EDIT) { + elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + } + evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb, item); + evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb, item); + evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb, item); + } else { + if (ecore_file_can_read(item->icon_path_str)) { + LOGD("Create Image: %s", item->icon_path_str); + icon_image = elm_image_add(icon_layout); + elm_image_file_set(icon_image, item->icon_path_str, NULL); + evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image); + } else { + LOGE("Can not read : %s", item->icon_path_str); + + const char *default_icon = util_get_res_file_path(IMAGE_DIR"/default_app_icon.png"); + icon_image = elm_image_add(icon_layout); + elm_image_file_set(icon_image, default_icon, NULL); + evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image); + } + + __apps_view__set_icon_label_style(item, apps_view_s.view_state); + if (apps_view_s.view_state == VIEW_STATE_EDIT) { + if (item->is_removable) + elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW, SIGNAL_SOURCE); + } else if (apps_view_s.view_state == VIEW_STATE_CHOOSER) { + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE); + if (item->is_checked) { + elm_object_signal_emit(item->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); + } + } + + __apps_view_badge_update_icon(item); + evas_object_show(icon_image); + + evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb, item); + evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb, item); + evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb, item); + } + + elm_object_signal_callback_add(icon_layout, SIGNAL_UNINSTALL_BUTTON_CLICKED, SIGNAL_SOURCE, __apps_view_icon_uninstall_btn_clicked_cb, (void *)item); + elm_object_signal_callback_add(icon_layout, SIGNAL_CHANGED_CHECK_BOX, SIGNAL_SOURCE, __apps_view_icon_check_changed_cb, (void *)item); + + evas_object_show(icon_layout); + + LOGD("icon [%s, %s] create", item->app_id, item->pkg_id); + + return icon_layout; } void apps_view_delete_icon(app_data_t *item) { - if (item == NULL) - return ; + if (item == NULL) + return ; - if (item->app_layout) { - Evas_Object *icon_image = elm_object_part_content_get(item->app_layout, APPS_ICON_CONTENT); - evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb); - evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb); - evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb); + if (item->app_layout) { + Evas_Object *icon_image = elm_object_part_content_get(item->app_layout, APPS_ICON_CONTENT); + evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb); + evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb); + evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb); - evas_object_del(item->app_layout); - item->app_layout = NULL; - } + evas_object_del(item->app_layout); + item->app_layout = NULL; + } - if (item->folder_layout) { - evas_object_del(item->folder_layout); - item->folder_layout = NULL; - } + if (item->folder_layout) { + evas_object_del(item->folder_layout); + item->folder_layout = NULL; + } } void apps_view_unset_all(void) { - Eina_List *find_list = NULL; - Evas_Object *page; - Evas_Object *grid; + Eina_List *find_list = NULL; + Evas_Object *page; + Evas_Object *grid; - EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page) { - grid = elm_object_part_content_get(page, APPS_VIEW_GRID); - elm_grid_clear(grid, EINA_FALSE); - } + EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page) { + grid = elm_object_part_content_get(page, APPS_VIEW_GRID); + elm_grid_clear(grid, EINA_FALSE); + } } void apps_view_icon_unset(app_data_t *item) { - Evas_Object *page = NULL; - Evas_Object *grid = NULL; - int page_index; - int col, row; - char icon_container[STR_MAX]; + Evas_Object *page = NULL; + Evas_Object *grid = NULL; + int page_index; + int col, row; + char icon_container[STR_MAX]; - if (item->parent_db_id == APPS_ROOT) { - page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); + if (item->parent_db_id == APPS_ROOT) { + page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); - page = eina_list_nth(apps_view_s.page_list, page_index); - grid = elm_object_part_content_get(page, APPS_VIEW_GRID); - elm_grid_unpack(grid, item->app_layout); - } else if(apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - row = (item->position / APPS_FOLDER_COL) % APPS_FOLDER_ROW; - col = item->position % APPS_FOLDER_COL; + page = eina_list_nth(apps_view_s.page_list, page_index); + grid = elm_object_part_content_get(page, APPS_VIEW_GRID); + elm_grid_unpack(grid, item->app_layout); + } else if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { + row = (item->position / APPS_FOLDER_COL) % APPS_FOLDER_ROW; + col = item->position % APPS_FOLDER_COL; - sprintf(icon_container, "icon_%d_%d", col, row); - if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { - elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); - } - } + sprintf(icon_container, "icon_%d_%d", col, row); + if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { + elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); + } + } } bool apps_view_icon_set(app_data_t *item) { - Evas_Object *page = NULL; - Evas_Object *grid = NULL; - int page_index; - int col, row; - int x, y; - int w, h; - char icon_container[STR_MAX]; - - if (item == NULL) - return false; - - LOGD("%s %d %d", item->app_id, item->parent_db_id, item->position); - if (item->parent_db_id == APPS_ROOT) { - w = APPS_VIEW_W / APPS_VIEW_COL; - h = APPS_VIEW_H / APPS_VIEW_ROW; - page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); - row = (item->position / APPS_VIEW_COL) % APPS_VIEW_ROW; - col = item->position % APPS_VIEW_COL; - x = col * w; - y = row * h; - - if (eina_list_count(apps_view_s.page_list) < page_index+1) { - page = __apps_view_add_page(); - } else - page = eina_list_nth(apps_view_s.page_list, page_index); - - grid = elm_object_part_content_get(page, APPS_VIEW_GRID); - elm_grid_pack(grid, item->app_layout, x, y, w, h); - - LOGD("[%s] -> [%s], [%p] page : %d", item->app_id, icon_container, item->app_layout, page_index); - return true; - } else if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - row = (item->position / APPS_VIEW_COL) % APPS_FOLDER_ROW; - col = item->position % APPS_FOLDER_COL; - - sprintf(icon_container, "icon_%d_%d", col, row); - if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { - LOGE("unset %p", elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container)); - elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); - } - elm_object_part_content_set(apps_view_s.folder_popup_ly, icon_container, item->app_layout); - LOGD("[%s] -> [%s], [%p]", item->app_id, icon_container, item->app_layout); - } - - return false; + Evas_Object *page = NULL; + Evas_Object *grid = NULL; + int page_index; + int col, row; + int x, y; + int w, h; + char icon_container[STR_MAX]; + + if (item == NULL) + return false; + + LOGD("%s %d %d", item->app_id, item->parent_db_id, item->position); + if (item->parent_db_id == APPS_ROOT) { + w = APPS_VIEW_W / APPS_VIEW_COL; + h = APPS_VIEW_H / APPS_VIEW_ROW; + page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); + row = (item->position / APPS_VIEW_COL) % APPS_VIEW_ROW; + col = item->position % APPS_VIEW_COL; + x = col * w; + y = row * h; + + if (eina_list_count(apps_view_s.page_list) < page_index+1) { + page = __apps_view_add_page(); + } else + page = eina_list_nth(apps_view_s.page_list, page_index); + + grid = elm_object_part_content_get(page, APPS_VIEW_GRID); + elm_grid_pack(grid, item->app_layout, x, y, w, h); + + LOGD("[%s] -> [%s], [%p] page : %d", item->app_id, icon_container, item->app_layout, page_index); + return true; + } else if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { + row = (item->position / APPS_VIEW_COL) % APPS_FOLDER_ROW; + col = item->position % APPS_FOLDER_COL; + + sprintf(icon_container, "icon_%d_%d", col, row); + if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { + LOGE("unset %p", elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container)); + elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); + } + elm_object_part_content_set(apps_view_s.folder_popup_ly, icon_container, item->app_layout); + LOGD("[%s] -> [%s], [%p]", item->app_id, icon_container, item->app_layout); + } + + return false; } static void __apps_view_create_base_gui(Evas_Object *win) { - char edj_path[PATH_MAX] = {0, }; - apps_view_s.bg = elm_layout_add(win); - if (!apps_view_s.bg) { - LOGE("[FAILED][apps_view_s.bg==NULL]"); - return; - } - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_view_bg.edj")); - elm_layout_file_set(apps_view_s.bg, edj_path, GROUP_APPS_BG_LY); - evas_object_size_hint_weight_set(apps_view_s.bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, apps_view_s.bg); - evas_object_show(apps_view_s.bg); - - Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); - evas_object_color_set(rect, 0, 0, 0, 0); - evas_object_size_hint_min_set(rect, apps_view_s.width, apps_view_s.height); - evas_object_size_hint_max_set(rect, apps_view_s.width, apps_view_s.height); - evas_object_resize(rect, apps_view_s.width, apps_view_s.height); - elm_object_part_content_set(apps_view_s.bg, SIZE_SETTER, rect); - evas_object_show(rect); - - apps_view_s.event_block_bg = evas_object_rectangle_add(homescreen_efl_get_win()); - evas_object_color_set(apps_view_s.event_block_bg, 0, 0, 0, 0); - evas_object_resize(apps_view_s.event_block_bg, apps_view_s.width, CLUSTER_VIEW_H + INDICATOR_H); - evas_object_move(apps_view_s.event_block_bg, 0, 0); - evas_object_repeat_events_set(apps_view_s.event_block_bg, EINA_FALSE); - evas_object_hide(apps_view_s.event_block_bg); - - apps_view_s.scroller = elm_scroller_add(win); - if (!apps_view_s.scroller) { - LOGE("[FAILED][apps_view_s.scroller==NULL]"); - return; - } - elm_scroller_content_min_limit(apps_view_s.scroller, EINA_FALSE, EINA_FALSE); - elm_scroller_bounce_set(apps_view_s.scroller, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(apps_view_s.scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_scroller_page_scroll_limit_set(apps_view_s.scroller, 1, 1); - evas_object_size_hint_weight_set(apps_view_s.scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - elm_scroller_loop_set(apps_view_s.scroller, EINA_TRUE, EINA_FALSE); - elm_scroller_page_size_set(apps_view_s.scroller, APPS_VIEW_W, APPS_VIEW_H); - evas_object_resize(apps_view_s.scroller, APPS_VIEW_W , APPS_VIEW_H); - - evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_scroller_down_cb, NULL); - evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_scroller_move_cb, NULL); - evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __apps_view_scroller_up_cb, NULL); - - evas_object_smart_callback_add(apps_view_s.scroller, "scroll,anim,stop", __apps_view_scroll_anim_stop_cb, NULL); - - apps_view_s.box = elm_box_add(apps_view_s.scroller); - elm_box_horizontal_set(apps_view_s.box, EINA_TRUE); - elm_box_align_set(apps_view_s.box, 0.5, 0.5); - evas_object_show(apps_view_s.box); - - elm_object_content_set(apps_view_s.scroller, apps_view_s.box); - - apps_view_s.indicator = page_indictor_create(apps_view_s.scroller); - page_indicator_scroller_resize(apps_view_s.indicator, apps_view_s.width, apps_view_s.height); - page_indicator_hide(apps_view_s.indicator); - - __apps_view_add_page(); - page_indicator_set_current_page(apps_view_s.indicator, 0); + char edj_path[PATH_MAX] = {0, }; + apps_view_s.bg = elm_layout_add(win); + if (!apps_view_s.bg) { + LOGE("[FAILED][apps_view_s.bg==NULL]"); + return; + } + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_view_bg.edj")); + elm_layout_file_set(apps_view_s.bg, edj_path, GROUP_APPS_BG_LY); + evas_object_size_hint_weight_set(apps_view_s.bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(win, apps_view_s.bg); + evas_object_show(apps_view_s.bg); + + Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); + evas_object_color_set(rect, 0, 0, 0, 0); + evas_object_size_hint_min_set(rect, apps_view_s.width, apps_view_s.height); + evas_object_size_hint_max_set(rect, apps_view_s.width, apps_view_s.height); + evas_object_resize(rect, apps_view_s.width, apps_view_s.height); + elm_object_part_content_set(apps_view_s.bg, SIZE_SETTER, rect); + evas_object_show(rect); + + apps_view_s.event_block_bg = evas_object_rectangle_add(homescreen_efl_get_win()); + evas_object_color_set(apps_view_s.event_block_bg, 0, 0, 0, 0); + evas_object_resize(apps_view_s.event_block_bg, apps_view_s.width, CLUSTER_VIEW_H + INDICATOR_H); + evas_object_move(apps_view_s.event_block_bg, 0, 0); + evas_object_repeat_events_set(apps_view_s.event_block_bg, EINA_FALSE); + evas_object_hide(apps_view_s.event_block_bg); + + apps_view_s.scroller = elm_scroller_add(win); + if (!apps_view_s.scroller) { + LOGE("[FAILED][apps_view_s.scroller==NULL]"); + return; + } + elm_scroller_content_min_limit(apps_view_s.scroller, EINA_FALSE, EINA_FALSE); + elm_scroller_bounce_set(apps_view_s.scroller, EINA_FALSE, EINA_TRUE); + elm_scroller_policy_set(apps_view_s.scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + elm_scroller_page_scroll_limit_set(apps_view_s.scroller, 1, 1); + evas_object_size_hint_weight_set(apps_view_s.scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + elm_scroller_loop_set(apps_view_s.scroller, EINA_TRUE, EINA_FALSE); + elm_scroller_page_size_set(apps_view_s.scroller, APPS_VIEW_W, APPS_VIEW_H); + evas_object_resize(apps_view_s.scroller, APPS_VIEW_W , APPS_VIEW_H); + + evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_scroller_down_cb, NULL); + evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_scroller_move_cb, NULL); + evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __apps_view_scroller_up_cb, NULL); + + evas_object_smart_callback_add(apps_view_s.scroller, "scroll,anim,stop", __apps_view_scroll_anim_stop_cb, NULL); + + apps_view_s.box = elm_box_add(apps_view_s.scroller); + elm_box_horizontal_set(apps_view_s.box, EINA_TRUE); + elm_box_align_set(apps_view_s.box, 0.5, 0.5); + evas_object_show(apps_view_s.box); + + elm_object_content_set(apps_view_s.scroller, apps_view_s.box); + + apps_view_s.indicator = page_indictor_create(apps_view_s.scroller); + page_indicator_scroller_resize(apps_view_s.indicator, apps_view_s.width, apps_view_s.height); + page_indicator_hide(apps_view_s.indicator); + + __apps_view_add_page(); + page_indicator_set_current_page(apps_view_s.indicator, 0); } static Evas_Object *__apps_view_add_page(void) { - char edj_path[PATH_MAX] = {0, }; - Evas_Object *page_ly = elm_layout_add(apps_view_s.box); + char edj_path[PATH_MAX] = {0, }; + Evas_Object *page_ly = elm_layout_add(apps_view_s.box); - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_view.edj")); - elm_layout_file_set(page_ly, edj_path, GROUP_APPS_LY); - evas_object_size_hint_weight_set(page_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(page_ly, APPS_VIEW_W, APPS_VIEW_H); + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_view.edj")); + elm_layout_file_set(page_ly, edj_path, GROUP_APPS_LY); + evas_object_size_hint_weight_set(page_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(page_ly, APPS_VIEW_W, APPS_VIEW_H); - Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); - evas_object_color_set(rect, 255, 255, 255, 0); - evas_object_size_hint_min_set(rect, APPS_VIEW_W, APPS_VIEW_H); - evas_object_size_hint_max_set(rect, APPS_VIEW_W, APPS_VIEW_H); - evas_object_resize(rect, APPS_VIEW_W, APPS_VIEW_H); - evas_object_show(rect); - elm_object_part_content_set(page_ly, SIZE_SETTER, rect); + Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); + evas_object_color_set(rect, 255, 255, 255, 0); + evas_object_size_hint_min_set(rect, APPS_VIEW_W, APPS_VIEW_H); + evas_object_size_hint_max_set(rect, APPS_VIEW_W, APPS_VIEW_H); + evas_object_resize(rect, APPS_VIEW_W, APPS_VIEW_H); + evas_object_show(rect); + elm_object_part_content_set(page_ly, SIZE_SETTER, rect); - Evas_Object *grid = elm_grid_add(apps_view_s.box); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_grid_size_set(grid, APPS_VIEW_W, APPS_VIEW_H); - elm_object_part_content_set(page_ly, APPS_VIEW_GRID, grid); - evas_object_show(page_ly); + Evas_Object *grid = elm_grid_add(apps_view_s.box); + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_grid_size_set(grid, APPS_VIEW_W, APPS_VIEW_H); + elm_object_part_content_set(page_ly, APPS_VIEW_GRID, grid); + evas_object_show(page_ly); - Evas_Object *mapbuf; - mapbuf = elm_mapbuf_add(apps_view_s.box); + Evas_Object *mapbuf; + mapbuf = elm_mapbuf_add(apps_view_s.box); - elm_mapbuf_smooth_set(mapbuf, EINA_TRUE); - elm_mapbuf_alpha_set(mapbuf, EINA_TRUE); - elm_object_content_set(mapbuf, page_ly); - evas_object_show(mapbuf); + elm_mapbuf_smooth_set(mapbuf, EINA_TRUE); + elm_mapbuf_alpha_set(mapbuf, EINA_TRUE); + elm_object_content_set(mapbuf, page_ly); + evas_object_show(mapbuf); - elm_box_pack_end(apps_view_s.box, mapbuf); + elm_box_pack_end(apps_view_s.box, mapbuf); - evas_object_data_set(page_ly, "mapbuf", mapbuf); - elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); + evas_object_data_set(page_ly, "mapbuf", mapbuf); + elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); - apps_view_s.page_list = eina_list_append(apps_view_s.page_list, page_ly); - apps_view_s.page_count += 1; - page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count); - return page_ly; + apps_view_s.page_list = eina_list_append(apps_view_s.page_list, page_ly); + apps_view_s.page_count += 1; + page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count); + return page_ly; } static void __apps_view_remove_page(void) { - if (apps_view_s.page_count == 0) { - apps_view_s.page_count = 1; - return ; - } + if (apps_view_s.page_count == 0) { + apps_view_s.page_count = 1; + return ; + } - Evas_Object *item = eina_list_nth(apps_view_s.page_list, apps_view_s.page_count-1); - apps_view_s.page_list = eina_list_remove(apps_view_s.page_list, item); - apps_view_s.page_count -= 1; - if (apps_view_s.current_page >= apps_view_s.page_count) { - apps_view_s.current_page = apps_view_s.page_count - 1; - } + Evas_Object *item = eina_list_nth(apps_view_s.page_list, apps_view_s.page_count-1); + apps_view_s.page_list = eina_list_remove(apps_view_s.page_list, item); + apps_view_s.page_count -= 1; + if (apps_view_s.current_page >= apps_view_s.page_count) { + apps_view_s.current_page = apps_view_s.page_count - 1; + } - Evas_Object *mapbuf = evas_object_data_get(item, "mapbuf"); + Evas_Object *mapbuf = evas_object_data_get(item, "mapbuf"); - elm_scroller_page_bring_in(apps_view_s.scroller, apps_view_s.current_page, 0); - elm_box_unpack(apps_view_s.box, mapbuf); - page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count); - evas_object_del(mapbuf); - evas_object_del(item); + elm_scroller_page_bring_in(apps_view_s.scroller, apps_view_s.current_page, 0); + elm_box_unpack(apps_view_s.box, mapbuf); + page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count); + evas_object_del(mapbuf); + evas_object_del(item); } static void __apps_view_fill_apps(void *data, Ecore_Thread *th) { - Eina_List *list = apps_data_get_list(); - app_data_t *item = NULL; - Eina_List *find_list; + Eina_List *list = apps_data_get_list(); + app_data_t *item = NULL; + Eina_List *find_list; - EINA_LIST_FOREACH(list, find_list, item) { - if (item != NULL && item->parent_db_id == APPS_ROOT) { - item->app_layout = apps_view_create_icon(item); - } - } - apps_view_reorder(); + EINA_LIST_FOREACH(list, find_list, item) { + if (item != NULL && item->parent_db_id == APPS_ROOT) { + item->app_layout = apps_view_create_icon(item); + } + } + apps_view_reorder(); - int ret = BADGE_ERROR_NONE; - ret = badge_register_changed_cb(__apps_view_badge_update_cb, NULL); + int ret = BADGE_ERROR_NONE; + ret = badge_register_changed_cb(__apps_view_badge_update_cb, NULL); - if (ret != BADGE_ERROR_NONE) { - LOGE("badge_register_changed_cb failed [%d]", ret); - } + if (ret != BADGE_ERROR_NONE) { + LOGE("badge_register_changed_cb failed [%d]", ret); + } } static void __apps_view_folder_fill_apps(void) { - Eina_List *list = apps_data_get_list(); - app_data_t *item = NULL; - Eina_List *find_list; + Eina_List *list = apps_data_get_list(); + app_data_t *item = NULL; + Eina_List *find_list; - EINA_LIST_FOREACH(list, find_list, item) { - if (item != NULL && item->parent_db_id == apps_view_s.opened_folder->db_id) { - item->app_layout = apps_view_create_icon(item); - } - } - apps_view_folder_reroder(); + EINA_LIST_FOREACH(list, find_list, item) { + if (item != NULL && item->parent_db_id == apps_view_s.opened_folder->db_id) { + item->app_layout = apps_view_create_icon(item); + } + } + apps_view_folder_reroder(); } static void __apps_view_icon_clicked_cb(app_data_t *item) { - app_control_h app_control_handle = NULL; - feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); - - if (item->is_folder) { - LOGD("%d(%s) folder clicked", item->db_id, item->label_str); - __apps_view_open_folder_popup(item); - } else if (apps_view_s.view_state == VIEW_STATE_NORMAL) { - LOGD("%s(%s) applciation clicked", item->app_id, item->owner); - if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_create]"); - return; - } - /*if (app_control_set_operation(app_control_handle, APP_CONTROL_OPERATION_VIEW) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_set_operation]"); - app_control_destroy(app_control_handle); - return; - }*/ - if (item->type == APPS_DATA_TYPE_URI_SHORTCUT && item->uri && strlen(item->uri) && - app_control_set_uri(app_control_handle, item->uri) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_set_uri]"); - app_control_destroy(app_control_handle); - return; - } - if (app_control_set_app_id(app_control_handle, item->app_id) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_set_app_id]"); - app_control_destroy(app_control_handle); - return; - } - if (app_control_send_launch_request(app_control_handle, NULL, NULL) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_send_launch_request]"); - app_control_destroy(app_control_handle); - return; - } - app_control_destroy(app_control_handle); - } + app_control_h app_control_handle = NULL; + feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); + + if (item->is_folder) { + LOGD("%d(%s) folder clicked", item->db_id, item->label_str); + __apps_view_open_folder_popup(item); + } else if (apps_view_s.view_state == VIEW_STATE_NORMAL) { + LOGD("%s(%s) applciation clicked", item->app_id, item->owner); + if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_create]"); + return; + } + /*if (app_control_set_operation(app_control_handle, APP_CONTROL_OPERATION_VIEW) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_set_operation]"); + app_control_destroy(app_control_handle); + return; + }*/ + if (item->type == APPS_DATA_TYPE_URI_SHORTCUT && item->uri && strlen(item->uri) && + app_control_set_uri(app_control_handle, item->uri) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_set_uri]"); + app_control_destroy(app_control_handle); + return; + } + if (app_control_set_app_id(app_control_handle, item->app_id) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_set_app_id]"); + app_control_destroy(app_control_handle); + return; + } + if (app_control_send_launch_request(app_control_handle, NULL, NULL) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_send_launch_request]"); + app_control_destroy(app_control_handle); + return; + } + app_control_destroy(app_control_handle); + } } static void __apps_view_icon_uninstall_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - app_data_t *item = (app_data_t *)data; - feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); - - if (!item) { - LOGE("item is NULL"); - } - - LOGD("Uninstall :: %s", item->app_id); - if (item->is_folder) { - if (apps_data_get_folder_item_count(item) > 0) { - Evas_Smart_Cb func[3] = { __apps_view_delete_folder_cb, NULL, NULL }; - void *data[3] = { item, NULL, NULL }; - char btn_text[3][STR_MAX] = { "", "", "" }; - char title_text[STR_MAX] = { "" }; - char popup_text[STR_MAX] = { "" }; - snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_ST_BUTTON_REMOVE_ABB2")); - snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); - snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_REMOVE_FOLDER_ABB")); - snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED")); - popup_show(2, func, data, btn_text, title_text, popup_text); - } else { - apps_data_delete_folder(item); - } - } else if (item->type >= APPS_DATA_TYPE_APP_SHORTCUT) { - LOGD("Delete shortcut"); - apps_data_delete_item(item); - } else { - Evas_Smart_Cb func[3] = { __apps_view_uninstall_app_cb, NULL, NULL }; - void *data[3] = { item, NULL, NULL }; - char btn_text[3][STR_MAX] = { "", "", "" }; - char title_text[STR_MAX] = { "" }; - char popup_text[STR_MAX] = { "" }; - snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_AT_BODY_UNINSTALL")); - snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); - snprintf(title_text, sizeof(title_text), "%s", _("IDS_AT_BODY_UNINSTALL")); - snprintf(popup_text, sizeof(popup_text), _("IDS_HS_POP_PS_WILL_BE_UNINSTALLED"), item->label_str); - popup_show(2, func, data, btn_text, title_text, popup_text); - } + app_data_t *item = (app_data_t *)data; + feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); + + if (!item) { + LOGE("item is NULL"); + } + + LOGD("Uninstall :: %s", item->app_id); + if (item->is_folder) { + if (apps_data_get_folder_item_count(item) > 0) { + Evas_Smart_Cb func[3] = { __apps_view_delete_folder_cb, NULL, NULL }; + void *data[3] = { item, NULL, NULL }; + char btn_text[3][STR_MAX] = { "", "", "" }; + char title_text[STR_MAX] = { "" }; + char popup_text[STR_MAX] = { "" }; + snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_ST_BUTTON_REMOVE_ABB2")); + snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); + snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_REMOVE_FOLDER_ABB")); + snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED")); + popup_show(2, func, data, btn_text, title_text, popup_text); + } else { + apps_data_delete_folder(item); + } + } else if (item->type >= APPS_DATA_TYPE_APP_SHORTCUT) { + LOGD("Delete shortcut"); + apps_data_delete_item(item); + } else { + Evas_Smart_Cb func[3] = { __apps_view_uninstall_app_cb, NULL, NULL }; + void *data[3] = { item, NULL, NULL }; + char btn_text[3][STR_MAX] = { "", "", "" }; + char title_text[STR_MAX] = { "" }; + char popup_text[STR_MAX] = { "" }; + snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_AT_BODY_UNINSTALL")); + snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); + snprintf(title_text, sizeof(title_text), "%s", _("IDS_AT_BODY_UNINSTALL")); + snprintf(popup_text, sizeof(popup_text), _("IDS_HS_POP_PS_WILL_BE_UNINSTALLED"), item->label_str); + popup_show(2, func, data, btn_text, title_text, popup_text); + } } static void __apps_view_delete_folder_cb(void *data, Evas_Object *obj, void *event_info) { - popup_hide(); - app_data_t *item = (app_data_t *)data; - apps_data_delete_folder(item); + popup_hide(); + app_data_t *item = (app_data_t *)data; + apps_data_delete_folder(item); } static void __apps_view_uninstall_app_cb(void *data, Evas_Object *obj, void *event_info) { - app_data_t *item = (app_data_t *)data; - package_manager_request_h request; - int id = 0; - - popup_hide(); - - if (package_manager_request_create(&request) != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not create unistall request. App: %s", item->pkg_id); - return; - } - int ret = package_manager_request_set_mode(request, PACKAGE_MANAGER_REQUEST_MODE_DEFAULT); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not set request mode. App: %s", item->pkg_id); - return; - } - if (package_manager_request_uninstall(request, item->pkg_id, &id) != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not uninstall application. App: %s", item->pkg_id); - return; - } - if (package_manager_request_destroy(request) != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not destroy unistall request. App: %s", item->pkg_id); - return; - } + app_data_t *item = (app_data_t *)data; + package_manager_request_h request; + int id = 0; + + popup_hide(); + + if (package_manager_request_create(&request) != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not create unistall request. App: %s", item->pkg_id); + return; + } + int ret = package_manager_request_set_mode(request, PACKAGE_MANAGER_REQUEST_MODE_DEFAULT); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not set request mode. App: %s", item->pkg_id); + return; + } + if (package_manager_request_uninstall(request, item->pkg_id, &id) != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not uninstall application. App: %s", item->pkg_id); + return; + } + if (package_manager_request_destroy(request) != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not destroy unistall request. App: %s", item->pkg_id); + return; + } } static void __apps_view_icon_check_changed_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - app_data_t *item = (app_data_t *)data; - - if (apps_view_s.view_state != VIEW_STATE_CHOOSER) - return; - - if (item->is_checked) { - LOGD("%s - uncheck", item->label_str); - elm_object_signal_emit(item->app_layout, SIGNAL_UNCHECK_CHECK_BOX, SIGNAL_SOURCE); - apps_view_s.selected_items = eina_list_remove(apps_view_s.selected_items, item); - item->is_checked = !item->is_checked; - - if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - bool blank = true; - Eina_List *list = NULL; - app_data_t *folder_item = NULL; - Eina_List *find_list; - - apps_data_get_folder_item_list(&list, apps_view_s.opened_folder); - - EINA_LIST_FOREACH(list, find_list, folder_item) { - if (folder_item->is_checked) { - blank = false; - break; - } - } - if (blank) { - elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_UNCHECK_CHECK_BOX, SIGNAL_SOURCE); - } else { - elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_HALF_CHECK_BOX, SIGNAL_SOURCE); - } - } - } else { - int item_count = eina_list_count(apps_view_s.selected_items); - if (apps_view_s.selected_item_count + item_count >= APPS_FOLDER_MAX_ITEM) { - LOGD("checked item : %d > HOME_FOLDER_MAX_ITEM(9)", item_count); - char str[1024]; - sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); - toast_show(str); - } else { - LOGD("%s - check", item->label_str); - elm_object_signal_emit(item->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); - apps_view_s.selected_items = eina_list_append(apps_view_s.selected_items, item); - item->is_checked = !item->is_checked; - - if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - bool all_check = true; - Eina_List *list = NULL; - app_data_t *folder_item = NULL; - Eina_List *find_list; - - apps_data_get_folder_item_list(&list, apps_view_s.opened_folder); - - EINA_LIST_FOREACH(list, find_list, folder_item) { - if (!folder_item->is_checked) { - all_check = false; - break; - } - } - if (all_check) { - elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); - } else { - elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_HALF_CHECK_BOX, SIGNAL_SOURCE); - } - } - } - } - __apps_view_update_chooser_text(eina_list_count(apps_view_s.selected_items)); + app_data_t *item = (app_data_t *)data; + + if (apps_view_s.view_state != VIEW_STATE_CHOOSER) + return; + + if (item->is_checked) { + LOGD("%s - uncheck", item->label_str); + elm_object_signal_emit(item->app_layout, SIGNAL_UNCHECK_CHECK_BOX, SIGNAL_SOURCE); + apps_view_s.selected_items = eina_list_remove(apps_view_s.selected_items, item); + item->is_checked = !item->is_checked; + + if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { + bool blank = true; + Eina_List *list = NULL; + app_data_t *folder_item = NULL; + Eina_List *find_list; + + apps_data_get_folder_item_list(&list, apps_view_s.opened_folder); + + EINA_LIST_FOREACH(list, find_list, folder_item) { + if (folder_item->is_checked) { + blank = false; + break; + } + } + if (blank) { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_UNCHECK_CHECK_BOX, SIGNAL_SOURCE); + } else { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_HALF_CHECK_BOX, SIGNAL_SOURCE); + } + } + } else { + int item_count = eina_list_count(apps_view_s.selected_items); + if (apps_view_s.selected_item_count + item_count >= APPS_FOLDER_MAX_ITEM) { + LOGD("checked item : %d > HOME_FOLDER_MAX_ITEM(9)", item_count); + char str[1024]; + sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); + toast_show(str); + } else { + LOGD("%s - check", item->label_str); + elm_object_signal_emit(item->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); + apps_view_s.selected_items = eina_list_append(apps_view_s.selected_items, item); + item->is_checked = !item->is_checked; + + if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { + bool all_check = true; + Eina_List *list = NULL; + app_data_t *folder_item = NULL; + Eina_List *find_list; + + apps_data_get_folder_item_list(&list, apps_view_s.opened_folder); + + EINA_LIST_FOREACH(list, find_list, folder_item) { + if (!folder_item->is_checked) { + all_check = false; + break; + } + } + if (all_check) { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); + } else { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_HALF_CHECK_BOX, SIGNAL_SOURCE); + } + } + } + } + __apps_view_update_chooser_text(eina_list_count(apps_view_s.selected_items)); } void apps_view_hw_menu_key(void) { - if (apps_view_s.view_state == VIEW_STATE_NORMAL) - menu_change_state_on_hw_menu_key(apps_menu_table); + if (apps_view_s.view_state == VIEW_STATE_NORMAL) + menu_change_state_on_hw_menu_key(apps_menu_table); } bool apps_view_hw_home_key(void) { - if (apps_view_s.opened_folder != NULL) { - __apps_view_close_folder_popup(apps_view_s.opened_folder); - } + if (apps_view_s.opened_folder != NULL) { + __apps_view_close_folder_popup(apps_view_s.opened_folder); + } - if (apps_view_s.view_state != VIEW_STATE_NORMAL) - apps_view_set_state(VIEW_STATE_NORMAL); + if (apps_view_s.view_state != VIEW_STATE_NORMAL) + apps_view_set_state(VIEW_STATE_NORMAL); - return false; + return false; } bool apps_view_hw_back_key(void) { - LOGD("%d", apps_view_s.pre_view_state); - if (apps_view_s.opened_folder != NULL) { - __apps_view_close_folder_popup(apps_view_s.opened_folder); - return true; - } + LOGD("%d", apps_view_s.pre_view_state); + if (apps_view_s.opened_folder != NULL) { + __apps_view_close_folder_popup(apps_view_s.opened_folder); + return true; + } - if (apps_view_s.view_state == VIEW_STATE_NORMAL) - return false; + if (apps_view_s.view_state == VIEW_STATE_NORMAL) + return false; - if (apps_view_s.view_state == VIEW_STATE_CHOOSER) { - apps_view_set_state(apps_view_s.pre_view_state); - } else if (apps_view_s.view_state == VIEW_STATE_EDIT) { - apps_view_set_state(VIEW_STATE_NORMAL); - } + if (apps_view_s.view_state == VIEW_STATE_CHOOSER) { + apps_view_set_state(apps_view_s.pre_view_state); + } else if (apps_view_s.view_state == VIEW_STATE_EDIT) { + apps_view_set_state(VIEW_STATE_NORMAL); + } - return true; + return true; } view_state_t apps_view_get_state(void) { - return apps_view_s.view_state; + return apps_view_s.view_state; } void apps_view_set_state(view_state_t state) { - if (state == VIEW_STATE_EDIT) { - homescreen_efl_btn_hide(HOMESCREEN_VIEW_APPS); - - if (apps_view_s.view_state != VIEW_STATE_CHOOSER) - elm_object_signal_emit(apps_view_s.bg, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); - - Eina_List *find_list = NULL; - Evas_Object *page_ly; - int page_index = 0; - EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { - if (page_index == apps_view_s.current_page) - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); - else - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); - page_index ++; - } - - Eina_List *data_list = apps_data_get_list(); - app_data_t *item = NULL; - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->app_layout) { - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); - - if (item != apps_view_s.picked_item) - __apps_view__set_icon_label_style(item, VIEW_STATE_EDIT); - if (item->is_removable && item != apps_view_s.picked_item) - elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); - } - } - if (apps_view_s.dest_folder) - elm_object_signal_emit(apps_view_s.dest_folder->app_layout, SIGNAL_ICON_ENABLE, SIGNAL_SOURCE); - elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_HIDE, SIGNAL_SOURCE); - - } else if (state == VIEW_STATE_CHOOSER) { - homescreen_efl_btn_hide(HOMESCREEN_VIEW_APPS); - elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_HIDE); - - if (apps_view_s.view_state != VIEW_STATE_EDIT) - elm_object_signal_emit(apps_view_s.bg, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); - Eina_List *find_list = NULL; - Evas_Object *page_ly; - int page_index = 0; - EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { - if (page_index == apps_view_s.current_page) - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); - else - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); - page_index ++; - } - - Eina_List *data_list = apps_data_get_list(); - app_data_t *item = NULL; - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->app_layout) { - __apps_view__set_icon_label_style(item, VIEW_STATE_CHOOSER); - if (!item->is_folder) - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE); - else if (item != apps_view_s.dest_folder) - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON_FOLDER, SIGNAL_SOURCE); - elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); - } - } - - elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_SHOW, SIGNAL_SOURCE); - } else if (state == VIEW_STATE_NORMAL) { - homescreen_efl_btn_show(HOMESCREEN_VIEW_APPS); - elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_SHOW); - - Evas_Object *edje = NULL; - edje = elm_layout_edje_get(apps_view_s.bg); - if (!edje) { - LOGE("Failed to get edje from layout"); - return; - } - - edje_object_signal_emit(edje, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE); - - Eina_List *find_list = NULL; - Evas_Object *page_ly; - EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE); - } - Eina_List *data_list = apps_data_get_list(); - app_data_t *item = NULL; - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->app_layout) { - __apps_view__set_icon_label_style(item, VIEW_STATE_NORMAL); - elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); - } - item->is_checked = false; - } - if (apps_view_s.dest_folder) - elm_object_signal_emit(apps_view_s.dest_folder->app_layout, SIGNAL_ICON_ENABLE, SIGNAL_SOURCE); - apps_view_s.selected_items = eina_list_free(apps_view_s.selected_items); - apps_view_s.dest_folder = NULL; - apps_view_s.selected_item_count = 0; - elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_HIDE, SIGNAL_SOURCE); - } - - apps_view_s.pre_view_state = apps_view_s.view_state; - apps_view_s.view_state = state; + if (state == VIEW_STATE_EDIT) { + homescreen_efl_btn_hide(HOMESCREEN_VIEW_APPS); + + if (apps_view_s.view_state != VIEW_STATE_CHOOSER) + elm_object_signal_emit(apps_view_s.bg, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + + Eina_List *find_list = NULL; + Evas_Object *page_ly; + int page_index = 0; + EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { + if (page_index == apps_view_s.current_page) + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + else + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + page_index++; + } + + Eina_List *data_list = apps_data_get_list(); + app_data_t *item = NULL; + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->app_layout) { + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); + + if (item != apps_view_s.picked_item) + __apps_view__set_icon_label_style(item, VIEW_STATE_EDIT); + if (item->is_removable && item != apps_view_s.picked_item) + elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); + } + } + if (apps_view_s.dest_folder) + elm_object_signal_emit(apps_view_s.dest_folder->app_layout, SIGNAL_ICON_ENABLE, SIGNAL_SOURCE); + elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_HIDE, SIGNAL_SOURCE); + + } else if (state == VIEW_STATE_CHOOSER) { + homescreen_efl_btn_hide(HOMESCREEN_VIEW_APPS); + elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_HIDE); + + if (apps_view_s.view_state != VIEW_STATE_EDIT) + elm_object_signal_emit(apps_view_s.bg, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + Eina_List *find_list = NULL; + Evas_Object *page_ly; + int page_index = 0; + EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { + if (page_index == apps_view_s.current_page) + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + else + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + page_index++; + } + + Eina_List *data_list = apps_data_get_list(); + app_data_t *item = NULL; + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->app_layout) { + __apps_view__set_icon_label_style(item, VIEW_STATE_CHOOSER); + if (!item->is_folder) + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE); + else if (item != apps_view_s.dest_folder) + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON_FOLDER, SIGNAL_SOURCE); + elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); + } + } + + elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_SHOW, SIGNAL_SOURCE); + } else if (state == VIEW_STATE_NORMAL) { + homescreen_efl_btn_show(HOMESCREEN_VIEW_APPS); + elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_SHOW); + + Evas_Object *edje = NULL; + edje = elm_layout_edje_get(apps_view_s.bg); + if (!edje) { + LOGE("Failed to get edje from layout"); + return; + } + + edje_object_signal_emit(edje, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE); + + Eina_List *find_list = NULL; + Evas_Object *page_ly; + EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE); + } + Eina_List *data_list = apps_data_get_list(); + app_data_t *item = NULL; + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->app_layout) { + __apps_view__set_icon_label_style(item, VIEW_STATE_NORMAL); + elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); + } + item->is_checked = false; + } + if (apps_view_s.dest_folder) + elm_object_signal_emit(apps_view_s.dest_folder->app_layout, SIGNAL_ICON_ENABLE, SIGNAL_SOURCE); + apps_view_s.selected_items = eina_list_free(apps_view_s.selected_items); + apps_view_s.dest_folder = NULL; + apps_view_s.selected_item_count = 0; + elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_HIDE, SIGNAL_SOURCE); + } + + apps_view_s.pre_view_state = apps_view_s.view_state; + apps_view_s.view_state = state; } void apps_view_update_folder_icon(app_data_t* item) { - Eina_List *folder_list = NULL; - Eina_List *find_list; - app_data_t *temp_item; - char folder_item_count_string[STR_MAX]; - Evas_Object *icon_image = NULL; - - int item_count = 0; - int i; - apps_data_get_folder_item_list(&folder_list, item); - item_count = eina_list_count(folder_list); - LOGD("item_count %d", item_count); - - for (i = 0, find_list = folder_list, temp_item = eina_list_data_get(find_list); - i < 4 && find_list; - i++, find_list = eina_list_next(find_list), temp_item = eina_list_data_get(find_list)) { - LOGD("%s", temp_item->label_str); - sprintf(folder_item_count_string, "icon_%d", i); - LOGD("%s", folder_item_count_string); - icon_image = elm_image_add(item->folder_layout); - elm_image_file_set(icon_image, temp_item->icon_path_str, NULL); - evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_part_content_set(item->folder_layout, folder_item_count_string, icon_image); - evas_object_show(icon_image); - } - sprintf(folder_item_count_string, "set_item_count_%d", item_count > 4 ? 4 : item_count); - LOGD("%s", folder_item_count_string); - elm_object_signal_emit(item->folder_layout, folder_item_count_string, SIGNAL_SOURCE); - evas_object_show(item->folder_layout); - eina_list_free(folder_list); + Eina_List *folder_list = NULL; + Eina_List *find_list; + app_data_t *temp_item; + char folder_item_count_string[STR_MAX]; + Evas_Object *icon_image = NULL; + + int item_count = 0; + int i; + apps_data_get_folder_item_list(&folder_list, item); + item_count = eina_list_count(folder_list); + LOGD("item_count %d", item_count); + + for (i = 0, find_list = folder_list, temp_item = eina_list_data_get(find_list); + i < 4 && find_list; + i++, find_list = eina_list_next(find_list), temp_item = eina_list_data_get(find_list)) { + LOGD("%s", temp_item->label_str); + sprintf(folder_item_count_string, "icon_%d", i); + LOGD("%s", folder_item_count_string); + icon_image = elm_image_add(item->folder_layout); + elm_image_file_set(icon_image, temp_item->icon_path_str, NULL); + evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_part_content_set(item->folder_layout, folder_item_count_string, icon_image); + evas_object_show(icon_image); + } + sprintf(folder_item_count_string, "set_item_count_%d", item_count > 4 ? 4 : item_count); + LOGD("%s", folder_item_count_string); + elm_object_signal_emit(item->folder_layout, folder_item_count_string, SIGNAL_SOURCE); + evas_object_show(item->folder_layout); + eina_list_free(folder_list); } static void __apps_view_create_menu(void) { - apps_menu_table = eina_hash_int32_new(NULL); - eina_hash_add(apps_menu_table, &apps_menu_list[0], __apps_view_menu_edit_cb); - eina_hash_add(apps_menu_table, &apps_menu_list[1], __apps_view_menu_create_folder_cb); + apps_menu_table = eina_hash_int32_new(NULL); + eina_hash_add(apps_menu_table, &apps_menu_list[0], __apps_view_menu_edit_cb); + eina_hash_add(apps_menu_table, &apps_menu_list[1], __apps_view_menu_create_folder_cb); } static void __apps_view_menu_edit_cb(void *data, Evas_Object *obj, void *event_info) { - menu_hide(); + menu_hide(); - apps_view_set_state(VIEW_STATE_EDIT); + apps_view_set_state(VIEW_STATE_EDIT); } static void __apps_view_menu_create_folder_cb(void *data, Evas_Object *obj, void *event_info) { - menu_hide(); + menu_hide(); - apps_view_s.dest_folder = apps_data_add_folder(); - __apps_view_open_folder_popup(apps_view_s.dest_folder); + apps_view_s.dest_folder = apps_data_add_folder(); + __apps_view_open_folder_popup(apps_view_s.dest_folder); } void apps_view_icon_add(app_data_t *item) { - if (item->parent_db_id == APPS_ROOT) - apps_view_create_icon(item); - else - LOGE("Parent is NOT APPS_ROOT"); + if (item->parent_db_id == APPS_ROOT) + apps_view_create_icon(item); + else + LOGE("Parent is NOT APPS_ROOT"); } static void __apps_view_open_folder_popup(app_data_t *item) { - if (apps_view_s.animator != NULL) { - LOGE("apps_view_s.animator != NULL"); - return ; - } + if (apps_view_s.animator != NULL) { + LOGE("apps_view_s.animator != NULL"); + return ; + } - char edj_path[PATH_MAX] = {0, }; - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_folder_popup.edj")); + char edj_path[PATH_MAX] = {0, }; + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_folder_popup.edj")); - apps_view_s.opened_folder = item; + apps_view_s.opened_folder = item; - apps_view_s.folder_popup_ly = elm_layout_add(homescreen_efl_get_win()); - elm_layout_file_set(apps_view_s.folder_popup_ly , edj_path, GROUP_APPS_FOLDER_POPUP_LY); - evas_object_size_hint_weight_set(apps_view_s.folder_popup_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(apps_view_s.folder_popup_ly, apps_view_s.width, apps_view_s.height); + apps_view_s.folder_popup_ly = elm_layout_add(homescreen_efl_get_win()); + elm_layout_file_set(apps_view_s.folder_popup_ly , edj_path, GROUP_APPS_FOLDER_POPUP_LY); + evas_object_size_hint_weight_set(apps_view_s.folder_popup_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(apps_view_s.folder_popup_ly, apps_view_s.width, apps_view_s.height); - Evas_Object *entry = elm_entry_add(apps_view_s.folder_popup_ly); - apps_view_s.folder_title_entry = entry; - evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_entry_single_line_set(entry, EINA_TRUE); - elm_entry_scrollable_set(entry, EINA_TRUE); - evas_object_show(entry); + Evas_Object *entry = elm_entry_add(apps_view_s.folder_popup_ly); + apps_view_s.folder_title_entry = entry; + evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_entry_single_line_set(entry, EINA_TRUE); + elm_entry_scrollable_set(entry, EINA_TRUE); + evas_object_show(entry); - char style_string[STR_MAX] = {0, }; - snprintf(style_string, sizeof(style_string), "%s", _("IDS_COM_HEADER_UNNAMED_FOLDER")); - elm_object_part_text_set(entry, "elm.guide", style_string); + char style_string[STR_MAX] = {0, }; + snprintf(style_string, sizeof(style_string), "%s", _("IDS_COM_HEADER_UNNAMED_FOLDER")); + elm_object_part_text_set(entry, "elm.guide", style_string); - elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE); + elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE); - evas_object_smart_callback_add(entry, "activated", __apps_view_folder_entry_done_cb, entry); + evas_object_smart_callback_add(entry, "activated", __apps_view_folder_entry_done_cb, entry); - elm_entry_text_style_user_push(entry, "DEFAULT='font=Tizen:style=Regular align=center color=#4DE7FFFF font_size=40 wrap=none'"); - elm_entry_entry_set(entry, apps_view_s.opened_folder->label_str); - elm_object_part_content_set(apps_view_s.folder_popup_ly, APPS_FOLDER_TITLE, entry); + elm_entry_text_style_user_push(entry, "DEFAULT='font=Tizen:style=Regular align=center color=#4DE7FFFF font_size=40 wrap=none'"); + elm_entry_entry_set(entry, apps_view_s.opened_folder->label_str); + elm_object_part_content_set(apps_view_s.folder_popup_ly, APPS_FOLDER_TITLE, entry); - __apps_view_folder_fill_apps(); + __apps_view_folder_fill_apps(); - evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 0); - apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_show_folder_anim, NULL); - elm_object_signal_callback_add(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE, SIGNAL_SOURCE, - __apps_view_hide_folder_cb, NULL); + evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 0); + apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_show_folder_anim, NULL); + elm_object_signal_callback_add(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE, SIGNAL_SOURCE, + __apps_view_hide_folder_cb, NULL); - evas_object_show(apps_view_s.folder_popup_ly); + evas_object_show(apps_view_s.folder_popup_ly); } static Eina_Bool __apps_view_show_folder_anim(void *data, double pos) { - evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, pos*255); + evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, pos*255); - if (pos >= (1.0 - (1e-10))) { - evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 255); - apps_view_s.animator = NULL; - return ECORE_CALLBACK_DONE; - } + if (pos >= (1.0 - (1e-10))) { + evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 255); + apps_view_s.animator = NULL; + return ECORE_CALLBACK_DONE; + } - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } static Eina_Bool __apps_view_hide_folder_anim(void *data, double pos) { - evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, (1-pos)*255); - if (pos >= (1.0 - (1e-10))) { - evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 0); - __apps_view_close_folder_popup_done(); - apps_view_s.animator = NULL; - return ECORE_CALLBACK_DONE; - } + evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, (1-pos)*255); + if (pos >= (1.0 - (1e-10))) { + evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 0); + __apps_view_close_folder_popup_done(); + apps_view_s.animator = NULL; + return ECORE_CALLBACK_DONE; + } - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } static void __apps_view_close_folder_popup(app_data_t *item) { - if (apps_view_s.animator != NULL) { - LOGE("apps_view_s.animator != NULL"); - return ; - } + if (apps_view_s.animator != NULL) { + LOGE("apps_view_s.animator != NULL"); + return ; + } - apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_hide_folder_anim, NULL); + apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_hide_folder_anim, NULL); } static void __apps_view_close_folder_popup_done(void) { - const char *folder_text = elm_object_text_get(apps_view_s.folder_title_entry); - if (!apps_view_s.opened_folder->label_str || strcmp(apps_view_s.opened_folder->label_str, folder_text)) { - if (apps_view_s.opened_folder->label_str) - free(apps_view_s.opened_folder->label_str); - apps_view_s.opened_folder->label_str = strdup(folder_text); - elm_object_part_text_set(apps_view_s.opened_folder->app_layout, APPS_ICON_NAME, apps_view_s.opened_folder->label_str); - apps_data_update_folder(apps_view_s.opened_folder); - } - - int page_idx = apps_view_s.opened_folder->position / (APPS_VIEW_COL * APPS_VIEW_ROW); - Eina_List *list = apps_data_get_list(); - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(list, find_list, item) { - if (item != NULL && item->parent_db_id == apps_view_s.opened_folder->db_id && item->app_layout) { - evas_object_del(item->app_layout); - } - } - evas_object_del(apps_view_s.folder_popup_ly); - apps_view_s.folder_title_entry = NULL; - apps_view_s.folder_popup_ly = NULL; - apps_view_s.opened_folder = NULL; - apps_view_s.animator = NULL; - - __apps_view_scroll_to_page(page_idx, true); + const char *folder_text = elm_object_text_get(apps_view_s.folder_title_entry); + if (!apps_view_s.opened_folder->label_str || strcmp(apps_view_s.opened_folder->label_str, folder_text)) { + if (apps_view_s.opened_folder->label_str) + free(apps_view_s.opened_folder->label_str); + apps_view_s.opened_folder->label_str = strdup(folder_text); + elm_object_part_text_set(apps_view_s.opened_folder->app_layout, APPS_ICON_NAME, apps_view_s.opened_folder->label_str); + apps_data_update_folder(apps_view_s.opened_folder); + } + + int page_idx = apps_view_s.opened_folder->position / (APPS_VIEW_COL * APPS_VIEW_ROW); + Eina_List *list = apps_data_get_list(); + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(list, find_list, item) { + if (item != NULL && item->parent_db_id == apps_view_s.opened_folder->db_id && item->app_layout) { + evas_object_del(item->app_layout); + } + } + evas_object_del(apps_view_s.folder_popup_ly); + apps_view_s.folder_title_entry = NULL; + apps_view_s.folder_popup_ly = NULL; + apps_view_s.opened_folder = NULL; + apps_view_s.animator = NULL; + + __apps_view_scroll_to_page(page_idx, true); } static void __apps_view_hide_folder_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - if (apps_view_s.opened_folder) - __apps_view_close_folder_popup(apps_view_s.opened_folder); + if (apps_view_s.opened_folder) + __apps_view_close_folder_popup(apps_view_s.opened_folder); } static void __apps_view_create_chooser(void) { - char edj_path[PATH_MAX] = {0, }; + char edj_path[PATH_MAX] = {0, }; - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_chooser_btn.edj")); + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_chooser_btn.edj")); - apps_view_s.chooser_btn = elm_layout_add(homescreen_efl_get_win()); - elm_layout_file_set(apps_view_s.chooser_btn, edj_path, GROUP_APPS_CHOOSER_BTN_LY); - evas_object_size_hint_weight_set(apps_view_s.chooser_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(apps_view_s.chooser_btn, apps_view_s.width, apps_view_s.height); - evas_object_show(apps_view_s.chooser_btn); + apps_view_s.chooser_btn = elm_layout_add(homescreen_efl_get_win()); + elm_layout_file_set(apps_view_s.chooser_btn, edj_path, GROUP_APPS_CHOOSER_BTN_LY); + evas_object_size_hint_weight_set(apps_view_s.chooser_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(apps_view_s.chooser_btn, apps_view_s.width, apps_view_s.height); + evas_object_show(apps_view_s.chooser_btn); - elm_object_signal_callback_add(apps_view_s.chooser_btn, SIGNAL_CHOOSER_LEFT_BTN_CLICKED, SIGNAL_SOURCE, __apps_view_chooser_left_btn_clicked, NULL); - elm_object_signal_callback_add(apps_view_s.chooser_btn, SIGNAL_CHOOSER_RIGHT_BTN_CLICKED, SIGNAL_SOURCE, __apps_view_chooser_right_btn_clicked, NULL); - __apps_view_update_chooser_text(apps_view_s.selected_item_count); + elm_object_signal_callback_add(apps_view_s.chooser_btn, SIGNAL_CHOOSER_LEFT_BTN_CLICKED, SIGNAL_SOURCE, __apps_view_chooser_left_btn_clicked, NULL); + elm_object_signal_callback_add(apps_view_s.chooser_btn, SIGNAL_CHOOSER_RIGHT_BTN_CLICKED, SIGNAL_SOURCE, __apps_view_chooser_right_btn_clicked, NULL); + __apps_view_update_chooser_text(apps_view_s.selected_item_count); } static void __apps_view_chooser_left_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - LOGD("Cancel button clicked"); - apps_view_set_state(apps_view_s.pre_view_state); + LOGD("Cancel button clicked"); + apps_view_set_state(apps_view_s.pre_view_state); } static void __apps_view_chooser_right_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - LOGD("Done button clicked"); - app_data_t *dest_folder_item = apps_view_s.dest_folder; - Eina_List *find_list; - app_data_t *item = NULL; - EINA_LIST_FOREACH(apps_view_s.selected_items, find_list, item) { - LOGD("%s-> move to folder {%d}", item->label_str, apps_view_s.dest_folder->db_id); - item->parent_db_id = apps_view_s.dest_folder->db_id; - apps_db_update(item); - if (item->app_layout) { - evas_object_del(item->app_layout); - item->app_layout = NULL; - } - } - apps_data_sort(); - apps_view_reorder(); - - Eina_List *list = apps_data_get_list(); - EINA_LIST_FOREACH(list, find_list, item) { - if (item->is_folder) - apps_view_update_folder_icon(item); - } - //apps_view_update_folder_icon(apps_view_s.dest_folder); - apps_view_set_state(VIEW_STATE_NORMAL); - __apps_view_open_folder_popup(dest_folder_item); + LOGD("Done button clicked"); + app_data_t *dest_folder_item = apps_view_s.dest_folder; + Eina_List *find_list; + app_data_t *item = NULL; + EINA_LIST_FOREACH(apps_view_s.selected_items, find_list, item) { + LOGD("%s-> move to folder {%d}", item->label_str, apps_view_s.dest_folder->db_id); + item->parent_db_id = apps_view_s.dest_folder->db_id; + apps_db_update(item); + if (item->app_layout) { + evas_object_del(item->app_layout); + item->app_layout = NULL; + } + } + apps_data_sort(); + apps_view_reorder(); + + Eina_List *list = apps_data_get_list(); + EINA_LIST_FOREACH(list, find_list, item) { + if (item->is_folder) + apps_view_update_folder_icon(item); + } + //apps_view_update_folder_icon(apps_view_s.dest_folder); + apps_view_set_state(VIEW_STATE_NORMAL); + __apps_view_open_folder_popup(dest_folder_item); } static void __apps_view_update_chooser_text(int item_count) { - char text1[STR_MAX], text2[STR_MAX]; - if (apps_view_s.selected_item_count + item_count > 0) { - sprintf(text1, _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), apps_view_s.selected_item_count + item_count); - } else - sprintf(text1, ""); + char text1[STR_MAX], text2[STR_MAX]; + if (apps_view_s.selected_item_count + item_count > 0) { + sprintf(text1, _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), apps_view_s.selected_item_count + item_count); + } else + sprintf(text1, ""); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_TEXT_SIZE, text1); - elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_MIDDLE_LABEL, text2); + sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_TEXT_SIZE, text1); + elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_MIDDLE_LABEL, text2); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB")); - elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_LEFT_LABEL, text2); + sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB")); + elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_LEFT_LABEL, text2); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_DONE_ABB")); - elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_RIGHT_LABEL, text2); + sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_DONE_ABB")); + elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_RIGHT_LABEL, text2); } static void __apps_view_badge_update_cb(unsigned int action, const char *app_id, unsigned int count, void *user_data) { - LOGD("%s updated", app_id); - Eina_List *data_list = apps_data_get_list(); - Eina_List *find_list = NULL; - app_data_t *item = NULL; - if (app_id == NULL) { - LOGD("app id is NULL"); - EINA_LIST_FOREACH(data_list, find_list, item) { - __apps_view_badge_update_count(item); - } - return; - } - EINA_LIST_FOREACH(data_list, find_list, item) { - if (strcmp(app_id, item->app_id) == 0) { - __apps_view_badge_update_count(item); - } - } + LOGD("%s updated", app_id); + Eina_List *data_list = apps_data_get_list(); + Eina_List *find_list = NULL; + app_data_t *item = NULL; + if (app_id == NULL) { + LOGD("app id is NULL"); + EINA_LIST_FOREACH(data_list, find_list, item) { + __apps_view_badge_update_count(item); + } + return; + } + EINA_LIST_FOREACH(data_list, find_list, item) { + if (strcmp(app_id, item->app_id) == 0) { + __apps_view_badge_update_count(item); + } + } } static void __apps_view_badge_update_count(app_data_t *item) { - unsigned int to_be_displayed = 0; - int result = BADGE_ERROR_NONE; - - if (!item->app_id) { - LOGE("app_item is NULL in badge count"); - return; - } - - result = badge_get_display(item->app_id, &to_be_displayed); - if (result != BADGE_ERROR_NONE) { - LOGE("badge_get_display error %d", result); - item->badge_count = 0; - return; - } - if (!to_be_displayed) { - item->badge_count = 0; - return; - } - - result = badge_get_count(item->app_id, &item->badge_count); - if (result != BADGE_ERROR_NONE) { - LOGE("badge_get_count error %d", result); - item->badge_count = 0; - return; - } - __apps_view_badge_update_icon(item); + unsigned int to_be_displayed = 0; + int result = BADGE_ERROR_NONE; + + if (!item->app_id) { + LOGE("app_item is NULL in badge count"); + return; + } + + result = badge_get_display(item->app_id, &to_be_displayed); + if (result != BADGE_ERROR_NONE) { + LOGE("badge_get_display error %d", result); + item->badge_count = 0; + return; + } + if (!to_be_displayed) { + item->badge_count = 0; + return; + } + + result = badge_get_count(item->app_id, &item->badge_count); + if (result != BADGE_ERROR_NONE) { + LOGE("badge_get_count error %d", result); + item->badge_count = 0; + return; + } + __apps_view_badge_update_icon(item); } static void __apps_view_badge_update_icon(app_data_t *item) { - char number_str[STR_MAX]; - if (item->badge_count == 0) { - elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_HIDE, SIGNAL_SOURCE); - return; - } + char number_str[STR_MAX]; + if (item->badge_count == 0) { + elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_HIDE, SIGNAL_SOURCE); + return; + } - if (item->badge_count > MAX_BADGE_DISPLAY_COUNT) { - sprintf(number_str, "%d+", MAX_BADGE_DISPLAY_COUNT); - } else { - sprintf(number_str, "%d", item->badge_count); - } - elm_layout_text_set(item->app_layout, APPS_ICON_BADGE_TEXT, number_str); - elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_SHOW, SIGNAL_SOURCE); + if (item->badge_count > MAX_BADGE_DISPLAY_COUNT) { + sprintf(number_str, "%d+", MAX_BADGE_DISPLAY_COUNT); + } else { + sprintf(number_str, "%d", item->badge_count); + } + elm_layout_text_set(item->app_layout, APPS_ICON_BADGE_TEXT, number_str); + elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_SHOW, SIGNAL_SOURCE); } static void __apps_view_plus_icon_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - app_data_t *item = (app_data_t *)data; - Eina_List *folder_list = NULL; - __apps_view_close_folder_popup_done(); - apps_view_s.dest_folder = item; - apps_view_set_state(VIEW_STATE_CHOOSER); - elm_object_signal_emit(item->app_layout, SIGNAL_ICON_DISABLE, SIGNAL_SOURCE); + app_data_t *item = (app_data_t *)data; + Eina_List *folder_list = NULL; + __apps_view_close_folder_popup_done(); + apps_view_s.dest_folder = item; + apps_view_set_state(VIEW_STATE_CHOOSER); + elm_object_signal_emit(item->app_layout, SIGNAL_ICON_DISABLE, SIGNAL_SOURCE); - apps_data_get_folder_item_list(&folder_list, item); - apps_view_s.selected_item_count = eina_list_count(folder_list); - __apps_view_update_chooser_text(0); + apps_data_get_folder_item_list(&folder_list, item); + apps_view_s.selected_item_count = eina_list_count(folder_list); + __apps_view_update_chooser_text(0); - eina_list_free(folder_list); + eina_list_free(folder_list); } static void __apps_view_scroller_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Down* ev = event_info; + Evas_Event_Mouse_Down* ev = event_info; - if (apps_view_s.view_state != VIEW_STATE_NORMAL) - return ; + if (apps_view_s.view_state != VIEW_STATE_NORMAL) + return ; - LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); + LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); - apps_mouse_info.pressed = true; - apps_mouse_info.pressed_obj = obj; + apps_mouse_info.pressed = true; + apps_mouse_info.pressed_obj = obj; - apps_mouse_info.down_x = apps_mouse_info.move_x = ev->output.x; - apps_mouse_info.down_y = apps_mouse_info.move_y = ev->output.y; + apps_mouse_info.down_x = apps_mouse_info.move_x = ev->output.x; + apps_mouse_info.down_y = apps_mouse_info.move_y = ev->output.y; - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } - apps_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, - __apps_view_scroller_long_press_time_cb, obj); + apps_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, + __apps_view_scroller_long_press_time_cb, obj); } static void __apps_view_scroller_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Up* ev = event_info; + Evas_Event_Mouse_Up* ev = event_info; - if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != obj) - return ; + if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != obj) + return ; - LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); + LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); - apps_mouse_info.pressed = false; + apps_mouse_info.pressed = false; - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } - apps_mouse_info.up_x = ev->output.x; - apps_mouse_info.up_y = ev->output.y; + apps_mouse_info.up_x = ev->output.x; + apps_mouse_info.up_y = ev->output.y; - apps_mouse_info.long_pressed = false; + apps_mouse_info.long_pressed = false; } static void __apps_view_scroller_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Move* ev = event_info; + Evas_Event_Mouse_Move* ev = event_info; - if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != obj) - return ; + if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != obj) + return ; - LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); + LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); - apps_mouse_info.move_x = ev->cur.output.x; - apps_mouse_info.move_y = ev->cur.output.y; + apps_mouse_info.move_x = ev->cur.output.x; + apps_mouse_info.move_y = ev->cur.output.y; - if (!apps_mouse_info.long_pressed) { - int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); - distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); + if (!apps_mouse_info.long_pressed) { + int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); + distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); - if (distance > MOUSE_MOVE_MIN_DISTANCE) { - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } - return ; - } - } + if (distance > MOUSE_MOVE_MIN_DISTANCE) { + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } + return ; + } + } } static Eina_Bool __apps_view_scroller_long_press_time_cb(void *data) { - if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != data) - return ECORE_CALLBACK_CANCEL; + if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != data) + return ECORE_CALLBACK_CANCEL; - apps_mouse_info.long_pressed = true; + apps_mouse_info.long_pressed = true; - apps_view_set_state(VIEW_STATE_EDIT); + apps_view_set_state(VIEW_STATE_EDIT); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } static void __apps_view_icon_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Down* ev = event_info; - LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); + Evas_Event_Mouse_Down* ev = event_info; + LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); - apps_mouse_info.pressed = true; - apps_mouse_info.pressed_obj = obj; + apps_mouse_info.pressed = true; + apps_mouse_info.pressed_obj = obj; - apps_mouse_info.down_x = apps_mouse_info.move_x = ev->output.x; - apps_mouse_info.down_y = apps_mouse_info.move_y = ev->output.y; + apps_mouse_info.down_x = apps_mouse_info.move_x = ev->output.x; + apps_mouse_info.down_y = apps_mouse_info.move_y = ev->output.y; - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } - apps_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, - __apps_view_icon_long_press_time_cb, data); + apps_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, + __apps_view_icon_long_press_time_cb, data); } static void __apps_view_icon_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Up* ev = event_info; - LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); + Evas_Event_Mouse_Up* ev = event_info; + LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); - if (!apps_mouse_info.pressed) - return ; + if (!apps_mouse_info.pressed) + return ; - apps_mouse_info.pressed = false; - apps_mouse_info.pressed_obj = NULL; + apps_mouse_info.pressed = false; + apps_mouse_info.pressed_obj = NULL; - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } - apps_mouse_info.up_x = ev->output.x; - apps_mouse_info.up_y = ev->output.y; + apps_mouse_info.up_x = ev->output.x; + apps_mouse_info.up_y = ev->output.y; - if (!apps_mouse_info.long_pressed) { - int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); - distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); + if (!apps_mouse_info.long_pressed) { + int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); + distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); - if (distance <= MOUSE_MOVE_MIN_DISTANCE) { - __apps_view_icon_clicked_cb((app_data_t *)data); - } - return ; - } + if (distance <= MOUSE_MOVE_MIN_DISTANCE) { + __apps_view_icon_clicked_cb((app_data_t *)data); + } + return ; + } - apps_mouse_info.long_pressed = false; + apps_mouse_info.long_pressed = false; - elm_scroller_movement_block_set(apps_view_s.scroller, ELM_SCROLLER_MOVEMENT_NO_BLOCK); + elm_scroller_movement_block_set(apps_view_s.scroller, ELM_SCROLLER_MOVEMENT_NO_BLOCK); - if (apps_view_s.picked_item) { - __apps_view_edit_drop_icon(data); - apps_view_s.picked_item = NULL; - } + if (apps_view_s.picked_item) { + __apps_view_edit_drop_icon(data); + apps_view_s.picked_item = NULL; + } } static void __apps_view_icon_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Move* ev = event_info; - LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); + Evas_Event_Mouse_Move* ev = event_info; + LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); - if (!apps_mouse_info.pressed) - return ; + if (!apps_mouse_info.pressed) + return ; - apps_mouse_info.move_x = ev->cur.output.x; - apps_mouse_info.move_y = ev->cur.output.y; + apps_mouse_info.move_x = ev->cur.output.x; + apps_mouse_info.move_y = ev->cur.output.y; - if (!apps_mouse_info.long_pressed) { - int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); - distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); + if (!apps_mouse_info.long_pressed) { + int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); + distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); - if (distance > MOUSE_MOVE_MIN_DISTANCE) { - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } - return ; - } - } + if (distance > MOUSE_MOVE_MIN_DISTANCE) { + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } + return ; + } + } - if (apps_view_s.picked_item) { - __apps_view_edit_drag_icon(data); - } + if (apps_view_s.picked_item) { + __apps_view_edit_drag_icon(data); + } } static Eina_Bool __apps_view_icon_long_press_time_cb(void *data) { - app_data_t *item = (app_data_t *)data; - if (!apps_mouse_info.pressed) - return ECORE_CALLBACK_CANCEL; + app_data_t *item = (app_data_t *)data; + if (!apps_mouse_info.pressed) + return ECORE_CALLBACK_CANCEL; - apps_mouse_info.long_pressed = true; + apps_mouse_info.long_pressed = true; - elm_scroller_movement_block_set(apps_view_s.scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); + elm_scroller_movement_block_set(apps_view_s.scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); - if (!item->is_folder) { - __apps_view_edit_pick_up_icon(data); - } + if (!item->is_folder) { + __apps_view_edit_pick_up_icon(data); + } - if (apps_view_s.view_state == VIEW_STATE_NORMAL) - apps_view_set_state(VIEW_STATE_EDIT); + if (apps_view_s.view_state == VIEW_STATE_NORMAL) + apps_view_set_state(VIEW_STATE_EDIT); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } static void __apps_view_edit_pick_up_icon(void *data) { - int cx = -1, cy = -1; - int gx = -1, gy = -1, gw = 0, gh = 0; - Evas *e = NULL; - apps_view_s.picked_item = (app_data_t *)data; + int cx = -1, cy = -1; + int gx = -1, gy = -1, gw = 0, gh = 0; + Evas *e = NULL; + apps_view_s.picked_item = (app_data_t *)data; - Evas_Object *icon_layout = apps_view_s.picked_item->app_layout; + Evas_Object *icon_layout = apps_view_s.picked_item->app_layout; - e = evas_object_evas_get(icon_layout); + e = evas_object_evas_get(icon_layout); - evas_pointer_canvas_xy_get(e, &cx, &cy); - evas_object_geometry_get(icon_layout, &gx, &gy, &gw, &gh); - LOGD("cx, cy (%d, %d )", cx, cy); - LOGD("gx, gy, gw, gh (%d, %d, %d, %d)", gx, gy, gw, gh); + evas_pointer_canvas_xy_get(e, &cx, &cy); + evas_object_geometry_get(icon_layout, &gx, &gy, &gw, &gh); + LOGD("cx, cy (%d, %d )", cx, cy); + LOGD("gx, gy, gw, gh (%d, %d, %d, %d)", gx, gy, gw, gh); - apps_mouse_info.offset_x = cx - gx; - apps_mouse_info.offset_y = cy - gy; + apps_mouse_info.offset_x = cx - gx; + apps_mouse_info.offset_y = cy - gy; - Evas_Object *mapbuf = NULL; - Evas_Object *page_ly = NULL; - int page_index = apps_view_s.picked_item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); - page_ly = eina_list_nth(apps_view_s.page_list, page_index); - mapbuf = evas_object_data_get(page_ly, "mapbuf"); - elm_mapbuf_enabled_set(mapbuf, EINA_FALSE); + Evas_Object *mapbuf = NULL; + Evas_Object *page_ly = NULL; + int page_index = apps_view_s.picked_item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); + page_ly = eina_list_nth(apps_view_s.page_list, page_index); + mapbuf = evas_object_data_get(page_ly, "mapbuf"); + elm_mapbuf_enabled_set(mapbuf, EINA_FALSE); - apps_view_icon_unset(apps_view_s.picked_item); + apps_view_icon_unset(apps_view_s.picked_item); - elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); + elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); - elm_object_signal_emit(icon_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(icon_layout, SIGNAL_ICON_NAME_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(icon_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(icon_layout, SIGNAL_ICON_NAME_HIDE, SIGNAL_SOURCE); - evas_object_move(icon_layout, apps_mouse_info.move_x - apps_mouse_info.offset_x, - apps_mouse_info.move_y - apps_mouse_info.offset_y); + evas_object_move(icon_layout, apps_mouse_info.move_x - apps_mouse_info.offset_x, + apps_mouse_info.move_y - apps_mouse_info.offset_y); } static void __apps_view_edit_drag_icon(void *data) { - if (!apps_view_s.picked_item) - return ; - - Evas_Object *app_layout = apps_view_s.picked_item->app_layout; - evas_object_move(app_layout, apps_mouse_info.move_x - apps_mouse_info.offset_x, - apps_mouse_info.move_y - apps_mouse_info.offset_y); - - if (apps_view_s.folder_popup_ly) { - int gx, gy, gw, gh; - edje_object_part_geometry_get(elm_layout_edje_get(apps_view_s.folder_popup_ly), APPS_FOLDER_BG, &gx, &gy, &gw, &gh); - - if (apps_mouse_info.move_x < gx || apps_mouse_info.move_x > gx + gw || - apps_mouse_info.move_y < gy || apps_mouse_info.move_y > gy + gh) { - if (apps_view_s.animator == NULL) { - app_data_t *opened_folder = apps_view_s.opened_folder; - __apps_view_close_folder_popup(apps_view_s.opened_folder); - apps_view_s.picked_item->parent_db_id = APPS_ROOT; - apps_db_update(apps_view_s.picked_item); - apps_data_sort(); - apps_view_update_folder_icon(opened_folder); - } - } - } else if (apps_mouse_info.move_x > APPS_VIEW_EDIT_RIGHT_SCROLL_REGION) { - LOGD("Move to next page"); - if (!apps_view_s.edit_mode_scroll_timer) - apps_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __apps_view_scroll_timer_cb, NULL); - - } else if (apps_mouse_info.move_x < APPS_VIEW_EDIT_LEFT_SCROLL_REGION) { - LOGD("Move to prev page"); - if (!apps_view_s.edit_mode_scroll_timer) - apps_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __apps_view_scroll_timer_cb, NULL); - } else { - if (apps_view_s.edit_mode_scroll_timer) { - ecore_timer_del(apps_view_s.edit_mode_scroll_timer); - apps_view_s.edit_mode_scroll_timer = NULL; - } - - if (apps_view_s.picked_item->parent_db_id == APPS_ROOT) { - int index = __apps_view_get_index(apps_view_s.current_page, apps_mouse_info.move_x - apps_mouse_info.offset_x, - apps_mouse_info.move_y - apps_mouse_info.offset_y); - if(apps_view_s.candidate_folder == NULL || - apps_view_s.candidate_folder->position != index) { - if (apps_view_s.candidate_folder) - elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); - apps_view_s.candidate_folder = apps_data_find_item_by_index(index); - if (apps_view_s.candidate_folder && !apps_view_s.candidate_folder->is_folder) { - apps_view_s.candidate_folder = NULL; - } - } - if (apps_view_s.candidate_folder) { - if(apps_data_get_folder_item_count(apps_view_s.candidate_folder) >= APPS_FOLDER_MAX_ITEM) - elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_IMPOSSIBLE_SHOW, SIGNAL_SOURCE); - else - elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_SHOW, SIGNAL_SOURCE); - } - } - } + if (!apps_view_s.picked_item) + return ; + + Evas_Object *app_layout = apps_view_s.picked_item->app_layout; + evas_object_move(app_layout, apps_mouse_info.move_x - apps_mouse_info.offset_x, + apps_mouse_info.move_y - apps_mouse_info.offset_y); + + if (apps_view_s.folder_popup_ly) { + int gx, gy, gw, gh; + edje_object_part_geometry_get(elm_layout_edje_get(apps_view_s.folder_popup_ly), APPS_FOLDER_BG, &gx, &gy, &gw, &gh); + + if (apps_mouse_info.move_x < gx || apps_mouse_info.move_x > gx + gw || + apps_mouse_info.move_y < gy || apps_mouse_info.move_y > gy + gh) { + if (apps_view_s.animator == NULL) { + app_data_t *opened_folder = apps_view_s.opened_folder; + __apps_view_close_folder_popup(apps_view_s.opened_folder); + apps_view_s.picked_item->parent_db_id = APPS_ROOT; + apps_db_update(apps_view_s.picked_item); + apps_data_sort(); + apps_view_update_folder_icon(opened_folder); + } + } + } else if (apps_mouse_info.move_x > APPS_VIEW_EDIT_RIGHT_SCROLL_REGION) { + LOGD("Move to next page"); + if (!apps_view_s.edit_mode_scroll_timer) + apps_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __apps_view_scroll_timer_cb, NULL); + + } else if (apps_mouse_info.move_x < APPS_VIEW_EDIT_LEFT_SCROLL_REGION) { + LOGD("Move to prev page"); + if (!apps_view_s.edit_mode_scroll_timer) + apps_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __apps_view_scroll_timer_cb, NULL); + } else { + if (apps_view_s.edit_mode_scroll_timer) { + ecore_timer_del(apps_view_s.edit_mode_scroll_timer); + apps_view_s.edit_mode_scroll_timer = NULL; + } + + if (apps_view_s.picked_item->parent_db_id == APPS_ROOT) { + int index = __apps_view_get_index(apps_view_s.current_page, apps_mouse_info.move_x - apps_mouse_info.offset_x, + apps_mouse_info.move_y - apps_mouse_info.offset_y); + if (apps_view_s.candidate_folder == NULL || + apps_view_s.candidate_folder->position != index) { + if (apps_view_s.candidate_folder) + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); + apps_view_s.candidate_folder = apps_data_find_item_by_index(index); + if (apps_view_s.candidate_folder && !apps_view_s.candidate_folder->is_folder) { + apps_view_s.candidate_folder = NULL; + } + } + if (apps_view_s.candidate_folder) { + if (apps_data_get_folder_item_count(apps_view_s.candidate_folder) >= APPS_FOLDER_MAX_ITEM) + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_IMPOSSIBLE_SHOW, SIGNAL_SOURCE); + else + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_SHOW, SIGNAL_SOURCE); + } + } + } } static void __apps_view_edit_drop_icon(void *data) { - app_data_t *item = (app_data_t *)data; - Evas_Object *app_layout = apps_view_s.picked_item->app_layout; - - if (apps_view_s.edit_mode_scroll_timer) { - ecore_timer_del(apps_view_s.edit_mode_scroll_timer); - apps_view_s.edit_mode_scroll_timer = NULL; - } - - if (item->is_removable) - elm_object_signal_emit(app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); - - elm_object_signal_emit(app_layout, SIGNAL_ICON_NAME_SHOW, SIGNAL_SOURCE); - - __apps_view__set_icon_label_style(item, VIEW_STATE_EDIT); - - if (apps_view_s.candidate_folder) { - Eina_List *folder_list = NULL; - int folder_item_count =0; - apps_data_get_folder_item_list(&folder_list, apps_view_s.candidate_folder); - folder_item_count = eina_list_count(folder_list); - if (folder_item_count >= APPS_FOLDER_MAX_ITEM) { - char str[1024]; - sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); - toast_show(str); - } else { - item->parent_db_id = apps_view_s.candidate_folder->db_id; - apps_db_update(apps_view_s.picked_item); - apps_view_update_folder_icon(apps_view_s.candidate_folder); - elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); - if (item->app_layout) { - evas_object_del(item->app_layout); - item->app_layout = NULL; - } - } - elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); - apps_view_s.candidate_folder = NULL; - - } - apps_data_sort(); - apps_view_reorder(); + app_data_t *item = (app_data_t *)data; + Evas_Object *app_layout = apps_view_s.picked_item->app_layout; + + if (apps_view_s.edit_mode_scroll_timer) { + ecore_timer_del(apps_view_s.edit_mode_scroll_timer); + apps_view_s.edit_mode_scroll_timer = NULL; + } + + if (item->is_removable) + elm_object_signal_emit(app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + + elm_object_signal_emit(app_layout, SIGNAL_ICON_NAME_SHOW, SIGNAL_SOURCE); + + __apps_view__set_icon_label_style(item, VIEW_STATE_EDIT); + + if (apps_view_s.candidate_folder) { + Eina_List *folder_list = NULL; + int folder_item_count = 0; + apps_data_get_folder_item_list(&folder_list, apps_view_s.candidate_folder); + folder_item_count = eina_list_count(folder_list); + if (folder_item_count >= APPS_FOLDER_MAX_ITEM) { + char str[1024]; + sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); + toast_show(str); + } else { + item->parent_db_id = apps_view_s.candidate_folder->db_id; + apps_db_update(apps_view_s.picked_item); + apps_view_update_folder_icon(apps_view_s.candidate_folder); + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); + if (item->app_layout) { + evas_object_del(item->app_layout); + item->app_layout = NULL; + } + } + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); + apps_view_s.candidate_folder = NULL; + + } + apps_data_sort(); + apps_view_reorder(); } static Eina_Bool __apps_view_scroll_timer_cb(void *data) { - int next_page_idx = 0; - if (apps_mouse_info.move_x > APPS_VIEW_EDIT_RIGHT_SCROLL_REGION) { - next_page_idx = apps_view_s.current_page + 1; - } else if (apps_mouse_info.move_x < APPS_VIEW_EDIT_LEFT_SCROLL_REGION) { - next_page_idx = apps_view_s.current_page - 1; - } else { - return ECORE_CALLBACK_CANCEL; - } - __apps_view_scroll_to_page(next_page_idx, true); - return ECORE_CALLBACK_RENEW; + int next_page_idx = 0; + if (apps_mouse_info.move_x > APPS_VIEW_EDIT_RIGHT_SCROLL_REGION) { + next_page_idx = apps_view_s.current_page + 1; + } else if (apps_mouse_info.move_x < APPS_VIEW_EDIT_LEFT_SCROLL_REGION) { + next_page_idx = apps_view_s.current_page - 1; + } else { + return ECORE_CALLBACK_CANCEL; + } + __apps_view_scroll_to_page(next_page_idx, true); + return ECORE_CALLBACK_RENEW; } static void __apps_view_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info) { - apps_view_s.is_srolling = false; - elm_scroller_current_page_get(obj, &apps_view_s.current_page, NULL); - apps_view_s.current_page = apps_view_s.current_page % apps_view_s.page_count; - LOGD("current page %d", apps_view_s.current_page); + apps_view_s.is_srolling = false; + elm_scroller_current_page_get(obj, &apps_view_s.current_page, NULL); + apps_view_s.current_page = apps_view_s.current_page % apps_view_s.page_count; + LOGD("current page %d", apps_view_s.current_page); } static void __apps_view_scroll_to_page(int page_idx, bool animation) { - if (animation) { - apps_view_s.is_srolling = true; - elm_scroller_page_bring_in(apps_view_s.scroller, page_idx, 0); - } else { - page_indicator_set_current_page(apps_view_s.indicator, page_idx); - elm_scroller_page_show(apps_view_s.scroller, page_idx, 0); - } + if (animation) { + apps_view_s.is_srolling = true; + elm_scroller_page_bring_in(apps_view_s.scroller, page_idx, 0); + } else { + page_indicator_set_current_page(apps_view_s.indicator, page_idx); + elm_scroller_page_show(apps_view_s.scroller, page_idx, 0); + } } static int __apps_view_get_index(int page_index, int x, int y) { - int row, col; - int sx = APPS_VIEW_W * 0.04; - int sy = APPS_VIEW_PADDING_TOP + APPS_VIEW_H * 0.05; - int w = (APPS_VIEW_W * 0.9) / APPS_VIEW_COL; - int h = (APPS_VIEW_H * 0.9) / APPS_VIEW_ROW; + int row, col; + int sx = APPS_VIEW_W * 0.04; + int sy = APPS_VIEW_PADDING_TOP + APPS_VIEW_H * 0.05; + int w = (APPS_VIEW_W * 0.9) / APPS_VIEW_COL; + int h = (APPS_VIEW_H * 0.9) / APPS_VIEW_ROW; - for (row = 0; row < APPS_VIEW_ROW; row++) { - for(col = 0; col < APPS_VIEW_COL; col++) { - int ny = sy + (row * h); - int nx = sx + (col * w); + for (row = 0; row < APPS_VIEW_ROW; row++) { + for (col = 0; col < APPS_VIEW_COL; col++) { + int ny = sy + (row * h); + int nx = sx + (col * w); - int d = (ny - y) * (ny - y) + (nx - x) * (nx - x); - if (d < APPS_VIEW_EDIT_MOVE_GAP) { - return ((APPS_VIEW_COL * APPS_VIEW_ROW) * page_index) + (row * APPS_VIEW_COL) + col; - } - } - } + int d = (ny - y) * (ny - y) + (nx - x) * (nx - x); + if (d < APPS_VIEW_EDIT_MOVE_GAP) { + return ((APPS_VIEW_COL * APPS_VIEW_ROW) * page_index) + (row * APPS_VIEW_COL) + col; + } + } + } - return INIT_VALUE; + return INIT_VALUE; } static void __apps_view__set_icon_label_style(app_data_t *item, view_state_t state) { - char style_string[STR_MAX] = {0, }; - char *text_color = item->parent_db_id == APPS_ROOT ? APPS_VIEW_ICON_TEXT_COLOR_WHITE : APPS_VIEW_ICON_TEXT_COLOR_BLACK; - char *text_shadow_color = item->parent_db_id == APPS_ROOT ? "000000FF" : "FFFFFFFF"; - int font_size = (state == VIEW_STATE_NORMAL || item->parent_db_id != APPS_ROOT) ? APPS_VIEW_ICON_TEXT_SIZE_NORMAL : APPS_VIEW_ICON_TEXT_SIZE_EDIT; - snprintf(style_string, sizeof(style_string), "%s", font_size, text_color, text_shadow_color,item->label_str); - elm_object_part_text_set(item->app_layout, APPS_ICON_NAME, style_string); + char style_string[STR_MAX] = {0, }; + char *text_color = item->parent_db_id == APPS_ROOT ? APPS_VIEW_ICON_TEXT_COLOR_WHITE : APPS_VIEW_ICON_TEXT_COLOR_BLACK; + char *text_shadow_color = item->parent_db_id == APPS_ROOT ? "000000FF" : "FFFFFFFF"; + int font_size = (state == VIEW_STATE_NORMAL || item->parent_db_id != APPS_ROOT) ? APPS_VIEW_ICON_TEXT_SIZE_NORMAL : APPS_VIEW_ICON_TEXT_SIZE_EDIT; + snprintf(style_string, sizeof(style_string), "%s", font_size, text_color, text_shadow_color, item->label_str); + elm_object_part_text_set(item->app_layout, APPS_ICON_NAME, style_string); } static void __apps_view_folder_entry_done_cb(void *data, Evas_Object *obj, void *event_info) { - elm_entry_input_panel_hide(obj); - elm_object_focus_set(obj, EINA_FALSE); + elm_entry_input_panel_hide(obj); + elm_object_focus_set(obj, EINA_FALSE); } diff --git a/src/cluster_data.c b/src/cluster_data.c index ed714e8..3d23438 100755 --- a/src/cluster_data.c +++ b/src/cluster_data.c @@ -24,9 +24,9 @@ #define CLUSTER_DATA_PAGE_COUNT "cluster_page_count" static struct { - Eina_List *data_list; + Eina_List *data_list; } cluster_data_s = { - .data_list = NULL + .data_list = NULL }; static void __cluster_data_item_free(widget_data_t *item); @@ -34,121 +34,121 @@ static void __cluster_data_insert_default_data(void); void cluster_data_init(void) { - if (cluster_db_create()) { - __cluster_data_insert_default_data(); - cluster_data_set_page_count(2); - } - cluster_db_get_list(&cluster_data_s.data_list); + if (cluster_db_create()) { + __cluster_data_insert_default_data(); + cluster_data_set_page_count(2); + } + cluster_db_get_list(&cluster_data_s.data_list); } Eina_List *cluster_data_get_widget_list(void) { - return cluster_data_s.data_list; + return cluster_data_s.data_list; } int cluster_data_get_page_count() { - int result = -1; - if (preference_get_int(CLUSTER_DATA_PAGE_COUNT, &result) != PREFERENCE_ERROR_NONE) { - LOGE("preference_get_int : Error"); - result = -1; - } - return result; + int result = -1; + if (preference_get_int(CLUSTER_DATA_PAGE_COUNT, &result) != PREFERENCE_ERROR_NONE) { + LOGE("preference_get_int : Error"); + result = -1; + } + return result; } void cluster_data_set_page_count(int count) { - if (preference_set_int(CLUSTER_DATA_PAGE_COUNT, count) != PREFERENCE_ERROR_NONE) { - LOGE("preference_set_int(CLUSTER_DATA_PAGE_COUNT, %d): Error", count); - } + if (preference_set_int(CLUSTER_DATA_PAGE_COUNT, count) != PREFERENCE_ERROR_NONE) { + LOGE("preference_set_int(CLUSTER_DATA_PAGE_COUNT, %d): Error", count); + } } void cluster_data_insert_widget(const char* pkg_name, const char* content_info, int type) { - widget_data_t *new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); - memset(new_item, 0, sizeof(widget_data_t)); - - new_item->page_idx = INIT_VALUE; - new_item->pos_y = INIT_VALUE; - new_item->pos_x = INIT_VALUE; - new_item->pkg_name = strdup(pkg_name); - new_item->content_info = content_info == NULL ? NULL : strdup(content_info); - new_item->type = type; - new_item->period = 0.0; - new_item->allow_duplicate = 1; - - if (!cluster_view_add_widget(new_item, true)) { - cluster_view_delete_widget(new_item); - __cluster_data_item_free(new_item); - return ; - } - cluster_data_insert(new_item); + widget_data_t *new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); + memset(new_item, 0, sizeof(widget_data_t)); + + new_item->page_idx = INIT_VALUE; + new_item->pos_y = INIT_VALUE; + new_item->pos_x = INIT_VALUE; + new_item->pkg_name = strdup(pkg_name); + new_item->content_info = content_info == NULL ? NULL : strdup(content_info); + new_item->type = type; + new_item->period = 0.0; + new_item->allow_duplicate = 1; + + if (!cluster_view_add_widget(new_item, true)) { + cluster_view_delete_widget(new_item); + __cluster_data_item_free(new_item); + return ; + } + cluster_data_insert(new_item); } void cluster_data_insert(widget_data_t *item) { - LOGD("%s - inserted to paged[%d]", item->pkg_name, item->page_idx); - cluster_db_insert(item); - cluster_data_s.data_list = eina_list_append(cluster_data_s.data_list, item); + LOGD("%s - inserted to paged[%d]", item->pkg_name, item->page_idx); + cluster_db_insert(item); + cluster_data_s.data_list = eina_list_append(cluster_data_s.data_list, item); } void cluster_data_delete(widget_data_t *item) { - LOGD("%s - delete", item->pkg_name); - cluster_db_delete(item); - cluster_data_s.data_list = eina_list_remove(cluster_data_s.data_list, item); - cluster_view_delete_widget(item); - __cluster_data_item_free(item); + LOGD("%s - delete", item->pkg_name); + cluster_db_delete(item); + cluster_data_s.data_list = eina_list_remove(cluster_data_s.data_list, item); + cluster_view_delete_widget(item); + __cluster_data_item_free(item); } void cluster_data_update(widget_data_t *item) { - cluster_db_update(item); + cluster_db_update(item); } static void __cluster_data_insert_default_data(void) { - /* org.tizen.gallery.widget - * org.tizen.calendar.widget - * org.tizen.music-player.widget - * org.tizen.contacts-widget - */ - widget_data_t *new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); - memset(new_item, 0, sizeof(widget_data_t)); - new_item->page_idx = 0; - new_item->pos_y = 0; - new_item->pos_x = 0; - new_item->pkg_name = strdup("org.tizen.calendar.widget"); - new_item->content_info = NULL; - new_item->type = WIDGET_SIZE_TYPE_4x4; - new_item->period = 0.0; - new_item->allow_duplicate = 1; - - cluster_db_insert(new_item); + /* org.tizen.gallery.widget + * org.tizen.calendar.widget + * org.tizen.music-player.widget + * org.tizen.contacts-widget + */ + widget_data_t *new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); + memset(new_item, 0, sizeof(widget_data_t)); + new_item->page_idx = 0; + new_item->pos_y = 0; + new_item->pos_x = 0; + new_item->pkg_name = strdup("org.tizen.calendar.widget"); + new_item->content_info = NULL; + new_item->type = WIDGET_SIZE_TYPE_4x4; + new_item->period = 0.0; + new_item->allow_duplicate = 1; + + cluster_db_insert(new_item); /* - new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); - memset(new_item, 0, sizeof(widget_data_t)); - - new_item->page_idx = 1; - new_item->pos_y = 0; - new_item->pos_x = 0; - new_item->pkg_name = strdup("org.tizen.gallery.widget"); - new_item->content_info = NULL; - new_item->type = WIDGET_SIZE_TYPE_4x4; - new_item->period = 0.0; - new_item->allow_duplicate = 1; - - cluster_data_insert(new_item); - */ + new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); + memset(new_item, 0, sizeof(widget_data_t)); + + new_item->page_idx = 1; + new_item->pos_y = 0; + new_item->pos_x = 0; + new_item->pkg_name = strdup("org.tizen.gallery.widget"); + new_item->content_info = NULL; + new_item->type = WIDGET_SIZE_TYPE_4x4; + new_item->period = 0.0; + new_item->allow_duplicate = 1; + + cluster_data_insert(new_item); + */ } static void __cluster_data_item_free(widget_data_t *item) { - if (item && item->pkg_name) - free(item->pkg_name); - if (item && item->content_info) - free(item->content_info); - if (item) - free(item); + if (item && item->pkg_name) + free(item->pkg_name); + if (item && item->content_info) + free(item->content_info); + if (item) + free(item); } diff --git a/src/cluster_db.c b/src/cluster_db.c index db22d5c..cc0aa38 100755 --- a/src/cluster_db.c +++ b/src/cluster_db.c @@ -22,52 +22,52 @@ #include "util.h" #define CLUSTER_DB_NAME ".cluster-data.db" -#define QUERY_MAXLEN 4096 +#define QUERY_MAXLEN 4096 static sqlite3 *cluster_db = NULL; enum { - COL_WIDGET_ID = 0, - COL_PAGE_INDEX, - COL_POS_Y, - COL_POS_X, - COL_PKG_NAME, - COL_CONTENT_INFO, - COL_TYPE, - COL_PERIOD, - COL_ALLOW_DUPLICATE + COL_WIDGET_ID = 0, + COL_PAGE_INDEX, + COL_POS_Y, + COL_POS_X, + COL_PKG_NAME, + COL_CONTENT_INFO, + COL_TYPE, + COL_PERIOD, + COL_ALLOW_DUPLICATE }; #define CREATE_CLUSTER_DB_TABLE "CREATE TABLE IF NOT EXISTS clusters (\ - widgetId INTEGER PRIMARY KEY AUTOINCREMENT,\ - pageIndex INTEGER default 0,\ - y INTEGER default 0,\ - x INTEGER default 0,\ - pkgName TEXT,\ - content TEXT,\ - type INTEGER default 0,\ - period REAL default 0.0,\ - allow INTEGER default 1);" + widgetId INTEGER PRIMARY KEY AUTOINCREMENT,\ + pageIndex INTEGER default 0,\ + y INTEGER default 0,\ + x INTEGER default 0,\ + pkgName TEXT,\ + content TEXT,\ + type INTEGER default 0,\ + period REAL default 0.0,\ + allow INTEGER default 1);" #define UPDATE_CLUSTER_DB_TABLE "UPDATE clusters set \ - pageIndex=%d,\ - y=%d,\ - x=%d,\ - pkgName='%s',\ - content='%s',\ - type=%d,\ - period=%lf,\ - allow=%d WHERE widgetId=%d" + pageIndex=%d,\ + y=%d,\ + x=%d,\ + pkgName='%s',\ + content='%s',\ + type=%d,\ + period=%lf,\ + allow=%d WHERE widgetId=%d" #define INSERT_CLUSTER_DB_TABLE "INSERT into clusters (\ - pageIndex,\ - y,\ - x,\ - pkgName,\ - content,\ - type,\ - period,\ - allow) VALUES(%d,%d, %d,'%s','%s',%d, '%lf',%d)" + pageIndex,\ + y,\ + x,\ + pkgName,\ + content,\ + type,\ + period,\ + allow) VALUES(%d,%d, %d,'%s','%s',%d, '%lf',%d)" #define SELECT_ITEM "SELECT * FROM clusters;" @@ -75,169 +75,169 @@ static bool __cluster_db_open(void); bool cluster_db_create(void) { - char *errMsg; - int ret; - const char *db_path = util_get_data_file_path(CLUSTER_DB_NAME); - FILE *fp = fopen(db_path, "r"); - if (fp) { - fclose(fp); - LOGE("cluster DB[%s] exist", db_path); - return false; - } - - ret = sqlite3_open(db_path, &cluster_db); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%d] : path [%s]", ret, db_path); - return false; - } - - ret = sqlite3_exec(cluster_db, "PRAGMA journal_mode = PERSIST", NULL, NULL, &errMsg); - if (ret != SQLITE_OK) { - LOGE("SQL error(%d) : %s", ret, errMsg); - sqlite3_free(errMsg); - return false; - } - - ret = sqlite3_exec(cluster_db, CREATE_CLUSTER_DB_TABLE, NULL, NULL, &errMsg); - if (ret != SQLITE_OK) { - LOGE("SQL error(%d) : %s", ret, errMsg); - sqlite3_free(errMsg); - return false; - } - LOGD("Create DB[%s] : [%s] OK ", db_path, CREATE_CLUSTER_DB_TABLE); - return true; + char *errMsg; + int ret; + const char *db_path = util_get_data_file_path(CLUSTER_DB_NAME); + FILE *fp = fopen(db_path, "r"); + if (fp) { + fclose(fp); + LOGE("cluster DB[%s] exist", db_path); + return false; + } + + ret = sqlite3_open(db_path, &cluster_db); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%d] : path [%s]", ret, db_path); + return false; + } + + ret = sqlite3_exec(cluster_db, "PRAGMA journal_mode = PERSIST", NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { + LOGE("SQL error(%d) : %s", ret, errMsg); + sqlite3_free(errMsg); + return false; + } + + ret = sqlite3_exec(cluster_db, CREATE_CLUSTER_DB_TABLE, NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { + LOGE("SQL error(%d) : %s", ret, errMsg); + sqlite3_free(errMsg); + return false; + } + LOGD("Create DB[%s] : [%s] OK ", db_path, CREATE_CLUSTER_DB_TABLE); + return true; } bool cluster_db_close() { - if (cluster_db) { - sqlite3_exec(cluster_db, "COMMIT TRANSACTION", NULL, NULL, NULL); - sqlite3_close(cluster_db); - cluster_db = NULL; - } - return true; + if (cluster_db) { + sqlite3_exec(cluster_db, "COMMIT TRANSACTION", NULL, NULL, NULL); + sqlite3_close(cluster_db); + cluster_db = NULL; + } + return true; } bool cluster_db_get_list(Eina_List **cluster_list) { - sqlite3_stmt *stmt; - if (!__cluster_db_open()) - return false; - int ret = sqlite3_prepare_v2(cluster_db, SELECT_ITEM, strlen(SELECT_ITEM), &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", SELECT_ITEM, sqlite3_errmsg(cluster_db)); - return false; - } - - const char *str; - while (sqlite3_step(stmt) == SQLITE_ROW) { - widget_data_t *item = (widget_data_t *)malloc(sizeof(widget_data_t)); - memset(item, 0, sizeof(widget_data_t)); - - item->widget_id = sqlite3_column_int(stmt, COL_WIDGET_ID); - item->page_idx = sqlite3_column_int(stmt, COL_PAGE_INDEX); - item->pos_y = sqlite3_column_int(stmt, COL_POS_Y); - item->pos_x = sqlite3_column_int(stmt, COL_POS_X); - str = (const char *) sqlite3_column_text(stmt, COL_PKG_NAME); - item->pkg_name = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_CONTENT_INFO); - item->content_info = (!str || !strlen(str)) ? NULL : strdup(str); - item->type = sqlite3_column_int(stmt, COL_TYPE); - item->period = sqlite3_column_double(stmt, COL_PERIOD); - item->allow_duplicate = sqlite3_column_int(stmt, COL_ALLOW_DUPLICATE); - *cluster_list = eina_list_append(*cluster_list, item); - } - sqlite3_finalize(stmt); - return true; + sqlite3_stmt *stmt; + if (!__cluster_db_open()) + return false; + int ret = sqlite3_prepare_v2(cluster_db, SELECT_ITEM, strlen(SELECT_ITEM), &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", SELECT_ITEM, sqlite3_errmsg(cluster_db)); + return false; + } + + const char *str; + while (sqlite3_step(stmt) == SQLITE_ROW) { + widget_data_t *item = (widget_data_t *)malloc(sizeof(widget_data_t)); + memset(item, 0, sizeof(widget_data_t)); + + item->widget_id = sqlite3_column_int(stmt, COL_WIDGET_ID); + item->page_idx = sqlite3_column_int(stmt, COL_PAGE_INDEX); + item->pos_y = sqlite3_column_int(stmt, COL_POS_Y); + item->pos_x = sqlite3_column_int(stmt, COL_POS_X); + str = (const char *) sqlite3_column_text(stmt, COL_PKG_NAME); + item->pkg_name = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_CONTENT_INFO); + item->content_info = (!str || !strlen(str)) ? NULL : strdup(str); + item->type = sqlite3_column_int(stmt, COL_TYPE); + item->period = sqlite3_column_double(stmt, COL_PERIOD); + item->allow_duplicate = sqlite3_column_int(stmt, COL_ALLOW_DUPLICATE); + *cluster_list = eina_list_append(*cluster_list, item); + } + sqlite3_finalize(stmt); + return true; } bool cluster_db_update(widget_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__cluster_db_open()) - return false; - - snprintf(query, QUERY_MAXLEN, UPDATE_CLUSTER_DB_TABLE, - item->page_idx, - item->pos_y, - item->pos_x, - item->pkg_name, - item->content_info, - item->type, - item->period, - item->allow_duplicate, - item->widget_id); - int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); - return false; - } - sqlite3_step(stmt); - sqlite3_finalize(stmt); - cluster_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__cluster_db_open()) + return false; + + snprintf(query, QUERY_MAXLEN, UPDATE_CLUSTER_DB_TABLE, + item->page_idx, + item->pos_y, + item->pos_x, + item->pkg_name, + item->content_info, + item->type, + item->period, + item->allow_duplicate, + item->widget_id); + int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); + return false; + } + sqlite3_step(stmt); + sqlite3_finalize(stmt); + cluster_db_close(); + return true; } bool cluster_db_insert(widget_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__cluster_db_open()) - return false; - snprintf(query, QUERY_MAXLEN, INSERT_CLUSTER_DB_TABLE, - item->page_idx, - item->pos_y, - item->pos_x, - item->pkg_name, - item->content_info, - item->type, - item->period, - item->allow_duplicate); - int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); - return false; - } - sqlite3_step(stmt); - sqlite3_finalize(stmt); - item->widget_id = (int)sqlite3_last_insert_rowid(cluster_db); - - cluster_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__cluster_db_open()) + return false; + snprintf(query, QUERY_MAXLEN, INSERT_CLUSTER_DB_TABLE, + item->page_idx, + item->pos_y, + item->pos_x, + item->pkg_name, + item->content_info, + item->type, + item->period, + item->allow_duplicate); + int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); + return false; + } + sqlite3_step(stmt); + sqlite3_finalize(stmt); + item->widget_id = (int)sqlite3_last_insert_rowid(cluster_db); + + cluster_db_close(); + return true; } bool cluster_db_delete(widget_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__cluster_db_open()) - return false; - - snprintf(query, QUERY_MAXLEN, "DELETE FROM clusters WHERE widgetId=%d", item->widget_id); - int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); - return false; - } - - sqlite3_step(stmt); - sqlite3_finalize(stmt); - - cluster_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__cluster_db_open()) + return false; + + snprintf(query, QUERY_MAXLEN, "DELETE FROM clusters WHERE widgetId=%d", item->widget_id); + int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); + return false; + } + + sqlite3_step(stmt); + sqlite3_finalize(stmt); + + cluster_db_close(); + return true; } bool __cluster_db_open() { - if (!cluster_db) { - int ret; - ret = sqlite3_open(util_get_data_file_path(CLUSTER_DB_NAME), &cluster_db); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%d] : path [%s]", ret, util_get_data_file_path(CLUSTER_DB_NAME)); - return false; - } - } - return true; + if (!cluster_db) { + int ret; + ret = sqlite3_open(util_get_data_file_path(CLUSTER_DB_NAME), &cluster_db); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%d] : path [%s]", ret, util_get_data_file_path(CLUSTER_DB_NAME)); + return false; + } + } + return true; } diff --git a/src/cluster_page.c b/src/cluster_page.c index d0e97f7..dd1482e 100755 --- a/src/cluster_page.c +++ b/src/cluster_page.c @@ -25,299 +25,299 @@ void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h); cluster_page_t *cluster_page_new(Evas_Object* parent) { - cluster_page_t *page_t = (cluster_page_t *)malloc(sizeof(cluster_page_t)); - memset(page_t, 0, sizeof(cluster_page_t)); - - page_t->page_layout = elm_layout_add(parent); - elm_layout_file_set(page_t->page_layout, util_get_res_file_path(EDJE_DIR"/cluster_page.edj"), GROUP_CLUSTER_PAGE_LY); - evas_object_size_hint_align_set(page_t->page_layout, 0, 0); - evas_object_size_hint_weight_set(page_t->page_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(page_t->page_layout, CLUSTER_W, CLUSTER_H); - evas_object_show(page_t->page_layout); - - Evas_Object *page_bg = evas_object_rectangle_add(evas_object_evas_get(page_t->page_layout)); - evas_object_size_hint_min_set(page_bg, CLUSTER_W, CLUSTER_H); - evas_object_size_hint_align_set(page_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(page_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(page_bg, 0, 0, 0, 0); - evas_object_show(page_bg); - elm_object_part_content_set(page_t->page_layout, SIZE_SETTER, page_bg); - - Evas_Object *grid = elm_grid_add(page_t->page_layout); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_grid_size_set(grid, CLUSTER_COL, CLUSTER_ROW); - evas_object_show(grid); - elm_layout_content_set(page_t->page_layout, CLUSTER_BOX, grid); - page_t->grid = grid; - return page_t; + cluster_page_t *page_t = (cluster_page_t *)malloc(sizeof(cluster_page_t)); + memset(page_t, 0, sizeof(cluster_page_t)); + + page_t->page_layout = elm_layout_add(parent); + elm_layout_file_set(page_t->page_layout, util_get_res_file_path(EDJE_DIR"/cluster_page.edj"), GROUP_CLUSTER_PAGE_LY); + evas_object_size_hint_align_set(page_t->page_layout, 0, 0); + evas_object_size_hint_weight_set(page_t->page_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(page_t->page_layout, CLUSTER_W, CLUSTER_H); + evas_object_show(page_t->page_layout); + + Evas_Object *page_bg = evas_object_rectangle_add(evas_object_evas_get(page_t->page_layout)); + evas_object_size_hint_min_set(page_bg, CLUSTER_W, CLUSTER_H); + evas_object_size_hint_align_set(page_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(page_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(page_bg, 0, 0, 0, 0); + evas_object_show(page_bg); + elm_object_part_content_set(page_t->page_layout, SIZE_SETTER, page_bg); + + Evas_Object *grid = elm_grid_add(page_t->page_layout); + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_grid_size_set(grid, CLUSTER_COL, CLUSTER_ROW); + evas_object_show(grid); + elm_layout_content_set(page_t->page_layout, CLUSTER_BOX, grid); + page_t->grid = grid; + return page_t; } void cluster_page_delete(cluster_page_t *page) { - evas_object_del(page->page_layout); - eina_list_free(page->widget_list); - free(page); + evas_object_del(page->page_layout); + eina_list_free(page->widget_list); + free(page); } bool cluster_page_set_widget(cluster_page_t *page, widget_data_t *item) { - if (item == NULL) { - LOGE("widget data is NULL"); - return false; - } - - int x, y; - if (cluster_page_check_empty_space(page, item->type, item->pos_x, item->pos_y, &x, &y)) { - item->page_idx = page->page_index; - item->pos_x = x; - item->pos_y = y; - __cluster_page_set(page, item); - return true; - } - return false; + if (item == NULL) { + LOGE("widget data is NULL"); + return false; + } + + int x, y; + if (cluster_page_check_empty_space(page, item->type, item->pos_x, item->pos_y, &x, &y)) { + item->page_idx = page->page_index; + item->pos_x = x; + item->pos_y = y; + __cluster_page_set(page, item); + return true; + } + return false; } bool cluster_page_unset(cluster_page_t *page, widget_data_t *item) { - int w, h; - int i, j; - __cluster_page_get_widget_size(item->type, &w, &h); - - for (i = 0; i < h; i++) { - for (j = 0; j < w; j++) { - page->space[item->pos_y + i][item->pos_x + j] = 0; - } - } - - elm_grid_unpack(page->grid, item->widget_layout); - page->widget_list = eina_list_remove(page->widget_list, item); - return true; + int w, h; + int i, j; + __cluster_page_get_widget_size(item->type, &w, &h); + + for (i = 0; i < h; i++) { + for (j = 0; j < w; j++) { + page->space[item->pos_y + i][item->pos_x + j] = 0; + } + } + + elm_grid_unpack(page->grid, item->widget_layout); + page->widget_list = eina_list_remove(page->widget_list, item); + return true; } bool cluster_page_check_empty_space(cluster_page_t *page, widget_size_type_e type, - int pos_x, int pos_y, int *empty_x, int *empty_y) + int pos_x, int pos_y, int *empty_x, int *empty_y) { - LOGD("%d %d", pos_x, pos_y); - int w, h; - int from_x, to_x, from_y, to_y; - int x, y, i, j; - __cluster_page_get_widget_size(type, &w, &h); - - if (pos_x == INIT_VALUE || pos_y == INIT_VALUE) { - from_x = from_y = 0; - to_x = to_y = 3; - } else if (pos_x < 0 || pos_y < 0 || pos_x >= CLUSTER_COL || pos_y >= CLUSTER_ROW) { - return false; - } else { - from_x = to_x = pos_x; - from_y = to_y = pos_y; - } - LOGD("from %d %d", from_x, from_y); - - for (y = from_y; y <= to_y; y++) { - for (x = from_x; x <= to_x; x++) { - bool find = true; - for (i = 0; i < h; i++) { - for (j = 0; j < w; j++) { - if (y + i >= 4 || x + j >= 4 || page->space[y + i][x + j] == 1) { - find = false; - break; - } - if (!find) - break; - } - } - if (find) { - if (empty_x) - *empty_x = x; - if (empty_y) - *empty_y = y; - LOGD("empty"); - return true; - } - } - } - - if (empty_x) - *empty_x = INIT_VALUE; - if (empty_y) - *empty_y = INIT_VALUE; - LOGD("NOT empty"); - return false; + LOGD("%d %d", pos_x, pos_y); + int w, h; + int from_x, to_x, from_y, to_y; + int x, y, i, j; + __cluster_page_get_widget_size(type, &w, &h); + + if (pos_x == INIT_VALUE || pos_y == INIT_VALUE) { + from_x = from_y = 0; + to_x = to_y = 3; + } else if (pos_x < 0 || pos_y < 0 || pos_x >= CLUSTER_COL || pos_y >= CLUSTER_ROW) { + return false; + } else { + from_x = to_x = pos_x; + from_y = to_y = pos_y; + } + LOGD("from %d %d", from_x, from_y); + + for (y = from_y; y <= to_y; y++) { + for (x = from_x; x <= to_x; x++) { + bool find = true; + for (i = 0; i < h; i++) { + for (j = 0; j < w; j++) { + if (y + i >= 4 || x + j >= 4 || page->space[y + i][x + j] == 1) { + find = false; + break; + } + if (!find) + break; + } + } + if (find) { + if (empty_x) + *empty_x = x; + if (empty_y) + *empty_y = y; + LOGD("empty"); + return true; + } + } + } + + if (empty_x) + *empty_x = INIT_VALUE; + if (empty_y) + *empty_y = INIT_VALUE; + LOGD("NOT empty"); + return false; } void cluster_page_check_empty_space_pos(cluster_page_t *page, widget_data_t *item, int *out_x, int *out_y) { - int x, y; - *out_x = INIT_VALUE; - *out_y = INIT_VALUE; - - int gx, gy, w, h; - evas_object_geometry_get(page->grid, &gx, &gy, &w, &h); - if (cluster_page_check_empty_space(page, item->type, item->pos_x, item->pos_y, &x, &y)) { - *out_x = gx + x * (w / CLUSTER_COL); - *out_y = gy + y * (h / CLUSTER_ROW); - } else if (cluster_page_check_empty_space(page, item->type, INIT_VALUE, INIT_VALUE, &x, &y)) { - *out_x = gx + x * (w / CLUSTER_COL); - *out_y = gy + y * (h / CLUSTER_ROW); - } else { - *out_x = gx + item->pos_x * (w / CLUSTER_COL); - *out_y = gy + item->pos_y * (h / CLUSTER_ROW); - } + int x, y; + *out_x = INIT_VALUE; + *out_y = INIT_VALUE; + + int gx, gy, w, h; + evas_object_geometry_get(page->grid, &gx, &gy, &w, &h); + if (cluster_page_check_empty_space(page, item->type, item->pos_x, item->pos_y, &x, &y)) { + *out_x = gx + x * (w / CLUSTER_COL); + *out_y = gy + y * (h / CLUSTER_ROW); + } else if (cluster_page_check_empty_space(page, item->type, INIT_VALUE, INIT_VALUE, &x, &y)) { + *out_x = gx + x * (w / CLUSTER_COL); + *out_y = gy + y * (h / CLUSTER_ROW); + } else { + *out_x = gx + item->pos_x * (w / CLUSTER_COL); + *out_y = gy + item->pos_y * (h / CLUSTER_ROW); + } } void cluster_page_get_highlight_xy(cluster_page_t *page, int *x, int *y) { - int gx, gy, w, h; - evas_object_geometry_get(page->grid, &gx, &gy, &w, &h); - if (page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE) { - *x = INIT_VALUE; - *y = INIT_VALUE; - } else { - *x = gx + page->highlight_pos_x * (w / CLUSTER_COL); - *y = gy + page->highlight_pos_y * (h / CLUSTER_ROW); - } + int gx, gy, w, h; + evas_object_geometry_get(page->grid, &gx, &gy, &w, &h); + if (page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE) { + *x = INIT_VALUE; + *y = INIT_VALUE; + } else { + *x = gx + page->highlight_pos_x * (w / CLUSTER_COL); + *y = gy + page->highlight_pos_y * (h / CLUSTER_ROW); + } } void __cluster_page_set(cluster_page_t *page, widget_data_t *item) { - int w, h; - int i, j; - __cluster_page_get_widget_size(item->type, &w, &h); - - for (i = 0; i < h; i++) { - for (j = 0; j < w; j++) { - page->space[item->pos_y + i][item->pos_x + j] = 1; - } - } - - elm_grid_pack(page->grid, item->widget_layout, item->pos_x, item->pos_y, w, h); - cluster_data_update(item); - page->widget_list = eina_list_append(page->widget_list, item); + int w, h; + int i, j; + __cluster_page_get_widget_size(item->type, &w, &h); + + for (i = 0; i < h; i++) { + for (j = 0; j < w; j++) { + page->space[item->pos_y + i][item->pos_x + j] = 1; + } + } + + elm_grid_pack(page->grid, item->widget_layout, item->pos_x, item->pos_y, w, h); + cluster_data_update(item); + page->widget_list = eina_list_append(page->widget_list, item); } Evas_Object *cluster_page_thumbnail(cluster_page_t *page_t) { - Evas_Object *image = NULL; - if (!page_t || !page_t->page_layout) { - LOGE("Invalid page"); - return NULL; - } - - image = evas_object_image_filled_add(evas_object_evas_get(page_t->page_layout)); - if (!image) { - LOGE("Could not create image proxy object"); - return NULL; - } - - if (!evas_object_image_source_set(image, page_t->page_layout)) { - evas_object_del(image); - LOGE("Could not set proxy image source"); - return NULL; - } - - evas_object_image_fill_set(image, 0, 0, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - evas_object_show(image); - - return image; + Evas_Object *image = NULL; + if (!page_t || !page_t->page_layout) { + LOGE("Invalid page"); + return NULL; + } + + image = evas_object_image_filled_add(evas_object_evas_get(page_t->page_layout)); + if (!image) { + LOGE("Could not create image proxy object"); + return NULL; + } + + if (!evas_object_image_source_set(image, page_t->page_layout)) { + evas_object_del(image); + LOGE("Could not set proxy image source"); + return NULL; + } + + evas_object_image_fill_set(image, 0, 0, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + evas_object_show(image); + + return image; } void cluster_page_drag_cancel(cluster_page_t *page) { - if (page->highlight) { - evas_object_del(page->highlight); - page->highlight = NULL; - page->highlight_pos_x = INIT_VALUE; - page->highlight_pos_y = INIT_VALUE; - } + if (page->highlight) { + evas_object_del(page->highlight); + page->highlight = NULL; + page->highlight_pos_x = INIT_VALUE; + page->highlight_pos_y = INIT_VALUE; + } } void cluster_page_drag_widget(cluster_page_t *page, widget_size_type_e type, int pos_x, int pos_y) { - if (!page->highlight) { - int w = 0, h = 0; - LOGD("Create Highlight"); - page->highlight_pos_x = INIT_VALUE; - page->highlight_pos_y = INIT_VALUE; - page->highlight = evas_object_rectangle_add(evas_object_evas_get(page->page_layout)); - edje_object_part_geometry_get(elm_layout_edje_get(page->page_layout), CLUSTER_BG, NULL, NULL, &w, &h); - evas_object_size_hint_min_set(page->highlight, w /CLUSTER_COL, h / CLUSTER_ROW); - evas_object_size_hint_align_set(page->highlight, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(page->highlight, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(page->highlight, 255 , 255, 255, 100); - } - - if (cluster_page_check_empty_space(page, type, pos_x, pos_y, NULL, NULL)) { - if (pos_x != page->highlight_pos_x || pos_y != page->highlight_pos_y) { - int w, h; - page->highlight_pos_x = pos_x; - page->highlight_pos_y = pos_y; - elm_grid_unpack(page->grid, page->highlight); - __cluster_page_get_widget_size(type, &w, &h); - elm_grid_pack(page->grid, page->highlight, pos_x, pos_y, w, h); - evas_object_show(page->highlight); - } - } else { - page->highlight_pos_x = INIT_VALUE; - page->highlight_pos_y = INIT_VALUE; - elm_grid_unpack(page->grid, page->highlight); - evas_object_hide(page->highlight); - } + if (!page->highlight) { + int w = 0, h = 0; + LOGD("Create Highlight"); + page->highlight_pos_x = INIT_VALUE; + page->highlight_pos_y = INIT_VALUE; + page->highlight = evas_object_rectangle_add(evas_object_evas_get(page->page_layout)); + edje_object_part_geometry_get(elm_layout_edje_get(page->page_layout), CLUSTER_BG, NULL, NULL, &w, &h); + evas_object_size_hint_min_set(page->highlight, w /CLUSTER_COL, h / CLUSTER_ROW); + evas_object_size_hint_align_set(page->highlight, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(page->highlight, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(page->highlight, 255 , 255, 255, 100); + } + + if (cluster_page_check_empty_space(page, type, pos_x, pos_y, NULL, NULL)) { + if (pos_x != page->highlight_pos_x || pos_y != page->highlight_pos_y) { + int w, h; + page->highlight_pos_x = pos_x; + page->highlight_pos_y = pos_y; + elm_grid_unpack(page->grid, page->highlight); + __cluster_page_get_widget_size(type, &w, &h); + elm_grid_pack(page->grid, page->highlight, pos_x, pos_y, w, h); + evas_object_show(page->highlight); + } + } else { + page->highlight_pos_x = INIT_VALUE; + page->highlight_pos_y = INIT_VALUE; + elm_grid_unpack(page->grid, page->highlight); + evas_object_hide(page->highlight); + } } bool cluster_page_drop_widget(cluster_page_t *page, widget_data_t *widget) { - if (!page->highlight || page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE) { - int x, y; - if (cluster_page_check_empty_space(page, widget->type, widget->pos_x, widget->pos_y, &x, &y) || - cluster_page_check_empty_space(page, widget->type, INIT_VALUE, INIT_VALUE, &x, &y)) { - widget->page_idx = page->page_index; - widget->pos_x = x; - widget->pos_y = y; - __cluster_page_set(page, widget); - return true; - } - return false; - } - - elm_grid_unpack(page->grid, page->highlight); - evas_object_del(page->highlight); - page->highlight = NULL; - - widget->page_idx = page->page_index; - widget->pos_x = page->highlight_pos_x; - widget->pos_y = page->highlight_pos_y; - __cluster_page_set(page, widget); - - page->highlight_pos_x = INIT_VALUE; - page->highlight_pos_y = INIT_VALUE; - return true; + if (!page->highlight || page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE) { + int x, y; + if (cluster_page_check_empty_space(page, widget->type, widget->pos_x, widget->pos_y, &x, &y) || + cluster_page_check_empty_space(page, widget->type, INIT_VALUE, INIT_VALUE, &x, &y)) { + widget->page_idx = page->page_index; + widget->pos_x = x; + widget->pos_y = y; + __cluster_page_set(page, widget); + return true; + } + return false; + } + + elm_grid_unpack(page->grid, page->highlight); + evas_object_del(page->highlight); + page->highlight = NULL; + + widget->page_idx = page->page_index; + widget->pos_x = page->highlight_pos_x; + widget->pos_y = page->highlight_pos_y; + __cluster_page_set(page, widget); + + page->highlight_pos_x = INIT_VALUE; + page->highlight_pos_y = INIT_VALUE; + return true; } void __cluster_page_print_space(cluster_page_t *page) { - LOGD("========================================="); - int i; - for (i = 0; i < 4; i++) { - LOGD("%d %d %d %d", page->space[i][0], page->space[i][1], page->space[i][2], page->space[i][3]); - } - LOGD("========================================="); + LOGD("========================================="); + int i; + for (i = 0; i < 4; i++) { + LOGD("%d %d %d %d", page->space[i][0], page->space[i][1], page->space[i][2], page->space[i][3]); + } + LOGD("========================================="); } void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h) { - switch (type) { - case WIDGET_SIZE_TYPE_4x2: - *w = 4; - *h = 2; - break; - case WIDGET_SIZE_TYPE_4x4: - *w = 4; - *h = 4; - break; - default: - *w = *h = 0; - LOGE("NOT support type : %d", type); - break; - } + switch (type) { + case WIDGET_SIZE_TYPE_4x2: + *w = 4; + *h = 2; + break; + case WIDGET_SIZE_TYPE_4x4: + *w = 4; + *h = 4; + break; + default: + *w = *h = 0; + LOGE("NOT support type : %d", type); + break; + } } diff --git a/src/cluster_view.c b/src/cluster_view.c index 38742c4..4884dec 100755 --- a/src/cluster_view.c +++ b/src/cluster_view.c @@ -31,68 +31,68 @@ #include "mouse.h" static struct { - Evas_Object *win; - Evas_Object *scroller; - Evas_Object *box; - Evas_Object *allpage; - Evas_Object *allpage_add_page; - Evas_Object *allpage_grid; - page_indicator_t *indicator; - int page_count; - int current_page; - view_state_t view_state; - Eina_List *page_list; - cluster_page_t *picked_page; - widget_data_t *picked_widget; - Ecore_Timer *edit_mode_scroll_timer; - bool is_srolling; - Ecore_Animator *edit_animator; - int animation_from_x; - int animation_from_y; - int animation_to_x; - int animation_to_y; + Evas_Object *win; + Evas_Object *scroller; + Evas_Object *box; + Evas_Object *allpage; + Evas_Object *allpage_add_page; + Evas_Object *allpage_grid; + page_indicator_t *indicator; + int page_count; + int current_page; + view_state_t view_state; + Eina_List *page_list; + cluster_page_t *picked_page; + widget_data_t *picked_widget; + Ecore_Timer *edit_mode_scroll_timer; + bool is_srolling; + Ecore_Animator *edit_animator; + int animation_from_x; + int animation_from_y; + int animation_to_x; + int animation_to_y; } cluster_view_s = { - .scroller = NULL, - .box = NULL, - .allpage = NULL, - .allpage_add_page = NULL, - .allpage_grid = NULL, - .indicator = NULL, - .page_count = 0, - .current_page = INIT_VALUE, - .view_state = VIEW_STATE_NORMAL, - .page_list = NULL, - .picked_page = NULL, - .picked_widget = NULL, - .edit_mode_scroll_timer = NULL, - .is_srolling = false, - .edit_animator = NULL, - .animation_from_x = INIT_VALUE, - .animation_from_y = INIT_VALUE, - .animation_to_x = INIT_VALUE, - .animation_to_y = INIT_VALUE, + .scroller = NULL, + .box = NULL, + .allpage = NULL, + .allpage_add_page = NULL, + .allpage_grid = NULL, + .indicator = NULL, + .page_count = 0, + .current_page = INIT_VALUE, + .view_state = VIEW_STATE_NORMAL, + .page_list = NULL, + .picked_page = NULL, + .picked_widget = NULL, + .edit_mode_scroll_timer = NULL, + .is_srolling = false, + .edit_animator = NULL, + .animation_from_x = INIT_VALUE, + .animation_from_y = INIT_VALUE, + .animation_to_x = INIT_VALUE, + .animation_to_y = INIT_VALUE, }; static int cluster_menu_list[4] = { - MENU_CLUSTER_EDIT, - MENU_CLUSTER_ADD_WIDGET, - MENU_CLUSTER_CHANGE_WALLPAPER, - MENU_CLUSTER_ALL_PAGES + MENU_CLUSTER_EDIT, + MENU_CLUSTER_ADD_WIDGET, + MENU_CLUSTER_CHANGE_WALLPAPER, + MENU_CLUSTER_ALL_PAGES }; static mouse_info_t cluster_mouse_info = { - .pressed = false, - .long_pressed = false, - .down_x = 0, - .down_y = 0, - .move_x = 0, - .move_y = 0, - .up_x = 0, - .up_y = 0, - .long_press_timer = NULL, - .offset_x = 0, - .offset_y = 0, - .pressed_obj = NULL, + .pressed = false, + .long_pressed = false, + .down_x = 0, + .down_y = 0, + .move_x = 0, + .move_y = 0, + .up_x = 0, + .up_y = 0, + .long_press_timer = NULL, + .offset_x = 0, + .offset_y = 0, + .pressed_obj = NULL, }; static Eina_Hash *cluster_menu_table = NULL; @@ -152,1306 +152,1306 @@ static int __cluster_view_page_sort_cb(const void *a , const void *b); Evas_Object *cluster_view_create(Evas_Object *win) { - cluster_view_s.win = win; + cluster_view_s.win = win; - Evas_Object *base_layout = __cluster_view_create_base_gui(win); + Evas_Object *base_layout = __cluster_view_create_base_gui(win); - if (base_layout == NULL) { - LOGE("[FAILED][base_layout == NULL]"); - return NULL; - } + if (base_layout == NULL) { + LOGE("[FAILED][base_layout == NULL]"); + return NULL; + } - cluster_view_s.indicator = page_indictor_create(cluster_view_s.scroller); - page_indicator_scroller_resize(cluster_view_s.indicator, CLUSTER_VIEW_W , CLUSTER_VIEW_H); + cluster_view_s.indicator = page_indictor_create(cluster_view_s.scroller); + page_indicator_scroller_resize(cluster_view_s.indicator, CLUSTER_VIEW_W , CLUSTER_VIEW_H); - return base_layout; + return base_layout; } void cluster_view_init(void) { - widget_viewer_init(cluster_view_s.win); - cluster_data_init(); + widget_viewer_init(cluster_view_s.win); + cluster_data_init(); - __cluster_view_create_cluster(); - __cluster_view_create_menu(); + __cluster_view_create_cluster(); + __cluster_view_create_menu(); } void cluster_view_app_terminate(void) { - evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_scroller_down_cb); - evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_scroller_move_cb); - evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_scroller_up_cb); + evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_scroller_down_cb); + evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_scroller_move_cb); + evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_scroller_up_cb); - eina_hash_free(cluster_menu_table); - widget_viewer_fini(); + eina_hash_free(cluster_menu_table); + widget_viewer_fini(); } void cluster_view_show(void) { - page_indicator_show(cluster_view_s.indicator); + page_indicator_show(cluster_view_s.indicator); } void cluster_view_hide(void) { - page_indicator_hide(cluster_view_s.indicator); + page_indicator_hide(cluster_view_s.indicator); } void cluster_view_show_anim(double pos) { - evas_object_color_set(cluster_view_s.box, 255, 255, 255, pos*255); - if (pos >= (1.0 - (1e-10))) { - evas_object_color_set(cluster_view_s.box, 255, 255, 255, 255); - } + evas_object_color_set(cluster_view_s.box, 255, 255, 255, pos*255); + if (pos >= (1.0 - (1e-10))) { + evas_object_color_set(cluster_view_s.box, 255, 255, 255, 255); + } } void cluster_view_hide_anim(double pos) { - evas_object_color_set(cluster_view_s.box, 255, 255, 255, (1-pos)*255); - if (pos >= (1.0 - (1e-10))) { - evas_object_color_set(cluster_view_s.box, 255, 255, 255, 0); - } + evas_object_color_set(cluster_view_s.box, 255, 255, 255, (1-pos)*255); + if (pos >= (1.0 - (1e-10))) { + evas_object_color_set(cluster_view_s.box, 255, 255, 255, 0); + } } Evas_Object *__cluster_view_create_base_gui(Evas_Object *win) { - cluster_view_s.scroller = elm_scroller_add(win); - if (cluster_view_s.scroller == NULL) { - return NULL; - } - elm_scroller_content_min_limit(cluster_view_s.scroller, EINA_FALSE, EINA_FALSE); - elm_scroller_bounce_set(cluster_view_s.scroller, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(cluster_view_s.scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_scroller_page_scroll_limit_set(cluster_view_s.scroller, 1, 0); - evas_object_size_hint_weight_set(cluster_view_s.scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(cluster_view_s.scroller, CLUSTER_VIEW_W, CLUSTER_VIEW_H); - - elm_scroller_loop_set(cluster_view_s.scroller, EINA_TRUE, EINA_FALSE); - elm_scroller_page_size_set(cluster_view_s.scroller, CLUSTER_W , CLUSTER_H); - - evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_scroller_down_cb, NULL); - evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_scroller_move_cb, NULL); - evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_scroller_up_cb, NULL); - - evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,stop", __cluster_view_scroll_anim_stop_cb, NULL); - evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,start", __cluster_view_scroll_anim_start_cb, NULL); - - cluster_view_s.box = elm_box_add(cluster_view_s.scroller); - elm_box_horizontal_set(cluster_view_s.box, EINA_TRUE); - evas_object_size_hint_weight_set(cluster_view_s.box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(cluster_view_s.box, 0, 0); - evas_object_show(cluster_view_s.box); - - elm_object_content_set(cluster_view_s.scroller, cluster_view_s.box); - - return cluster_view_s.scroller; + cluster_view_s.scroller = elm_scroller_add(win); + if (cluster_view_s.scroller == NULL) { + return NULL; + } + elm_scroller_content_min_limit(cluster_view_s.scroller, EINA_FALSE, EINA_FALSE); + elm_scroller_bounce_set(cluster_view_s.scroller, EINA_FALSE, EINA_TRUE); + elm_scroller_policy_set(cluster_view_s.scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + elm_scroller_page_scroll_limit_set(cluster_view_s.scroller, 1, 0); + evas_object_size_hint_weight_set(cluster_view_s.scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(cluster_view_s.scroller, CLUSTER_VIEW_W, CLUSTER_VIEW_H); + + elm_scroller_loop_set(cluster_view_s.scroller, EINA_TRUE, EINA_FALSE); + elm_scroller_page_size_set(cluster_view_s.scroller, CLUSTER_W , CLUSTER_H); + + evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_scroller_down_cb, NULL); + evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_scroller_move_cb, NULL); + evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_scroller_up_cb, NULL); + + evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,stop", __cluster_view_scroll_anim_stop_cb, NULL); + evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,start", __cluster_view_scroll_anim_start_cb, NULL); + + cluster_view_s.box = elm_box_add(cluster_view_s.scroller); + elm_box_horizontal_set(cluster_view_s.box, EINA_TRUE); + evas_object_size_hint_weight_set(cluster_view_s.box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(cluster_view_s.box, 0, 0); + evas_object_show(cluster_view_s.box); + + elm_object_content_set(cluster_view_s.scroller, cluster_view_s.box); + + return cluster_view_s.scroller; } static void __cluster_view_create_cluster(void) { - Eina_List *widget_list = cluster_data_get_widget_list(); - int page_count = cluster_data_get_page_count(); - cluster_view_s.current_page = CLUSTER_HOME_PAGE; - - while (page_count--) { - __cluster_view_page_new(); - } - - Eina_List *find_list; - widget_data_t *item = NULL; - EINA_LIST_FOREACH(widget_list, find_list, item) { - __cluster_view_add_widget_content(item); - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, item->page_idx); - if (page == NULL) { - LOGE("page is NULL"); - } else { - if (!cluster_page_set_widget(page, item)) { - LOGE("failed cluster_page_set_widget page %d", item->page_idx); - } - } - } - - page_indicator_set_current_page(cluster_view_s.indicator, cluster_view_s.current_page); + Eina_List *widget_list = cluster_data_get_widget_list(); + int page_count = cluster_data_get_page_count(); + cluster_view_s.current_page = CLUSTER_HOME_PAGE; + + while (page_count--) { + __cluster_view_page_new(); + } + + Eina_List *find_list; + widget_data_t *item = NULL; + EINA_LIST_FOREACH(widget_list, find_list, item) { + __cluster_view_add_widget_content(item); + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, item->page_idx); + if (page == NULL) { + LOGE("page is NULL"); + } else { + if (!cluster_page_set_widget(page, item)) { + LOGE("failed cluster_page_set_widget page %d", item->page_idx); + } + } + } + + page_indicator_set_current_page(cluster_view_s.indicator, cluster_view_s.current_page); } static void __cluster_view_create_menu(void) { - cluster_menu_table = eina_hash_int32_new(NULL); - eina_hash_add(cluster_menu_table, &cluster_menu_list[0], __cluster_view_menu_edit_cb); - eina_hash_add(cluster_menu_table, &cluster_menu_list[1], __cluster_view_menu_add_widget_cb); - eina_hash_add(cluster_menu_table, &cluster_menu_list[2], __cluster_view_menu_change_wallpaper_cb); - eina_hash_add(cluster_menu_table, &cluster_menu_list[3], __cluster_view_menu_all_pages_cb); + cluster_menu_table = eina_hash_int32_new(NULL); + eina_hash_add(cluster_menu_table, &cluster_menu_list[0], __cluster_view_menu_edit_cb); + eina_hash_add(cluster_menu_table, &cluster_menu_list[1], __cluster_view_menu_add_widget_cb); + eina_hash_add(cluster_menu_table, &cluster_menu_list[2], __cluster_view_menu_change_wallpaper_cb); + eina_hash_add(cluster_menu_table, &cluster_menu_list[3], __cluster_view_menu_all_pages_cb); } static void __cluster_view_menu_edit_cb(void *data, Evas_Object *obj, void *event_info) { - menu_hide(); + menu_hide(); - cluster_view_set_state(VIEW_STATE_EDIT); + cluster_view_set_state(VIEW_STATE_EDIT); } static void __cluster_view_menu_add_widget_cb(void *data, Evas_Object *obj, void *event_info) { - menu_hide(); + menu_hide(); - cluster_view_set_state(VIEW_STATE_ADD_VIEWER); + cluster_view_set_state(VIEW_STATE_ADD_VIEWER); } static void __cluster_view_menu_change_wallpaper_cb(void *data, Evas_Object *obj, void *event_info) { - const char *appid = "org.tizen.wallpaper-ui-service"; - app_control_h app_control_handle = NULL; + const char *appid = "org.tizen.wallpaper-ui-service"; + app_control_h app_control_handle = NULL; - if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_create]"); - return; - } + if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_create]"); + return; + } - app_control_add_extra_data(app_control_handle, "from", "Homescreen-efl"); - app_control_add_extra_data(app_control_handle, "popup_type", "selection_popup"); - app_control_add_extra_data(app_control_handle, "setas-type", "Homescreen"); + app_control_add_extra_data(app_control_handle, "from", "Homescreen-efl"); + app_control_add_extra_data(app_control_handle, "popup_type", "selection_popup"); + app_control_add_extra_data(app_control_handle, "setas-type", "Homescreen"); - if (app_control_set_app_id(app_control_handle, appid) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_set_app_id]"); - app_control_destroy(app_control_handle); - return; - } + if (app_control_set_app_id(app_control_handle, appid) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_set_app_id]"); + app_control_destroy(app_control_handle); + return; + } - if (app_control_send_launch_request(app_control_handle, __cluster_view_app_launch_request_cb, NULL) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_send_launch_request]"); - app_control_destroy(app_control_handle); - return; - } + if (app_control_send_launch_request(app_control_handle, __cluster_view_app_launch_request_cb, NULL) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_send_launch_request]"); + app_control_destroy(app_control_handle); + return; + } - app_control_destroy(app_control_handle); + app_control_destroy(app_control_handle); - menu_hide(); + menu_hide(); } static void __cluster_view_menu_all_pages_cb(void *data, Evas_Object *obj, void *event_info) { - menu_hide(); + menu_hide(); - cluster_view_set_state(VIEW_STATE_ALL_PAGE); + cluster_view_set_state(VIEW_STATE_ALL_PAGE); } void cluster_view_hw_menu_key(void) { - if (cluster_view_s.view_state == VIEW_STATE_NORMAL) - menu_change_state_on_hw_menu_key(cluster_menu_table); + if (cluster_view_s.view_state == VIEW_STATE_NORMAL) + menu_change_state_on_hw_menu_key(cluster_menu_table); } bool cluster_view_hw_home_key(void) { - if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { - __cluster_view_scroll_to_home(); - } else if (cluster_view_s.view_state == VIEW_STATE_EDIT) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } - - return false; + if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { + __cluster_view_scroll_to_home(); + } else if (cluster_view_s.view_state == VIEW_STATE_EDIT) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } + + return false; } bool cluster_view_hw_back_key(void) { - if (cluster_view_s.view_state == VIEW_STATE_EDIT) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } - - return true; + if (cluster_view_s.view_state == VIEW_STATE_EDIT) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } + + return true; } view_state_t cluster_view_get_state(void) { - return cluster_view_s.view_state; + return cluster_view_s.view_state; } bool cluster_view_set_state(view_state_t state) { - if (cluster_view_s.is_srolling) { - LOGE("cannot change view-state"); - return false; - } - - if (cluster_view_s.edit_animator) { - ecore_animator_del(cluster_view_s.edit_animator); - cluster_view_s.edit_animator = NULL; - __cluster_view_edit_move_anim_done(cluster_view_s.picked_widget); - } - - if (state == VIEW_STATE_EDIT) { - homescreen_efl_btn_hide(HOMESCREEN_VIEW_HOME); - - Eina_List *data_list = cluster_data_get_widget_list(); - Eina_List *find_list = NULL; - - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item->page_layout) { - elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); - } - } - - widget_data_t *item = NULL; - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->widget_layout) { - if (!cluster_view_s.picked_widget || item->widget_layout != cluster_view_s.picked_widget->widget_layout) - elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); - } - } - } else if (state == VIEW_STATE_NORMAL) { - if (cluster_view_s.view_state == VIEW_STATE_EDIT) { - homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME); - - Eina_List *data_list = cluster_data_get_widget_list(); - Eina_List *find_list = NULL; - - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item->page_layout) { - elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE); - } - } - - widget_data_t *item = NULL; - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->widget_layout) { - elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_NORMAL_STATE, SIGNAL_SOURCE); - } - } - } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { - add_widget_viewer_win_destroy(); - } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { - elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_SHOW); - homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME); - page_indicator_show(cluster_view_s.indicator); - evas_object_show(cluster_view_s.scroller); - __cluster_view_destroy_all_page(); - - Eina_List *find_list = NULL; - - cluster_page_t *page_item = NULL; - elm_box_unpack_all(cluster_view_s.box); - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item->page_layout) { - elm_box_pack_end(cluster_view_s.box, page_item->page_layout); - } - } - - if (cluster_view_s.current_page >= cluster_view_s.page_count) { - cluster_view_s.current_page = CLUSTER_HOME_PAGE; - } - __cluster_view_scroll_to_page(cluster_view_s.current_page, false); - } - } else if (state == VIEW_STATE_ADD_VIEWER) { - add_widget_viewer_win_create(); - } else if (state == VIEW_STATE_ALL_PAGE) { - elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_HIDE); - homescreen_efl_btn_hide(HOMESCREEN_VIEW_HOME); - page_indicator_hide(cluster_view_s.indicator); - - __cluster_view_create_all_page(); - } - - cluster_view_s.view_state = state; - - return true; + if (cluster_view_s.is_srolling) { + LOGE("cannot change view-state"); + return false; + } + + if (cluster_view_s.edit_animator) { + ecore_animator_del(cluster_view_s.edit_animator); + cluster_view_s.edit_animator = NULL; + __cluster_view_edit_move_anim_done(cluster_view_s.picked_widget); + } + + if (state == VIEW_STATE_EDIT) { + homescreen_efl_btn_hide(HOMESCREEN_VIEW_HOME); + + Eina_List *data_list = cluster_data_get_widget_list(); + Eina_List *find_list = NULL; + + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item->page_layout) { + elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + } + } + + widget_data_t *item = NULL; + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->widget_layout) { + if (!cluster_view_s.picked_widget || item->widget_layout != cluster_view_s.picked_widget->widget_layout) + elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); + } + } + } else if (state == VIEW_STATE_NORMAL) { + if (cluster_view_s.view_state == VIEW_STATE_EDIT) { + homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME); + + Eina_List *data_list = cluster_data_get_widget_list(); + Eina_List *find_list = NULL; + + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item->page_layout) { + elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE); + } + } + + widget_data_t *item = NULL; + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->widget_layout) { + elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_NORMAL_STATE, SIGNAL_SOURCE); + } + } + } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { + add_widget_viewer_win_destroy(); + } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { + elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_SHOW); + homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME); + page_indicator_show(cluster_view_s.indicator); + evas_object_show(cluster_view_s.scroller); + __cluster_view_destroy_all_page(); + + Eina_List *find_list = NULL; + + cluster_page_t *page_item = NULL; + elm_box_unpack_all(cluster_view_s.box); + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item->page_layout) { + elm_box_pack_end(cluster_view_s.box, page_item->page_layout); + } + } + + if (cluster_view_s.current_page >= cluster_view_s.page_count) { + cluster_view_s.current_page = CLUSTER_HOME_PAGE; + } + __cluster_view_scroll_to_page(cluster_view_s.current_page, false); + } + } else if (state == VIEW_STATE_ADD_VIEWER) { + add_widget_viewer_win_create(); + } else if (state == VIEW_STATE_ALL_PAGE) { + elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_HIDE); + homescreen_efl_btn_hide(HOMESCREEN_VIEW_HOME); + page_indicator_hide(cluster_view_s.indicator); + + __cluster_view_create_all_page(); + } + + cluster_view_s.view_state = state; + + return true; } bool cluster_view_add_widget(widget_data_t *item, bool scroll) { - if (!item->widget_layout) - __cluster_view_add_widget_content(item); - - int page_idx = INIT_VALUE; - bool set_on = false; - - if (item->page_idx >= 0) { - page_idx = item->page_idx; - } else { - page_idx = cluster_view_s.current_page; - } - - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, page_idx); - set_on = cluster_page_set_widget(page, item); - - if (!set_on) { - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - bool set_on = false; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item == NULL) { - LOGE("page is NULL"); - } else { - if (cluster_page_set_widget(page_item, item)) { - page_idx = page_item->page_index; - set_on = true; - break; - } - } - } - - if (!set_on) { - if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) { - LOGE("cluster page is max."); - - Evas_Smart_Cb func[3] = { NULL, NULL, NULL }; - void *data[3] = { NULL, NULL, NULL }; - char btn_text[3][STR_MAX] = { "", "", "" }; - char title_text[STR_MAX] = { "" }; - char popup_text[STR_MAX] = { "" }; - snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_CAM_SK_OK")); - snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB")); - snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG")); - popup_show(1, func, data, btn_text, title_text, popup_text); - return false; - } else { - cluster_page_t *page_t = __cluster_view_page_new(); - if (!page_t || !cluster_page_set_widget(page_t, item)) { - LOGE("Cannot add widget"); - return false; - } - page_idx = page_t->page_index; - } - } - } - - if (scroll) { - cluster_view_s.current_page = page_idx; - __cluster_view_scroll_to_page(cluster_view_s.current_page, true); - } - - return true; + if (!item->widget_layout) + __cluster_view_add_widget_content(item); + + int page_idx = INIT_VALUE; + bool set_on = false; + + if (item->page_idx >= 0) { + page_idx = item->page_idx; + } else { + page_idx = cluster_view_s.current_page; + } + + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, page_idx); + set_on = cluster_page_set_widget(page, item); + + if (!set_on) { + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + bool set_on = false; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item == NULL) { + LOGE("page is NULL"); + } else { + if (cluster_page_set_widget(page_item, item)) { + page_idx = page_item->page_index; + set_on = true; + break; + } + } + } + + if (!set_on) { + if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) { + LOGE("cluster page is max."); + + Evas_Smart_Cb func[3] = { NULL, NULL, NULL }; + void *data[3] = { NULL, NULL, NULL }; + char btn_text[3][STR_MAX] = { "", "", "" }; + char title_text[STR_MAX] = { "" }; + char popup_text[STR_MAX] = { "" }; + snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_CAM_SK_OK")); + snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB")); + snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG")); + popup_show(1, func, data, btn_text, title_text, popup_text); + return false; + } else { + cluster_page_t *page_t = __cluster_view_page_new(); + if (!page_t || !cluster_page_set_widget(page_t, item)) { + LOGE("Cannot add widget"); + return false; + } + page_idx = page_t->page_index; + } + } + } + + if (scroll) { + cluster_view_s.current_page = page_idx; + __cluster_view_scroll_to_page(cluster_view_s.current_page, true); + } + + return true; } void cluster_view_delete_widget(widget_data_t *item) { - if (item == NULL) - return ; - - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, item->page_idx); - if (page) - cluster_page_unset(page, item); - else - LOGE("Page is NULL"); - - if (item->widget_layout) { - evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb); - evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb); - evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb); - - evas_object_del(item->widget_layout); - item->widget_layout = NULL; - } + if (item == NULL) + return ; + + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, item->page_idx); + if (page) + cluster_page_unset(page, item); + else + LOGE("Page is NULL"); + + if (item->widget_layout) { + evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb); + evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb); + evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb); + + evas_object_del(item->widget_layout); + item->widget_layout = NULL; + } } static void __cluster_view_scroll_to_home(void) { - __cluster_view_scroll_to_page(CLUSTER_HOME_PAGE, true); + __cluster_view_scroll_to_page(CLUSTER_HOME_PAGE, true); } static void __cluster_view_scroll_to_page(int page_idx, bool animation) { - if (animation) { - elm_scroller_page_bring_in(cluster_view_s.scroller, page_idx, 0); - } else { - page_indicator_set_current_page(cluster_view_s.indicator, page_idx); - elm_scroller_page_show(cluster_view_s.scroller, page_idx, 0); - } + if (animation) { + elm_scroller_page_bring_in(cluster_view_s.scroller, page_idx, 0); + } else { + page_indicator_set_current_page(cluster_view_s.indicator, page_idx); + elm_scroller_page_show(cluster_view_s.scroller, page_idx, 0); + } } static void __cluster_view_app_launch_request_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *data) { - switch (result) { - case APP_CONTROL_RESULT_CANCELED: - LOGE("[APP_CONTROL_RESULT_CANCELED]"); - break; - case APP_CONTROL_RESULT_FAILED: - LOGE("[APP_CONTROL_RESULT_FAILED]"); - break; - case APP_CONTROL_RESULT_SUCCEEDED: - LOGD("[APP_CONTROL_RESULT_SUCCEEDED]"); - break; - default: - LOGE("UNKNOWN ERROR"); - break; - } + switch (result) { + case APP_CONTROL_RESULT_CANCELED: + LOGE("[APP_CONTROL_RESULT_CANCELED]"); + break; + case APP_CONTROL_RESULT_FAILED: + LOGE("[APP_CONTROL_RESULT_FAILED]"); + break; + case APP_CONTROL_RESULT_SUCCEEDED: + LOGD("[APP_CONTROL_RESULT_SUCCEEDED]"); + break; + default: + LOGE("UNKNOWN ERROR"); + break; + } } static void __cluster_view_add_widget_content(widget_data_t *item) { - int w, h; - LOGD("Create Widget: pkg[%s], type[%d]", item->pkg_name, item->type); - item->widget_layout = widget_viewer_add_widget(cluster_view_s.win, item, &w, &h); - evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb, item); - evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb, item); - evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb, item); - LOGD("widget size : %d %d", w, h); + int w, h; + LOGD("Create Widget: pkg[%s], type[%d]", item->pkg_name, item->type); + item->widget_layout = widget_viewer_add_widget(cluster_view_s.win, item, &w, &h); + evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb, item); + evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb, item); + evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb, item); + LOGD("widget size : %d %d", w, h); } static void __cluster_view_create_all_page(void) { - cluster_view_s.allpage = elm_layout_add(homescreen_efl_get_win()); - elm_layout_file_set(cluster_view_s.allpage, util_get_res_file_path(EDJE_DIR"/cluster_allpage.edj"), GROUP_CLUSTER_ALLPAGE_LY); - - evas_object_size_hint_align_set(cluster_view_s.allpage, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(cluster_view_s.allpage, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_move(cluster_view_s.allpage, 0, 0); - evas_object_show(cluster_view_s.allpage); - - Evas_Object *page_bg = evas_object_rectangle_add(evas_object_evas_get(cluster_view_s.allpage)); - evas_object_size_hint_min_set(page_bg, WINDOW_W, WINDOW_H); - evas_object_size_hint_align_set(page_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(page_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(page_bg, 0, 0, 0, 50); - evas_object_show(page_bg); - elm_object_part_content_set(cluster_view_s.allpage, SIZE_SETTER, page_bg); - - Evas_Object *grid = elm_grid_add(cluster_view_s.allpage); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_grid_size_set(grid, WINDOW_W, WINDOW_H); - evas_object_show(grid); - elm_layout_content_set(cluster_view_s.allpage, CLUSTER_ALLPAGE_GRID, grid); - cluster_view_s.allpage_grid = grid; - - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - elm_box_unpack_all(cluster_view_s.box); - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - evas_object_move(page_item->page_layout, -720, 0); - if (page_item->page_layout) { - page_item->thumbnail_ly = elm_layout_add(page_item->page_layout); - elm_layout_file_set(page_item->thumbnail_ly, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); - - evas_object_size_hint_align_set(page_item->thumbnail_ly, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(page_item->thumbnail_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(page_item->thumbnail_ly); - - Evas_Object *thumbnail = cluster_page_thumbnail(page_item); - elm_object_part_content_set(page_item->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE, thumbnail); - elm_object_signal_callback_add(page_item->thumbnail_ly, - SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, - __cluster_view_allpage_delete_clicked, page_item); - - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb, page_item); - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb, page_item); - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb, page_item); - } - } - - __cluster_view_allpage_reposition(); - - if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { - int x = 0, y = 0; - cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage_grid); - elm_layout_file_set(cluster_view_s.allpage_add_page, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); - - evas_object_size_hint_align_set(cluster_view_s.allpage_add_page, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(cluster_view_s.allpage_add_page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(cluster_view_s.allpage_add_page); - - elm_object_signal_emit(cluster_view_s.allpage_add_page, SIGNAL_ALLPAGE_ADD_BUTTON_SHOW, SIGNAL_SOURCE); - elm_object_signal_callback_add(cluster_view_s.allpage_add_page, - SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED, SIGNAL_SOURCE, - __cluster_view_allpage_add_clicked, NULL); - - __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - } + cluster_view_s.allpage = elm_layout_add(homescreen_efl_get_win()); + elm_layout_file_set(cluster_view_s.allpage, util_get_res_file_path(EDJE_DIR"/cluster_allpage.edj"), GROUP_CLUSTER_ALLPAGE_LY); + + evas_object_size_hint_align_set(cluster_view_s.allpage, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(cluster_view_s.allpage, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_move(cluster_view_s.allpage, 0, 0); + evas_object_show(cluster_view_s.allpage); + + Evas_Object *page_bg = evas_object_rectangle_add(evas_object_evas_get(cluster_view_s.allpage)); + evas_object_size_hint_min_set(page_bg, WINDOW_W, WINDOW_H); + evas_object_size_hint_align_set(page_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(page_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(page_bg, 0, 0, 0, 50); + evas_object_show(page_bg); + elm_object_part_content_set(cluster_view_s.allpage, SIZE_SETTER, page_bg); + + Evas_Object *grid = elm_grid_add(cluster_view_s.allpage); + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_grid_size_set(grid, WINDOW_W, WINDOW_H); + evas_object_show(grid); + elm_layout_content_set(cluster_view_s.allpage, CLUSTER_ALLPAGE_GRID, grid); + cluster_view_s.allpage_grid = grid; + + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + elm_box_unpack_all(cluster_view_s.box); + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + evas_object_move(page_item->page_layout, -720, 0); + if (page_item->page_layout) { + page_item->thumbnail_ly = elm_layout_add(page_item->page_layout); + elm_layout_file_set(page_item->thumbnail_ly, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); + + evas_object_size_hint_align_set(page_item->thumbnail_ly, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(page_item->thumbnail_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(page_item->thumbnail_ly); + + Evas_Object *thumbnail = cluster_page_thumbnail(page_item); + elm_object_part_content_set(page_item->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE, thumbnail); + elm_object_signal_callback_add(page_item->thumbnail_ly, + SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, + __cluster_view_allpage_delete_clicked, page_item); + + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb, page_item); + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb, page_item); + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb, page_item); + } + } + + __cluster_view_allpage_reposition(); + + if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { + int x = 0, y = 0; + cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage_grid); + elm_layout_file_set(cluster_view_s.allpage_add_page, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); + + evas_object_size_hint_align_set(cluster_view_s.allpage_add_page, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(cluster_view_s.allpage_add_page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(cluster_view_s.allpage_add_page); + + elm_object_signal_emit(cluster_view_s.allpage_add_page, SIGNAL_ALLPAGE_ADD_BUTTON_SHOW, SIGNAL_SOURCE); + elm_object_signal_callback_add(cluster_view_s.allpage_add_page, + SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED, SIGNAL_SOURCE, + __cluster_view_allpage_add_clicked, NULL); + + __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + } } static void __cluster_view_allpage_reposition(void) { - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - int x = 0, y = 0; - __cluster_view_allpage_get_page_pos(page_item->page_index, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, page_item->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - if (cluster_view_s.page_count > 1) - elm_object_signal_emit(page_item->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); - else { - elm_object_signal_emit(page_item->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE, SIGNAL_SOURCE); - } - } + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + int x = 0, y = 0; + __cluster_view_allpage_get_page_pos(page_item->page_index, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, page_item->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + if (cluster_view_s.page_count > 1) + elm_object_signal_emit(page_item->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); + else { + elm_object_signal_emit(page_item->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE, SIGNAL_SOURCE); + } + } } static void __cluster_view_allpage_get_page_pos(int page_idx, int *w, int *h) { - int row, col; - int start_y = 0; - if (cluster_view_s.page_count < 2) { - start_y = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2; - } else if (cluster_view_s.page_count < 4) { - start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2; - } else { - start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2; - } - row = page_idx / 2; - col = page_idx % 2; - - *w = CLUSTER_ALL_PAGE_PADDING_SIDE + (col * (CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W)); - *h = start_y + (row * (CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H)); + int row, col; + int start_y = 0; + if (cluster_view_s.page_count < 2) { + start_y = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2; + } else if (cluster_view_s.page_count < 4) { + start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2; + } else { + start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2; + } + row = page_idx / 2; + col = page_idx % 2; + + *w = CLUSTER_ALL_PAGE_PADDING_SIDE + (col * (CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W)); + *h = start_y + (row * (CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H)); } static int __cluster_view_allpage_get_page_index(int x, int y) { - int idx = 0; - int sx = CLUSTER_ALL_PAGE_PADDING_SIDE; - int sy = 0; - if (cluster_view_s.page_count < 2) { - sy = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2; - } else if (cluster_view_s.page_count < 4) { - sy = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2; - } else { - sy = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2; - } - int w = CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W; - int h = CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H; - - for (idx=0; idx < cluster_view_s.page_count; idx++) { - int row = idx / 2; - int col = idx % 2; - int ny = sy + (row * h); - int nx = sx + (col * w); - - int d = (ny - y) * (ny - y) + (nx - x) * (nx - x); - if (d < CLUSTER_VIEW_ALLPAGE_MOVE_GAP) { - return (row * 2) + col; - } - } - - return INIT_VALUE; + int idx = 0; + int sx = CLUSTER_ALL_PAGE_PADDING_SIDE; + int sy = 0; + if (cluster_view_s.page_count < 2) { + sy = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2; + } else if (cluster_view_s.page_count < 4) { + sy = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2; + } else { + sy = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2; + } + int w = CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W; + int h = CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H; + + for (idx = 0; idx < cluster_view_s.page_count; idx++) { + int row = idx / 2; + int col = idx % 2; + int ny = sy + (row * h); + int nx = sx + (col * w); + + int d = (ny - y) * (ny - y) + (nx - x) * (nx - x); + if (d < CLUSTER_VIEW_ALLPAGE_MOVE_GAP) { + return (row * 2) + col; + } + } + + return INIT_VALUE; } static void __cluster_view_destroy_all_page(void) { - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item) { - Evas_Object *image = elm_object_part_content_get(page_item->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE); - evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb); - evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb); - evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb); - - evas_object_del(page_item->thumbnail_ly); - page_item->thumbnail_ly = NULL; - } - } - if (cluster_view_s.allpage_add_page) - evas_object_del(cluster_view_s.allpage_add_page); - if (cluster_view_s.allpage) - evas_object_del(cluster_view_s.allpage); - - cluster_view_s.allpage_add_page = NULL; - cluster_view_s.allpage = NULL; + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item) { + Evas_Object *image = elm_object_part_content_get(page_item->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE); + evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb); + evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb); + evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb); + + evas_object_del(page_item->thumbnail_ly); + page_item->thumbnail_ly = NULL; + } + } + if (cluster_view_s.allpage_add_page) + evas_object_del(cluster_view_s.allpage_add_page); + if (cluster_view_s.allpage) + evas_object_del(cluster_view_s.allpage); + + cluster_view_s.allpage_add_page = NULL; + cluster_view_s.allpage = NULL; } static cluster_page_t *__cluster_view_page_new(void) { - if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) { - LOGE("cluster page is max."); - return NULL; - } + if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) { + LOGE("cluster page is max."); + return NULL; + } - cluster_page_t *page_t = cluster_page_new(cluster_view_s.box); - cluster_view_s.page_list = eina_list_append(cluster_view_s.page_list, page_t); - elm_box_pack_end(cluster_view_s.box, page_t->page_layout); - cluster_view_s.page_count = eina_list_count(cluster_view_s.page_list); - page_t->page_index = cluster_view_s.page_count - 1; - cluster_data_set_page_count(cluster_view_s.page_count); + cluster_page_t *page_t = cluster_page_new(cluster_view_s.box); + cluster_view_s.page_list = eina_list_append(cluster_view_s.page_list, page_t); + elm_box_pack_end(cluster_view_s.box, page_t->page_layout); + cluster_view_s.page_count = eina_list_count(cluster_view_s.page_list); + page_t->page_index = cluster_view_s.page_count - 1; + cluster_data_set_page_count(cluster_view_s.page_count); - page_indicator_set_page_count(cluster_view_s.indicator, cluster_view_s.page_count); + page_indicator_set_page_count(cluster_view_s.indicator, cluster_view_s.page_count); - return page_t; + return page_t; } static void __cluster_view_page_delete(cluster_page_t *page) { - elm_grid_unpack(cluster_view_s.allpage_grid, page->thumbnail_ly); + elm_grid_unpack(cluster_view_s.allpage_grid, page->thumbnail_ly); - cluster_view_s.page_list = eina_list_remove(cluster_view_s.page_list, page); - elm_box_unpack(cluster_view_s.box, page->page_layout); + cluster_view_s.page_list = eina_list_remove(cluster_view_s.page_list, page); + elm_box_unpack(cluster_view_s.box, page->page_layout); - Eina_List *find_list = NULL; - widget_data_t *widget = NULL; - EINA_LIST_FOREACH(page->widget_list, find_list, widget) { - cluster_data_delete(widget); - } - cluster_page_delete(page); + Eina_List *find_list = NULL; + widget_data_t *widget = NULL; + EINA_LIST_FOREACH(page->widget_list, find_list, widget) { + cluster_data_delete(widget); + } + cluster_page_delete(page); - cluster_view_s.page_count--; + cluster_view_s.page_count--; - cluster_data_set_page_count(cluster_view_s.page_count); - page_indicator_set_page_count(cluster_view_s.indicator, cluster_view_s.page_count); + cluster_data_set_page_count(cluster_view_s.page_count); + page_indicator_set_page_count(cluster_view_s.indicator, cluster_view_s.page_count); } static void __cluster_view_allpage_delete_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - if (cluster_view_s.page_count <= 1) - return ; - - cluster_page_t *page_item = (cluster_page_t *)data; - if (eina_list_count(page_item->widget_list) > 0) { - Evas_Smart_Cb func[3] = { __cluster_view_allpage_delete_page_cb, NULL, NULL }; - void *data[3] = { page_item, NULL, NULL }; - char btn_text[3][STR_MAX] = { "", "", "" }; - char title_text[STR_MAX] = { "" }; - char popup_text[STR_MAX] = { "" }; - snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_HS_OPT_DELETE")); - snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); - snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_DELETE_PAGE_ABB2")); - snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED")); - popup_show(2, func, data, btn_text, title_text, popup_text); - } else { - __cluster_view_allpage_delete_page_cb(page_item, NULL, NULL); - } + if (cluster_view_s.page_count <= 1) + return ; + + cluster_page_t *page_item = (cluster_page_t *)data; + if (eina_list_count(page_item->widget_list) > 0) { + Evas_Smart_Cb func[3] = { __cluster_view_allpage_delete_page_cb, NULL, NULL }; + void *data[3] = { page_item, NULL, NULL }; + char btn_text[3][STR_MAX] = { "", "", "" }; + char title_text[STR_MAX] = { "" }; + char popup_text[STR_MAX] = { "" }; + snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_HS_OPT_DELETE")); + snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); + snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_DELETE_PAGE_ABB2")); + snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED")); + popup_show(2, func, data, btn_text, title_text, popup_text); + } else { + __cluster_view_allpage_delete_page_cb(page_item, NULL, NULL); + } } static void __cluster_view_allpage_add_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - cluster_page_t *page_t = __cluster_view_page_new(); - if (!page_t) { - LOGE("cluster page is max."); - return ; - } - - elm_grid_unpack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page); - - page_t->thumbnail_ly = elm_layout_add(page_t->page_layout); - elm_layout_file_set(page_t->thumbnail_ly, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); - - evas_object_size_hint_align_set(page_t->thumbnail_ly, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(page_t->thumbnail_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(page_t->thumbnail_ly); - - Evas_Object *thumbnail = cluster_page_thumbnail(page_t); - elm_object_part_content_set(page_t->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE, thumbnail); - elm_object_signal_emit(page_t->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); - elm_object_signal_callback_add(page_t->thumbnail_ly, - SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, - __cluster_view_allpage_delete_clicked, page_t); - - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb, page_t); - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb, page_t); - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb, page_t); - - __cluster_view_allpage_reposition(); - - if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { - int x = 0, y = 0; - __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - } else { - evas_object_del(cluster_view_s.allpage_add_page); - cluster_view_s.allpage_add_page = NULL; - } + cluster_page_t *page_t = __cluster_view_page_new(); + if (!page_t) { + LOGE("cluster page is max."); + return ; + } + + elm_grid_unpack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page); + + page_t->thumbnail_ly = elm_layout_add(page_t->page_layout); + elm_layout_file_set(page_t->thumbnail_ly, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); + + evas_object_size_hint_align_set(page_t->thumbnail_ly, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(page_t->thumbnail_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(page_t->thumbnail_ly); + + Evas_Object *thumbnail = cluster_page_thumbnail(page_t); + elm_object_part_content_set(page_t->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE, thumbnail); + elm_object_signal_emit(page_t->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); + elm_object_signal_callback_add(page_t->thumbnail_ly, + SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, + __cluster_view_allpage_delete_clicked, page_t); + + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb, page_t); + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb, page_t); + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb, page_t); + + __cluster_view_allpage_reposition(); + + if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { + int x = 0, y = 0; + __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + } else { + evas_object_del(cluster_view_s.allpage_add_page); + cluster_view_s.allpage_add_page = NULL; + } } static void __cluster_view_allpage_delete_page_cb(void *data, Evas_Object *obj, void *event_info) { - cluster_page_t *page = (cluster_page_t *)data; - - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item->page_index > page->page_index) { - page_item->page_index -= 1; - } - } - - __cluster_view_page_delete(page); - __cluster_view_allpage_reposition(); - - if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { - if (cluster_view_s.allpage_add_page == NULL) { - cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage); - elm_layout_file_set(cluster_view_s.allpage_add_page, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); - - evas_object_size_hint_align_set(cluster_view_s.allpage_add_page, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(cluster_view_s.allpage_add_page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(cluster_view_s.allpage_add_page); - - elm_object_signal_emit(cluster_view_s.allpage_add_page, SIGNAL_ALLPAGE_ADD_BUTTON_SHOW, SIGNAL_SOURCE); - elm_object_signal_callback_add(cluster_view_s.allpage_add_page, - SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED, SIGNAL_SOURCE, - __cluster_view_allpage_add_clicked, NULL); - } - int x = 0, y = 0; - __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - } - popup_hide(); + cluster_page_t *page = (cluster_page_t *)data; + + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item->page_index > page->page_index) { + page_item->page_index -= 1; + } + } + + __cluster_view_page_delete(page); + __cluster_view_allpage_reposition(); + + if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { + if (cluster_view_s.allpage_add_page == NULL) { + cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage); + elm_layout_file_set(cluster_view_s.allpage_add_page, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); + + evas_object_size_hint_align_set(cluster_view_s.allpage_add_page, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(cluster_view_s.allpage_add_page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(cluster_view_s.allpage_add_page); + + elm_object_signal_emit(cluster_view_s.allpage_add_page, SIGNAL_ALLPAGE_ADD_BUTTON_SHOW, SIGNAL_SOURCE); + elm_object_signal_callback_add(cluster_view_s.allpage_add_page, + SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED, SIGNAL_SOURCE, + __cluster_view_allpage_add_clicked, NULL); + } + int x = 0, y = 0; + __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + } + popup_hide(); } static void __clsuter_view_thumbnail_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Down* ev = event_info; - LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); + Evas_Event_Mouse_Down* ev = event_info; + LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); - cluster_mouse_info.pressed = true; - cluster_mouse_info.pressed_obj = obj; + cluster_mouse_info.pressed = true; + cluster_mouse_info.pressed_obj = obj; - cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; - cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; + cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; + cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, - __cluster_view_thumbnail_long_press_time_cb, data); + cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, + __cluster_view_thumbnail_long_press_time_cb, data); } static void __clsuter_view_thumbnail_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - cluster_page_t *page_t = (cluster_page_t *)data; - Evas_Event_Mouse_Up* ev = event_info; - LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); + cluster_page_t *page_t = (cluster_page_t *)data; + Evas_Event_Mouse_Up* ev = event_info; + LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); - if (!cluster_mouse_info.pressed) - return ; + if (!cluster_mouse_info.pressed) + return ; - cluster_mouse_info.pressed = false; - cluster_mouse_info.pressed_obj = NULL; + cluster_mouse_info.pressed = false; + cluster_mouse_info.pressed_obj = NULL; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.up_x = ev->output.x; - cluster_mouse_info.up_y = ev->output.y; + cluster_mouse_info.up_x = ev->output.x; + cluster_mouse_info.up_y = ev->output.y; - if (!cluster_mouse_info.long_pressed) { - int distance = (cluster_mouse_info.down_x - cluster_mouse_info.up_x) * (cluster_mouse_info.down_x - cluster_mouse_info.up_x); - distance += (cluster_mouse_info.down_y - cluster_mouse_info.up_y) * (cluster_mouse_info.down_y - cluster_mouse_info.up_y); + if (!cluster_mouse_info.long_pressed) { + int distance = (cluster_mouse_info.down_x - cluster_mouse_info.up_x) * (cluster_mouse_info.down_x - cluster_mouse_info.up_x); + distance += (cluster_mouse_info.down_y - cluster_mouse_info.up_y) * (cluster_mouse_info.down_y - cluster_mouse_info.up_y); - if (distance <= MOUSE_MOVE_MIN_DISTANCE) { - cluster_view_s.current_page = page_t->page_index; - cluster_view_set_state(VIEW_STATE_NORMAL); - } + if (distance <= MOUSE_MOVE_MIN_DISTANCE) { + cluster_view_s.current_page = page_t->page_index; + cluster_view_set_state(VIEW_STATE_NORMAL); + } - return ; - } + return ; + } - cluster_mouse_info.long_pressed = false; + cluster_mouse_info.long_pressed = false; - if (cluster_view_s.picked_page) { - __cluster_view_allpage_drop_page(data); - } + if (cluster_view_s.picked_page) { + __cluster_view_allpage_drop_page(data); + } } static int __cluster_view_page_sort_cb(const void *a , const void *b) { - cluster_page_t *item1 = (cluster_page_t *)a; - cluster_page_t *item2 = (cluster_page_t *)b; + cluster_page_t *item1 = (cluster_page_t *)a; + cluster_page_t *item2 = (cluster_page_t *)b; - return item1->page_index - item2->page_index; + return item1->page_index - item2->page_index; } static void __clsuter_view_thumbnail_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Move* ev = event_info; + Evas_Event_Mouse_Move* ev = event_info; - if (!cluster_mouse_info.pressed) - return ; + if (!cluster_mouse_info.pressed) + return ; - cluster_mouse_info.move_x = ev->cur.output.x; - cluster_mouse_info.move_y = ev->cur.output.y; + cluster_mouse_info.move_x = ev->cur.output.x; + cluster_mouse_info.move_y = ev->cur.output.y; - if (!cluster_mouse_info.long_pressed) { - int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); - distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); + if (!cluster_mouse_info.long_pressed) { + int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); + distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); - if (distance > MOUSE_MOVE_MIN_DISTANCE) { - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (distance > MOUSE_MOVE_MIN_DISTANCE) { + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - return ; - } - } + return ; + } + } - if (cluster_view_s.picked_page) { - __cluster_view_allpage_drag_page(data); - } + if (cluster_view_s.picked_page) { + __cluster_view_allpage_drag_page(data); + } } static Eina_Bool __cluster_view_thumbnail_long_press_time_cb(void *data) { - if (!cluster_mouse_info.pressed) - return ECORE_CALLBACK_CANCEL; + if (!cluster_mouse_info.pressed) + return ECORE_CALLBACK_CANCEL; - cluster_mouse_info.long_pressed = true; + cluster_mouse_info.long_pressed = true; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - __cluster_view_allpage_pick_up_page(data); + __cluster_view_allpage_pick_up_page(data); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } static void __cluster_view_allpage_drag_page(void *data) { - if (cluster_view_s.picked_page) { - int move_x = cluster_mouse_info.move_x - cluster_mouse_info.offset_x; - int move_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; - int new_index = INIT_VALUE; - evas_object_move(cluster_view_s.picked_page->thumbnail_ly, move_x, move_y); - new_index = __cluster_view_allpage_get_page_index(move_x, move_y); - - int move = 0; - int start, end; - if (new_index != cluster_view_s.picked_page->page_index && new_index != INIT_VALUE) { - if (cluster_view_s.picked_page->page_index < new_index) { - move = -1; - start = cluster_view_s.picked_page->page_index; - end = new_index; - } else if (cluster_view_s.picked_page->page_index > new_index) { - move = +1; - end = cluster_view_s.picked_page->page_index; - start = new_index; - } - - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item == cluster_view_s.picked_page) { - page_item->page_index = new_index; - } else if (page_item->page_index >= start && page_item->page_index <= end) { - page_item->page_index += move; - } - elm_grid_unpack(cluster_view_s.allpage_grid, page_item->thumbnail_ly); - } - - int x, y; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item != cluster_view_s.picked_page) { - __cluster_view_allpage_get_page_pos(page_item->page_index, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, page_item->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - } - } - } - } + if (cluster_view_s.picked_page) { + int move_x = cluster_mouse_info.move_x - cluster_mouse_info.offset_x; + int move_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; + int new_index = INIT_VALUE; + evas_object_move(cluster_view_s.picked_page->thumbnail_ly, move_x, move_y); + new_index = __cluster_view_allpage_get_page_index(move_x, move_y); + + int move = 0; + int start, end; + if (new_index != cluster_view_s.picked_page->page_index && new_index != INIT_VALUE) { + if (cluster_view_s.picked_page->page_index < new_index) { + move = -1; + start = cluster_view_s.picked_page->page_index; + end = new_index; + } else if (cluster_view_s.picked_page->page_index > new_index) { + move = +1; + end = cluster_view_s.picked_page->page_index; + start = new_index; + } + + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item == cluster_view_s.picked_page) { + page_item->page_index = new_index; + } else if (page_item->page_index >= start && page_item->page_index <= end) { + page_item->page_index += move; + } + elm_grid_unpack(cluster_view_s.allpage_grid, page_item->thumbnail_ly); + } + + int x, y; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item != cluster_view_s.picked_page) { + __cluster_view_allpage_get_page_pos(page_item->page_index, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, page_item->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + } + } + } + } } static void __cluster_view_allpage_pick_up_page(void *data) { - cluster_view_s.picked_page = (cluster_page_t *)data; - elm_grid_unpack(cluster_view_s.allpage_grid, cluster_view_s.picked_page->thumbnail_ly); + cluster_view_s.picked_page = (cluster_page_t *)data; + elm_grid_unpack(cluster_view_s.allpage_grid, cluster_view_s.picked_page->thumbnail_ly); - elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE, SIGNAL_SOURCE); - elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DRAG_BG_SHOW, SIGNAL_SOURCE); + elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DRAG_BG_SHOW, SIGNAL_SOURCE); - int x, y; - __cluster_view_allpage_get_page_pos(cluster_view_s.picked_page->page_index, &x, &y); - cluster_mouse_info.offset_x = cluster_mouse_info.down_x - x; - cluster_mouse_info.offset_y = cluster_mouse_info.down_y - y; + int x, y; + __cluster_view_allpage_get_page_pos(cluster_view_s.picked_page->page_index, &x, &y); + cluster_mouse_info.offset_x = cluster_mouse_info.down_x - x; + cluster_mouse_info.offset_y = cluster_mouse_info.down_y - y; } static void __cluster_view_allpage_drop_page(void *data) { - if (cluster_view_s.picked_page) { - if (cluster_view_s.page_count > 1) - elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); - elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DRAG_BG_HIDE, SIGNAL_SOURCE); - - int x, y; - __cluster_view_allpage_get_page_pos(cluster_view_s.picked_page->page_index, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.picked_page->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - cluster_view_s.picked_page = NULL; - } - cluster_view_s.page_list = eina_list_sort(cluster_view_s.page_list, - eina_list_count(cluster_view_s.page_list), __cluster_view_page_sort_cb); - - Eina_List *find_list = NULL, *widget_list = NULL; - cluster_page_t *page_item = NULL; - widget_data_t *widget_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - EINA_LIST_FOREACH(page_item->widget_list, widget_list, widget_item) { - widget_item->page_idx = page_item->page_index; - cluster_data_update(widget_item); - } - } + if (cluster_view_s.picked_page) { + if (cluster_view_s.page_count > 1) + elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); + elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DRAG_BG_HIDE, SIGNAL_SOURCE); + + int x, y; + __cluster_view_allpage_get_page_pos(cluster_view_s.picked_page->page_index, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.picked_page->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + cluster_view_s.picked_page = NULL; + } + cluster_view_s.page_list = eina_list_sort(cluster_view_s.page_list, + eina_list_count(cluster_view_s.page_list), __cluster_view_page_sort_cb); + + Eina_List *find_list = NULL, *widget_list = NULL; + cluster_page_t *page_item = NULL; + widget_data_t *widget_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + EINA_LIST_FOREACH(page_item->widget_list, widget_list, widget_item) { + widget_item->page_idx = page_item->page_index; + cluster_data_update(widget_item); + } + } } static void __clsuter_view_widget_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Down* ev = event_info; - LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); + Evas_Event_Mouse_Down* ev = event_info; + LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); - if (cluster_view_s.edit_animator) { - LOGE("edit animator is running"); - return ; - } + if (cluster_view_s.edit_animator) { + LOGE("edit animator is running"); + return ; + } - cluster_mouse_info.pressed = true; - cluster_mouse_info.pressed_obj = obj; + cluster_mouse_info.pressed = true; + cluster_mouse_info.pressed_obj = obj; - cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; - cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; + cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; + cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, - __cluster_view_widget_long_press_time_cb, data); + cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, + __cluster_view_widget_long_press_time_cb, data); } static void __clsuter_view_widget_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Up* ev = event_info; - LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); + Evas_Event_Mouse_Up* ev = event_info; + LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); - if (!cluster_mouse_info.pressed) - return ; + if (!cluster_mouse_info.pressed) + return ; - cluster_mouse_info.pressed = false; - cluster_mouse_info.pressed_obj = NULL; + cluster_mouse_info.pressed = false; + cluster_mouse_info.pressed_obj = NULL; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.up_x = ev->output.x; - cluster_mouse_info.up_y = ev->output.y; + cluster_mouse_info.up_x = ev->output.x; + cluster_mouse_info.up_y = ev->output.y; - if (!cluster_mouse_info.long_pressed) - return ; + if (!cluster_mouse_info.long_pressed) + return ; - cluster_mouse_info.long_pressed = false; + cluster_mouse_info.long_pressed = false; - elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_NO_BLOCK); + elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_NO_BLOCK); - if (cluster_view_s.picked_widget) { - __cluster_view_edit_drop_widget(data); - } + if (cluster_view_s.picked_widget) { + __cluster_view_edit_drop_widget(data); + } } static void __clsuter_view_widget_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Move* ev = event_info; - LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); + Evas_Event_Mouse_Move* ev = event_info; + LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); - if (!cluster_mouse_info.pressed) - return ; + if (!cluster_mouse_info.pressed) + return ; - cluster_mouse_info.move_x = ev->cur.output.x; - cluster_mouse_info.move_y = ev->cur.output.y; + cluster_mouse_info.move_x = ev->cur.output.x; + cluster_mouse_info.move_y = ev->cur.output.y; - if (!cluster_mouse_info.long_pressed) { - int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); - distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); + if (!cluster_mouse_info.long_pressed) { + int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); + distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); - if (distance > MOUSE_MOVE_MIN_DISTANCE) { - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (distance > MOUSE_MOVE_MIN_DISTANCE) { + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - return ; - } - } + return ; + } + } - if (cluster_view_s.picked_widget) { - __cluster_view_edit_drag_widget(data); - } + if (cluster_view_s.picked_widget) { + __cluster_view_edit_drag_widget(data); + } } static Eina_Bool __cluster_view_widget_long_press_time_cb(void *data) { - widget_data_t *widget = (widget_data_t *)data; - if (!cluster_mouse_info.pressed) - return ECORE_CALLBACK_CANCEL; + widget_data_t *widget = (widget_data_t *)data; + if (!cluster_mouse_info.pressed) + return ECORE_CALLBACK_CANCEL; - cluster_mouse_info.long_pressed = true; + cluster_mouse_info.long_pressed = true; - elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); + elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); - __cluster_view_edit_pick_up_widget(data); + __cluster_view_edit_pick_up_widget(data); - widget_viewer_send_cancel_click_event(widget); + widget_viewer_send_cancel_click_event(widget); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } static void __cluster_view_edit_pick_up_widget(void *data) { - int cx = -1, cy = -1; - int gx = -1, gy = -1, gw = 0, gh = 0; - Evas *e = NULL; - cluster_view_s.picked_widget = (widget_data_t *)data; + int cx = -1, cy = -1; + int gx = -1, gy = -1, gw = 0, gh = 0; + Evas *e = NULL; + cluster_view_s.picked_widget = (widget_data_t *)data; - Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; + Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; - e = evas_object_evas_get(widget_layout); + e = evas_object_evas_get(widget_layout); - evas_pointer_canvas_xy_get(e, &cx, &cy); - evas_object_geometry_get(widget_layout, &gx, &gy, &gw, &gh); - LOGD("cx, cy (%d, %d )", cx, cy); - LOGD("gx, gy, gw, gh (%d, %d, %d, %d)", gx, gy, gw, gh); + evas_pointer_canvas_xy_get(e, &cx, &cy); + evas_object_geometry_get(widget_layout, &gx, &gy, &gw, &gh); + LOGD("cx, cy (%d, %d )", cx, cy); + LOGD("gx, gy, gw, gh (%d, %d, %d, %d)", gx, gy, gw, gh); - cluster_mouse_info.offset_x = cx - gx; - cluster_mouse_info.offset_y = cy - gy; + cluster_mouse_info.offset_x = cx - gx; + cluster_mouse_info.offset_y = cy - gy; - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.picked_widget->page_idx); + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.picked_widget->page_idx); - cluster_page_unset(page, cluster_view_s.picked_widget); + cluster_page_unset(page, cluster_view_s.picked_widget); - if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { - evas_object_resize(widget_layout, gw * 0.9, gh * 0.9); + if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { + evas_object_resize(widget_layout, gw * 0.9, gh * 0.9); - cluster_mouse_info.offset_x *= 0.9; - cluster_mouse_info.offset_y *= 0.9; + cluster_mouse_info.offset_x *= 0.9; + cluster_mouse_info.offset_y *= 0.9; - cluster_view_set_state(VIEW_STATE_EDIT); - } + cluster_view_set_state(VIEW_STATE_EDIT); + } - elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_PICKUP_STATE, SIGNAL_SOURCE); + elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_PICKUP_STATE, SIGNAL_SOURCE); - evas_object_move(widget_layout, cluster_mouse_info.move_x - cluster_mouse_info.offset_x, - cluster_mouse_info.move_y - cluster_mouse_info.offset_y); + evas_object_move(widget_layout, cluster_mouse_info.move_x - cluster_mouse_info.offset_x, + cluster_mouse_info.move_y - cluster_mouse_info.offset_y); } static void __cluster_view_edit_drag_widget(void *data) { - int page_x, page_y; - int bg_x, bg_y, bg_w, bg_h; - int widget_x, widget_y; - cluster_view_s.picked_widget = (widget_data_t *)data; - - if (!cluster_view_s.picked_widget) - return ; - - Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; - evas_object_move(widget_layout, cluster_mouse_info.move_x - cluster_mouse_info.offset_x, - cluster_mouse_info.move_y - cluster_mouse_info.offset_y); - - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); - evas_object_geometry_get(page->page_layout, &page_x, &page_y, NULL, NULL); - edje_object_part_geometry_get(elm_layout_edje_get(page->page_layout), CLUSTER_BG, &bg_x, &bg_y, &bg_w, &bg_h); - evas_object_geometry_get(widget_layout, &widget_x, &widget_y, NULL, NULL); - - if (cluster_mouse_info.move_x > CLUSTER_EDIT_RIGHT_SCROLL_REGION) { - LOGD("Move to next page"); - if (!cluster_view_s.edit_mode_scroll_timer) - cluster_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __cluster_view_scroll_timer_cb, NULL); - - } else if (cluster_mouse_info.move_x < CLUSTER_EDIT_LEFT_SCROLL_REGION) { - LOGD("Move to prev page"); - if (!cluster_view_s.edit_mode_scroll_timer) - cluster_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __cluster_view_scroll_timer_cb, NULL); - } else { - widget_x -= (page_x + bg_x); - widget_y -= (page_y + bg_y); - if (cluster_view_s.edit_mode_scroll_timer) { - ecore_timer_del(cluster_view_s.edit_mode_scroll_timer); - cluster_view_s.edit_mode_scroll_timer = NULL; - } - - if (!cluster_view_s.is_srolling) { - cluster_page_drag_widget(page, cluster_view_s.picked_widget->type, widget_x / (bg_w / CLUSTER_COL), widget_y / (bg_h / CLUSTER_ROW)); - } - } + int page_x, page_y; + int bg_x, bg_y, bg_w, bg_h; + int widget_x, widget_y; + cluster_view_s.picked_widget = (widget_data_t *)data; + + if (!cluster_view_s.picked_widget) + return ; + + Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; + evas_object_move(widget_layout, cluster_mouse_info.move_x - cluster_mouse_info.offset_x, + cluster_mouse_info.move_y - cluster_mouse_info.offset_y); + + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + evas_object_geometry_get(page->page_layout, &page_x, &page_y, NULL, NULL); + edje_object_part_geometry_get(elm_layout_edje_get(page->page_layout), CLUSTER_BG, &bg_x, &bg_y, &bg_w, &bg_h); + evas_object_geometry_get(widget_layout, &widget_x, &widget_y, NULL, NULL); + + if (cluster_mouse_info.move_x > CLUSTER_EDIT_RIGHT_SCROLL_REGION) { + LOGD("Move to next page"); + if (!cluster_view_s.edit_mode_scroll_timer) + cluster_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __cluster_view_scroll_timer_cb, NULL); + + } else if (cluster_mouse_info.move_x < CLUSTER_EDIT_LEFT_SCROLL_REGION) { + LOGD("Move to prev page"); + if (!cluster_view_s.edit_mode_scroll_timer) + cluster_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __cluster_view_scroll_timer_cb, NULL); + } else { + widget_x -= (page_x + bg_x); + widget_y -= (page_y + bg_y); + if (cluster_view_s.edit_mode_scroll_timer) { + ecore_timer_del(cluster_view_s.edit_mode_scroll_timer); + cluster_view_s.edit_mode_scroll_timer = NULL; + } + + if (!cluster_view_s.is_srolling) { + cluster_page_drag_widget(page, cluster_view_s.picked_widget->type, widget_x / (bg_w / CLUSTER_COL), widget_y / (bg_h / CLUSTER_ROW)); + } + } } static void __cluster_view_edit_drop_widget(void *data) { - if (cluster_view_s.edit_mode_scroll_timer) { - ecore_timer_del(cluster_view_s.edit_mode_scroll_timer); - cluster_view_s.edit_mode_scroll_timer = NULL; - } - - if (cluster_view_s.edit_animator) { - ecore_animator_del(cluster_view_s.edit_animator); - cluster_view_s.edit_animator = NULL; - } - - int to_x, to_y; - cluster_view_s.animation_from_x = cluster_mouse_info.move_x - cluster_mouse_info.offset_x; - cluster_view_s.animation_from_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; - - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); - cluster_page_get_highlight_xy(page, &to_x, &to_y); - if (to_x == INIT_VALUE || to_y == INIT_VALUE) { - cluster_page_check_empty_space_pos(page, cluster_view_s.picked_widget, &to_x, &to_y); - } - - cluster_view_s.animation_to_x = to_x; - cluster_view_s.animation_to_y = to_y; - - cluster_view_s.edit_animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __cluster_view_edit_move_anim, NULL); + if (cluster_view_s.edit_mode_scroll_timer) { + ecore_timer_del(cluster_view_s.edit_mode_scroll_timer); + cluster_view_s.edit_mode_scroll_timer = NULL; + } + + if (cluster_view_s.edit_animator) { + ecore_animator_del(cluster_view_s.edit_animator); + cluster_view_s.edit_animator = NULL; + } + + int to_x, to_y; + cluster_view_s.animation_from_x = cluster_mouse_info.move_x - cluster_mouse_info.offset_x; + cluster_view_s.animation_from_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; + + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + cluster_page_get_highlight_xy(page, &to_x, &to_y); + if (to_x == INIT_VALUE || to_y == INIT_VALUE) { + cluster_page_check_empty_space_pos(page, cluster_view_s.picked_widget, &to_x, &to_y); + } + + cluster_view_s.animation_to_x = to_x; + cluster_view_s.animation_to_y = to_y; + + cluster_view_s.edit_animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __cluster_view_edit_move_anim, NULL); } static Eina_Bool __cluster_view_edit_move_anim(void *data, double pos) { - evas_object_move(cluster_view_s.picked_widget->widget_layout, - (cluster_view_s.animation_to_x - cluster_view_s.animation_from_x) * pos + cluster_view_s.animation_from_x, - (cluster_view_s.animation_to_y - cluster_view_s.animation_from_y) * pos + cluster_view_s.animation_from_y); + evas_object_move(cluster_view_s.picked_widget->widget_layout, + (cluster_view_s.animation_to_x - cluster_view_s.animation_from_x) * pos + cluster_view_s.animation_from_x, + (cluster_view_s.animation_to_y - cluster_view_s.animation_from_y) * pos + cluster_view_s.animation_from_y); - if (pos >= 1.0 - (1e-10)) { - __cluster_view_edit_move_anim_done(data); + if (pos >= 1.0 - (1e-10)) { + __cluster_view_edit_move_anim_done(data); - cluster_view_s.edit_animator = NULL; - return ECORE_CALLBACK_DONE; - } + cluster_view_s.edit_animator = NULL; + return ECORE_CALLBACK_DONE; + } - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } static void __cluster_view_edit_move_anim_done(void *data) { - Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; - elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); + Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; + elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); - if (!cluster_page_drop_widget(page, cluster_view_s.picked_widget)) { - cluster_view_s.current_page = cluster_view_s.picked_widget->page_idx; - __cluster_view_scroll_to_page(cluster_view_s.current_page, true); + if (!cluster_page_drop_widget(page, cluster_view_s.picked_widget)) { + cluster_view_s.current_page = cluster_view_s.picked_widget->page_idx; + __cluster_view_scroll_to_page(cluster_view_s.current_page, true); - cluster_view_add_widget(cluster_view_s.picked_widget, true); - } + cluster_view_add_widget(cluster_view_s.picked_widget, true); + } - cluster_view_s.picked_widget = NULL; + cluster_view_s.picked_widget = NULL; } static void __clsuter_view_scroller_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Down* ev = event_info; + Evas_Event_Mouse_Down* ev = event_info; - if (cluster_view_s.view_state != VIEW_STATE_NORMAL) - return ; + if (cluster_view_s.view_state != VIEW_STATE_NORMAL) + return ; - if (cluster_view_s.edit_animator) { - LOGE("edit animator is running"); - return ; - } + if (cluster_view_s.edit_animator) { + LOGE("edit animator is running"); + return ; + } - LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); + LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); - cluster_mouse_info.pressed = true; - cluster_mouse_info.pressed_obj = obj; + cluster_mouse_info.pressed = true; + cluster_mouse_info.pressed_obj = obj; - cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; - cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; + cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; + cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, - __cluster_view_scroller_long_press_time_cb, obj); + cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, + __cluster_view_scroller_long_press_time_cb, obj); } static void __clsuter_view_scroller_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Up* ev = event_info; + Evas_Event_Mouse_Up* ev = event_info; - if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != obj) - return ; + if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != obj) + return ; - LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); + LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); - cluster_mouse_info.pressed = false; + cluster_mouse_info.pressed = false; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.up_x = ev->output.x; - cluster_mouse_info.up_y = ev->output.y; + cluster_mouse_info.up_x = ev->output.x; + cluster_mouse_info.up_y = ev->output.y; - cluster_mouse_info.long_pressed = false; + cluster_mouse_info.long_pressed = false; } static void __clsuter_view_scroller_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Move* ev = event_info; + Evas_Event_Mouse_Move* ev = event_info; - if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != obj) - return ; + if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != obj) + return ; - LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); + LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); - cluster_mouse_info.move_x = ev->cur.output.x; - cluster_mouse_info.move_y = ev->cur.output.y; + cluster_mouse_info.move_x = ev->cur.output.x; + cluster_mouse_info.move_y = ev->cur.output.y; - if (!cluster_mouse_info.long_pressed) { - int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); - distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); + if (!cluster_mouse_info.long_pressed) { + int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); + distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); - if (distance > MOUSE_MOVE_MIN_DISTANCE) { - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (distance > MOUSE_MOVE_MIN_DISTANCE) { + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - return ; - } - } + return ; + } + } } static Eina_Bool __cluster_view_scroller_long_press_time_cb(void *data) { - if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != data) - return ECORE_CALLBACK_CANCEL; + if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != data) + return ECORE_CALLBACK_CANCEL; - cluster_mouse_info.long_pressed = true; + cluster_mouse_info.long_pressed = true; - cluster_view_set_state(VIEW_STATE_EDIT); + cluster_view_set_state(VIEW_STATE_EDIT); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } static void __cluster_view_scroll_anim_start_cb(void *data, Evas_Object *obj, void *event_info) { - cluster_view_s.is_srolling = true; + cluster_view_s.is_srolling = true; } static void __cluster_view_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info) { - cluster_view_s.is_srolling = false; - elm_scroller_current_page_get(obj, &cluster_view_s.current_page, NULL); - cluster_view_s.current_page = cluster_view_s.current_page % cluster_view_s.page_count; - LOGD("current page %d", cluster_view_s.current_page); + cluster_view_s.is_srolling = false; + elm_scroller_current_page_get(obj, &cluster_view_s.current_page, NULL); + cluster_view_s.current_page = cluster_view_s.current_page % cluster_view_s.page_count; + LOGD("current page %d", cluster_view_s.current_page); } static Eina_Bool __cluster_view_scroll_timer_cb(void *data) { - cluster_page_t *current_page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); - - int next_page_idx = 0; - if (cluster_mouse_info.move_x > CLUSTER_EDIT_RIGHT_SCROLL_REGION) { - next_page_idx = current_page->page_index + 1; - } else if (cluster_mouse_info.move_x < CLUSTER_EDIT_LEFT_SCROLL_REGION) { - next_page_idx = current_page->page_index - 1; - } else { - return ECORE_CALLBACK_CANCEL; - } - cluster_page_drag_cancel(current_page); - __cluster_view_scroll_to_page(next_page_idx, true); - return ECORE_CALLBACK_RENEW; + cluster_page_t *current_page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + + int next_page_idx = 0; + if (cluster_mouse_info.move_x > CLUSTER_EDIT_RIGHT_SCROLL_REGION) { + next_page_idx = current_page->page_index + 1; + } else if (cluster_mouse_info.move_x < CLUSTER_EDIT_LEFT_SCROLL_REGION) { + next_page_idx = current_page->page_index - 1; + } else { + return ECORE_CALLBACK_CANCEL; + } + cluster_page_drag_cancel(current_page); + __cluster_view_scroll_to_page(next_page_idx, true); + return ECORE_CALLBACK_RENEW; } diff --git a/src/conf.c b/src/conf.c index f399498..3763b03 100755 --- a/src/conf.c +++ b/src/conf.c @@ -24,28 +24,28 @@ static double resolution_scale_w = 1.0; int __conf_get_window_h(void) { - return window_h; + return window_h; } int __conf_get_window_w(void) { - return window_w; + return window_w; } double __conf_get_resolution_scale_h() { - return resolution_scale_h; + return resolution_scale_h; } double __conf_get_resolution_scale_w() { - return resolution_scale_w; + return resolution_scale_w; } void conf_set_resolution_scale(int win_width, int win_height) { - window_h = win_height; - window_w = win_width; - resolution_scale_w = (double)win_width / 720; - resolution_scale_h = (double)win_height / 1280; + window_h = win_height; + window_w = win_width; + resolution_scale_w = (double)win_width / 720; + resolution_scale_h = (double)win_height / 1280; } diff --git a/src/homescreen-efl.c b/src/homescreen-efl.c index bdb2612..1b8feb8 100755 --- a/src/homescreen-efl.c +++ b/src/homescreen-efl.c @@ -28,29 +28,29 @@ #include "view.h" static struct { - Evas_Object *win; - Evas_Object *bg; - Evas_Object *conformant; - Evas_Object *main_layout; - Evas_Object *apps_layout; - Evas_Object *cluster_layout; - Evas_Object *btn_layout; - int root_width; - int root_height; - homescreen_view_t view_type; - Ecore_Animator *animator; + Evas_Object *win; + Evas_Object *bg; + Evas_Object *conformant; + Evas_Object *main_layout; + Evas_Object *apps_layout; + Evas_Object *cluster_layout; + Evas_Object *btn_layout; + int root_width; + int root_height; + homescreen_view_t view_type; + Ecore_Animator *animator; } main_info = { - .win = NULL, - .bg = NULL, - .conformant = NULL, - .main_layout = NULL, - .apps_layout = NULL, - .cluster_layout = NULL, - .btn_layout = NULL, - .root_width = 0, - .root_height = 0, - .view_type = HOMESCREEN_VIEW_HOME, - .animator = NULL, + .win = NULL, + .bg = NULL, + .conformant = NULL, + .main_layout = NULL, + .apps_layout = NULL, + .cluster_layout = NULL, + .btn_layout = NULL, + .root_width = 0, + .root_height = 0, + .view_type = HOMESCREEN_VIEW_HOME, + .animator = NULL, }; static void __homescreen_efl_get_window_size(Evas_Object *win); @@ -71,52 +71,52 @@ static Eina_Bool __homescreen_efl_init_view(void *data); static void __homescreen_efl_lang_changed_cb(app_event_info_h event_info, void *user_data) { - LOGD("called"); + LOGD("called"); } static void __homescreen_efl_orient_changed_cb(app_event_info_h event_info, void *user_data) { - LOGD("called"); + LOGD("called"); } static void __homescreen_efl_region_changed_cb(app_event_info_h event_info, void *user_data) { - LOGD("called"); + LOGD("called"); } static void __homescreen_efl_low_battery_cb(app_event_info_h event_info, void *user_data) { - LOGD("called"); + LOGD("called"); } static void __homescreen_efl_low_memory_cb(app_event_info_h event_info, void *user_data) { - LOGD("called"); + LOGD("called"); } static bool __homescreen_efl_app_create_cb(void *data) { - elm_config_accel_preference_set("3d"); - ecore_animator_frametime_set(FRAMES_PER_SECOND); + elm_config_accel_preference_set("3d"); + ecore_animator_frametime_set(FRAMES_PER_SECOND); - feedback_initialize(); + feedback_initialize(); - hw_key_register(); + hw_key_register(); - main_info.win = elm_win_util_standard_add(PACKAGE, PACKAGE); - __homescreen_efl_get_window_size(main_info.win); + main_info.win = elm_win_util_standard_add(PACKAGE, PACKAGE); + __homescreen_efl_get_window_size(main_info.win); - __homescreen_efl_set_wallpaper(); - evas_object_show(main_info.win); + __homescreen_efl_set_wallpaper(); + evas_object_show(main_info.win); - __homescreen_efl_create_view(); + __homescreen_efl_create_view(); - __homescreen_efl_set_conformant(); - __homescreen_efl_create_home_btn(); + __homescreen_efl_set_conformant(); + __homescreen_efl_create_home_btn(); - ecore_timer_add(HOME_LOADING_TIME, __homescreen_efl_init_view, NULL); + ecore_timer_add(HOME_LOADING_TIME, __homescreen_efl_init_view, NULL); - return true; + return true; } static void __homescreen_efl_app_control_cb(app_control_h app_control, void *data) @@ -134,281 +134,281 @@ static void __homescreen_efl_app_resume_cb(void *data) static void __homescreen_efl_app_terminate_cb(void *data) { - apps_view_app_terminate(); - cluster_view_app_terminate(); - hw_key_unregister(); - feedback_deinitialize(); + apps_view_app_terminate(); + cluster_view_app_terminate(); + hw_key_unregister(); + feedback_deinitialize(); } int main(int argc, char *argv[]) { - LOGD("Starting homescreen-efl"); + LOGD("Starting homescreen-efl"); - int ret = 0; - ui_app_lifecycle_callback_s event_callback = {0,}; - app_event_handler_h handlers[5] = {NULL, }; + int ret = 0; + ui_app_lifecycle_callback_s event_callback = {0,}; + app_event_handler_h handlers[5] = {NULL, }; - event_callback.create = __homescreen_efl_app_create_cb; - event_callback.terminate = __homescreen_efl_app_terminate_cb; - event_callback.pause = __homescreen_efl_app_pause_cb; - event_callback.resume = __homescreen_efl_app_resume_cb; - event_callback.app_control = __homescreen_efl_app_control_cb; + event_callback.create = __homescreen_efl_app_create_cb; + event_callback.terminate = __homescreen_efl_app_terminate_cb; + event_callback.pause = __homescreen_efl_app_pause_cb; + event_callback.resume = __homescreen_efl_app_resume_cb; + event_callback.app_control = __homescreen_efl_app_control_cb; - ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, __homescreen_efl_low_battery_cb, NULL); - ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, __homescreen_efl_low_memory_cb, NULL); - ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, __homescreen_efl_orient_changed_cb, NULL); - ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, __homescreen_efl_lang_changed_cb, NULL); - ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, __homescreen_efl_region_changed_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, __homescreen_efl_low_battery_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, __homescreen_efl_low_memory_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, __homescreen_efl_orient_changed_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, __homescreen_efl_lang_changed_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, __homescreen_efl_region_changed_cb, NULL); - ret = ui_app_main(argc, argv, &event_callback, NULL); - if (ret != APP_ERROR_NONE) - LOGE("ui_app_main() is failed. err = %d", ret); + ret = ui_app_main(argc, argv, &event_callback, NULL); + if (ret != APP_ERROR_NONE) + LOGE("ui_app_main() is failed. err = %d", ret); - main_info.view_type = HOMESCREEN_VIEW_HOME; + main_info.view_type = HOMESCREEN_VIEW_HOME; - return ret; + return ret; } static void __homescreen_efl_get_window_size(Evas_Object *win) { - elm_win_screen_size_get(win, NULL, NULL, &main_info.root_width, &main_info.root_height); + elm_win_screen_size_get(win, NULL, NULL, &main_info.root_width, &main_info.root_height); - conf_set_resolution_scale(main_info.root_width, main_info.root_height); + conf_set_resolution_scale(main_info.root_width, main_info.root_height); - LOGD("Width: [%d], Height: [%d]", main_info.root_width, main_info.root_height); + LOGD("Width: [%d], Height: [%d]", main_info.root_width, main_info.root_height); } static void __homescreen_efl_set_wallpaper(void) { - const char *bg_path = util_get_res_file_path(IMAGE_DIR"/default_bg.png"); - char *buf = NULL; - int ret = -1; - - if (main_info.main_layout == NULL) { - char edj_path[PATH_MAX] = {0, }; - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home.edj")); - - main_info.main_layout = elm_layout_add(main_info.win); - elm_layout_file_set(main_info.main_layout, edj_path, GROUP_HOME_LY); - evas_object_size_hint_weight_set(main_info.main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(main_info.win, main_info.main_layout); - - evas_object_show(main_info.main_layout); - } - - if (main_info.bg == NULL) { - main_info.bg = evas_object_image_filled_add(evas_object_evas_get(main_info.main_layout)); - - system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, __homescreen_efl_home_bg_changed_cb, NULL); - - evas_object_size_hint_min_set(main_info.bg, main_info.root_width, main_info.root_height); - elm_object_part_content_set(main_info.main_layout, "home_bg", main_info.bg); - evas_object_show(main_info.bg); - } - - ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf); - if (!buf || !ecore_file_can_read(buf) || ret != SYSTEM_SETTINGS_ERROR_NONE) { - evas_object_image_file_set(main_info.bg, bg_path, "bg"); - } else { - evas_object_image_file_set(main_info.bg, buf, "bg"); - } - if (buf) free(buf); + const char *bg_path = util_get_res_file_path(IMAGE_DIR"/default_bg.png"); + char *buf = NULL; + int ret = -1; + + if (main_info.main_layout == NULL) { + char edj_path[PATH_MAX] = {0, }; + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home.edj")); + + main_info.main_layout = elm_layout_add(main_info.win); + elm_layout_file_set(main_info.main_layout, edj_path, GROUP_HOME_LY); + evas_object_size_hint_weight_set(main_info.main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(main_info.win, main_info.main_layout); + + evas_object_show(main_info.main_layout); + } + + if (main_info.bg == NULL) { + main_info.bg = evas_object_image_filled_add(evas_object_evas_get(main_info.main_layout)); + + system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, __homescreen_efl_home_bg_changed_cb, NULL); + + evas_object_size_hint_min_set(main_info.bg, main_info.root_width, main_info.root_height); + elm_object_part_content_set(main_info.main_layout, "home_bg", main_info.bg); + evas_object_show(main_info.bg); + } + + ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf); + if (!buf || !ecore_file_can_read(buf) || ret != SYSTEM_SETTINGS_ERROR_NONE) { + evas_object_image_file_set(main_info.bg, bg_path, "bg"); + } else { + evas_object_image_file_set(main_info.bg, buf, "bg"); + } + if (buf) free(buf); } static void __homescreen_efl_home_bg_changed_cb(system_settings_key_e key, void *data) { - __homescreen_efl_set_wallpaper(); + __homescreen_efl_set_wallpaper(); } static void __homescreen_efl_set_conformant(void) { - elm_win_conformant_set(main_info.win, EINA_TRUE); + elm_win_conformant_set(main_info.win, EINA_TRUE); - main_info.conformant = elm_conformant_add(main_info.win); - evas_object_size_hint_weight_set(main_info.conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(main_info.win, main_info.conformant); + main_info.conformant = elm_conformant_add(main_info.win); + evas_object_size_hint_weight_set(main_info.conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(main_info.win, main_info.conformant); - elm_win_indicator_mode_set(main_info.win, ELM_WIN_INDICATOR_SHOW); - elm_win_indicator_opacity_set(main_info.win, ELM_WIN_INDICATOR_TRANSLUCENT); - elm_object_signal_emit(main_info.conformant, "elm,state,indicator,overlap", "elm"); + elm_win_indicator_mode_set(main_info.win, ELM_WIN_INDICATOR_SHOW); + elm_win_indicator_opacity_set(main_info.win, ELM_WIN_INDICATOR_TRANSLUCENT); + elm_object_signal_emit(main_info.conformant, "elm,state,indicator,overlap", "elm"); - evas_object_show(main_info.conformant); + evas_object_show(main_info.conformant); } static void __homescreen_efl_create_home_btn(void) { - char edj_path[PATH_MAX] = {0, }; + char edj_path[PATH_MAX] = {0, }; - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home_btn.edj")); + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home_btn.edj")); - main_info.btn_layout = elm_layout_add(main_info.win); - elm_layout_file_set(main_info.btn_layout, edj_path, GROUP_HOME_BTN_LY); - evas_object_size_hint_weight_set(main_info.btn_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(main_info.win, main_info.btn_layout); + main_info.btn_layout = elm_layout_add(main_info.win); + elm_layout_file_set(main_info.btn_layout, edj_path, GROUP_HOME_BTN_LY); + evas_object_size_hint_weight_set(main_info.btn_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(main_info.win, main_info.btn_layout); - evas_object_show(main_info.btn_layout); + evas_object_show(main_info.btn_layout); - elm_object_signal_callback_add(main_info.btn_layout, SIGNAL_MENU_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_menu_btn_clicked, NULL); - elm_object_signal_callback_add(main_info.btn_layout, SIGNAL_HOME_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_home_btn_clicked, NULL); + elm_object_signal_callback_add(main_info.btn_layout, SIGNAL_MENU_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_menu_btn_clicked, NULL); + elm_object_signal_callback_add(main_info.btn_layout, SIGNAL_HOME_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_home_btn_clicked, NULL); } static void __homescreen_efl_menu_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); - homescreen_efl_hw_menu_key_release(); + feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); + homescreen_efl_hw_menu_key_release(); } static void __homescreen_efl_home_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); - __homescreen_efl_change_view(); + feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); + __homescreen_efl_change_view(); } static void __homescreen_efl_change_view(void) { - if (main_info.animator != NULL) { - LOGE("main_info.animator != NULL"); - return ; - } - - if (main_info.view_type == HOMESCREEN_VIEW_APPS) { - apps_view_hide(); - main_info.animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __homescreen_efl_show_cluster_anim, NULL); - - elm_object_signal_emit(main_info.btn_layout, SIGNAL_HOME_BTN_ICON_HIDE, SIGNAL_SOURCE); - elm_object_signal_emit(main_info.btn_layout, SIGNAL_APPS_BTN_ICON_SHOW, SIGNAL_SOURCE); - main_info.view_type = HOMESCREEN_VIEW_HOME; - } else if (main_info.view_type == HOMESCREEN_VIEW_HOME) { - cluster_view_hide(); - main_info.animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __homescreen_efl_show_apps_anim, NULL); - - elm_object_signal_emit(main_info.btn_layout, SIGNAL_APPS_BTN_ICON_HIDE, SIGNAL_SOURCE); - elm_object_signal_emit(main_info.btn_layout, SIGNAL_HOME_BTN_ICON_SHOW, SIGNAL_SOURCE); - main_info.view_type = HOMESCREEN_VIEW_APPS; - } + if (main_info.animator != NULL) { + LOGE("main_info.animator != NULL"); + return ; + } + + if (main_info.view_type == HOMESCREEN_VIEW_APPS) { + apps_view_hide(); + main_info.animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __homescreen_efl_show_cluster_anim, NULL); + + elm_object_signal_emit(main_info.btn_layout, SIGNAL_HOME_BTN_ICON_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(main_info.btn_layout, SIGNAL_APPS_BTN_ICON_SHOW, SIGNAL_SOURCE); + main_info.view_type = HOMESCREEN_VIEW_HOME; + } else if (main_info.view_type == HOMESCREEN_VIEW_HOME) { + cluster_view_hide(); + main_info.animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __homescreen_efl_show_apps_anim, NULL); + + elm_object_signal_emit(main_info.btn_layout, SIGNAL_APPS_BTN_ICON_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(main_info.btn_layout, SIGNAL_HOME_BTN_ICON_SHOW, SIGNAL_SOURCE); + main_info.view_type = HOMESCREEN_VIEW_APPS; + } } static Eina_Bool __homescreen_efl_show_apps_anim(void *data, double pos) { - cluster_view_hide_anim(pos); - apps_view_show_anim(pos); + cluster_view_hide_anim(pos); + apps_view_show_anim(pos); - if (pos >= (1.0 - (1e-10))) { - apps_view_show(); - main_info.animator = NULL; - return ECORE_CALLBACK_DONE; - } + if (pos >= (1.0 - (1e-10))) { + apps_view_show(); + main_info.animator = NULL; + return ECORE_CALLBACK_DONE; + } - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } static Eina_Bool __homescreen_efl_show_cluster_anim(void *data, double pos) { - apps_view_hide_anim(pos); - cluster_view_show_anim(pos); + apps_view_hide_anim(pos); + cluster_view_show_anim(pos); - if (pos >= (1.0 - (1e-10))) { - cluster_view_show(); - main_info.animator = NULL; - return ECORE_CALLBACK_DONE; - } + if (pos >= (1.0 - (1e-10))) { + cluster_view_show(); + main_info.animator = NULL; + return ECORE_CALLBACK_DONE; + } - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } Evas_Object *homescreen_efl_get_win(void) { - return main_info.win; + return main_info.win; } void homescreen_efl_hw_menu_key_release(void) { - if (main_info.view_type == HOMESCREEN_VIEW_HOME) { - cluster_view_hw_menu_key(); - } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { - apps_view_hw_menu_key(); - } + if (main_info.view_type == HOMESCREEN_VIEW_HOME) { + cluster_view_hw_menu_key(); + } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { + apps_view_hw_menu_key(); + } } void homescreen_efl_hw_home_key_release(void) { - if (main_info.view_type == HOMESCREEN_VIEW_HOME) { - cluster_view_hw_home_key(); - } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { - if (apps_view_hw_home_key() == false) - __homescreen_efl_change_view(); - } + if (main_info.view_type == HOMESCREEN_VIEW_HOME) { + cluster_view_hw_home_key(); + } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { + if (apps_view_hw_home_key() == false) + __homescreen_efl_change_view(); + } } void homescreen_efl_hw_back_key_release(void) { - if (main_info.view_type == HOMESCREEN_VIEW_HOME) { - if (cluster_view_hw_back_key() == false) { - __homescreen_efl_change_view(); - } - } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { - if (apps_view_hw_back_key() == false) { - __homescreen_efl_change_view(); - } - } + if (main_info.view_type == HOMESCREEN_VIEW_HOME) { + if (cluster_view_hw_back_key() == false) { + __homescreen_efl_change_view(); + } + } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { + if (apps_view_hw_back_key() == false) { + __homescreen_efl_change_view(); + } + } } void homescreen_efl_btn_show(homescreen_view_t view_t) { - LOGD("state %d", view_t); - switch (view_t) { - case HOMESCREEN_VIEW_HOME: - elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_SHOW_HOME_STATE, SIGNAL_SOURCE); - break; - case HOMESCREEN_VIEW_APPS: - elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_SHOW_APPS_STATE, SIGNAL_SOURCE); - break; - default: - break; - } + LOGD("state %d", view_t); + switch (view_t) { + case HOMESCREEN_VIEW_HOME: + elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_SHOW_HOME_STATE, SIGNAL_SOURCE); + break; + case HOMESCREEN_VIEW_APPS: + elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_SHOW_APPS_STATE, SIGNAL_SOURCE); + break; + default: + break; + } } void homescreen_efl_btn_hide(homescreen_view_t view_t) { - LOGD("state %d", view_t); - switch (view_t) { - case HOMESCREEN_VIEW_HOME: - elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_HIDE_HOME_STATE, SIGNAL_SOURCE); - break; - case HOMESCREEN_VIEW_APPS: - elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_HIDE_APPS_STATE, SIGNAL_SOURCE); - break; - default: - break; - } + LOGD("state %d", view_t); + switch (view_t) { + case HOMESCREEN_VIEW_HOME: + elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_HIDE_HOME_STATE, SIGNAL_SOURCE); + break; + case HOMESCREEN_VIEW_APPS: + elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_HIDE_APPS_STATE, SIGNAL_SOURCE); + break; + default: + break; + } } static bool __homescreen_efl_create_view(void) { - main_info.cluster_layout = cluster_view_create(main_info.win); - if (main_info.cluster_layout == NULL) { - LOGE("main_info.cluster_layout == NULL"); - return false; - } - evas_object_move(main_info.cluster_layout, 0, INDICATOR_H); - evas_object_show(main_info.cluster_layout); - - main_info.apps_layout = apps_view_create(main_info.win); - if (main_info.apps_layout == NULL) { - LOGE("main_info.apps_layout == NULL"); - return false; - } - evas_object_move(main_info.apps_layout, 0, main_info.root_height); - evas_object_show(main_info.apps_layout); - - return true; + main_info.cluster_layout = cluster_view_create(main_info.win); + if (main_info.cluster_layout == NULL) { + LOGE("main_info.cluster_layout == NULL"); + return false; + } + evas_object_move(main_info.cluster_layout, 0, INDICATOR_H); + evas_object_show(main_info.cluster_layout); + + main_info.apps_layout = apps_view_create(main_info.win); + if (main_info.apps_layout == NULL) { + LOGE("main_info.apps_layout == NULL"); + return false; + } + evas_object_move(main_info.apps_layout, 0, main_info.root_height); + evas_object_show(main_info.apps_layout); + + return true; } static Eina_Bool __homescreen_efl_init_view(void *data) { - cluster_view_init(); - apps_view_init(); + cluster_view_init(); + apps_view_init(); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } diff --git a/src/hw_key.c b/src/hw_key.c index 946867a..625c1b3 100755 --- a/src/hw_key.c +++ b/src/hw_key.c @@ -31,22 +31,22 @@ #define KEY_RETURN "Return" typedef enum { - HW_KEY_NONE = -1, - HW_KEY_BACK, - HW_KEY_HOME, - HW_KEY_MENU, + HW_KEY_NONE = -1, + HW_KEY_BACK, + HW_KEY_HOME, + HW_KEY_MENU, } hw_key_t; static struct { - Eina_Bool pressed; - Ecore_Event_Handler *press_handler; - Ecore_Event_Handler *release_handler; - Eina_Bool register_handler; + Eina_Bool pressed; + Ecore_Event_Handler *press_handler; + Ecore_Event_Handler *release_handler; + Eina_Bool register_handler; } hw_key_info = { - .pressed = EINA_FALSE, - .press_handler = NULL, - .release_handler = NULL, - .register_handler = EINA_FALSE + .pressed = EINA_FALSE, + .press_handler = NULL, + .release_handler = NULL, + .register_handler = EINA_FALSE }; static Eina_Bool __hw_key_release_cb(void *data, int type, void *event); @@ -54,86 +54,86 @@ static Eina_Bool __hw_key_press_cb(void *data, int type, void *event); void hw_key_register(void) { - if (!hw_key_info.release_handler) { - hw_key_info.release_handler = ecore_event_handler_add(ECORE_EVENT_KEY_UP, __hw_key_release_cb, NULL); - if (!hw_key_info.release_handler) - LOGE("Failed to register a key up event handler"); - } - - if (!hw_key_info.press_handler) { - hw_key_info.press_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, __hw_key_press_cb, NULL); - if (!hw_key_info.press_handler) - LOGE("Failed to register a key down event handler"); - } - - hw_key_info.pressed = EINA_FALSE; - hw_key_info.register_handler = EINA_TRUE; + if (!hw_key_info.release_handler) { + hw_key_info.release_handler = ecore_event_handler_add(ECORE_EVENT_KEY_UP, __hw_key_release_cb, NULL); + if (!hw_key_info.release_handler) + LOGE("Failed to register a key up event handler"); + } + + if (!hw_key_info.press_handler) { + hw_key_info.press_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, __hw_key_press_cb, NULL); + if (!hw_key_info.press_handler) + LOGE("Failed to register a key down event handler"); + } + + hw_key_info.pressed = EINA_FALSE; + hw_key_info.register_handler = EINA_TRUE; } void hw_key_unregister(void) { - if (hw_key_info.release_handler) { - ecore_event_handler_del(hw_key_info.release_handler); - hw_key_info.release_handler = NULL; - } + if (hw_key_info.release_handler) { + ecore_event_handler_del(hw_key_info.release_handler); + hw_key_info.release_handler = NULL; + } - if (hw_key_info.press_handler) { - ecore_event_handler_del(hw_key_info.press_handler); - hw_key_info.press_handler = NULL; - } + if (hw_key_info.press_handler) { + ecore_event_handler_del(hw_key_info.press_handler); + hw_key_info.press_handler = NULL; + } - hw_key_info.register_handler = EINA_FALSE; + hw_key_info.register_handler = EINA_FALSE; } static Eina_Bool __hw_key_press_cb(void *data, int type, void *event) { - Evas_Event_Key_Down *ev = event; + Evas_Event_Key_Down *ev = event; - if (!hw_key_info.register_handler || !ev) - return ECORE_CALLBACK_RENEW; + if (!hw_key_info.register_handler || !ev) + return ECORE_CALLBACK_RENEW; - hw_key_info.pressed = EINA_TRUE; + hw_key_info.pressed = EINA_TRUE; - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } static Eina_Bool __hw_key_release_cb(void *data, int type, void *event) { - Evas_Event_Key_Up *ev = event; - - if (!hw_key_info.register_handler || !ev) - return ECORE_CALLBACK_RENEW; - - LOGD("Key(%s) released %d", ev->keyname, hw_key_info.pressed); - - if (hw_key_info.pressed == EINA_FALSE) - return ECORE_CALLBACK_RENEW; - - if (!strcmp(ev->keyname, KEY_BACK)) { - if (menu_is_show()) { - menu_hide(); - } else if (popup_is_show()) { - popup_hide(); - } else { - homescreen_efl_hw_back_key_release(); - } - } else if (!strcmp(ev->keyname, KEY_MENU)) { - homescreen_efl_hw_menu_key_release(); - } else if (!strcmp(ev->keyname, KEY_HOME)) { - if (menu_is_show()) { - menu_hide(); - } else if (popup_is_show()) { - popup_hide(); - } - homescreen_efl_hw_home_key_release(); - } else { - hw_key_info.pressed = EINA_FALSE; - - return ECORE_CALLBACK_RENEW; - } - - hw_key_info.pressed = EINA_FALSE; - - return ECORE_CALLBACK_RENEW; + Evas_Event_Key_Up *ev = event; + + if (!hw_key_info.register_handler || !ev) + return ECORE_CALLBACK_RENEW; + + LOGD("Key(%s) released %d", ev->keyname, hw_key_info.pressed); + + if (hw_key_info.pressed == EINA_FALSE) + return ECORE_CALLBACK_RENEW; + + if (!strcmp(ev->keyname, KEY_BACK)) { + if (menu_is_show()) { + menu_hide(); + } else if (popup_is_show()) { + popup_hide(); + } else { + homescreen_efl_hw_back_key_release(); + } + } else if (!strcmp(ev->keyname, KEY_MENU)) { + homescreen_efl_hw_menu_key_release(); + } else if (!strcmp(ev->keyname, KEY_HOME)) { + if (menu_is_show()) { + menu_hide(); + } else if (popup_is_show()) { + popup_hide(); + } + homescreen_efl_hw_home_key_release(); + } else { + hw_key_info.pressed = EINA_FALSE; + + return ECORE_CALLBACK_RENEW; + } + + hw_key_info.pressed = EINA_FALSE; + + return ECORE_CALLBACK_RENEW; } diff --git a/src/menu.c b/src/menu.c index 07456d7..436192b 100755 --- a/src/menu.c +++ b/src/menu.c @@ -19,84 +19,84 @@ #include "conf.h" static struct { - Evas_Object *menu; - bool is_visible; + Evas_Object *menu; + bool is_visible; } menu_info = { - .menu = NULL, - .is_visible = false + .menu = NULL, + .is_visible = false }; /* menu_item_t */ static const char menu_text[MENU_MAX][STR_ID_LEN] = { - "IDS_HS_OPT_EDIT", - "IDS_HS_HEADER_ADD_WIDGET", - "IDS_HS_OPT_CHANGE_WALLPAPER_ABB", - "IDS_HS_OPT_ALL_PAGES", - "IDS_HS_OPT_EDIT", - "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" + "IDS_HS_OPT_EDIT", + "IDS_HS_HEADER_ADD_WIDGET", + "IDS_HS_OPT_CHANGE_WALLPAPER_ABB", + "IDS_HS_OPT_ALL_PAGES", + "IDS_HS_OPT_EDIT", + "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" }; static void __menu_dismissed_cb(void *data, Evas_Object *obj, void *event_info) { - menu_info.is_visible = false; + menu_info.is_visible = false; - if (menu_info.menu) { - evas_object_del(menu_info.menu); - menu_info.menu = NULL; - } + if (menu_info.menu) { + evas_object_del(menu_info.menu); + menu_info.menu = NULL; + } } void menu_show(Eina_Hash* hash_table) { - int menu_id; - if (menu_info.is_visible) { - return ; - } - - menu_info.is_visible = true; - - menu_info.menu = elm_ctxpopup_add(homescreen_efl_get_win()); - elm_object_style_set(menu_info.menu, "more/default"); - elm_ctxpopup_horizontal_set(menu_info.menu, EINA_FALSE); - elm_ctxpopup_auto_hide_disabled_set(menu_info.menu, EINA_TRUE); - elm_ctxpopup_direction_priority_set(menu_info.menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN); - - evas_object_smart_callback_add(menu_info.menu, "dismissed", __menu_dismissed_cb, NULL); - - for (menu_id = MENU_DEFAULT+1; menu_id < MENU_MAX; menu_id++) { - void *data = eina_hash_find(hash_table, &menu_id); - if (data) { - elm_ctxpopup_item_append(menu_info.menu, _(menu_text[menu_id]), NULL, data, NULL); - } - } - - evas_object_move(menu_info.menu, 0, WINDOW_H); - evas_object_show(menu_info.menu); + int menu_id; + if (menu_info.is_visible) { + return ; + } + + menu_info.is_visible = true; + + menu_info.menu = elm_ctxpopup_add(homescreen_efl_get_win()); + elm_object_style_set(menu_info.menu, "more/default"); + elm_ctxpopup_horizontal_set(menu_info.menu, EINA_FALSE); + elm_ctxpopup_auto_hide_disabled_set(menu_info.menu, EINA_TRUE); + elm_ctxpopup_direction_priority_set(menu_info.menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN); + + evas_object_smart_callback_add(menu_info.menu, "dismissed", __menu_dismissed_cb, NULL); + + for (menu_id = MENU_DEFAULT+1; menu_id < MENU_MAX; menu_id++) { + void *data = eina_hash_find(hash_table, &menu_id); + if (data) { + elm_ctxpopup_item_append(menu_info.menu, _(menu_text[menu_id]), NULL, data, NULL); + } + } + + evas_object_move(menu_info.menu, 0, WINDOW_H); + evas_object_show(menu_info.menu); } void menu_hide(void) { - if (!menu_info.is_visible) { - return ; - } + if (!menu_info.is_visible) { + return ; + } - menu_info.is_visible = false; + menu_info.is_visible = false; - evas_object_hide(menu_info.menu); - evas_object_del(menu_info.menu); - menu_info.menu = NULL; + evas_object_hide(menu_info.menu); + evas_object_del(menu_info.menu); + menu_info.menu = NULL; } bool menu_is_show(void) { - return menu_info.is_visible; + return menu_info.is_visible; } void menu_change_state_on_hw_menu_key(Eina_Hash* hash_table) { - if (menu_info.is_visible) { - menu_hide(); - } else { - menu_show(hash_table); - } + if (menu_info.is_visible) { + menu_hide(); + } else { + menu_show(hash_table); + } } diff --git a/src/page_indicator.c b/src/page_indicator.c index 0715f50..802327e 100755 --- a/src/page_indicator.c +++ b/src/page_indicator.c @@ -27,202 +27,202 @@ static void __page_indicator_unit_rotate(Evas_Object *unit, double angle, double page_indicator_t * page_indictor_create(Evas_Object *scroller) { - int i; - char edj_path[PATH_MAX] = {0, }; - page_indicator_t *page_indicator = NULL; - - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/page_indicator_unit.edj")); - - if (scroller == NULL) - return NULL; - page_indicator = (page_indicator_t *)malloc(sizeof(page_indicator_t)); - page_indicator->scroller = scroller; - page_indicator->page_count = 0; - page_indicator->current_page = -1; - - page_indicator->box = elm_box_add(homescreen_efl_get_win()); - if (!page_indicator->box) { - LOGE("page_index->box==NULL"); - free(page_indicator); - return NULL; - } - elm_box_homogeneous_set(page_indicator->box, EINA_TRUE); - elm_box_horizontal_set(page_indicator->box, EINA_TRUE); - - evas_object_size_hint_weight_set(page_indicator->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_align_set(page_indicator->box, 0.5, 0.5); - elm_box_padding_set(page_indicator->box, PAGE_INDICATOR_GAP, 0); - evas_object_show(page_indicator->box); - evas_object_move(page_indicator->box, page_indicator->x, page_indicator->y); - - evas_object_smart_callback_add(scroller, "scroll", __page_indicator_scroll_cb, page_indicator); - evas_object_smart_callback_add(scroller, "scroll,anim,stop", __page_indicator_scroll_anim_stop_cb, page_indicator); - - for (i = 0; i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { - page_indicator->unit[i] = elm_layout_add(homescreen_efl_get_win()); - elm_layout_file_set(page_indicator->unit[i], edj_path, GROUP_PAGE_INDICATOR_UNIT); - evas_object_size_hint_weight_set(page_indicator->unit[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(page_indicator->unit[i], PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); - - Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); - evas_object_color_set(rect, 255, 255, 255, 0); - evas_object_size_hint_min_set(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); - evas_object_size_hint_max_set(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); - evas_object_resize(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); - evas_object_show(rect); - elm_object_part_content_set(page_indicator->unit[i], SIZE_SETTER, rect); - } - - return page_indicator; + int i; + char edj_path[PATH_MAX] = {0, }; + page_indicator_t *page_indicator = NULL; + + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/page_indicator_unit.edj")); + + if (scroller == NULL) + return NULL; + page_indicator = (page_indicator_t *)malloc(sizeof(page_indicator_t)); + page_indicator->scroller = scroller; + page_indicator->page_count = 0; + page_indicator->current_page = -1; + + page_indicator->box = elm_box_add(homescreen_efl_get_win()); + if (!page_indicator->box) { + LOGE("page_index->box==NULL"); + free(page_indicator); + return NULL; + } + elm_box_homogeneous_set(page_indicator->box, EINA_TRUE); + elm_box_horizontal_set(page_indicator->box, EINA_TRUE); + + evas_object_size_hint_weight_set(page_indicator->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_align_set(page_indicator->box, 0.5, 0.5); + elm_box_padding_set(page_indicator->box, PAGE_INDICATOR_GAP, 0); + evas_object_show(page_indicator->box); + evas_object_move(page_indicator->box, page_indicator->x, page_indicator->y); + + evas_object_smart_callback_add(scroller, "scroll", __page_indicator_scroll_cb, page_indicator); + evas_object_smart_callback_add(scroller, "scroll,anim,stop", __page_indicator_scroll_anim_stop_cb, page_indicator); + + for (i = 0; i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { + page_indicator->unit[i] = elm_layout_add(homescreen_efl_get_win()); + elm_layout_file_set(page_indicator->unit[i], edj_path, GROUP_PAGE_INDICATOR_UNIT); + evas_object_size_hint_weight_set(page_indicator->unit[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(page_indicator->unit[i], PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); + + Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); + evas_object_color_set(rect, 255, 255, 255, 0); + evas_object_size_hint_min_set(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); + evas_object_size_hint_max_set(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); + evas_object_resize(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); + evas_object_show(rect); + elm_object_part_content_set(page_indicator->unit[i], SIZE_SETTER, rect); + } + + return page_indicator; } void page_indicator_set_page_count(page_indicator_t *page_indicator, int count) { - if (page_indicator == NULL) { - LOGE("page indicator is NULL."); - return ; - } - - int i; - int width = count * PAGE_INDICATOR_UNIT + (PAGE_INDICATOR_GAP * (count-1)); - if (page_indicator->page_count == count) { - return ; - } - elm_box_unpack_all(page_indicator->box); - for (i = 0 ; i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { - if (i < count) { - elm_box_pack_end(page_indicator->box, page_indicator->unit[i]); - evas_object_show(page_indicator->unit[i]); - } else { - evas_object_move(page_indicator->unit[i], 0, -100); - } - - } - - page_indicator->x = (WINDOW_W - width) / 2; - page_indicator->y = WINDOW_H - PAGE_INDICATOR_H - PAGE_INDICATOR_PADDING_BOTTON; - page_indicator->page_count = count; - - evas_object_resize(page_indicator->box, width, PAGE_INDICATOR_H); - evas_object_move(page_indicator->box, page_indicator->x, page_indicator->y); + if (page_indicator == NULL) { + LOGE("page indicator is NULL."); + return ; + } + + int i; + int width = count * PAGE_INDICATOR_UNIT + (PAGE_INDICATOR_GAP * (count-1)); + if (page_indicator->page_count == count) { + return ; + } + elm_box_unpack_all(page_indicator->box); + for (i = 0 ; i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { + if (i < count) { + elm_box_pack_end(page_indicator->box, page_indicator->unit[i]); + evas_object_show(page_indicator->unit[i]); + } else { + evas_object_move(page_indicator->unit[i], 0, -100); + } + + } + + page_indicator->x = (WINDOW_W - width) / 2; + page_indicator->y = WINDOW_H - PAGE_INDICATOR_H - PAGE_INDICATOR_PADDING_BOTTON; + page_indicator->page_count = count; + + evas_object_resize(page_indicator->box, width, PAGE_INDICATOR_H); + evas_object_move(page_indicator->box, page_indicator->x, page_indicator->y); } void page_indicator_scroller_resize(page_indicator_t *page_indicator, int width, int height) { - LOGD("w:%d h:%d", width, height); - page_indicator->w = width; - page_indicator->h = height; + LOGD("w:%d h:%d", width, height); + page_indicator->w = width; + page_indicator->h = height; } void page_indicator_set_current_page(page_indicator_t *page_indicator, int page_number) { - if (page_indicator == NULL) { - LOGE("page indicator is NULL."); - return ; - } + if (page_indicator == NULL) { + LOGE("page indicator is NULL."); + return ; + } - LOGD("Set Current :%d, old : %d", page_number, page_indicator->current_page); + LOGD("Set Current :%d, old : %d", page_number, page_indicator->current_page); - page_indicator->current_page = page_number; + page_indicator->current_page = page_number; - __page_indicator_set_current_page(page_indicator); + __page_indicator_set_current_page(page_indicator); } static void __page_indicator_scroll_cb(void *data, Evas_Object *obj, void *event_info) { - int x = 0; - int current_x = 0; - double angle = 0.0; - double color = 0.0; - int next_page = -1; - - page_indicator_t *page_indicator = (page_indicator_t*) data; - if (!page_indicator) { - LOGE("Invalid page_indicator"); - return; - } - elm_scroller_region_get(obj, &x, NULL, NULL, NULL); - - current_x = page_indicator->current_page * page_indicator->w; - angle = (double)(x - current_x) / page_indicator->w * 90.0; - if (angle > 90.0) { - angle = (double)(x - page_indicator->w * page_indicator->page_count) / page_indicator->w * 90.0; - next_page = page_indicator->page_count - 1; - } else { - next_page = page_indicator->current_page + (angle > 0 ? 1 : -1); - next_page %= page_indicator->page_count; - } - - color = fabs(angle) * 2; - - __page_indicator_unit_rotate(page_indicator->unit[page_indicator->current_page], 90 + angle, 255.0 - color); - __page_indicator_unit_rotate(page_indicator->unit[next_page], (angle < 0 ? 360 + angle : angle), 75.0 + color); + int x = 0; + int current_x = 0; + double angle = 0.0; + double color = 0.0; + int next_page = -1; + + page_indicator_t *page_indicator = (page_indicator_t*) data; + if (!page_indicator) { + LOGE("Invalid page_indicator"); + return; + } + elm_scroller_region_get(obj, &x, NULL, NULL, NULL); + + current_x = page_indicator->current_page * page_indicator->w; + angle = (double)(x - current_x) / page_indicator->w * 90.0; + if (angle > 90.0) { + angle = (double)(x - page_indicator->w * page_indicator->page_count) / page_indicator->w * 90.0; + next_page = page_indicator->page_count - 1; + } else { + next_page = page_indicator->current_page + (angle > 0 ? 1 : -1); + next_page %= page_indicator->page_count; + } + + color = fabs(angle) * 2; + + __page_indicator_unit_rotate(page_indicator->unit[page_indicator->current_page], 90 + angle, 255.0 - color); + __page_indicator_unit_rotate(page_indicator->unit[next_page], (angle < 0 ? 360 + angle : angle), 75.0 + color); } static void __page_indicator_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info) { - if (data == NULL) { - LOGE("Invalid data"); - return ; - } + if (data == NULL) { + LOGE("Invalid data"); + return ; + } - page_indicator_t *page_indicator = (page_indicator_t*) data; + page_indicator_t *page_indicator = (page_indicator_t*) data; - elm_scroller_current_page_get(obj, &page_indicator->current_page, NULL); - page_indicator->current_page %= page_indicator->page_count; + elm_scroller_current_page_get(obj, &page_indicator->current_page, NULL); + page_indicator->current_page %= page_indicator->page_count; - __page_indicator_set_current_page(page_indicator); + __page_indicator_set_current_page(page_indicator); } static void __page_indicator_set_current_page(page_indicator_t *page_indicator) { - int i; - for (i = 0; i < page_indicator->page_count && i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { - Evas_Object *edje = NULL; - edje = elm_layout_edje_get(page_indicator->unit[i]); - if (i == page_indicator->current_page) { - edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_CURRENT, SIGNAL_SOURCE); - } - //else if { } // i == center_circle - else { - edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_DEFAULT, SIGNAL_SOURCE); - } - } + int i; + for (i = 0; i < page_indicator->page_count && i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { + Evas_Object *edje = NULL; + edje = elm_layout_edje_get(page_indicator->unit[i]); + if (i == page_indicator->current_page) { + edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_CURRENT, SIGNAL_SOURCE); + } + //else if { } // i == center_circle + else { + edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_DEFAULT, SIGNAL_SOURCE); + } + } } static void __page_indicator_unit_rotate(Evas_Object *unit, double angle, double alpha) { - Evas_Object *edje = NULL; + Evas_Object *edje = NULL; - if (!unit) { - LOGE("Invalid argument : unit is NULL"); - return; - } + if (!unit) { + LOGE("Invalid argument : unit is NULL"); + return; + } - edje = elm_layout_edje_get(unit); - if (!edje) { - LOGE("Failed to get edje from layout"); - return; - } + edje = elm_layout_edje_get(unit); + if (!edje) { + LOGE("Failed to get edje from layout"); + return; + } - Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 2 * sizeof(double)); - msg->count = 2; - msg->val[0] = angle; - msg->val[1] = alpha; + Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 2 * sizeof(double)); + msg->count = 2; + msg->val[0] = angle; + msg->val[1] = alpha; - edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); - edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_ROTATION_CHANGE, SIGNAL_SOURCE); + edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); + edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_ROTATION_CHANGE, SIGNAL_SOURCE); - free(msg); + free(msg); } void page_indicator_show(page_indicator_t *page_indicator) { - evas_object_show(page_indicator->box); + evas_object_show(page_indicator->box); } void page_indicator_hide(page_indicator_t *page_indicator) { - evas_object_hide(page_indicator->box); + evas_object_hide(page_indicator->box); } diff --git a/src/popup.c b/src/popup.c index 670aaf9..5575836 100755 --- a/src/popup.c +++ b/src/popup.c @@ -23,11 +23,11 @@ #include "util.h" static struct { - Evas_Object *popup; - bool is_visible; + Evas_Object *popup; + bool is_visible; } popup_info = { - .popup = NULL, - .is_visible = false + .popup = NULL, + .is_visible = false }; static void __popup_default_cb(void *data, Evas_Object *obj, void *event_info); @@ -37,89 +37,89 @@ static void __toast_timeout_cb(void *data, Evas_Object *obj, void *event_info); static void __toast_block_clicked_cb(void *data, Evas_Object *obj, void *event_info); void popup_show(int btn_count, Evas_Smart_Cb btn_func[3], void *func_data[3], - const char (*btn_text)[STR_MAX], const char *title_text, const char *popup_text) + const char (*btn_text)[STR_MAX], const char *title_text, const char *popup_text) { - if (popup_info.is_visible) { - return ; - } - - char part[3][10] = { "button1", "button2", "button3" }; - - popup_info.is_visible = true; - - popup_info.popup = elm_popup_add(homescreen_efl_get_win()); - elm_popup_align_set(popup_info.popup, ELM_NOTIFY_ALIGN_FILL, 1.0); - evas_object_size_hint_weight_set(popup_info.popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_part_text_set(popup_info.popup, "title,text", title_text); - elm_object_part_text_set(popup_info.popup, "default", popup_text); - evas_object_smart_callback_add(popup_info.popup, "dismissed", __popup_dismissed_cb, NULL); - - int idx = 0; - for (idx = 0; idx < btn_count; idx++) { - Evas_Object *btn; - btn = elm_button_add(popup_info.popup); - elm_object_style_set(btn, "popup"); - elm_object_text_set(btn, btn_text[idx]); - elm_object_part_content_set(popup_info.popup, part[idx], btn); - evas_object_smart_callback_add(btn, "clicked", - (btn_func[idx] == NULL ? __popup_default_cb : btn_func[idx]), func_data[idx]); - } - evas_object_show(popup_info.popup); + if (popup_info.is_visible) { + return ; + } + + char part[3][10] = { "button1", "button2", "button3" }; + + popup_info.is_visible = true; + + popup_info.popup = elm_popup_add(homescreen_efl_get_win()); + elm_popup_align_set(popup_info.popup, ELM_NOTIFY_ALIGN_FILL, 1.0); + evas_object_size_hint_weight_set(popup_info.popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_part_text_set(popup_info.popup, "title,text", title_text); + elm_object_part_text_set(popup_info.popup, "default", popup_text); + evas_object_smart_callback_add(popup_info.popup, "dismissed", __popup_dismissed_cb, NULL); + + int idx = 0; + for (idx = 0; idx < btn_count; idx++) { + Evas_Object *btn; + btn = elm_button_add(popup_info.popup); + elm_object_style_set(btn, "popup"); + elm_object_text_set(btn, btn_text[idx]); + elm_object_part_content_set(popup_info.popup, part[idx], btn); + evas_object_smart_callback_add(btn, "clicked", + (btn_func[idx] == NULL ? __popup_default_cb : btn_func[idx]), func_data[idx]); + } + evas_object_show(popup_info.popup); } void popup_hide(void) { - if (!popup_info.is_visible) { - return ; - } + if (!popup_info.is_visible) { + return ; + } - popup_info.is_visible = false; + popup_info.is_visible = false; - evas_object_hide(popup_info.popup); - evas_object_del(popup_info.popup); - popup_info.popup = NULL; + evas_object_hide(popup_info.popup); + evas_object_del(popup_info.popup); + popup_info.popup = NULL; } bool popup_is_show(void) { - return popup_info.is_visible; + return popup_info.is_visible; } static void __popup_default_cb(void *data, Evas_Object *obj, void *event_info) { - popup_hide(); + popup_hide(); } static void __popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info) { - popup_info.is_visible = false; - if (popup_info.popup) { - evas_object_del(popup_info.popup); - popup_info.popup = NULL; - } + popup_info.is_visible = false; + if (popup_info.popup) { + evas_object_del(popup_info.popup); + popup_info.popup = NULL; + } } void toast_show(char* str) { - Evas_Object *popup; - - popup = elm_popup_add(homescreen_efl_get_win()); - elm_object_style_set(popup, "toast"); - evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_text_set(popup, str); - elm_popup_timeout_set(popup, 2.0); - eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL); - evas_object_smart_callback_add(popup, "block,clicked", __toast_block_clicked_cb, NULL); - evas_object_smart_callback_add(popup, "timeout", __toast_timeout_cb, NULL); - - evas_object_show(popup); + Evas_Object *popup; + + popup = elm_popup_add(homescreen_efl_get_win()); + elm_object_style_set(popup, "toast"); + evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_text_set(popup, str); + elm_popup_timeout_set(popup, 2.0); + eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL); + evas_object_smart_callback_add(popup, "block,clicked", __toast_block_clicked_cb, NULL); + evas_object_smart_callback_add(popup, "timeout", __toast_timeout_cb, NULL); + + evas_object_show(popup); } static void __toast_timeout_cb(void *data, Evas_Object *obj, void *event_info) { - evas_object_del(obj); + evas_object_del(obj); } static void __toast_block_clicked_cb(void *data, Evas_Object *obj, void *event_info) { - evas_object_del(obj); + evas_object_del(obj); } diff --git a/src/util.c b/src/util.c index 22cdc78..22a7de9 100755 --- a/src/util.c +++ b/src/util.c @@ -21,47 +21,47 @@ const char *util_get_file_path(enum app_subdir dir, const char *relative) { - static char buf[PATH_MAX]; - char *prefix; + static char buf[PATH_MAX]; + char *prefix; - switch (dir) { - case APP_DIR_DATA: - prefix = app_get_data_path(); - break; - case APP_DIR_CACHE: - prefix = app_get_cache_path(); - break; - case APP_DIR_RESOURCE: - prefix = app_get_resource_path(); - break; - case APP_DIR_SHARED_DATA: - prefix = app_get_shared_data_path(); - break; - case APP_DIR_SHARED_RESOURCE: - prefix = app_get_shared_resource_path(); - break; - case APP_DIR_SHARED_TRUSTED: - prefix = app_get_shared_trusted_path(); - break; - case APP_DIR_EXTERNAL_DATA: - prefix = app_get_external_data_path(); - break; - case APP_DIR_EXTERNAL_CACHE: - prefix = app_get_external_cache_path(); - break; - case APP_DIR_EXTERNAL_SHARED_DATA: - prefix = app_get_external_shared_data_path(); - break; - default: - LOGE("Not handled directory type."); - return NULL; - } - size_t res = eina_file_path_join(buf, sizeof(buf), prefix, relative); - free(prefix); - if (res > sizeof(buf)) { - LOGE("Path exceeded PATH_MAX"); - return NULL; - } + switch (dir) { + case APP_DIR_DATA: + prefix = app_get_data_path(); + break; + case APP_DIR_CACHE: + prefix = app_get_cache_path(); + break; + case APP_DIR_RESOURCE: + prefix = app_get_resource_path(); + break; + case APP_DIR_SHARED_DATA: + prefix = app_get_shared_data_path(); + break; + case APP_DIR_SHARED_RESOURCE: + prefix = app_get_shared_resource_path(); + break; + case APP_DIR_SHARED_TRUSTED: + prefix = app_get_shared_trusted_path(); + break; + case APP_DIR_EXTERNAL_DATA: + prefix = app_get_external_data_path(); + break; + case APP_DIR_EXTERNAL_CACHE: + prefix = app_get_external_cache_path(); + break; + case APP_DIR_EXTERNAL_SHARED_DATA: + prefix = app_get_external_shared_data_path(); + break; + default: + LOGE("Not handled directory type."); + return NULL; + } + size_t res = eina_file_path_join(buf, sizeof(buf), prefix, relative); + free(prefix); + if (res > sizeof(buf)) { + LOGE("Path exceeded PATH_MAX"); + return NULL; + } - return &buf[0]; + return &buf[0]; } diff --git a/src/widget_viewer.c b/src/widget_viewer.c index 28abce5..ec65a5a 100755 --- a/src/widget_viewer.c +++ b/src/widget_viewer.c @@ -24,9 +24,9 @@ #ifdef _TEST_ static Eina_Bool __widget_viewer_test_timer_cb(void *data) { - Evas_Object *widget = (Evas_Object*) data; - evas_object_color_set(widget, rand()%255, rand()%255, rand()%255, 100); - return ECORE_CALLBACK_RENEW; + Evas_Object *widget = (Evas_Object*) data; + evas_object_color_set(widget, rand()%255, rand()%255, rand()%255, 100); + return ECORE_CALLBACK_RENEW; } static int count = 0; #endif @@ -34,75 +34,75 @@ static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, void widget_viewer_init(Evas_Object *win) { - widget_viewer_evas_init(win); + widget_viewer_evas_init(win); } void widget_viewer_fini(void) { - widget_viewer_evas_fini(); + widget_viewer_evas_fini(); } Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height) { - Evas_Object *widget_layout; + Evas_Object *widget_layout; - widget_layout = elm_layout_add(parent); - elm_layout_file_set(widget_layout, util_get_res_file_path(EDJE_DIR"/widget.edj"), GROUP_WIDGET_LY); - evas_object_size_hint_weight_set(widget_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + widget_layout = elm_layout_add(parent); + elm_layout_file_set(widget_layout, util_get_res_file_path(EDJE_DIR"/widget.edj"), GROUP_WIDGET_LY); + evas_object_size_hint_weight_set(widget_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - widget_service_get_size(item->type, widget_width, widget_height); + widget_service_get_size(item->type, widget_width, widget_height); - Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); - evas_object_size_hint_min_set(rect, CLUSTER_W / 4, CLUSTER_H / 4); - evas_object_size_hint_align_set(rect, 0, 0); - evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(rect); - elm_object_part_content_set(widget_layout, SIZE_SETTER, rect); + Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); + evas_object_size_hint_min_set(rect, CLUSTER_W / 4, CLUSTER_H / 4); + evas_object_size_hint_align_set(rect, 0, 0); + evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(rect); + elm_object_part_content_set(widget_layout, SIZE_SETTER, rect); #ifndef _TEST_ - Evas_Object *widget = widget_viewer_evas_add_widget(widget_layout, item->pkg_name, NULL, item->period); - //evas_object_smart_callback_add(widget, WIDGET_SMART_SIGNAL_WIDGET_CREATED, __widget_viewer_widget_create_cb, NULL); - evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(widget, 255, 255, 255, 255); + Evas_Object *widget = widget_viewer_evas_add_widget(widget_layout, item->pkg_name, NULL, item->period); + //evas_object_smart_callback_add(widget, WIDGET_SMART_SIGNAL_WIDGET_CREATED, __widget_viewer_widget_create_cb, NULL); + evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(widget, 255, 255, 255, 255); #else // for TEST -/* Evas_Object *widget = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); - evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(widget, 0, 0, 255, 100); - evas_object_show(widget); +/* Evas_Object *widget = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); + evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(widget, 0, 0, 255, 100); + evas_object_show(widget); */ - char number[1000]; - sprintf(number, "%s_%d", item->pkg_name, count++); - Evas_Object *widget = elm_label_add(evas_object_evas_get(widget_layout)); - elm_object_style_set(widget, "popup/default"); - evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(widget, number); - evas_object_color_set(widget, 0, 0, 255, 100); - evas_object_show(widget); + char number[1000]; + sprintf(number, "%s_%d", item->pkg_name, count++); + Evas_Object *widget = elm_label_add(evas_object_evas_get(widget_layout)); + elm_object_style_set(widget, "popup/default"); + evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_text_set(widget, number); + evas_object_color_set(widget, 0, 0, 255, 100); + evas_object_show(widget); - Ecore_Timer *timer = ecore_timer_add(1, __widget_viewer_test_timer_cb, widget); + Ecore_Timer *timer = ecore_timer_add(1, __widget_viewer_test_timer_cb, widget); #endif - elm_object_part_content_set(widget_layout, WIDGET_CONTENT, widget); + elm_object_part_content_set(widget_layout, WIDGET_CONTENT, widget); - elm_object_signal_callback_add(widget_layout, SIGNAL_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, __widget_viewer_delete_btn_clicked_cb, (void *)item); + elm_object_signal_callback_add(widget_layout, SIGNAL_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, __widget_viewer_delete_btn_clicked_cb, (void *)item); - evas_object_show(widget); - evas_object_show(widget_layout); + evas_object_show(widget); + evas_object_show(widget_layout); - return widget_layout; + return widget_layout; } static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - widget_data_t *item = (widget_data_t *)data; - cluster_data_delete(item); + widget_data_t *item = (widget_data_t *)data; + cluster_data_delete(item); } void widget_viewer_send_cancel_click_event(widget_data_t *widget) { - Evas_Object *widget_obj = NULL; - widget_obj = elm_object_part_content_get(widget->widget_layout, WIDGET_CONTENT); - widget_viewer_evas_cancel_click_event(widget_obj); + Evas_Object *widget_obj = NULL; + widget_obj = elm_object_part_content_get(widget->widget_layout, WIDGET_CONTENT); + widget_viewer_evas_cancel_click_event(widget_obj); } -- 2.7.4 From 4baa20280a7b04d079d0a94793c50eded758c36f Mon Sep 17 00:00:00 2001 From: "juhee,park" Date: Wed, 8 Jun 2016 16:03:43 +0900 Subject: [PATCH 02/16] TSAM-4105:All apps in homescreen do not translate when changing any language Signed-off-by: juhee,park Change-Id: I6124f3119ea47576e23524668b3c1c00a79a5234 --- inc/apps_data.h | 1 + inc/apps_package_manager.h | 3 +++ inc/apps_view.h | 3 +++ src/apps_data.c | 14 ++++++++++++++ src/apps_package_manager.c | 14 ++++++++++++++ src/apps_view.c | 16 ++++++++++++++++ src/homescreen-efl.c | 3 +++ 7 files changed, 54 insertions(+) diff --git a/inc/apps_data.h b/inc/apps_data.h index 288188b..ab68431 100755 --- a/inc/apps_data.h +++ b/inc/apps_data.h @@ -63,5 +63,6 @@ void apps_data_delete_item(app_data_t *item); void apps_data_delete_list(Eina_List *list); app_data_t *apps_data_find_item_by_index(int index); int apps_data_get_folder_item_count(app_data_t *folder); +void apps_data_update_item_label(void); #endif /* __APPS_DATA_H__ */ diff --git a/inc/apps_package_manager.h b/inc/apps_package_manager.h index 32879d5..0e44dbb 100755 --- a/inc/apps_package_manager.h +++ b/inc/apps_package_manager.h @@ -24,7 +24,10 @@ #include #include +#include "apps_data.h" + void apps_package_manager_init(); Eina_Bool apps_package_manger_get_list(Eina_List **list); +void apps_package_manager_update_label(const char *app_id, app_data_t *item); #endif /* __APPS_PACKAGE_MANAGER_H__ */ diff --git a/inc/apps_view.h b/inc/apps_view.h index 88036b3..977dee1 100755 --- a/inc/apps_view.h +++ b/inc/apps_view.h @@ -21,6 +21,7 @@ #include "view.h" #include "apps_data.h" +#include "homescreen-efl.h" Evas_Object *apps_view_create(Evas_Object *parent); void apps_view_init(void); @@ -45,5 +46,7 @@ bool apps_view_hw_home_key(void); bool apps_view_hw_back_key(void); view_state_t apps_view_get_state(void); void apps_view_set_state(view_state_t state); +void apps_view_update_label(app_data_t *item); +void apps_view_lang_changed(homescreen_view_t view_type); #endif /* __APPS_VIEW_H__ */ diff --git a/src/apps_data.c b/src/apps_data.c index a6b6cc0..bf2ccad 100755 --- a/src/apps_data.c +++ b/src/apps_data.c @@ -393,3 +393,17 @@ int apps_data_get_folder_item_count(app_data_t *folder) } return cnt; } + + +void apps_data_update_item_label(void) +{ + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (!item->is_folder) { + apps_package_manager_update_label(item->app_id, item); + apps_db_update(item); + apps_view_update_label(item); + } + } +} diff --git a/src/apps_package_manager.c b/src/apps_package_manager.c index 0fdbc5b..05b822c 100755 --- a/src/apps_package_manager.c +++ b/src/apps_package_manager.c @@ -185,6 +185,20 @@ ERROR: } +void apps_package_manager_update_label(const char *app_id, app_data_t *item) +{ + app_info_h app_info = NULL; + int ret = APP_MANAGER_ERROR_NONE; + app_manager_get_app_info(app_id, &app_info); + + if (item->label_str) + free(item->label_str); + ret = app_info_get_label(app_info, &item->label_str); + if (APP_MANAGER_ERROR_NONE != ret) { + LOGE("app_info_get_label return [%d] %s", ret, item->label_str); + } +} + static void __apps_package_manager_install(const char *package) { app_info_h app_info = NULL; diff --git a/src/apps_view.c b/src/apps_view.c index 2472cd1..5b590b8 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -515,6 +515,22 @@ bool apps_view_icon_set(app_data_t *item) return false; } +void apps_view_update_label(app_data_t *item) +{ + __apps_view__set_icon_label_style(item, apps_view_s.view_state); +} + +void apps_view_lang_changed(homescreen_view_t view_type) +{ + if (apps_view_s.opened_folder != NULL) { + __apps_view_close_folder_popup(apps_view_s.opened_folder); + } + if (view_type == HOMESCREEN_VIEW_APPS) { + apps_view_set_state(VIEW_STATE_NORMAL); + } + apps_data_update_item_label(); +} + static void __apps_view_create_base_gui(Evas_Object *win) { char edj_path[PATH_MAX] = {0, }; diff --git a/src/homescreen-efl.c b/src/homescreen-efl.c index 1b8feb8..7de19c5 100755 --- a/src/homescreen-efl.c +++ b/src/homescreen-efl.c @@ -26,6 +26,7 @@ #include "cluster_view.h" #include "hw_key.h" #include "view.h" +#include "menu.h" static struct { Evas_Object *win; @@ -72,6 +73,8 @@ static Eina_Bool __homescreen_efl_init_view(void *data); static void __homescreen_efl_lang_changed_cb(app_event_info_h event_info, void *user_data) { LOGD("called"); + menu_hide(); + apps_view_lang_changed(main_info.view_type); } static void __homescreen_efl_orient_changed_cb(app_event_info_h event_info, void *user_data) -- 2.7.4 From 25f11a629312db773cdb82199bd4d4903cc3d73d Mon Sep 17 00:00:00 2001 From: cskim Date: Wed, 8 Jun 2016 16:53:19 +0900 Subject: [PATCH 03/16] Fix Svace Defects(Error, Warnings) Remove .sign folder and ignore it with svace directory in git. Change-Id: If1ccf6339eeae8723f9ad941c50e8627efe437c7 --- .gitignore | 2 + .sign/.manifest.tmp | 95 ------- .sign/author-signature.xml | 430 ----------------------------- .sign/signature1.xml | 433 ------------------------------ src/add_widget_viewer/add_widget_viewer.c | 8 +- src/apps_package_manager.c | 7 +- src/apps_view.c | 29 +- src/cluster_data.c | 1 + src/widget_viewer.c | 2 +- 9 files changed, 31 insertions(+), 976 deletions(-) delete mode 100644 .sign/.manifest.tmp delete mode 100644 .sign/author-signature.xml delete mode 100644 .sign/signature1.xml diff --git a/.gitignore b/.gitignore index 65fa71e..813772b 100755 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ /Debug /SA_Report +.svace-dir +.sign diff --git a/.sign/.manifest.tmp b/.sign/.manifest.tmp deleted file mode 100644 index dead9c0..0000000 --- a/.sign/.manifest.tmp +++ /dev/null @@ -1,95 +0,0 @@ -bin/homescreen-efl__DEL__2bQyZdR+e7aZA2LJArWX+QjznWXcHXO2sjkckoKtWTE= -res/edje/add_widget_viewer.edj__DEL__WVuCE87r6Uhnl66QCW4dLyP14oUDuhlPnL255AipxA8= -res/edje/app_icon.edj__DEL__rOtWL2AxfqW96Wwkch+uDB+/3DNmFjzR6RWNaTn2HI0= -res/edje/apps_chooser_btn.edj__DEL__ft6uFlFwFCuZim+9EGDAUXsYd3Chl5oN22kt9563Qoc= -res/edje/apps_folder_icon.edj__DEL__HfUJDyWtwwyrwWfg3GMNJVFdUhQgFV5uk8H6ZWTCh3Y= -res/edje/apps_folder_popup.edj__DEL__NemFZXEB7HdOyX7tqY73NgbdekXidPmVuYfLP1g1x0g= -res/edje/apps_view.edj__DEL__x1m1yASDqi3xtE37FecJxGmv9dgKTq2kg1hzKmnr+24= -res/edje/apps_view_bg.edj__DEL__JHAfBFXpv7S+wXFHC+qN5E+aTgpaofr4ixMApxn0mp8= -res/edje/cluster_allpage.edj__DEL__5mFrg7kh/41OXDQSoHPjuJ32IzminUUlsTH8m4Prs3U= -res/edje/cluster_allpage_thumbnail.edj__DEL__Tjc7p5sS3R89AeuLrdipemku9hGhg02dyHu2eLoo4q4= -res/edje/cluster_page.edj__DEL__dSDcDYHetB628r52JWmKTxom2tqL1FP4inJhWsSopcA= -res/edje/home.edj__DEL__CYUtxYlsFmW9C54nDWSIbwr6kkR1BtgMHIJQgjk3RH4= -res/edje/home_btn.edj__DEL__RQ79phnrU52HqrCRonx0x23PuMwsO0H/+kGUJsS5xDY= -res/edje/page_indicator_unit.edj__DEL__c9v+iek1DlusuZNu12LvN73sUY/mSftiw5y29JXVUGw= -res/edje/widget.edj__DEL__6yc1tUF/pJkCMzQEj32/O+Yz7VV5LW82L0CY3bINmnA= -res/images/add_page_nor.png__DEL__hqnpwU7y0026fePoeHQUHiIsQkQkE6YMrEOLgWmi24s= -res/images/add_page_press.png__DEL__FeY8xIiCwRls8AYZLRxOVUNJqWCB85HWNvWcSibOOhE= -res/images/all_page_add.png__DEL__NaFgj2lXKUfBbZk4VmOeQamahPg7kXuwItRyeq8/bSY= -res/images/all_page_add_press.png__DEL__nN+eVeUdDmM7ZmWzctRbHQ0iGchd9tW87QWttAgq33c= -res/images/all_page_drag.png__DEL__QZcF6UVugz5DGrb237UpVkRFAfW7nGwFVw1wktOnNM8= -res/images/app_press_117.png__DEL__E0bg/oVwC1pn7GMC+aZdkXgJFEXghqC3BrLkLWgt9Ko= -res/images/btn_add_nor.png__DEL__yXmN6gPaInzPqMnnvZy6EGtYkGEG9yxPC29xjSSOZnw= -res/images/btn_add_press.png__DEL__Rp80WWmWlHdOMKUD28T+RwUiyKpO0W+ITPmDk0qgLLo= -res/images/btn_delete_nor.png__DEL__87nZJ0uJhX3Kx2dv6BMUmHDw/4xagceKslZ7bML7hvo= -res/images/btn_delete_press.png__DEL__y/oiTmwzPmU93wfx6D3bfCr5fKoc1IBSRmHvlpTEQtI= -res/images/core_check_bg.png__DEL__HCpFQAsWha3GigpGWrubNVXVShl0PT5o7LxsThAkhI0= -res/images/core_check_bg_stroke.png__DEL__5XLz72s6yi/KOjCLocZJ/WrWgwYlAlGxDvJO90k3JPM= -res/images/core_check_icon.png__DEL__rJzE+OVrzZm9HJFzeBi1+8FPano9ukrWB10nQV82m1o= -res/images/default_app_icon.png__DEL__Y9zRuA/OXInxUgtMSp1QJqrh999tKjpCQ7YPsMcF8Kk= -res/images/default_bg.png__DEL__0gUX7G8t9qf8/bUeaHc1qp9EXAT934YJ9dYS1wupGI4= -res/images/folder_appicon_bg.png__DEL__noOZYNOHHOiWJijd4qawld1rsQZ12oYwz7PsgZybiZ8= -res/images/folder_appicon_bg_impossible.png__DEL__zsCUAlXZcgZpTpvNM8pwzCCvzQxDtltJf7V6YA0DT4I= -res/images/folder_appicon_bg_possible.png__DEL__z5iytDrt/KDlOXhLpUdQYzzujZE6edmRR6lasSQewHw= -res/images/folder_appicon_empty_bg.png__DEL__IHPVIyyHM+Xr16lKSzHDDHqflN4mg4RLjaEKhSe4w7s= -res/images/folder_popup_bg.png__DEL__APqmJrt2ZwFNUC2PENUcmJ5cItcb+xkHI1KbVut6IsA= -res/images/home_button_apps.png__DEL__NpjsIH4S1p/IhdqXCsHoNKNILPtXfeAfzacXL+giMA4= -res/images/home_button_bg.png__DEL__gv8sVrOYti1vU2kcRO8xmD0KF8U1BsQ8xbXXCea5HDQ= -res/images/home_button_home.png__DEL__7SZnhNb1SQmaKs2YuWz9x8wxiG04DRVpr+ZqzMncM8s= -res/images/home_button_menu.png__DEL__buZftpza+NBOtEcuDVxbYeMZ/zDK0wFhnvpzpV02zu4= -res/images/icon_badge_container.png__DEL__jT49M8iXi1RBYngrDVZGYqunMNnGE2W9RCnqcJIU1WM= -res/images/page_indicator_current.png__DEL__HM+yEA7kUCEMRryHHz8v/ZQq645n2iarGYmWJK+MjkA= -res/images/page_indicator_unit.png__DEL__0c7mkvcdYnXZToRUScakcXFG8if7PQ5kCjJqbD0d5IM= -res/locale/ar/LC_MESSAGES/homescreen-efl.mo__DEL__ibnLSm8JGIo5UjVKQql8slRiGOWa82qiiJPJY5vuZek= -res/locale/az/LC_MESSAGES/homescreen-efl.mo__DEL__GzPOUx1zzTz6bhIuf8r9d7oXy/sV1nRXWKZ5btoVRPI= -res/locale/bg/LC_MESSAGES/homescreen-efl.mo__DEL__0S9duKaLJFBEXDZpVNKiapv7jRHNZ2YIdzrdgZZ0n7Y= -res/locale/ca/LC_MESSAGES/homescreen-efl.mo__DEL__iz/7dxAP0L4yBmJMByeowbhIEpucBqcK5GJacKtuJmU= -res/locale/cs/LC_MESSAGES/homescreen-efl.mo__DEL__tDeQdJ+xC98GlCKTApleYaH9HyxPyDfHt0g1Oj6QKTs= -res/locale/da/LC_MESSAGES/homescreen-efl.mo__DEL__A4lQ15pkmbb54FahN0njXRIA0nv95olfbX2zEUkMsRs= -res/locale/de/LC_MESSAGES/homescreen-efl.mo__DEL__c1Y2E3rFnvxwGaqWVzrqdxdx7u1ciELljaOcbSK6Ofk= -res/locale/el_GR/LC_MESSAGES/homescreen-efl.mo__DEL__+swN5kVV1P54WCjD50HrJokTyorUIo7BczsE9rMBtxI= -res/locale/en/LC_MESSAGES/homescreen-efl.mo__DEL__gu5LsFomEKn5zDthQ79Pq00l7lNTPwpWmfc8DGvCdNI= -res/locale/en_PH/LC_MESSAGES/homescreen-efl.mo__DEL__tXgXXEhmbLn0AxD/MWNw8mFAWBElGh2Pgmn4VjRiH6A= -res/locale/en_US/LC_MESSAGES/homescreen-efl.mo__DEL__pPmkr267A8TmCbznNyz7ngQXBG3Kq8X9nBWvo05qrqY= -res/locale/es_ES/LC_MESSAGES/homescreen-efl.mo__DEL__qkjALrQWoRk39CZdSoOg77SZhs3g6TOzDPauojV3s8c= -res/locale/es_US/LC_MESSAGES/homescreen-efl.mo__DEL__BMWnX1L36IlipJsskB76AAE3Ijq3k6O5W85syPDTGOw= -res/locale/et/LC_MESSAGES/homescreen-efl.mo__DEL__MEr/xeDQBlrRY3KZUWHrrwGIqOjOzcLM6gxWX07M5bc= -res/locale/eu/LC_MESSAGES/homescreen-efl.mo__DEL__sat+2O/zZMlEIQ6HZyWIS3E2RFC/C3h82p0jkiSfXR8= -res/locale/fi/LC_MESSAGES/homescreen-efl.mo__DEL__py2C9x3kxqwOQD/w0XfVwCij7UykPjfJcNpPaYrL/4o= -res/locale/fr/LC_MESSAGES/homescreen-efl.mo__DEL__3w7W8u64bBfu03NiAdPUZuTxQ69DykBj8J1oW2DjYn8= -res/locale/fr_CA/LC_MESSAGES/homescreen-efl.mo__DEL__Nvdus943mCM8IWbIseBnGtDKO33HqFtQfpKNQ5r5BXM= -res/locale/ga/LC_MESSAGES/homescreen-efl.mo__DEL__+niA3/OBbBtCIjmZG9tFcowLo32CnV44MnSnSCjrBqI= -res/locale/gl/LC_MESSAGES/homescreen-efl.mo__DEL__vGkr5Tlj9qSunxS9gO2KQm5IwxbxzD1bLW1qEzeWhsE= -res/locale/hi/LC_MESSAGES/homescreen-efl.mo__DEL__WpVjXKJ5C28pXq2nRFFpFozLB4yHuG14Hf66RJgdYvk= -res/locale/hr/LC_MESSAGES/homescreen-efl.mo__DEL__AHz+NWh8DdiZlhlpt6HWSP/V7OMPTsV58onsK+s7WuA= -res/locale/hu/LC_MESSAGES/homescreen-efl.mo__DEL__SrzqXXl2lHwQtmtQ+FlHLGmB2NTU71U894GWFMm4/PY= -res/locale/hy/LC_MESSAGES/homescreen-efl.mo__DEL__AZV+SSlvQXHMN6d/4YVNB5aUvPR0jFHo/SLHvm6oikA= -res/locale/is/LC_MESSAGES/homescreen-efl.mo__DEL__zh1QJJAZQpSJn26UNJumB87DT42bj/CWyurMpHg9Ynw= -res/locale/it_IT/LC_MESSAGES/homescreen-efl.mo__DEL__zoYrYjZG8DrwCJMHHc5Adf7CqGKMHsSeKn5P+eUiXWs= -res/locale/ja_JP/LC_MESSAGES/homescreen-efl.mo__DEL__68NceM+wgJTiDr9KLFNwKHEWokXmqZyYP8FcDu/I5XM= -res/locale/ka/LC_MESSAGES/homescreen-efl.mo__DEL__oXznH37kzPA8fB2mc0U1HA/LV3kZ4mslpvOdAaNfDRw= -res/locale/kk/LC_MESSAGES/homescreen-efl.mo__DEL__v7d3w1h5B+ZehwYWsVRELZY278R6rgDKPPeDA+Z+sOg= -res/locale/ko_KR/LC_MESSAGES/homescreen-efl.mo__DEL__q2CHGLpi9nuAAPPYsYGXHxJ6V0hb32KbXj8EqxlIjaA= -res/locale/lt/LC_MESSAGES/homescreen-efl.mo__DEL__h1CtHiv/VcyqBeUTQoju4K289eyR+9iLbvCNyRboQCI= -res/locale/lv/LC_MESSAGES/homescreen-efl.mo__DEL__HgRJYnB3rCmV6MYT93LVG4dIrTdUaJMUXHJ+U7Cr99Y= -res/locale/mk/LC_MESSAGES/homescreen-efl.mo__DEL__T7TTKYVEXjmGWVruFXlPeGI0WvRtWiHdbVVz2Qgd5Jw= -res/locale/nb/LC_MESSAGES/homescreen-efl.mo__DEL__edmzo3YuUKbxOlrfAWaZMDGvRFG7lV50nQJvtB+7X1Q= -res/locale/nl/LC_MESSAGES/homescreen-efl.mo__DEL__RWxv0Ow+mBFyuonGadQio/KDxzoY5K53VLZtqOiU7rs= -res/locale/pl/LC_MESSAGES/homescreen-efl.mo__DEL__stpxGiwDfSseoI5lpKWEH1jaPbmH8pRpG4n1nsVau4Y= -res/locale/pt_BR/LC_MESSAGES/homescreen-efl.mo__DEL__ECccZWVv5eiiVH8ukv3GAps1GjQf+FjAQbxJIqnxoX8= -res/locale/pt_PT/LC_MESSAGES/homescreen-efl.mo__DEL__TqFfxXKPwFxR9GrOoBg21CK/3gucGfZfNEc2UBO4Bgk= -res/locale/ro/LC_MESSAGES/homescreen-efl.mo__DEL__y0MNvjYNAAkXjeb5RtRxHjK630n9flnXSL7Cgl+NtGA= -res/locale/ru_RU/LC_MESSAGES/homescreen-efl.mo__DEL__pgTvV2t3cHsfRDHzgSqfIeFlgAb1IUx0U6WVxpPAxlU= -res/locale/sk/LC_MESSAGES/homescreen-efl.mo__DEL__cDWKpiXOL6/ed7abaGpzMy15NreKea3F/nA2qOTeWUQ= -res/locale/sl/LC_MESSAGES/homescreen-efl.mo__DEL__wlHFqnDo90H+cbQCSP3XJZbdwHd8jP/wQybabH0AMio= -res/locale/sr/LC_MESSAGES/homescreen-efl.mo__DEL__ZSDkTPRPOtRRTGPJfc17ajNRQ7L8KNq6PgywcU/NVrk= -res/locale/sv/LC_MESSAGES/homescreen-efl.mo__DEL__nsZDxMADpomu7OdG/bD/H0zvU549EdrX9C7NL4PYH+w= -res/locale/tr_TR/LC_MESSAGES/homescreen-efl.mo__DEL__pYKJbx3F3gp+pYo+qfULyifxu7bQK4uZ9TPH+gStk2o= -res/locale/uk/LC_MESSAGES/homescreen-efl.mo__DEL__AFzXVJVlIdnLBTiWPsX5KoH4CwxY8nAvqU40HWePpbc= -res/locale/uz/LC_MESSAGES/homescreen-efl.mo__DEL__RHOh/MQmFdqEgQAjg4fCwfZH8NqIkQV7bUMy0Jo/qf4= -res/locale/zh_CN/LC_MESSAGES/homescreen-efl.mo__DEL__RIZ1KIFfGF2e+0IkBlDIut/N5Y8JlVuOdHuEhVoNpV4= -res/locale/zh_HK/LC_MESSAGES/homescreen-efl.mo__DEL__XbmoPGvpjZD09qMkipbn/N/GNg/T74qcAmfZ09aTVIM= -res/locale/zh_TW/LC_MESSAGES/homescreen-efl.mo__DEL__oV3fIhDtXRMBjVuLETwBwYVDwiCHWvpDVpgtektLlM4= -shared/res/homescreen-efl.png__DEL__1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs= -tizen-manifest.xml__DEL__h4EjwXZOHtndaFT2qpZoLKMnGk4zNFA+q12iBS78pK4= -author-signature.xml__DEL__4q3PBx0HUQUvwJI8vryFCEpk+uO2ZYtaCvetVRqA6kI= diff --git a/.sign/author-signature.xml b/.sign/author-signature.xml deleted file mode 100644 index 0cdac69..0000000 --- a/.sign/author-signature.xml +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - -2bQyZdR+e7aZA2LJArWX+QjznWXcHXO2sjkckoKtWTE= - - - -WVuCE87r6Uhnl66QCW4dLyP14oUDuhlPnL255AipxA8= - - - -rOtWL2AxfqW96Wwkch+uDB+/3DNmFjzR6RWNaTn2HI0= - - - -ft6uFlFwFCuZim+9EGDAUXsYd3Chl5oN22kt9563Qoc= - - - -HfUJDyWtwwyrwWfg3GMNJVFdUhQgFV5uk8H6ZWTCh3Y= - - - -NemFZXEB7HdOyX7tqY73NgbdekXidPmVuYfLP1g1x0g= - - - -x1m1yASDqi3xtE37FecJxGmv9dgKTq2kg1hzKmnr+24= - - - -JHAfBFXpv7S+wXFHC+qN5E+aTgpaofr4ixMApxn0mp8= - - - -5mFrg7kh/41OXDQSoHPjuJ32IzminUUlsTH8m4Prs3U= - - - -Tjc7p5sS3R89AeuLrdipemku9hGhg02dyHu2eLoo4q4= - - - -dSDcDYHetB628r52JWmKTxom2tqL1FP4inJhWsSopcA= - - - -CYUtxYlsFmW9C54nDWSIbwr6kkR1BtgMHIJQgjk3RH4= - - - -RQ79phnrU52HqrCRonx0x23PuMwsO0H/+kGUJsS5xDY= - - - -c9v+iek1DlusuZNu12LvN73sUY/mSftiw5y29JXVUGw= - - - -6yc1tUF/pJkCMzQEj32/O+Yz7VV5LW82L0CY3bINmnA= - - - -hqnpwU7y0026fePoeHQUHiIsQkQkE6YMrEOLgWmi24s= - - - -FeY8xIiCwRls8AYZLRxOVUNJqWCB85HWNvWcSibOOhE= - - - -NaFgj2lXKUfBbZk4VmOeQamahPg7kXuwItRyeq8/bSY= - - - -nN+eVeUdDmM7ZmWzctRbHQ0iGchd9tW87QWttAgq33c= - - - -QZcF6UVugz5DGrb237UpVkRFAfW7nGwFVw1wktOnNM8= - - - -E0bg/oVwC1pn7GMC+aZdkXgJFEXghqC3BrLkLWgt9Ko= - - - -yXmN6gPaInzPqMnnvZy6EGtYkGEG9yxPC29xjSSOZnw= - - - -Rp80WWmWlHdOMKUD28T+RwUiyKpO0W+ITPmDk0qgLLo= - - - -87nZJ0uJhX3Kx2dv6BMUmHDw/4xagceKslZ7bML7hvo= - - - -y/oiTmwzPmU93wfx6D3bfCr5fKoc1IBSRmHvlpTEQtI= - - - -HCpFQAsWha3GigpGWrubNVXVShl0PT5o7LxsThAkhI0= - - - -5XLz72s6yi/KOjCLocZJ/WrWgwYlAlGxDvJO90k3JPM= - - - -rJzE+OVrzZm9HJFzeBi1+8FPano9ukrWB10nQV82m1o= - - - -Y9zRuA/OXInxUgtMSp1QJqrh999tKjpCQ7YPsMcF8Kk= - - - -0gUX7G8t9qf8/bUeaHc1qp9EXAT934YJ9dYS1wupGI4= - - - -noOZYNOHHOiWJijd4qawld1rsQZ12oYwz7PsgZybiZ8= - - - -zsCUAlXZcgZpTpvNM8pwzCCvzQxDtltJf7V6YA0DT4I= - - - -z5iytDrt/KDlOXhLpUdQYzzujZE6edmRR6lasSQewHw= - - - -IHPVIyyHM+Xr16lKSzHDDHqflN4mg4RLjaEKhSe4w7s= - - - -APqmJrt2ZwFNUC2PENUcmJ5cItcb+xkHI1KbVut6IsA= - - - -NpjsIH4S1p/IhdqXCsHoNKNILPtXfeAfzacXL+giMA4= - - - -gv8sVrOYti1vU2kcRO8xmD0KF8U1BsQ8xbXXCea5HDQ= - - - -7SZnhNb1SQmaKs2YuWz9x8wxiG04DRVpr+ZqzMncM8s= - - - -buZftpza+NBOtEcuDVxbYeMZ/zDK0wFhnvpzpV02zu4= - - - -jT49M8iXi1RBYngrDVZGYqunMNnGE2W9RCnqcJIU1WM= - - - -HM+yEA7kUCEMRryHHz8v/ZQq645n2iarGYmWJK+MjkA= - - - -0c7mkvcdYnXZToRUScakcXFG8if7PQ5kCjJqbD0d5IM= - - - -ibnLSm8JGIo5UjVKQql8slRiGOWa82qiiJPJY5vuZek= - - - -GzPOUx1zzTz6bhIuf8r9d7oXy/sV1nRXWKZ5btoVRPI= - - - -0S9duKaLJFBEXDZpVNKiapv7jRHNZ2YIdzrdgZZ0n7Y= - - - -iz/7dxAP0L4yBmJMByeowbhIEpucBqcK5GJacKtuJmU= - - - -tDeQdJ+xC98GlCKTApleYaH9HyxPyDfHt0g1Oj6QKTs= - - - -A4lQ15pkmbb54FahN0njXRIA0nv95olfbX2zEUkMsRs= - - - -c1Y2E3rFnvxwGaqWVzrqdxdx7u1ciELljaOcbSK6Ofk= - - - -+swN5kVV1P54WCjD50HrJokTyorUIo7BczsE9rMBtxI= - - - -gu5LsFomEKn5zDthQ79Pq00l7lNTPwpWmfc8DGvCdNI= - - - -tXgXXEhmbLn0AxD/MWNw8mFAWBElGh2Pgmn4VjRiH6A= - - - -pPmkr267A8TmCbznNyz7ngQXBG3Kq8X9nBWvo05qrqY= - - - -qkjALrQWoRk39CZdSoOg77SZhs3g6TOzDPauojV3s8c= - - - -BMWnX1L36IlipJsskB76AAE3Ijq3k6O5W85syPDTGOw= - - - -MEr/xeDQBlrRY3KZUWHrrwGIqOjOzcLM6gxWX07M5bc= - - - -sat+2O/zZMlEIQ6HZyWIS3E2RFC/C3h82p0jkiSfXR8= - - - -py2C9x3kxqwOQD/w0XfVwCij7UykPjfJcNpPaYrL/4o= - - - -3w7W8u64bBfu03NiAdPUZuTxQ69DykBj8J1oW2DjYn8= - - - -Nvdus943mCM8IWbIseBnGtDKO33HqFtQfpKNQ5r5BXM= - - - -+niA3/OBbBtCIjmZG9tFcowLo32CnV44MnSnSCjrBqI= - - - -vGkr5Tlj9qSunxS9gO2KQm5IwxbxzD1bLW1qEzeWhsE= - - - -WpVjXKJ5C28pXq2nRFFpFozLB4yHuG14Hf66RJgdYvk= - - - -AHz+NWh8DdiZlhlpt6HWSP/V7OMPTsV58onsK+s7WuA= - - - -SrzqXXl2lHwQtmtQ+FlHLGmB2NTU71U894GWFMm4/PY= - - - -AZV+SSlvQXHMN6d/4YVNB5aUvPR0jFHo/SLHvm6oikA= - - - -zh1QJJAZQpSJn26UNJumB87DT42bj/CWyurMpHg9Ynw= - - - -zoYrYjZG8DrwCJMHHc5Adf7CqGKMHsSeKn5P+eUiXWs= - - - -68NceM+wgJTiDr9KLFNwKHEWokXmqZyYP8FcDu/I5XM= - - - -oXznH37kzPA8fB2mc0U1HA/LV3kZ4mslpvOdAaNfDRw= - - - -v7d3w1h5B+ZehwYWsVRELZY278R6rgDKPPeDA+Z+sOg= - - - -q2CHGLpi9nuAAPPYsYGXHxJ6V0hb32KbXj8EqxlIjaA= - - - -h1CtHiv/VcyqBeUTQoju4K289eyR+9iLbvCNyRboQCI= - - - -HgRJYnB3rCmV6MYT93LVG4dIrTdUaJMUXHJ+U7Cr99Y= - - - -T7TTKYVEXjmGWVruFXlPeGI0WvRtWiHdbVVz2Qgd5Jw= - - - -edmzo3YuUKbxOlrfAWaZMDGvRFG7lV50nQJvtB+7X1Q= - - - -RWxv0Ow+mBFyuonGadQio/KDxzoY5K53VLZtqOiU7rs= - - - -stpxGiwDfSseoI5lpKWEH1jaPbmH8pRpG4n1nsVau4Y= - - - -ECccZWVv5eiiVH8ukv3GAps1GjQf+FjAQbxJIqnxoX8= - - - -TqFfxXKPwFxR9GrOoBg21CK/3gucGfZfNEc2UBO4Bgk= - - - -y0MNvjYNAAkXjeb5RtRxHjK630n9flnXSL7Cgl+NtGA= - - - -pgTvV2t3cHsfRDHzgSqfIeFlgAb1IUx0U6WVxpPAxlU= - - - -cDWKpiXOL6/ed7abaGpzMy15NreKea3F/nA2qOTeWUQ= - - - -wlHFqnDo90H+cbQCSP3XJZbdwHd8jP/wQybabH0AMio= - - - -ZSDkTPRPOtRRTGPJfc17ajNRQ7L8KNq6PgywcU/NVrk= - - - -nsZDxMADpomu7OdG/bD/H0zvU549EdrX9C7NL4PYH+w= - - - -pYKJbx3F3gp+pYo+qfULyifxu7bQK4uZ9TPH+gStk2o= - - - -AFzXVJVlIdnLBTiWPsX5KoH4CwxY8nAvqU40HWePpbc= - - - -RHOh/MQmFdqEgQAjg4fCwfZH8NqIkQV7bUMy0Jo/qf4= - - - -RIZ1KIFfGF2e+0IkBlDIut/N5Y8JlVuOdHuEhVoNpV4= - - - -XbmoPGvpjZD09qMkipbn/N/GNg/T74qcAmfZ09aTVIM= - - - -oV3fIhDtXRMBjVuLETwBwYVDwiCHWvpDVpgtektLlM4= - - - -1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs= - - - -h4EjwXZOHtndaFT2qpZoLKMnGk4zNFA+q12iBS78pK4= - - - - - - -lpo8tUDs054eLlBQXiDPVDVKfw30ZZdtkRs1jd7H5K8= - - - -L3+ROfTa/630v48AAqEpYCbArvO764GkHhFtq/whERmMVO6JdxcNNZTSw+jrTHtzbujs9cc8peGd -ZZEfvbmlGoEheHNpcppw+93GdvA31Y234X6R6RSjxQ7mt8B0xBiJH28lMjpTwrOJD66EL6cujf42 -hAYIFDgsJ35hu6PmnW4= - - - - -MIICmzCCAYOgAwIBAgIGAT8T+Ms5MA0GCSqGSIb3DQEBBQUAMFYxGjAYBgNVBAoMEVRpemVuIEFz -c29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4gRGV2 -ZWxvcGVycyBDQTAeFw0xMjExMDEwMDAwMDBaFw0xOTAxMDEwMDAwMDBaMBcxFTATBgNVBAMMDHRp -emVuX2F1dGhvcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAssi+tZOAmBSLiy8JTOk7gXrk -Nlg8Jq+O+4yd14a407BTbmp9r4qfNlUKLpYRL0TyU84XUWrLHHXe9aO2G223v/DUz3f182W5JWK0 -HvHt0vYcBycOBkXCc5y26funq7qhEgC9e1NNxIc1mFYD0jJiRNJgxIRCw33Ca/8qdGPY1K8CAwEA -AaMyMDAwDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwDQYJ -KoZIhvcNAQEFBQADggEBAJweqlVjN2GHF01jlE1HfZNFJ5Y7Ye+NagJnNdj6iVOPGP9J9PVOmllB -8S8pon1fUXPvrHFe8gNFg1klLMJaPbeDQM+UiPWn80A+8e4gJpHz+E9on2ZYkEBCZHOXSxxzaS7D -0bwj3eotbpY/duepn3U91fcLcnoehO3oe4pawrC6AObRjqY/Sh9I4j8btHFxRRVpsa7VkSg/5JB4 -2jfKlJ2otI8bYYuOiYeZC2ody9PsHzlqmqlo+J68RlxAemPMovRqGeK0XDqJEt7dJEzknQmp0732 -fhAZNyXVlukjdR8+3+f1J5vu4MEqT/7aLXLOwLN/qgUfCBA2YQ/YqMJvf9Y= - - -MIIDOTCCAiGgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMRowGAYDVQQKDBFUaXplbiBBc3NvY2lh -dGlvbjEaMBgGA1UECwwRVGl6ZW4gQXNzb2NpYXRpb24xHjAcBgNVBAMMFVRpemVuIERldmVsb3Bl -cnMgUm9vdDAeFw0xMjAxMDEwMDAwMDBaFw0yNzAxMDEwMDAwMDBaMFYxGjAYBgNVBAoMEVRpemVu -IEFzc29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4g -RGV2ZWxvcGVycyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANVGhRGmMIUyBA7o -PCz8Sxut6z6HNkF4oDIuzuKaMzRYPeWodwe9O0gmqAkToQHfwg2giRhE5GoPld0fq+OYMMwSasCu -g8dwODx1eDeSYVuOLWRxpAmbTXOsSFi6VoWeyaPEm18JBHvZBsU5YQtgZ6Kp7MqzvQg3pXOxtajj -vyHxiatJl+xXrHgcXC1wgyG3buty7u/Fi2mvKXJ0PRJcCjjK81dqe/Vr20sRUCrbk02zbm5ggFt/ -jIEhV8wbFRQpliobc7J4dSTKhFfrqGM8rdd54LYhD7gSI1CFSe16pUXfcVR7FhJztRaiGLnCrwBE -dyTZ248+D4L/qR/D0axb3jcCAwEAAaMQMA4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOC -AQEAnOXXQ/1O/QTDHyrmQDtFziqPY3xWlJBqJtEqXiT7Y+Ljpe66e+Ee/OjQMlZe8gu21/8cKklH -95RxjopMWCVedXDUbWdvS2+CdyvVW/quT2E0tjqIzXDekUTYwwhlPWlGxvfj3VsxqSFq3p8Brl04 -1Gx5RKAGyKVsMfTLhbbwSWwApuBUxYfcNpKwLWGPXkysu+HctY03OKv4/xKBnVWiN8ex/Sgesi0M -+OBAOMdZMPK32uJBTeKFx1xZgTLIhk45V0hPOomPjZloiv0LSS11eyd451ufjW0iHRE7WlpR6EvI -W6TFyZgMpQq+kg4hWl2SBTf3s2VI8Ygz7gj8TMlClg== - - - - - \ No newline at end of file diff --git a/.sign/signature1.xml b/.sign/signature1.xml deleted file mode 100644 index 4546295..0000000 --- a/.sign/signature1.xml +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - -4q3PBx0HUQUvwJI8vryFCEpk+uO2ZYtaCvetVRqA6kI= - - - -2bQyZdR+e7aZA2LJArWX+QjznWXcHXO2sjkckoKtWTE= - - - -WVuCE87r6Uhnl66QCW4dLyP14oUDuhlPnL255AipxA8= - - - -rOtWL2AxfqW96Wwkch+uDB+/3DNmFjzR6RWNaTn2HI0= - - - -ft6uFlFwFCuZim+9EGDAUXsYd3Chl5oN22kt9563Qoc= - - - -HfUJDyWtwwyrwWfg3GMNJVFdUhQgFV5uk8H6ZWTCh3Y= - - - -NemFZXEB7HdOyX7tqY73NgbdekXidPmVuYfLP1g1x0g= - - - -x1m1yASDqi3xtE37FecJxGmv9dgKTq2kg1hzKmnr+24= - - - -JHAfBFXpv7S+wXFHC+qN5E+aTgpaofr4ixMApxn0mp8= - - - -5mFrg7kh/41OXDQSoHPjuJ32IzminUUlsTH8m4Prs3U= - - - -Tjc7p5sS3R89AeuLrdipemku9hGhg02dyHu2eLoo4q4= - - - -dSDcDYHetB628r52JWmKTxom2tqL1FP4inJhWsSopcA= - - - -CYUtxYlsFmW9C54nDWSIbwr6kkR1BtgMHIJQgjk3RH4= - - - -RQ79phnrU52HqrCRonx0x23PuMwsO0H/+kGUJsS5xDY= - - - -c9v+iek1DlusuZNu12LvN73sUY/mSftiw5y29JXVUGw= - - - -6yc1tUF/pJkCMzQEj32/O+Yz7VV5LW82L0CY3bINmnA= - - - -hqnpwU7y0026fePoeHQUHiIsQkQkE6YMrEOLgWmi24s= - - - -FeY8xIiCwRls8AYZLRxOVUNJqWCB85HWNvWcSibOOhE= - - - -NaFgj2lXKUfBbZk4VmOeQamahPg7kXuwItRyeq8/bSY= - - - -nN+eVeUdDmM7ZmWzctRbHQ0iGchd9tW87QWttAgq33c= - - - -QZcF6UVugz5DGrb237UpVkRFAfW7nGwFVw1wktOnNM8= - - - -E0bg/oVwC1pn7GMC+aZdkXgJFEXghqC3BrLkLWgt9Ko= - - - -yXmN6gPaInzPqMnnvZy6EGtYkGEG9yxPC29xjSSOZnw= - - - -Rp80WWmWlHdOMKUD28T+RwUiyKpO0W+ITPmDk0qgLLo= - - - -87nZJ0uJhX3Kx2dv6BMUmHDw/4xagceKslZ7bML7hvo= - - - -y/oiTmwzPmU93wfx6D3bfCr5fKoc1IBSRmHvlpTEQtI= - - - -HCpFQAsWha3GigpGWrubNVXVShl0PT5o7LxsThAkhI0= - - - -5XLz72s6yi/KOjCLocZJ/WrWgwYlAlGxDvJO90k3JPM= - - - -rJzE+OVrzZm9HJFzeBi1+8FPano9ukrWB10nQV82m1o= - - - -Y9zRuA/OXInxUgtMSp1QJqrh999tKjpCQ7YPsMcF8Kk= - - - -0gUX7G8t9qf8/bUeaHc1qp9EXAT934YJ9dYS1wupGI4= - - - -noOZYNOHHOiWJijd4qawld1rsQZ12oYwz7PsgZybiZ8= - - - -zsCUAlXZcgZpTpvNM8pwzCCvzQxDtltJf7V6YA0DT4I= - - - -z5iytDrt/KDlOXhLpUdQYzzujZE6edmRR6lasSQewHw= - - - -IHPVIyyHM+Xr16lKSzHDDHqflN4mg4RLjaEKhSe4w7s= - - - -APqmJrt2ZwFNUC2PENUcmJ5cItcb+xkHI1KbVut6IsA= - - - -NpjsIH4S1p/IhdqXCsHoNKNILPtXfeAfzacXL+giMA4= - - - -gv8sVrOYti1vU2kcRO8xmD0KF8U1BsQ8xbXXCea5HDQ= - - - -7SZnhNb1SQmaKs2YuWz9x8wxiG04DRVpr+ZqzMncM8s= - - - -buZftpza+NBOtEcuDVxbYeMZ/zDK0wFhnvpzpV02zu4= - - - -jT49M8iXi1RBYngrDVZGYqunMNnGE2W9RCnqcJIU1WM= - - - -HM+yEA7kUCEMRryHHz8v/ZQq645n2iarGYmWJK+MjkA= - - - -0c7mkvcdYnXZToRUScakcXFG8if7PQ5kCjJqbD0d5IM= - - - -ibnLSm8JGIo5UjVKQql8slRiGOWa82qiiJPJY5vuZek= - - - -GzPOUx1zzTz6bhIuf8r9d7oXy/sV1nRXWKZ5btoVRPI= - - - -0S9duKaLJFBEXDZpVNKiapv7jRHNZ2YIdzrdgZZ0n7Y= - - - -iz/7dxAP0L4yBmJMByeowbhIEpucBqcK5GJacKtuJmU= - - - -tDeQdJ+xC98GlCKTApleYaH9HyxPyDfHt0g1Oj6QKTs= - - - -A4lQ15pkmbb54FahN0njXRIA0nv95olfbX2zEUkMsRs= - - - -c1Y2E3rFnvxwGaqWVzrqdxdx7u1ciELljaOcbSK6Ofk= - - - -+swN5kVV1P54WCjD50HrJokTyorUIo7BczsE9rMBtxI= - - - -gu5LsFomEKn5zDthQ79Pq00l7lNTPwpWmfc8DGvCdNI= - - - -tXgXXEhmbLn0AxD/MWNw8mFAWBElGh2Pgmn4VjRiH6A= - - - -pPmkr267A8TmCbznNyz7ngQXBG3Kq8X9nBWvo05qrqY= - - - -qkjALrQWoRk39CZdSoOg77SZhs3g6TOzDPauojV3s8c= - - - -BMWnX1L36IlipJsskB76AAE3Ijq3k6O5W85syPDTGOw= - - - -MEr/xeDQBlrRY3KZUWHrrwGIqOjOzcLM6gxWX07M5bc= - - - -sat+2O/zZMlEIQ6HZyWIS3E2RFC/C3h82p0jkiSfXR8= - - - -py2C9x3kxqwOQD/w0XfVwCij7UykPjfJcNpPaYrL/4o= - - - -3w7W8u64bBfu03NiAdPUZuTxQ69DykBj8J1oW2DjYn8= - - - -Nvdus943mCM8IWbIseBnGtDKO33HqFtQfpKNQ5r5BXM= - - - -+niA3/OBbBtCIjmZG9tFcowLo32CnV44MnSnSCjrBqI= - - - -vGkr5Tlj9qSunxS9gO2KQm5IwxbxzD1bLW1qEzeWhsE= - - - -WpVjXKJ5C28pXq2nRFFpFozLB4yHuG14Hf66RJgdYvk= - - - -AHz+NWh8DdiZlhlpt6HWSP/V7OMPTsV58onsK+s7WuA= - - - -SrzqXXl2lHwQtmtQ+FlHLGmB2NTU71U894GWFMm4/PY= - - - -AZV+SSlvQXHMN6d/4YVNB5aUvPR0jFHo/SLHvm6oikA= - - - -zh1QJJAZQpSJn26UNJumB87DT42bj/CWyurMpHg9Ynw= - - - -zoYrYjZG8DrwCJMHHc5Adf7CqGKMHsSeKn5P+eUiXWs= - - - -68NceM+wgJTiDr9KLFNwKHEWokXmqZyYP8FcDu/I5XM= - - - -oXznH37kzPA8fB2mc0U1HA/LV3kZ4mslpvOdAaNfDRw= - - - -v7d3w1h5B+ZehwYWsVRELZY278R6rgDKPPeDA+Z+sOg= - - - -q2CHGLpi9nuAAPPYsYGXHxJ6V0hb32KbXj8EqxlIjaA= - - - -h1CtHiv/VcyqBeUTQoju4K289eyR+9iLbvCNyRboQCI= - - - -HgRJYnB3rCmV6MYT93LVG4dIrTdUaJMUXHJ+U7Cr99Y= - - - -T7TTKYVEXjmGWVruFXlPeGI0WvRtWiHdbVVz2Qgd5Jw= - - - -edmzo3YuUKbxOlrfAWaZMDGvRFG7lV50nQJvtB+7X1Q= - - - -RWxv0Ow+mBFyuonGadQio/KDxzoY5K53VLZtqOiU7rs= - - - -stpxGiwDfSseoI5lpKWEH1jaPbmH8pRpG4n1nsVau4Y= - - - -ECccZWVv5eiiVH8ukv3GAps1GjQf+FjAQbxJIqnxoX8= - - - -TqFfxXKPwFxR9GrOoBg21CK/3gucGfZfNEc2UBO4Bgk= - - - -y0MNvjYNAAkXjeb5RtRxHjK630n9flnXSL7Cgl+NtGA= - - - -pgTvV2t3cHsfRDHzgSqfIeFlgAb1IUx0U6WVxpPAxlU= - - - -cDWKpiXOL6/ed7abaGpzMy15NreKea3F/nA2qOTeWUQ= - - - -wlHFqnDo90H+cbQCSP3XJZbdwHd8jP/wQybabH0AMio= - - - -ZSDkTPRPOtRRTGPJfc17ajNRQ7L8KNq6PgywcU/NVrk= - - - -nsZDxMADpomu7OdG/bD/H0zvU549EdrX9C7NL4PYH+w= - - - -pYKJbx3F3gp+pYo+qfULyifxu7bQK4uZ9TPH+gStk2o= - - - -AFzXVJVlIdnLBTiWPsX5KoH4CwxY8nAvqU40HWePpbc= - - - -RHOh/MQmFdqEgQAjg4fCwfZH8NqIkQV7bUMy0Jo/qf4= - - - -RIZ1KIFfGF2e+0IkBlDIut/N5Y8JlVuOdHuEhVoNpV4= - - - -XbmoPGvpjZD09qMkipbn/N/GNg/T74qcAmfZ09aTVIM= - - - -oV3fIhDtXRMBjVuLETwBwYVDwiCHWvpDVpgtektLlM4= - - - -1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs= - - - -h4EjwXZOHtndaFT2qpZoLKMnGk4zNFA+q12iBS78pK4= - - - - - - -u/jU3U4Zm5ihTMSjKGlGYbWzDfRkGphPPHx3gJIYEJ4= - - - -pnRU+eZVsqYLIkU6nOntCBZXBKn+Z7OZ9AUS3g0Truj6SQIjKwqihYlTZ0uhBJd+3ONv0h4V11mU -GPcm9SNCSWa0ASFhmNm2fSQIBShDt8RvUmrM6iD01eyCXfZLRZml7QfwmgjZwBIXn/5avE1aN3jF -4pxjhuVMUyBYXRbyC8o= - - - - -MIICtzCCAiACCQCX7BAlwjllkTANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCS1IxDjAMBgNV -BAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwNVGl6ZW4gVGVzdCBDQTEiMCAGA1UE -CwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEyMDAGA1UEAwwpVGl6ZW4gUGFydG5lci1NYW51 -ZmFjdHVyZXIgRGlzdHJpYnV0b3IgQ0EwHhcNMTIxMjEzMDU0NDI3WhcNMjIxMjExMDU0NDI3WjCB -oTELMAkGA1UEBhMCS1IxDjAMBgNVBAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwN -VGl6ZW4gVGVzdCBDQTEiMCAGA1UECwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTE2MDQGA1UE -AwwtVGl6ZW4gUGFydG5lci1NYW51ZmFjdHVyZXIgRGlzdHJpYnV0b3IgU2lnbmVyMIGfMA0GCSqG -SIb3DQEBAQUAA4GNADCBiQKBgQC2O0i2ou9Pa8KI+RVu6/1QAMichy8YqDtpM4cogiX+tYfafN/v -4l7q9sQdotaFPLWPR1HNtG6O6SKWZmM/Hp2U+S3vDeylEhex/IopWF9RZMPJFyKr9bJnlzTqiZuz -qItlXOZZBHhUL73v6OxqYg2BsA88jLtCoZWVAkoKDX93ZQIDAQABMA0GCSqGSIb3DQEBBQUAA4GB -AJ5vn+dEhnZFuRdIMUt8TwQzXSxPMqNmR8+fcwwzAacxeOTgeK1C+DqE31vead/c8CVDMurZHQbs -qH/Ala6FomTm1q0uuM3Ll2qZaPkI3qr+h37YD4AI5scyIlP7ppApcdPRSkDgqfXkika62Q9M0+MN -nxl8+AvEukgC6qcd90oL - - -MIICzzCCAjigAwIBAgIJAMNp1nbwir4GMA0GCSqGSIb3DQEBBQUAMIGiMQswCQYDVQQGEwJLUjEO -MAwGA1UECAwFU3V3b24xDjAMBgNVBAcMBVN1d29uMRYwFAYDVQQKDA1UaXplbiBUZXN0IENBMSIw -IAYDVQQLDBlUaXplbiBEaXN0cmlidXRvciBUZXN0IENBMTcwNQYDVQQDDC5UaXplbiBQYXJ0bmVy -LU1hbnVmYWN0dXJlciBEaXN0cmlidXRvciBSb290IENBMB4XDTEyMTIxMzA1NDQyMFoXDTIyMTIx -MTA1NDQyMFowgZ0xCzAJBgNVBAYTAktSMQ4wDAYDVQQIDAVTdXdvbjEOMAwGA1UEBwwFU3V3b24x -FjAUBgNVBAoMDVRpemVuIFRlc3QgQ0ExIjAgBgNVBAsMGVRpemVuIERpc3RyaWJ1dG9yIFRlc3Qg -Q0ExMjAwBgNVBAMMKVRpemVuIFBhcnRuZXItTWFudWZhY3R1cmVyIERpc3RyaWJ1dG9yIENBMIGf -MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMni4Qmv96ww/De92kYhtzpas7viwyYoFTTuvcmayD -FBuDoaHqrSDsrb9M7qrR4N9higg1mT8a9J8CUhPLKhlifK9OwyQsZS+8xVfPfogIJ3wumfjLl5zi -nqpkSe2ernxOTU+PB5lWU8toKbnJO3+jchm14DjCQ4ZoqG26qbG5pQIDAQABoxAwDjAMBgNVHRME -BTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAA9lsDyArDR9balTfqrjN241nVqyLqPOP+MFRjGWrIlI -yLDcw2/L9hxguD8XhgAanaQUzS06XM6BajDjcSiJrohjoMFkB09M+r5fVkrhkT29oABsKXO87+p8 -JbbbIfdwMUrAjXsrjMUzJ3J6fn86/dn/PcuMAkCgrD069IzpE8NM - - - - - \ No newline at end of file diff --git a/src/add_widget_viewer/add_widget_viewer.c b/src/add_widget_viewer/add_widget_viewer.c index 029a1ff..bd2acc8 100755 --- a/src/add_widget_viewer/add_widget_viewer.c +++ b/src/add_widget_viewer/add_widget_viewer.c @@ -476,8 +476,6 @@ static Evas_Object *__add_widget_viewer_list_widget_box_create(Evas_Object *obj, static Evas_Object *__add_widget_viewer_list_widget_preview_box_create(Evas_Object *main_box, add_widget_data_t *widget, add_widget_data_preview_t *preview) { - LOGD("Create preview: type->%d path->%s", preview->type, preview->path); - Evas_Object *preview_layout = NULL; Evas_Object *preview_img = NULL; int w = 0, h = 0; @@ -488,6 +486,8 @@ static Evas_Object *__add_widget_viewer_list_widget_preview_box_create(Evas_Obje return NULL; } + LOGD("Create preview: type->%d path->%s", preview->type, preview->path); + preview_layout = elm_layout_add(main_box); if (!preview_layout) { LOGE("Can not create preview layout"); @@ -537,6 +537,8 @@ static Evas_Object *__add_widget_viewer_list_widget_preview_box_create(Evas_Obje if (!preview_img) { LOGE("Can not create image object"); evas_object_del(preview_layout); + if (preview_type) + free(preview_type); return NULL; } @@ -560,7 +562,7 @@ static void __add_widget_viewer_preview_clicked_cb(void *data, Evas_Object *obj, int *size = NULL; size = evas_object_data_del(obj, "preview_type"); - if (*size == WIDGET_SIZE_TYPE_UNKNOWN) { + if (!size || *size == WIDGET_SIZE_TYPE_UNKNOWN) { LOGE("Can not get widgets size type"); return; } diff --git a/src/apps_package_manager.c b/src/apps_package_manager.c index 05b822c..7d8dc7a 100755 --- a/src/apps_package_manager.c +++ b/src/apps_package_manager.c @@ -102,6 +102,11 @@ static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **it package_info_h p_handle = NULL; app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); + if (!new_item) { + LOGE("memory allocation is failed!!!"); + return false; + } + memset(new_item, 0, sizeof(app_data_t)); *item = new_item; @@ -165,7 +170,7 @@ static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **it if (new_item->icon_path_str) free(new_item->icon_path_str); new_item->icon_path_str = malloc(MAX_FILE_PATH_LEN); - sprintf(new_item->icon_path_str, "%s", util_get_res_file_path(IMAGE_DIR"/default_app_icon.png")); + snprintf(new_item->icon_path_str, MAX_FILE_PATH_LEN, "%s", util_get_res_file_path(IMAGE_DIR"/default_app_icon.png")); } return true; diff --git a/src/apps_view.c b/src/apps_view.c index 5b590b8..f80e6be 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -209,6 +209,7 @@ void apps_view_show_anim(double pos) edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); + free(msg); evas_object_color_set(apps_view_s.box, 255, 255, 255, pos*255); evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * (1-pos))); @@ -236,6 +237,7 @@ void apps_view_hide_anim(double pos) edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); + free(msg); evas_object_color_set(apps_view_s.box, 255, 255, 255, (1-pos)*255); evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * pos)); @@ -459,7 +461,7 @@ void apps_view_icon_unset(app_data_t *item) row = (item->position / APPS_FOLDER_COL) % APPS_FOLDER_ROW; col = item->position % APPS_FOLDER_COL; - sprintf(icon_container, "icon_%d_%d", col, row); + snprintf(icon_container, sizeof(icon_container), "icon_%d_%d", col, row); if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); } @@ -503,7 +505,7 @@ bool apps_view_icon_set(app_data_t *item) row = (item->position / APPS_VIEW_COL) % APPS_FOLDER_ROW; col = item->position % APPS_FOLDER_COL; - sprintf(icon_container, "icon_%d_%d", col, row); + snprintf(icon_container, sizeof(icon_container), "icon_%d_%d", col, row); if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { LOGE("unset %p", elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container)); elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); @@ -744,6 +746,7 @@ static void __apps_view_icon_uninstall_btn_clicked_cb(void *data, Evas_Object *o if (!item) { LOGE("item is NULL"); + return; } LOGD("Uninstall :: %s", item->app_id); @@ -851,7 +854,7 @@ static void __apps_view_icon_check_changed_cb(void *data, Evas_Object *obj, cons if (apps_view_s.selected_item_count + item_count >= APPS_FOLDER_MAX_ITEM) { LOGD("checked item : %d > HOME_FOLDER_MAX_ITEM(9)", item_count); char str[1024]; - sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); + snprintf(str, sizeof(str), _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); toast_show(str); } else { LOGD("%s - check", item->label_str); @@ -1052,7 +1055,7 @@ void apps_view_update_folder_icon(app_data_t* item) i < 4 && find_list; i++, find_list = eina_list_next(find_list), temp_item = eina_list_data_get(find_list)) { LOGD("%s", temp_item->label_str); - sprintf(folder_item_count_string, "icon_%d", i); + snprintf(folder_item_count_string, sizeof(folder_item_count_string), "icon_%d", i); LOGD("%s", folder_item_count_string); icon_image = elm_image_add(item->folder_layout); elm_image_file_set(icon_image, temp_item->icon_path_str, NULL); @@ -1060,7 +1063,7 @@ void apps_view_update_folder_icon(app_data_t* item) elm_object_part_content_set(item->folder_layout, folder_item_count_string, icon_image); evas_object_show(icon_image); } - sprintf(folder_item_count_string, "set_item_count_%d", item_count > 4 ? 4 : item_count); + snprintf(folder_item_count_string, sizeof(folder_item_count_string), "set_item_count_%d", item_count > 4 ? 4 : item_count); LOGD("%s", folder_item_count_string); elm_object_signal_emit(item->folder_layout, folder_item_count_string, SIGNAL_SOURCE); evas_object_show(item->folder_layout); @@ -1269,17 +1272,17 @@ static void __apps_view_update_chooser_text(int item_count) { char text1[STR_MAX], text2[STR_MAX]; if (apps_view_s.selected_item_count + item_count > 0) { - sprintf(text1, _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), apps_view_s.selected_item_count + item_count); + snprintf(text1, sizeof(text1), _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), apps_view_s.selected_item_count + item_count); } else - sprintf(text1, ""); + snprintf(text1, sizeof(text1), ""); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_TEXT_SIZE, text1); + snprintf(text2, sizeof(text2), APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_TEXT_SIZE, text1); elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_MIDDLE_LABEL, text2); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB")); + snprintf(text2, sizeof(text2), APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB")); elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_LEFT_LABEL, text2); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_DONE_ABB")); + snprintf(text2, sizeof(text2), APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_DONE_ABB")); elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_RIGHT_LABEL, text2); } @@ -1342,9 +1345,9 @@ static void __apps_view_badge_update_icon(app_data_t *item) } if (item->badge_count > MAX_BADGE_DISPLAY_COUNT) { - sprintf(number_str, "%d+", MAX_BADGE_DISPLAY_COUNT); + snprintf(number_str, sizeof(number_str), "%d+", MAX_BADGE_DISPLAY_COUNT); } else { - sprintf(number_str, "%d", item->badge_count); + snprintf(number_str, sizeof(number_str), "%d", item->badge_count); } elm_layout_text_set(item->app_layout, APPS_ICON_BADGE_TEXT, number_str); elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_SHOW, SIGNAL_SOURCE); @@ -1680,7 +1683,7 @@ static void __apps_view_edit_drop_icon(void *data) folder_item_count = eina_list_count(folder_list); if (folder_item_count >= APPS_FOLDER_MAX_ITEM) { char str[1024]; - sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); + snprintf(str, sizeof(str), _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); toast_show(str); } else { item->parent_db_id = apps_view_s.candidate_folder->db_id; diff --git a/src/cluster_data.c b/src/cluster_data.c index 3d23438..09eadaf 100755 --- a/src/cluster_data.c +++ b/src/cluster_data.c @@ -125,6 +125,7 @@ static void __cluster_data_insert_default_data(void) new_item->allow_duplicate = 1; cluster_db_insert(new_item); + __cluster_data_item_free(new_item); /* new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); memset(new_item, 0, sizeof(widget_data_t)); diff --git a/src/widget_viewer.c b/src/widget_viewer.c index ec65a5a..bec1d62 100755 --- a/src/widget_viewer.c +++ b/src/widget_viewer.c @@ -73,7 +73,7 @@ Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, evas_object_show(widget); */ char number[1000]; - sprintf(number, "%s_%d", item->pkg_name, count++); + snprintf(number, sizeof(number), "%s_%d", item->pkg_name, count++); Evas_Object *widget = elm_label_add(evas_object_evas_get(widget_layout)); elm_object_style_set(widget, "popup/default"); evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); -- 2.7.4 From bea4795f0348cf4b97c36c5497a1ea6b40ba2b84 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Wed, 8 Jun 2016 17:41:22 +0900 Subject: [PATCH 04/16] bug fix (folder icon position) Change-Id: I8fd3d9142579747ce8ae1255714240ed4cfe7290 Signed-off-by: YoungHun Cho --- src/apps_view.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps_view.c b/src/apps_view.c index f80e6be..636cfcc 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -502,7 +502,7 @@ bool apps_view_icon_set(app_data_t *item) LOGD("[%s] -> [%s], [%p] page : %d", item->app_id, icon_container, item->app_layout, page_index); return true; } else if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - row = (item->position / APPS_VIEW_COL) % APPS_FOLDER_ROW; + row = (item->position / APPS_FOLDER_COL) % APPS_FOLDER_ROW; col = item->position % APPS_FOLDER_COL; snprintf(icon_container, sizeof(icon_container), "icon_%d_%d", col, row); -- 2.7.4 From 4792e6a839b40b60b5838de81040a2a2a3f396e9 Mon Sep 17 00:00:00 2001 From: "juhee,park" Date: Thu, 9 Jun 2016 09:55:27 +0900 Subject: [PATCH 05/16] change BG size of apps view Signed-off-by: juhee,park Change-Id: I3cca16ab15cabb1227503586b104ac6d394fc3ec --- res/edje/apps_view.edc | 32 +------------------------------- res/edje/apps_view_bg.edc | 2 +- 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/res/edje/apps_view.edc b/res/edje/apps_view.edc index 8eab85b..b5fbf22 100755 --- a/res/edje/apps_view.edc +++ b/res/edje/apps_view.edc @@ -16,36 +16,6 @@ #include "../../inc/edc_conf.h" -#define MAKE_TILE(num_x,num_y)\ - part{ name: "icon_"num_x"_"num_y;\ - type : SWALLOW;\ - description {\ - state : "default" 0.0;\ - fixed : 1 1;\ - rel1 {\ - relative :num_y/APPS_VIEW_COL num_x/APPS_VIEW_ROW ;\ - to: SIZE_SETTER;\ - }\ - rel2 {\ - relative :(num_y+1)/APPS_VIEW_COL (num_x+1)/APPS_VIEW_ROW ;\ - to: SIZE_SETTER;\ - }\ - align: 0.0 0.0;\ - }\ - description {\ - state: "edit" 0.0;\ - inherit: "default" 0.0;\ - rel1 {\ - relative :0.04+(num_y/APPS_VIEW_COL)*0.9 0.05+(num_x/APPS_VIEW_ROW)*0.9 ;\ - to: SIZE_SETTER;\ - }\ - rel2 {\ - relative :0.04+((num_y+1)/APPS_VIEW_COL)*0.9 0.05+((num_x+1)/APPS_VIEW_ROW)*0.09 ;\ - to: SIZE_SETTER;\ - };\ - }\ - } - collections { images { } @@ -77,7 +47,7 @@ collections { description { state: "edit_done" 0.0; inherit: "default" 0.0; - rel1 {relative :0.05 0.05; to: SIZE_SETTER;} + rel1 {relative :0.05 0.03; to: SIZE_SETTER;} rel2 {relative :0.95 0.95; to: SIZE_SETTER;} color: 0 0 0 APPS_VIEW_BG_OPACITY; visible: 1; diff --git a/res/edje/apps_view_bg.edc b/res/edje/apps_view_bg.edc index 1bed222..d2b1a38 100755 --- a/res/edje/apps_view_bg.edc +++ b/res/edje/apps_view_bg.edc @@ -58,7 +58,7 @@ collections { state: "edit" 0.0; inherit: "default" 0.0; visible: 1; - rel1 {relative: 0.052 0.1; to:SIZE_SETTER;} + rel1 {relative: 0.052 0.08; to:SIZE_SETTER;} rel2 {relative: 0.95 0.845; to:SIZE_SETTER;} } description { -- 2.7.4 From 5e2d518f644c740cb97ca427ad77b712c176934e Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Mon, 13 Jun 2016 14:48:56 +0900 Subject: [PATCH 06/16] Modification of Widget scale animation Change-Id: I3d5220c785b1851a223625d5431326d28d26df65 Signed-off-by: YoungHun Cho --- Build/basedef.mk | 20 +++- Build/build_c.mk | 110 ++++++++++++++++++ Build/build_edc.mk | 81 +++++++++++++ Build/build_po.mk | 64 +++++++++++ Build/funcs.mk | 50 ++++++++ Build/makefile | 283 ++++------------------------------------------ Build/makefile.mk | 191 +++++++++++++++++++++++++++++++ Build/tooldef.mk | 15 +++ build_def.prop | 6 + inc/cluster_data.h | 1 + inc/cluster_view.h | 2 + inc/edc_conf.h | 3 + inc/widget_viewer.h | 6 +- res/edje/cluster_page.edc | 10 ++ res/edje/widget.edc | 9 ++ src/cluster_page.c | 41 ++++++- src/cluster_view.c | 52 ++++++--- src/widget_viewer.c | 56 +++++++-- 18 files changed, 701 insertions(+), 299 deletions(-) create mode 100644 Build/build_c.mk create mode 100644 Build/build_edc.mk create mode 100644 Build/build_po.mk create mode 100644 Build/funcs.mk create mode 100644 Build/makefile.mk create mode 100644 build_def.prop diff --git a/Build/basedef.mk b/Build/basedef.mk index 7cacafc..8812624 100755 --- a/Build/basedef.mk +++ b/Build/basedef.mk @@ -2,13 +2,23 @@ C_DEPS += -SYSROOT := $(SBI_SYSROOT) +USES_EFL = yes +USES_USR_INC = yes -ROOTSTRAP_INCS := $(addprefix -I $(SYSROOT)/,$(PLATFORM_INCS_EX)) -EFL_INCS := +SYSROOT = $(SBI_SYSROOT) + +USR_INCS := $(addprefix -I $(SYSROOT),$(PLATFORM_INCS_EX)) +EFL_INCS = + +ifeq ($(strip $(PLATFORM_LIB_PATHS)),) +RS_LIB_PATHS := "$(SYSROOT)/usr/lib" +else +RS_LIB_PATHS := $(addprefix -L$(SYSROOT),$(PLATFORM_LIB_PATHS)) +endif RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX)) -PLATFORM_INCS := $(ROOTSTRAP_INCS) $(EFL_INCS) \ - -I"$(SDK_PATH)/library" +PLATFORM_INCS = $(USR_INCS) $(EFL_INCS) \ + -I"$(SDK_PATH)/library" +OS_NAME := $(shell $(UNAME)) diff --git a/Build/build_c.mk b/Build/build_c.mk new file mode 100644 index 0000000..81940cd --- /dev/null +++ b/Build/build_c.mk @@ -0,0 +1,110 @@ +# C/C++ build script + + +_FUNC_EXT2O = $(patsubst %.$(3),$(1)/%.o,$(2)) +_FUNC_C2O = $(call _FUNC_EXT2O,$(1),$(2),c) +_FUNC_CPP2O = $(call _FUNC_EXT2O,$(1),$(2),cpp) + + +# parameter : +# $(1) - C/C++ soruce file +# $(2) - output path +# $(3) - .ext +CONVERT_ESC_EXT_TO_O = $(addprefix $(2)/,$(call CONVERT_4MAKE_TO_OUT,$(patsubst %.$(3),%.o,$(1)))) + +CONVERT_ESC_C_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),c) +CONVERT_ESC_CPP_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),cpp) + + +# parameter : +# $(1) - encoded one C/C++ soruce file +# $(2) - output path +# $(3) - ext title (C/C++) +# $(4) - ext (c/cpp) +# $(5) - compiler ($(CC)/$(CXX)) +# $(6) - build opt +# $(7) - build opt file +# output : +# $(8) - output files list +define C_BUILD_PROC_RAW +$(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4)) : $(call DECODE_4MAKE,$(1)) $(7) + @echo ' Building file: $$<' + @echo ' Invoking: $(3) Compiler' + $$(call MAKEDIRS,$$(@D)) + $(5) -c "$$<" -o "$$@" $(6) @$(7) + @echo ' Finished building: $$<' +$(8) += $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4)) +endef + + +# parameter : +# $(1) - output paths +# $(2) - src paths +# $(3) - inc paths +# $(4) - inc files +# $(5) - Defs +# $(6) - UnDefs +# $(7) - compiler opt +# $(8) - compiler opt file +# $(9) - ext title (C/C++) +# $(10) - ext (c/cpp) +# $(11) - compiler ($(CC)/$(CXX)) +# output : +# $(12) - OBJS +# return : +# none +define C_PROC_RAW + +_OUTPUT_DIR := $$(strip $(1))# +_SRCS := $(2)# +_INCS := $(3)# +_INC_FILES := $(4)# +_DEFS := $(5)# +_UNDEFS := $(6)# + +_OPT := $(7) +_OPT_FILE := $(8) + +_EXT_TITLE := $(9) +_EXT := $(10) +_COMPILER := $(11) + +#_OUTPUT_FILES := $(12) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) +_ENC_SRCS := $$(filter %.$$(_EXT),$$(_ENC_SRCS)) + +ifneq ($$(strip $$(_SRCS)),) + +_NORMAL_SRCS := $$(filter-out %*.$$(_EXT),$$(_ENC_SRCS)) +_WIDLCARD_SRCS := $$(filter %*.$$(_EXT),$$(_ENC_SRCS)) + +_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \ + $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var)))) + +ifneq ($$(strip $$(_ALL_SRCS)),) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) + +_CDEFS := $$(CDEFS) +_CDEFS += $$(addprefix -D,$$(_DEFS)) +_CDEFS += $$(addprefix -U,$$(_UNDEFS)) + +_ENC_C_INCS := $$(call ENCODE_4MAKE,$$(_INCS)) +_ENC_C_INCS := $$(addprefix -I,$$(_ENC_C_INCS)) + +_ENC_INC_FILES := $$(call ENCODE_4MAKE,$$(_INC_FILES)) +_ENC_INC_FILES += $$(addprefix -include,$$(_ENC_INC_FILES)) + +_C_INCS := $$(call DECODE_4MAKE,$$(_ENC_C_INCS) $$(_ENC_C_INC_FILES)) + +_DEFS := $$(_CDEFS) $$(_C_INCS) -I"pch" $$(_OPT) + +$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call C_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_EXT_TITLE),$$(_EXT),$$(_COMPILER),$$(_DEFS),$$(_OPT_FILE),$(12)))) + +endif # (_(strip _(_ALL_SRCS)),) + +endif # (_(strip _(_SRCS)),) + + +endef diff --git a/Build/build_edc.mk b/Build/build_edc.mk new file mode 100644 index 0000000..38e5598 --- /dev/null +++ b/Build/build_edc.mk @@ -0,0 +1,81 @@ +# EDC build script + + +FUNC_EDC2EDJ = $(patsubst %.edc,$(2)/%.edj,$(1)) + +# parameter : +# $(1) - C/C++ soruce file +# $(2) - output path +CONVERT_ESC_EDC_TO_EDJ = $(call CONVERT_4MAKE_TO_OUT,$(call FUNC_EDC2EDJ,$(1),$(2))) + + +# parameter : +# $(1) - encoded one C/C++ soruce file +# $(2) - output path +# $(3) - build opt +# output : +# $(4) - output files list +define EDJ_BUILD_PROC_RAW +$(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) : $(call DECODE_4MAKE,$(1)) + @echo ' Building file: $$<' + @echo ' Invoking: EDC Resource Compiler' + $$(call MAKEDIRS,$$(@D)) + $$(EDJE_CC) $(3) "$$<" "$$@" + @echo ' Finished building: $$<' +$(4) += $(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) +endef + + +# parameter : +# $(1) - output paths +# $(2) - src paths +# $(3) - image inc paths +# $(4) - sound inc paths +# $(5) - font inc paths +# output : +# $(6) - OBJS +# return : +# none +define EDJ_PROC_RAW + +_OUTPUT_DIR := $$(strip $(1))# +_SRCS := $(2)# +_IMAGE_DIRS := $(3)# +_SOUND_DIRS := $(4)# +_FONT_DIRS := $(5)# + +ifneq ($$(strip $$(_SRCS)),) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) + +_NORMAL_SRCS := $$(filter-out %*.edc,$$(_ENC_SRCS)) +_WIDLCARD_SRCS := $$(filter %*.edc,$$(_ENC_SRCS)) + +_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \ + $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var)))) + +ifneq ($$(strip $$(_ALL_SRCS)),) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) + +_COMPILER_FLAGS := -id "$$(SDK_TOOLPATH)/enventor/share/enventor/images" +_COMPILER_FLAGS += -sd "$$(SDK_TOOLPATH)/enventor/share/enventor/sounds" +_COMPILER_FLAGS += -fd "$$(SDK_TOOLPATH)/enventor/share/enventor/fonts" + +ifneq ($$(strip $$(_IMAGE_DIRS)),) +_COMPILER_FLAGS += $$(addprefix -id ,$$(_IMAGE_DIRS)) +endif +ifneq ($$(strip $$(_SOUND_DIRS)),) +_COMPILER_FLAGS += $$(addprefix -sd ,$$(_SOUND_DIRS)) +endif +ifneq ($$(strip $$(_FONT_DIRS)),) +_COMPILER_FLAGS += $$(addprefix -fd ,$$(_FONT_DIRS)) +endif + +$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call EDJ_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_COMPILER_FLAGS),$(6)))) + +endif # (_(strip _(_ALL_SRCS)),) + +endif # (_(strip _(_SRCS)),) + +endef diff --git a/Build/build_po.mk b/Build/build_po.mk new file mode 100644 index 0000000..23eb0df --- /dev/null +++ b/Build/build_po.mk @@ -0,0 +1,64 @@ +# PO build script + + +_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1))) + + +# parameter : +# $(1) - C/C++ soruce file +# $(2) - output path +# $(3) - app name +CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3))) + + +# parameter : +# $(1) - encoded one C/C++ soruce file +# $(2) - output path +# $(3) - app name +# output : +# $(4) - output files list +define MO_BUILD_PROC_RAW +$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1)) + @echo ' Building file: $$<' + @echo ' Invoking: msgfmt String Formatter' + $$(call MAKEDIRS,$$(@D)) + $$(MSGFMT) -o "$$@" "$$<" + @echo ' Finished building: $$<' +$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) +endef + + +# parameter : +# $(1) - output dir +# $(2) - src paths +# $(3) - app name +# output : +# $(4) - OBJS + +define MO_PROC_RAW + +_PROJ_ROOT := $(1) +_SRCS := $(2) +_APPNAME := $(3) + +ifneq ($$(strip $$(_SRCS)),) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) + +_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS)) +_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS)) + +_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \ + $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var)))) + +ifneq ($$(strip $$(_ALL_SRCS)),) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) + +$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4)))) + +endif # (_(strip _(_ALL_SRCS)),) + +endif # (_(strip _(_SRCS)),) + +endef diff --git a/Build/funcs.mk b/Build/funcs.mk new file mode 100644 index 0000000..8297d18 --- /dev/null +++ b/Build/funcs.mk @@ -0,0 +1,50 @@ + +BSLASH := \\# +NULL_CHAR := # +SPACE := \ # +COLON := :# +DOTDOT := ..# +SPACE_ESC := &sp;# +COLON_ESC := &co;# +SPACE_OUT := ~sp~# +COLON_OUT := ~co~# +DOTDOT_OUT := ~dtdt~# + +BSLASH2SLASH = $(subst $(BSLASH),/,$(1)) + +REMOVE_TAIL = $(patsubst %/,%,$(1)) + +#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4)) +LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z]) + +#ifneq ($(findstring Windows,$(OS)),) +# ... +#endif + +FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///') +FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g') +FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///') + +FIND_FILES_ABS = $(shell $(FIND) $(1)) +FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g') +FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g') + +FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g') + +#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g') +#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g') +ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1))) +DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1))) +ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1)) +DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1)) + +CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1)))) +CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1)))) +CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1)))) + +PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1))) +define MAKEDIRS0 + @echo ' Building directory: $(1)' + @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1)) +endef +MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0) diff --git a/Build/makefile b/Build/makefile index 4e2d6c5..9348c50 100755 --- a/Build/makefile +++ b/Build/makefile @@ -1,275 +1,34 @@ -BUILD_SCRIPT_VERSION := 1.0.7 +# +# Usege : make -f /Build/makefile -C +# + +BUILD_SCRIPT_VERSION := 1.1.0 -all : app_build - -clean : app_clean - -version : make_version - - -BSLASH := \\# -BSLASH2SLASH = $(subst $(BSLASH),/,$(1)) -REMOVE_TAIL = $(patsubst %/,%,$(1)) - -PROJ_ROOT := $(call BSLASH2SLASH,$(PROJPATH)) - --include $(PROJ_ROOT)/project_def.prop --include basedef.mk --include tooldef.mk --include flags.mk --include prepost.mk - -APPTYPE := $(type) - -OBJ_OUTPUT := $(call BSLASH2SLASH,$(OUTPUT_DIR)/objs) - -OS_NAME = $(shell $(UNAME)) - -#LOWER_APPNAME := $(shell echo translit($(APPNAME),[A-Z],[a-z])|$(M4)) -LOWER_APPNAME := $(shell echo $(APPNAME)|$(TR) [A-Z] [a-z]) - -ifeq ($(strip $(APPTYPE)),app) -APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME) -endif -ifeq ($(strip $(APPTYPE)),staticLib) -APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a -endif -ifeq ($(strip $(APPTYPE)),sharedLib) -APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so -endif - -ifneq ($(strip $(PLATFORM_INCS)),) -PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc -endif - -FIND_FILES = $(shell $(FIND) $(PROJ_ROOT)/$(dir $(1)) -type f -name $(notdir $(1)) -printf '$(dir $(1))%P ') - -NORMAL_SRCS := $(filter-out %*.c %*.cpp,$(USER_SRCS)) -WIDLCARD_SRCS := $(filter %*.c %*.cpp,$(USER_SRCS)) -ALL_SRCS := $(NORMAL_SRCS) $(foreach var,$(WIDLCARD_SRCS),$(call FIND_FILES,$(var))) - -C_SRCS := $(filter %.c,$(ALL_SRCS)) -CPP_SRCS := $(filter %.cpp,$(ALL_SRCS)) - -USER_EDCS := $(subst $(BSLASH),/,$(USER_EDCS)) -NORMAL_EDCS := $(filter-out %*.edc,$(USER_EDCS)) -WIDLCARD_EDCS := $(filter %*.edc,$(USER_EDCS)) -EDCS := $(NORMAL_EDCS) $(foreach var,$(WIDLCARD_EDCS),$(call FIND_FILES,$(var))) - -NORMAL_POS := $(filter-out %*.po,$(USER_POS)) -WIDLCARD_POS := $(filter %*.po,$(USER_POS)) -POS := $(NORMAL_POS) $(foreach var,$(WIDLCARD_POS),$(call FIND_FILES,$(var))) - -LIBPATHS := $(addprefix -L$(PROJ_ROOT)/,$(USER_LIB_DIRS)) \ - $(addprefix -L,$(USER_LIB_DIRS_ABS)) -LIBS += $(addprefix -l,$(USER_LIBS)) -UOBJS := $(addprefix $(PROJ_ROOT)/,$(USER_OBJS)) \ - $(USER_OBJS_ABS) - -M_OPT = -MMD -MP -MF"$(@:%.o=%.d)" - -FUNC_C2O = $(patsubst %.c,$(OBJ_OUTPUT)/%.o,$(1)) -FUNC_CPP2O = $(patsubst %.cpp,$(OBJ_OUTPUT)/%.o,$(1)) -FUNC_EDC2EDJ = $(patsubst %.edc,$(OUTPUT_DIR)/%.edj,$(1)) -FUNC_PO2MO = $(patsubst %.po,$(OUTPUT_DIR)/res/locale/%/LC_MESSAGES/$(LOWER_APPNAME).mo,$(notdir $(1))) - - -C_OBJS := $(call FUNC_C2O,$(C_SRCS)) -CPP_OBJS := $(call FUNC_CPP2O,$(CPP_SRCS)) -OBJS := $(C_OBJS) $(CPP_OBJS) -EDJ_FILES := $(call FUNC_EDC2EDJ,$(EDCS)) -MO_FILES := $(call FUNC_PO2MO,$(POS)) -DEPS := $(OBJS:.o=.d) - - -ifneq ($(strip $(DEPS)),) --include $(DEPS) -endif - -ifeq ($(strip $(APPTYPE)),app) -$(APPFILE) : $(OBJS) $(UOBJS) - @echo ' Building target: $@' - @echo ' Invoking: C/C++ Linker' - @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D)) - $(CXX) -o "$(APPFILE)" $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread -Xlinker -rpath="/home/developer/sdk_tools/lib" --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_PATH)/.exportMap" -L"$(SBI_SYSROOT)/usr/lib" $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration - @echo ' Finished building target: $@' -endif -ifeq ($(strip $(APPTYPE)),staticLib) -$(APPFILE) : $(OBJS) $(UOBJS) - @echo ' Building target: $@' - @echo ' Invoking: Archive utility' - @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D)) - $(AR) -r "$(APPFILE)" $(OBJS) $(UOBJS) $(AR_FLAGS) - @echo ' Finished building target: $@' -endif -ifeq ($(strip $(APPTYPE)),sharedLib) -$(APPFILE) : $(OBJS) $(UOBJS) - @echo ' Building target: $@' - @echo ' Invoking: C/C++ Linker' - @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D)) - $(CXX) -o "$(APPFILE)" $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" -L"$(SYSROOT)/usr/lib" $(RS_LIBRARIES) - @echo ' Finished building target: $@' -endif - - -ifneq ($(strip $(C_SRCS)),) -CDEFS += $(addprefix -D,$(USER_DEFS)) -CDEFS += $(addprefix -U,$(USER_UNDEFS)) +.PHONY : app_version app_build app_clean build_version -INCS := $(addprefix -I$(PROJ_ROOT)/,$(USER_INC_DIRS)) \ - $(addprefix -I,$(USER_INC_DIRS_ABS)) \ - $(addprefix -include$(PROJ_ROOT)/,$(USER_INC_FILES)) \ - $(addprefix -include,$(USER_INC_FILES_ABS)) -$(C_OBJS) : $(OBJ_OUTPUT)/%.o : $(PROJ_ROOT)/%.c $(PLATFORM_INCS_FILE) - @echo ' Building file: $<' - @echo ' Invoking: C Compiler' - @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D)) -ifeq ($(strip $(APPTYPE)),sharedLib) - $(CC) -c $< -o $@ $(CDEFS) $(INCS) -I"pch" $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIC --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE) -else - $(CC) -c $< -o $@ $(CDEFS) $(INCS) -I"pch" $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIE --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE) -endif - @echo ' Finished building: $<' -endif - -ifneq ($(strip $(CPP_SRCS)),) -CPPDEFS += $(addprefix -D,$(USER_CPP_DEFS)) -CPPDEFS += $(addprefix -U,$(USER_CPP_UNDEFS)) - -CPP_INCS := $(addprefix -I$(PROJ_ROOT)/,$(USER_CPP_INC_DIRS)) \ - $(addprefix -I,$(USER_CPP_INC_DIRS_ABS)) \ - $(addprefix -include$(PROJ_ROOT)/,$(USER_CPP_INC_FILES)) \ - $(addprefix -include,$(USER_CPP_INC_FILES_ABS)) - -$(CPP_OBJS) : $(OBJ_OUTPUT)/%.o : $(PROJ_ROOT)/%.cpp $(PLATFORM_INCS_FILE) - @echo ' Building file: $<' - @echo ' Invoking: C++ Compiler' - @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D)) -ifeq ($(strip $(APPTYPE)),sharedLib) - $(CXX) -c $< -o $@ $(CPPDEFS) $(CPP_INCS) -I"pch" $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIC --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE) -else - $(CXX) -c $< -o $@ $(CPPDEFS) $(CPP_INCS) -I"pch" $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIE --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE) -endif - @echo ' Finished building: $<' -endif - - -$(OBJ_OUTPUT) : - @echo ' Building directory: $@' - @$(MKDIR) $(MKDIR_OP) $(OBJ_OUTPUT) - -preproc : $(OBJ_OUTPUT) -ifneq ($(strip $(PREBUILD_COMMAND)),) -ifneq ($(strip $(PREBUILD_DESC)),) - @echo $(PREBUILD_DESC) -endif - @echo $(shell $(PREBUILD_COMMAND)) -endif - - -postproc : -ifneq ($(strip $(POSTBUILD_COMMAND)),) -ifneq ($(strip $(POSTBUILD_DESC)),) - @echo $(POSTBUILD_DESC) -endif - @echo $(shell $(POSTBUILD_COMMAND)) -endif - -ifneq ($(strip $(PLATFORM_INCS)),) -$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT) - @echo ' Building inc file: $@' -ifneq ($(findstring Linux,$(OS_NAME)),) - @echo $(PLATFORM_INCS) > $@ -else -ifneq ($(findstring 3.82,$(MAKE_VERSION)),) - $(file > $@,$(PLATFORM_INCS)) -else - @echo $(PLATFORM_INCS) > $@ -endif -endif -endif - -ALL_EDJ_FILES := - -define EDJ_PROC -ALL_EDCS := $$(subst $(BSLASH),/,$$($(2))) -NORMAL_EDCS := $$(filter-out %*.edc,$$(ALL_EDCS)) -WIDLCARD_EDCS := $$(filter %*.edc,$$(ALL_EDCS)) -EDCS := $$(NORMAL_EDCS) $$(foreach var_edc,$$(WIDLCARD_EDCS),$$(call FIND_FILES,$$(var_edc))) - -ifneq ($$(strip $$(EDCS)),) -EDJ_FILES := $$(call FUNC_EDC2EDJ,$$(EDCS)) - -ALL_EDJ_FILES += $$(EDJ_FILES) - -EDC_$(1)_COMPILER_FLAGS := -id "$$(SDK_TOOLPATH)/enventor/share/enventor/images" -EDC_$(1)_COMPILER_FLAGS += -sd "$$(SDK_TOOLPATH)/enventor/share/enventor/sounds" -EDC_$(1)_COMPILER_FLAGS += -fd "$$(SDK_TOOLPATH)/enventor/share/enventor/fonts" +all : app_build -ifneq ($$(strip $(3)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -id $$(PROJ_PATH)/,$$($(3))) -endif -ifneq ($$(strip $(4)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -id ,$$($(4))) -endif -ifneq ($$(strip $(5)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -sd $$(PROJ_PATH)/,$$($(5))) -endif -ifneq ($$(strip $(6)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -sd ,$$($(6))) -endif -ifneq ($$(strip $(7)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -fd $$(PROJ_PATH)/,$$($(7))) -endif -ifneq ($$(strip $(8)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -fd ,$$($(8))) -endif +clean : app_clean -$$(EDJ_FILES) : $$(OUTPUT_DIR)/%.edj : $$(PROJ_ROOT)/%.edc - @echo ' Building file: $$<' - @echo ' Invoking: EDC Resource Compiler' - @$$(MKDIR) $$(MKDIR_OP) $$(subst $$(BSLASH),/,$$(@D)) - $$(EDJE_CC) $$(EDC_$(1)_COMPILER_FLAGS) $$(CDEFS) "$$<" "$$@" - @echo ' Finished building: $$<' -endif -endef +version : build_version -# Global EDCs -ifneq ($(strip $(USER_EDCS)),) -$(eval $(call EDJ_PROC,,USER_EDCS,USER_EDCS_IMAGE_DIRS,USER_EDCS_IMAGE_DIRS_ABS,USER_EDCS_SOUND_DIRS,USER_EDCS_SOUND_DIRS_ABS,USER_EDCS_FONT_DIRS,USER_EDCS_FONT_DIRS_ABS)) -endif +#PROJ_ROOT = . +BUILD_ROOT := $(PROJ_PATH)/Build# -# Individual EDCs -ifneq ($(strip $(USER_EXT_EDC_KEYS)),) -$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC,$(var),USER_EXT_$(var)_EDCS,USER_EXT_$(var)_EDCS_IMAGE_DIRS,USER_EXT_$(var)_EDCS_IMAGE_DIRS_ABS,USER_EXT_$(var)_EDCS_SOUND_DIRS,USER_EXT_$(var)_EDCS_SOUND_DIRS_ABS,USER_EXT_$(var)_EDCS_FONT_DIRS,USER_EXT_$(var)_EDCS_FONT_DIRS_ABS))) +ifeq ($(MAKE_NAME),mingw32-make) +ifneq ($(SHELL),) +OPTIONS += --eval="SHELL=$(SHELL)" endif - - -ifneq ($(strip $(POS)),) -define MO_RULE -$(call FUNC_PO2MO,$(1)) : $(PROJ_ROOT)/$(1) - @echo ' Building file: $$<' - @echo ' Invoking: msgfmt String Formatter' - @$$(MKDIR) $$(MKDIR_OP) $$(subst $$(BSLASH),/,$$(@D)) - $$(MSGFMT) -o $$@ $$< - @echo ' Finished building: $$<' -endef - -$(foreach var,$(POS),$(eval $(call MO_RULE,$(var)))) endif - -secondary-outputs : $(ALL_EDJ_FILES) $(MO_FILES) - --include appendix.mk - - -app_build : preproc $(APPFILE) secondary-outputs postproc +app_build : + @echo $(MAKE) -f "$(BUILD_ROOT)/makefile.mk" + @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) app_clean : - rm -f "$(APPFILE)" - rm -rf "$(OUTPUT_DIR)" + @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) clean -make_version : - @echo $(BUILD_SCRIPT_VERSION) +build_version : + @echo makefile : $(BUILD_SCRIPT_VERSION) + @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) version diff --git a/Build/makefile.mk b/Build/makefile.mk new file mode 100644 index 0000000..b07df26 --- /dev/null +++ b/Build/makefile.mk @@ -0,0 +1,191 @@ +# +# Usege : make -f /Build/makefile -C +# + +BUILD_SCRIPT_VERSION := 1.2.0 + +.PHONY : app_version app_clean build_version + + +all : app_build + +clean : app_clean + +version : build_version + + +#PROJ_ROOT := $(call BSLASH2SLASH,$(PROJPATH)) +PROJ_ROOT := . +BUILD_ROOT := $(PROJ_ROOT)/Build + +include $(PROJ_ROOT)/project_def.prop +-include $(PROJ_ROOT)/build_def.prop + +include $(BUILD_ROOT)/funcs.mk + +-include $(BUILD_ROOT)/basedef.mk +-include $(BUILD_ROOT)/tooldef.mk +-include $(BUILD_ROOT)/flags.mk + + +APPTYPE := $(type) + +OUTPUT_DIR := $(PROJ_ROOT)/$(BUILD_CONFIG) +OBJ_OUTPUT := $(OUTPUT_DIR)/objs + +LOWER_APPNAME := $(call LOWER_CASE,$(APPNAME)) +APPID2 := $(subst $(basename $(APPID)).,,$(APPID)) + +ifeq ($(strip $(APPTYPE)),app) +APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME) +endif +ifeq ($(strip $(APPTYPE)),staticLib) +APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a +endif +ifeq ($(strip $(APPTYPE)),sharedLib) +APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so +endif + +ifneq ($(strip $(PLATFORM_INCS)),) +PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc +endif + +include $(BUILD_ROOT)/build_c.mk + + +ifeq ($(strip $(APPTYPE)),app) +EXT_OP := -fPIE +endif +ifeq ($(strip $(APPTYPE)),staticLib) +EXT_OP := -fPIE +endif +ifeq ($(strip $(APPTYPE)),sharedLib) +EXT_OP := -fPIC +endif + +C_OPT := $(C_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) +CPP_OPT := $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) +C_OPT_FILE := $(PLATFORM_INCS_FILE) + +OBJS := # + +# Global C/C++ +ifeq ($(strip $(USER_ROOT)),) +USER_ROOT := $(PROJ_ROOT) +endif +$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_INC_FILES),$(USER_DEFS),$(USER_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS)) +$(foreach ext,cpp cxx cc c++ C,$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_CPP_INC_FILES),$(USER_CPP_DEFS),$(USER_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS))) + +# Individual C/C++ +ifneq ($(strip $(USER_EXT_C_KEYS)),) +$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_INC_FILES),$(USER_EXT_$(var)_DEFS),$(USER_EXT_$(var)_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS))) +$(foreach ext,cpp cxx cc c++ C,$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_CPP_INC_FILES),$(USER_EXT_$(var)_CPP_DEFS),$(USER_EXT_$(var)_CPP_UNDEFS),$(C_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS)))) +endif + + +ifneq ($(strip $(USER_LIB_DIRS)),) +_ENC_USER_LIB_DIRS := $(call ENCODE_4MAKE,$(USER_LIB_DIRS)) +_ENC_USER_LIB_DIRS := $(addprefix -L,$(call $(_ENC_USER_LIB_DIRS)) +LIBPATHS := $(call DECODE_4MAKE,$(_ENC_USER_LIB_DIRS)) +endif + +LIBS += $(addprefix -l,$(USER_LIBS)) + +UOBJS += $(USER_OBJS) + +M_OPT = -MMD -MP -MF"$(@:%.o=%.d)" + +DEPS := $(OBJS:.o=.d) + +ifneq ($(strip $(DEPS)),) +-include $(PROJ_ROOT)/Build/$(DEPS) +endif + + +ifeq ($(strip $(APPTYPE)),app) +$(APPFILE) : $(OBJS) $(UOBJS) + @echo ' Building target: $@' + @echo ' Invoking: C/C++ Linker' + $(call MAKEDIRS,$(@D)) + $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread -Xlinker -rpath="/home/developer/sdk_tools/lib" --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration + @echo ' Finished building target: $@' +endif +ifeq ($(strip $(APPTYPE)),staticLib) +$(APPFILE) : $(OBJS) $(UOBJS) + @echo ' Building target: $@' + @echo ' Invoking: Archive utility' + $(call MAKEDIRS,$(@D)) + $(AR) -r $(APPFILE) $(OBJS) $(UOBJS) $(AR_FLAGS) + @echo ' Finished building target: $@' +endif +ifeq ($(strip $(APPTYPE)),sharedLib) +$(APPFILE) : $(OBJS) $(UOBJS) + @echo ' Building target: $@' + @echo ' Invoking: C/C++ Linker' + $(call MAKEDIRS,$(@D)) + $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" $(RS_LIB_PATHS) $(RS_LIBRARIES) + @echo ' Finished building target: $@' +endif + + +$(OBJ_OUTPUT) : + $(call MAKEDIRS,$@) + +$(OUTPUT_DIR) : + $(call MAKEDIRS,$@) + + +ifneq ($(strip $(PLATFORM_INCS)),) +$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT) + @echo ' Building inc file: $@' +ifneq ($(findstring Windows,$(OS)),) +ifneq ($(findstring 3.82,$(MAKE_VERSION)),) + $(file > $@,$(PLATFORM_INCS)) +else + @echo $(PLATFORM_INCS) > $@ +endif +else + @echo $(PLATFORM_INCS) > $@ +endif +endif + + +include $(BUILD_ROOT)/build_edc.mk + +EDJ_FILES := + +# Global EDCs +ifneq ($(strip $(USER_EDCS)),) +$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EDCS),$(USER_EDCS_IMAGE_DIRS),$(USER_EDCS_SOUND_DIRS),$(USER_EDCS_FONT_DIRS),EDJ_FILES)) +endif + +# Individual EDCs +ifneq ($(strip $(USER_EXT_EDC_KEYS)),) +$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EXT_$(var)_EDCS),$(USER_EXT_$(var)_EDCS_IMAGE_DIRS),$(USER_EXT_$(var)_EDCS_SOUND_DIRS),$(USER_EXT_$(var)_EDCS_FONT_DIRS),EDJ_FILES))) +endif + + +include $(BUILD_ROOT)/build_po.mk + +MO_FILES := + +# Global POs +ifneq ($(strip $(USER_POS)),) +$(eval $(call MO_PROC_RAW,$(OUTPUT_DIR),$(USER_POS),$(APPID2),MO_FILES)) +endif + + +secondary-outputs : $(EDJ_FILES) $(MO_FILES) + +-include appendix.mk + +app_build : $(OUTPUT_DIR) $(APPFILE) secondary-outputs + @echo ========= done ========= + + +app_clean : + rm -f $(APPFILE) + rm -rf $(OUTPUT_DIR) + +build_version : + @echo makefile.mk : $(BUILD_SCRIPT_VERSION) diff --git a/Build/tooldef.mk b/Build/tooldef.mk index 4244fb3..9df2a39 100755 --- a/Build/tooldef.mk +++ b/Build/tooldef.mk @@ -4,10 +4,19 @@ ifeq ($(strip $(BUILD_CONFIG)),) BUILD_CONFIG = Debug endif +ifneq ($(strip $(PROJROOT)),) +PROJPATH := $(PROJROOT) +endif + ifeq ($(strip $(OUTPUT_DIR)),) OUTPUT_DIR := $(PROJPATH)/$(BUILD_CONFIG) endif +ifneq ($(strip $(SHELL_BIN)),) +SHELL = $(SHELL_BIN) +else +SHELL = sh +endif ifneq ($(strip $(MKDIR_BIN)),) MKDIR = $(MKDIR_BIN) @@ -41,6 +50,12 @@ else FIND = find endif +ifneq ($(strip $(SED_BIN)),) +SED = $(SED_BIN) +else +SED = sed +endif + ifneq ($(strip $(GREP_BIN)),) GREP = $(GREP_BIN) else diff --git a/build_def.prop b/build_def.prop new file mode 100644 index 0000000..6bb5e2f --- /dev/null +++ b/build_def.prop @@ -0,0 +1,6 @@ + +# Add pre/post build process +PREBUILD_DESC = +PREBUILD_COMMAND = +POSTBUILD_DESC = +POSTBUILD_COMMAND = diff --git a/inc/cluster_data.h b/inc/cluster_data.h index edf13f3..4bc0573 100755 --- a/inc/cluster_data.h +++ b/inc/cluster_data.h @@ -32,6 +32,7 @@ typedef struct { double period; int allow_duplicate; Evas_Object *widget_layout; + Evas_Object *widget_content; } widget_data_t; void cluster_data_init(void); diff --git a/inc/cluster_view.h b/inc/cluster_view.h index 0f2e57c..df518e1 100755 --- a/inc/cluster_view.h +++ b/inc/cluster_view.h @@ -20,6 +20,7 @@ #include #include "cluster_data.h" +#include "cluster_page.h" #include "view.h" Evas_Object *cluster_view_create(Evas_Object *parent); @@ -38,5 +39,6 @@ view_state_t cluster_view_get_state(void); bool cluster_view_set_state(view_state_t state); void cluster_view_delete_widget(widget_data_t *item); bool cluster_view_add_widget(widget_data_t *item, bool scroll); +void cluster_view_edit_on_done(cluster_page_t *page); #endif /* __CLUSTER_VIEW_H__ */ diff --git a/inc/edc_conf.h b/inc/edc_conf.h index fa00ea9..f6b75cc 100755 --- a/inc/edc_conf.h +++ b/inc/edc_conf.h @@ -93,8 +93,10 @@ #define SIGNAL_SET_BLACK_TEXT "set_black_text" #define SIGNAL_EDIT_MODE_ON_ANI "edit_on_ani" #define SIGNAL_EDIT_MODE_ON "edit_on" +#define SIGNAL_EDIT_MODE_ON_DONE "edit_on_done" #define SIGNAL_EDIT_MODE_OFF_ANI "edit_off_ani" #define SIGNAL_EDIT_MODE_OFF "edit_off" +#define SIGNAL_EDIT_MODE_OFF_DONE "edit_off_done" #define SIGNAL_CHOOSER_MODE_ON "chooser_on" #define SIGNAL_CHOOSER_MODE_OFF "chooser_off" #define SIGNAL_CHOOSER_MODE_ON_FOLDER "chooser_on_folder" @@ -154,6 +156,7 @@ #define GROUP_WIDGET_LY "widget_ly" #define WIDGET_CONTENT "widget_content" +#define WIDGET_THUMBNAIL "widget_thumbnail" #define WIDGET_DELETE_BUTTON "widget_delete_button" #define SIGNAL_DELETE_BUTTON_SHOW_ANI "delete_button_show_ani" #define SIGNAL_DELETE_BUTTON_HIDE_ANI "delete_button_hide_ani" diff --git a/inc/widget_viewer.h b/inc/widget_viewer.h index d4c11b9..d33ede5 100755 --- a/inc/widget_viewer.h +++ b/inc/widget_viewer.h @@ -26,7 +26,9 @@ void widget_viewer_init(Evas_Object *win); void widget_viewer_fini(void); -Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height); -void widget_viewer_send_cancel_click_event(widget_data_t *widget); +void widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height); +void widget_viewer_send_cancel_click_event(widget_data_t *item); +void widget_viewer_thumbnail_add(widget_data_t *item); +void widget_viewer_thumbnail_delete(widget_data_t *item); #endif /* __WIDGET_VIEWER_H__ */ diff --git a/res/edje/cluster_page.edc b/res/edje/cluster_page.edc index fb619fb..cb75008 100755 --- a/res/edje/cluster_page.edc +++ b/res/edje/cluster_page.edc @@ -69,6 +69,11 @@ collections { action: STATE_SET "edit" 0.0; target: CLUSTER_BG; transition: DECELERATE ANIMATION_RESIZE_TIME; + after: "edit_mode_on_done"; + } + program { + name: "edit_mode_on_done"; + action: SIGNAL_EMIT SIGNAL_EDIT_MODE_ON_DONE SIGNAL_SOURCE; } program { name: "edit_mode_off"; @@ -77,6 +82,11 @@ collections { action: STATE_SET "default" 0.0; target: CLUSTER_BG; transition: DECELERATE ANIMATION_RESIZE_TIME; + after: "edit_mode_off_done"; + } + program { + name: "edit_mode_off_done"; + action: SIGNAL_EMIT SIGNAL_EDIT_MODE_OFF_DONE SIGNAL_SOURCE; } } } diff --git a/res/edje/widget.edc b/res/edje/widget.edc index 22add8a..340f2a0 100755 --- a/res/edje/widget.edc +++ b/res/edje/widget.edc @@ -17,6 +17,15 @@ collections { rel1.relative: 0.0 0.0; } } + part { name: WIDGET_THUMBNAIL; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1.relative: 0.0 0.0; + } + } part { name: SIZE_SETTER; type: SWALLOW; mouse_events: 1; diff --git a/src/cluster_page.c b/src/cluster_page.c index dd1482e..14f098a 100755 --- a/src/cluster_page.c +++ b/src/cluster_page.c @@ -18,10 +18,16 @@ #include "conf.h" #include "edc_conf.h" #include "util.h" +#include "widget_viewer.h" +#include "cluster_view.h" + +static void __cluster_page_set(cluster_page_t *page, widget_data_t *item); +static void __cluster_page_print_space(cluster_page_t *page); +static void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h); + +static void __cluster_page_edit_on_done(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __cluster_page_edit_off_done(void *data, Evas_Object *obj, const char *emission, const char *source); -void __cluster_page_set(cluster_page_t *page, widget_data_t *item); -void __cluster_page_print_space(cluster_page_t *page); -void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h); cluster_page_t *cluster_page_new(Evas_Object* parent) { @@ -50,6 +56,12 @@ cluster_page_t *cluster_page_new(Evas_Object* parent) evas_object_show(grid); elm_layout_content_set(page_t->page_layout, CLUSTER_BOX, grid); page_t->grid = grid; + + elm_object_signal_callback_add(page_t->page_layout, SIGNAL_EDIT_MODE_ON_DONE, SIGNAL_SOURCE, + __cluster_page_edit_on_done, (void *)page_t); + elm_object_signal_callback_add(page_t->page_layout, SIGNAL_EDIT_MODE_OFF_DONE, SIGNAL_SOURCE, + __cluster_page_edit_off_done, (void *)page_t); + return page_t; } @@ -180,7 +192,7 @@ void cluster_page_get_highlight_xy(cluster_page_t *page, int *x, int *y) } } -void __cluster_page_set(cluster_page_t *page, widget_data_t *item) +static void __cluster_page_set(cluster_page_t *page, widget_data_t *item) { int w, h; int i, j; @@ -294,7 +306,7 @@ bool cluster_page_drop_widget(cluster_page_t *page, widget_data_t *widget) return true; } -void __cluster_page_print_space(cluster_page_t *page) +static void __cluster_page_print_space(cluster_page_t *page) { LOGD("========================================="); int i; @@ -304,7 +316,7 @@ void __cluster_page_print_space(cluster_page_t *page) LOGD("========================================="); } -void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h) +static void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h) { switch (type) { case WIDGET_SIZE_TYPE_4x2: @@ -321,3 +333,20 @@ void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h) break; } } + +static void __cluster_page_edit_on_done(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + cluster_page_t *page_t = (cluster_page_t *)data; + cluster_view_edit_on_done(page_t); +} + +static void __cluster_page_edit_off_done(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + cluster_page_t *page_t = (cluster_page_t *)data; + Eina_List *find_list; + widget_data_t *item; + + EINA_LIST_FOREACH(page_t->widget_list, find_list, item) { + widget_viewer_thumbnail_delete(item); + } +} diff --git a/src/cluster_view.c b/src/cluster_view.c index 4884dec..8296d3b 100755 --- a/src/cluster_view.c +++ b/src/cluster_view.c @@ -392,21 +392,28 @@ bool cluster_view_set_state(view_state_t state) Eina_List *data_list = cluster_data_get_widget_list(); Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item->page_layout) { - elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); - } - } - widget_data_t *item = NULL; EINA_LIST_FOREACH(data_list, find_list, item) { if (item->widget_layout) { if (!cluster_view_s.picked_widget || item->widget_layout != cluster_view_s.picked_widget->widget_layout) + { elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + } else { + evas_object_event_callback_add(item->widget_content, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb, item); + evas_object_event_callback_add(item->widget_content, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb, item); + evas_object_event_callback_add(item->widget_content, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb, item); + } + widget_viewer_thumbnail_add(item); elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); } } + + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item->page_layout) { + elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + } + } } else if (state == VIEW_STATE_NORMAL) { if (cluster_view_s.view_state == VIEW_STATE_EDIT) { homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME); @@ -554,6 +561,17 @@ void cluster_view_delete_widget(widget_data_t *item) } } +void cluster_view_edit_on_done(cluster_page_t *page) +{ + if (cluster_view_s.picked_widget) { + if (page->page_index == cluster_view_s.picked_widget->page_idx) { + cluster_page_unset(page, cluster_view_s.picked_widget); + cluster_mouse_info.offset_x *= 0.9; + cluster_mouse_info.offset_y *= 0.9; + } + } +} + static void __cluster_view_scroll_to_home(void) { __cluster_view_scroll_to_page(CLUSTER_HOME_PAGE, true); @@ -591,7 +609,7 @@ static void __cluster_view_add_widget_content(widget_data_t *item) { int w, h; LOGD("Create Widget: pkg[%s], type[%d]", item->pkg_name, item->type); - item->widget_layout = widget_viewer_add_widget(cluster_view_s.win, item, &w, &h); + widget_viewer_add_widget(cluster_view_s.win, item, &w, &h); evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb, item); evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb, item); evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb, item); @@ -1188,10 +1206,10 @@ static Eina_Bool __cluster_view_widget_long_press_time_cb(void *data) elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); - __cluster_view_edit_pick_up_widget(data); - widget_viewer_send_cancel_click_event(widget); + __cluster_view_edit_pick_up_widget(data); + return ECORE_CALLBACK_CANCEL; } @@ -1216,15 +1234,10 @@ static void __cluster_view_edit_pick_up_widget(void *data) cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.picked_widget->page_idx); - cluster_page_unset(page, cluster_view_s.picked_widget); - if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { - evas_object_resize(widget_layout, gw * 0.9, gh * 0.9); - - cluster_mouse_info.offset_x *= 0.9; - cluster_mouse_info.offset_y *= 0.9; - cluster_view_set_state(VIEW_STATE_EDIT); + } else { + cluster_page_unset(page, cluster_view_s.picked_widget); } elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE); @@ -1293,6 +1306,7 @@ static void __cluster_view_edit_drop_widget(void *data) cluster_view_s.animation_from_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + cluster_page_unset(page, cluster_view_s.picked_widget); cluster_page_get_highlight_xy(page, &to_x, &to_y); if (to_x == INIT_VALUE || to_y == INIT_VALUE) { cluster_page_check_empty_space_pos(page, cluster_view_s.picked_widget, &to_x, &to_y); @@ -1302,6 +1316,10 @@ static void __cluster_view_edit_drop_widget(void *data) cluster_view_s.animation_to_y = to_y; cluster_view_s.edit_animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __cluster_view_edit_move_anim, NULL); + + evas_object_event_callback_del(cluster_view_s.picked_widget->widget_content, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb); + evas_object_event_callback_del(cluster_view_s.picked_widget->widget_content, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb); + evas_object_event_callback_del(cluster_view_s.picked_widget->widget_content, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb); } static Eina_Bool __cluster_view_edit_move_anim(void *data, double pos) { diff --git a/src/widget_viewer.c b/src/widget_viewer.c index bec1d62..018f62d 100755 --- a/src/widget_viewer.c +++ b/src/widget_viewer.c @@ -42,7 +42,7 @@ void widget_viewer_fini(void) widget_viewer_evas_fini(); } -Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height) +void widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height) { Evas_Object *widget_layout; @@ -60,11 +60,14 @@ Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, elm_object_part_content_set(widget_layout, SIZE_SETTER, rect); #ifndef _TEST_ + int w, h; Evas_Object *widget = widget_viewer_evas_add_widget(widget_layout, item->pkg_name, NULL, item->period); - //evas_object_smart_callback_add(widget, WIDGET_SMART_SIGNAL_WIDGET_CREATED, __widget_viewer_widget_create_cb, NULL); evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(widget, 255, 255, 255, 255); + + //Notify widget_size_type_e to widget application. + widget_service_get_size(item->type, &w, &h); + evas_object_resize(widget, w, h); #else // for TEST /* Evas_Object *widget = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -85,13 +88,13 @@ Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, Ecore_Timer *timer = ecore_timer_add(1, __widget_viewer_test_timer_cb, widget); #endif elm_object_part_content_set(widget_layout, WIDGET_CONTENT, widget); - elm_object_signal_callback_add(widget_layout, SIGNAL_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, __widget_viewer_delete_btn_clicked_cb, (void *)item); evas_object_show(widget); evas_object_show(widget_layout); - return widget_layout; + item->widget_content = widget; + item->widget_layout = widget_layout; } static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) @@ -100,9 +103,48 @@ static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, cluster_data_delete(item); } -void widget_viewer_send_cancel_click_event(widget_data_t *widget) +void widget_viewer_send_cancel_click_event(widget_data_t *item) { Evas_Object *widget_obj = NULL; - widget_obj = elm_object_part_content_get(widget->widget_layout, WIDGET_CONTENT); + widget_obj = elm_object_part_content_get(item->widget_layout, WIDGET_CONTENT); widget_viewer_evas_cancel_click_event(widget_obj); } + +void widget_viewer_thumbnail_add(widget_data_t *item) +{ + Evas_Object *image = NULL; + + image = evas_object_image_filled_add(evas_object_evas_get(item->widget_layout)); + if (!image) { + LOGE("Could not create image proxy object"); + return; + } + + if (!evas_object_image_source_set(image, item->widget_content)) { + evas_object_del(image); + LOGE("Could not set proxy image source"); + return; + } + + evas_object_image_source_visible_set(image, EINA_FALSE); + + int gw, gh; + evas_object_geometry_get(item->widget_layout, NULL, NULL, &gw, &gh); + evas_object_image_fill_set(image, 0, 0, gw, gh); + evas_object_show(image); + + elm_object_part_content_set(item->widget_layout, WIDGET_THUMBNAIL, image); + elm_object_part_content_unset(item->widget_layout, WIDGET_CONTENT); +} + +void widget_viewer_thumbnail_delete(widget_data_t *item) +{ + if (item && item->widget_layout && item->widget_content) { + Evas_Object *image = NULL; + image = elm_object_part_content_get(item->widget_layout, WIDGET_THUMBNAIL); + evas_object_image_source_visible_set(image, EINA_TRUE); + elm_object_part_content_unset(item->widget_layout, WIDGET_THUMBNAIL); + evas_object_del(image); + elm_object_part_content_set(item->widget_layout, WIDGET_CONTENT, item->widget_content); + } +} -- 2.7.4 From 18972883c6f779e7de65a7ea5ee64bd18e1b7f8b Mon Sep 17 00:00:00 2001 From: "Seunghwan, Lee" Date: Wed, 15 Jun 2016 14:11:14 +0900 Subject: [PATCH 07/16] change option of edje resource Change-Id: I7a94c1d18ef791d9cfae78759b3a22eaa5888e8e Signed-off-by: Seunghwan, Lee --- .cproject | 20 ++++++++++++++++---- project_def.prop | 2 +- res/edje/app_icon.edc | 32 ++++++++++++++++---------------- res/edje/apps_folder_icon.edc | 16 ++++++++-------- res/edje/apps_folder_popup.edc | 18 +++++++++--------- res/edje/cluster_allpage_thumbnail.edc | 20 ++++++++++---------- res/edje/cluster_page.edc | 4 ++-- res/edje/home_btn.edc | 18 +++++++++--------- res/edje/page_indicator_unit.edc | 8 ++++---- res/edje/widget.edc | 8 ++++---- 10 files changed, 79 insertions(+), 67 deletions(-) diff --git a/.cproject b/.cproject index 518044c..19fb4b4 100755 --- a/.cproject +++ b/.cproject @@ -16,7 +16,7 @@ - + @@ -265,7 +265,12 @@ - + + + @@ -293,7 +298,7 @@ - + @@ -567,5 +572,12 @@ - + + + + + + + + diff --git a/project_def.prop b/project_def.prop index ec85acc..4ea0ad1 100755 --- a/project_def.prop +++ b/project_def.prop @@ -61,7 +61,7 @@ USER_EDCS_FONT_DIRS_ABS = USER_EXT_EDC_KEYS = EDC0 USER_EXT_EDC0_EDCS = res/edje/widget.edc res/edje/apps_folder_icon.edc res/edje/apps_folder_popup.edc res/edje/apps_view.edc res/edje/page_indicator_unit.edc res/edje/apps_view_bg.edc res/edje/cluster_allpage_thumbnail.edc res/edje/home_btn.edc res/edje/home.edc res/edje/apps_chooser_btn.edc res/edje/add_widget_viewer.edc res/edje/app_icon.edc res/edje/cluster_page.edc res/edje/cluster_allpage.edc -USER_EXT_EDC0_EDCS_IMAGE_DIRS = edje/images +USER_EXT_EDC0_EDCS_IMAGE_DIRS = edje/images res/images USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS = USER_EXT_EDC0_EDCS_SOUND_DIRS = edje/sounds USER_EXT_EDC0_EDCS_SOUND_DIRS_ABS = diff --git a/res/edje/app_icon.edc b/res/edje/app_icon.edc index aeca487..19f4204 100755 --- a/res/edje/app_icon.edc +++ b/res/edje/app_icon.edc @@ -17,14 +17,14 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/app_press_117.png" COMP; - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; - image: "../res/images/icon_badge_container.png" COMP; - image: "../res/images/core_check_bg.png" COMP; - image: "../res/images/core_check_bg_stroke.png" COMP; - image: "../res/images/core_check_icon.png" COMP; - image: "../res/images/folder_appicon_bg.png" COMP; + image: "app_press_117.png" COMP; + image: "btn_delete_nor.png" COMP; + image: "btn_delete_press.png" COMP; + image: "icon_badge_container.png" COMP; + image: "core_check_bg.png" COMP; + image: "core_check_bg_stroke.png" COMP; + image: "core_check_icon.png" COMP; + image: "folder_appicon_bg.png" COMP; } styles { @@ -75,7 +75,7 @@ collections { aspect_preference: BOTH; color: 0 0 0 0; image { - normal: "../res/images/app_press_117.png"; + normal: "app_press_117.png"; } } description{ @@ -98,7 +98,7 @@ collections { aspect_preference: BOTH; color: 0 0 0 0; image { - normal: "../res/images/folder_appicon_bg.png"; + normal: "folder_appicon_bg.png"; } visible: 0; } @@ -148,7 +148,7 @@ collections { visible: 0; image { - normal: "../res/images/icon_badge_container.png"; + normal: "icon_badge_container.png"; } } description @@ -201,7 +201,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/btn_delete_nor.png"; + normal: "btn_delete_nor.png"; } } description { @@ -215,7 +215,7 @@ collections { inherit: "default" 0.0; color: 255 255 255 255; image { - normal: "../res/images/btn_delete_press.png"; + normal: "btn_delete_press.png"; } visible: 1; } @@ -234,7 +234,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/core_check_bg.png"; + normal: "core_check_bg.png"; } } description { @@ -262,7 +262,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/core_check_bg_stroke.png"; + normal: "core_check_bg_stroke.png"; } } description { @@ -291,7 +291,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/core_check_icon.png"; + normal: "core_check_icon.png"; } } description { diff --git a/res/edje/apps_folder_icon.edc b/res/edje/apps_folder_icon.edc index 734e532..ad0af58 100755 --- a/res/edje/apps_folder_icon.edc +++ b/res/edje/apps_folder_icon.edc @@ -17,10 +17,10 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/folder_appicon_bg.png" COMP; - image: "../res/images/folder_appicon_bg_possible.png" COMP; - image: "../res/images/folder_appicon_bg_impossible.png" COMP; - image: "../res/images/folder_appicon_empty_bg.png" COMP; + image: "folder_appicon_bg.png" COMP; + image: "folder_appicon_bg_possible.png" COMP; + image: "folder_appicon_bg_impossible.png" COMP; + image: "folder_appicon_empty_bg.png" COMP; } collections { group { name: GROUP_FOLDER_ICON_LY; @@ -49,7 +49,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/folder_appicon_bg.png"; + normal: "folder_appicon_bg.png"; } } } @@ -65,7 +65,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/folder_appicon_bg_possible.png"; + normal: "folder_appicon_bg_possible.png"; } visible: 0; } @@ -73,7 +73,7 @@ collections { state: "frame_possible" 0.0; inherit: "default" 0.0; image { - normal: "../res/images/folder_appicon_bg_possible.png"; + normal: "folder_appicon_bg_possible.png"; } visible: 1; } @@ -81,7 +81,7 @@ collections { state: "frame_impossible" 0.0; inherit: "default" 0.0; image { - normal: "../res/images/folder_appicon_bg_impossible.png"; + normal: "folder_appicon_bg_impossible.png"; } visible: 1; } diff --git a/res/edje/apps_folder_popup.edc b/res/edje/apps_folder_popup.edc index 5ce73f0..f5b674b 100755 --- a/res/edje/apps_folder_popup.edc +++ b/res/edje/apps_folder_popup.edc @@ -34,9 +34,9 @@ }\ } images { - image: "../res/images/folder_popup_bg.png" COMP; - image: "../res/images/btn_add_nor.png" COMP; - image: "../res/images/btn_add_press.png" COMP; + image: "folder_popup_bg.png" COMP; + image: "btn_add_nor.png" COMP; + image: "btn_add_press.png" COMP; } collections { @@ -77,7 +77,7 @@ collections { rel1 {relative: 0.04 0.2; to:SIZE_SETTER;} rel2 {relative: 0.96 0.8; to:SIZE_SETTER;} image { - normal: "../res/images/folder_popup_bg.png"; + normal: "folder_popup_bg.png"; border: 5 5 5 5; } color: 255 255 255 255; @@ -139,14 +139,14 @@ collections { to: APPS_FOLDER_CONTAINER; } image { - normal: "../res/images/btn_add_nor.png"; + normal: "btn_add_nor.png"; } } description { state: "press" 0.0; inherit: "default" 0.0; image { - normal: "../res/images/btn_add_press.png"; + normal: "btn_add_press.png"; } } description { @@ -171,7 +171,7 @@ collections { custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("btn_add_nor.png")); set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); } } @@ -183,7 +183,7 @@ collections { custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("btn_add_nor.png")); set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); } } @@ -195,7 +195,7 @@ collections { custom_state(PART:APPS_FOLDER_PLUS_ICON, "press", 0.0); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_press.png")); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("btn_add_press.png")); set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); } } diff --git a/res/edje/cluster_allpage_thumbnail.edc b/res/edje/cluster_allpage_thumbnail.edc index 64296dc..0499cf7 100755 --- a/res/edje/cluster_allpage_thumbnail.edc +++ b/res/edje/cluster_allpage_thumbnail.edc @@ -18,11 +18,11 @@ collections { images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; - image: "../res/images/all_page_add.png" COMP; - image: "../res/images/all_page_add_press.png" COMP; - image: "../res/images/all_page_drag.png" COMP; + image: "btn_delete_nor.png" COMP; + image: "btn_delete_press.png" COMP; + image: "all_page_add.png" COMP; + image: "all_page_add_press.png" COMP; + image: "all_page_drag.png" COMP; } group { name: GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY; parts { @@ -52,7 +52,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/all_page_add.png"; + normal: "all_page_add.png"; } } description { @@ -66,7 +66,7 @@ collections { inherit: "default" 0.0; color: 255 255 255 255; image { - normal: "../res/images/all_page_add_press.png"; + normal: "all_page_add_press.png"; } visible: 1; } @@ -104,7 +104,7 @@ collections { color: 255 255 255 150; visible: 0; image { - normal: "../res/images/all_page_drag.png"; + normal: "all_page_drag.png"; } } description { @@ -125,7 +125,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/btn_delete_nor.png"; + normal: "btn_delete_nor.png"; } } description { @@ -139,7 +139,7 @@ collections { inherit: "default" 0.0; color: 255 255 255 255; image { - normal: "../res/images/btn_delete_press.png"; + normal: "btn_delete_press.png"; } visible: 1; } diff --git a/res/edje/cluster_page.edc b/res/edje/cluster_page.edc index cb75008..34e4eec 100755 --- a/res/edje/cluster_page.edc +++ b/res/edje/cluster_page.edc @@ -18,8 +18,8 @@ collections { images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; + image: "btn_delete_nor.png" COMP; + image: "btn_delete_press.png" COMP; } group { name: GROUP_CLUSTER_PAGE_LY; parts { diff --git a/res/edje/home_btn.edc b/res/edje/home_btn.edc index 12af99f..425b6e3 100755 --- a/res/edje/home_btn.edc +++ b/res/edje/home_btn.edc @@ -18,10 +18,10 @@ collections { images { - image: "../res/images/home_button_bg.png" COMP; - image: "../res/images/home_button_menu.png" COMP; - image: "../res/images/home_button_home.png" COMP; - image: "../res/images/home_button_apps.png" COMP; + image: "home_button_bg.png" COMP; + image: "home_button_menu.png" COMP; + image: "home_button_home.png" COMP; + image: "home_button_apps.png" COMP; } group { name: GROUP_HOME_BTN_LY; parts { @@ -35,7 +35,7 @@ collections { color: 0 0 0 40; visible: 1; image { - normal: "../res/images/home_button_bg.png"; + normal: "home_button_bg.png"; } } description { @@ -62,7 +62,7 @@ collections { color: 255 255 255 255; visible: 1; image { - normal: "../res/images/home_button_menu.png"; + normal: "home_button_menu.png"; } } description { state: "show" 0.0; @@ -85,7 +85,7 @@ collections { color: 0 0 0 40; visible: 1; image { - normal: "../res/images/home_button_bg.png"; + normal: "home_button_bg.png"; } } description { @@ -112,7 +112,7 @@ collections { color: 255 255 255 0; visible: 1; image { - normal: "../res/images/home_button_home.png"; + normal: "home_button_home.png"; } } description { state: "show" 0.0; @@ -135,7 +135,7 @@ collections { color: 255 255 255 255; visible: 1; image { - normal: "../res/images/home_button_apps.png"; + normal: "home_button_apps.png"; } } description { state: "show" 0.0; diff --git a/res/edje/page_indicator_unit.edc b/res/edje/page_indicator_unit.edc index 0dbae85..41b07d6 100755 --- a/res/edje/page_indicator_unit.edc +++ b/res/edje/page_indicator_unit.edc @@ -20,8 +20,8 @@ collections { group { name: GROUP_PAGE_INDICATOR_UNIT; images { - image: "../res/images/page_indicator_current.png" COMP; - image: "../res/images/page_indicator_unit.png" COMP; + image: "page_indicator_current.png" COMP; + image: "page_indicator_unit.png" COMP; } script { public rot; @@ -56,7 +56,7 @@ collections { rel1{relative: 0.0 0.0; to:SIZE_SETTER;} rel2{relative: 1.0 1.0; to:SIZE_SETTER;} image { - normal: "../res/images/page_indicator_unit.png"; + normal: "page_indicator_unit.png"; } map { on: 1; @@ -70,7 +70,7 @@ collections { inherit: "default" 0.0; color: 255 255 255 255; image { - normal: "../res/images/page_indicator_current.png"; + normal: "page_indicator_current.png"; } } } diff --git a/res/edje/widget.edc b/res/edje/widget.edc index 340f2a0..647bcbd 100755 --- a/res/edje/widget.edc +++ b/res/edje/widget.edc @@ -1,8 +1,8 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; + image: "btn_delete_nor.png" COMP; + image: "btn_delete_press.png" COMP; } collections { @@ -75,7 +75,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/btn_delete_nor.png"; + normal: "btn_delete_nor.png"; } } description { @@ -89,7 +89,7 @@ collections { inherit: "default" 0.0; color: 255 255 255 255; image { - normal: "../res/images/btn_delete_press.png"; + normal: "btn_delete_press.png"; } visible: 1; } -- 2.7.4 From 8f06058919bdae2ffd978e9349203e65f7141df0 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Wed, 15 Jun 2016 15:11:58 +0900 Subject: [PATCH 08/16] Fix Widget duplication issue and duplicated popup folder view issue Change-Id: I801e730c56c6983179044a63977aeffdcdcbc11e --- src/apps_view.c | 2 +- src/cluster_view.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/apps_view.c b/src/apps_view.c index 636cfcc..fbe7c33 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -889,7 +889,7 @@ static void __apps_view_icon_check_changed_cb(void *data, Evas_Object *obj, cons void apps_view_hw_menu_key(void) { - if (apps_view_s.view_state == VIEW_STATE_NORMAL) + if (apps_view_s.view_state == VIEW_STATE_NORMAL && apps_view_s.opened_folder == NULL) menu_change_state_on_hw_menu_key(apps_menu_table); } diff --git a/src/cluster_view.c b/src/cluster_view.c index 8296d3b..7a9bfe0 100755 --- a/src/cluster_view.c +++ b/src/cluster_view.c @@ -1305,8 +1305,10 @@ static void __cluster_view_edit_drop_widget(void *data) cluster_view_s.animation_from_x = cluster_mouse_info.move_x - cluster_mouse_info.offset_x; cluster_view_s.animation_from_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.picked_widget->page_idx); cluster_page_unset(page, cluster_view_s.picked_widget); + + page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); cluster_page_get_highlight_xy(page, &to_x, &to_y); if (to_x == INIT_VALUE || to_y == INIT_VALUE) { cluster_page_check_empty_space_pos(page, cluster_view_s.picked_widget, &to_x, &to_y); -- 2.7.4 From 6021e14adf0d9bd1d9905c712659403064f4da29 Mon Sep 17 00:00:00 2001 From: "juhee,park" Date: Wed, 15 Jun 2016 17:47:28 +0900 Subject: [PATCH 09/16] Add spec file Change-Id: I8d92877ba364408d4473bf72871113d2cbf9935e Signed-off-by: juhee,park --- packaging/org.tizen.homescreen-efl.spec | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 packaging/org.tizen.homescreen-efl.spec diff --git a/packaging/org.tizen.homescreen-efl.spec b/packaging/org.tizen.homescreen-efl.spec new file mode 100644 index 0000000..ddf46ba --- /dev/null +++ b/packaging/org.tizen.homescreen-efl.spec @@ -0,0 +1,8 @@ +Name: org.tizen.homescreen-efl +Summary: homescreen-efl +Version: 1.0.0 +Release: 1 +Group: Applications/Platform App +License: Flora-1.1 +Source0: %{name}-%{version}.tar.gz + -- 2.7.4 From 25a22ac92015ff512828188cb4765a9a31554203 Mon Sep 17 00:00:00 2001 From: "juhee,park" Date: Wed, 15 Jun 2016 18:00:19 +0900 Subject: [PATCH 10/16] Add spec file-2 Change-Id: I8925a4caeaccad7a1a5d2091e40d24d32ed4e195 Signed-off-by: juhee,park --- packaging/org.tizen.homescreen-efl.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packaging/org.tizen.homescreen-efl.spec b/packaging/org.tizen.homescreen-efl.spec index ddf46ba..09e594a 100644 --- a/packaging/org.tizen.homescreen-efl.spec +++ b/packaging/org.tizen.homescreen-efl.spec @@ -2,7 +2,9 @@ Name: org.tizen.homescreen-efl Summary: homescreen-efl Version: 1.0.0 Release: 1 -Group: Applications/Platform App +Group: Applications/Core Applications License: Flora-1.1 Source0: %{name}-%{version}.tar.gz +%files +%license LICENSE -- 2.7.4 From cd7e34b7a1ad7194a9a7c3e55a90fd67652461c0 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Thu, 16 Jun 2016 15:56:37 +0900 Subject: [PATCH 11/16] Fix ghost widget issue due to unupdated widget db Change-Id: Ie5997f95a7ca80a4c020f000c58faa89ce731ff5 --- .sdk_delta.info | Bin 36222 -> 0 bytes src/cluster_view.c | 9 +++++++++ 2 files changed, 9 insertions(+) delete mode 100644 .sdk_delta.info diff --git a/.sdk_delta.info b/.sdk_delta.info deleted file mode 100644 index 90d2a988cf357a07ecddf91596a0f25e4b8001d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36222 zcmb822Yh8mdFbz6d)HputnQWeEM81;%3G&dIlYhq#yA+T!PvW|q=-{@6tAd;d9QX0*C@b>Hwq5}a?o z@0*!#zJAVbYqeV2wzYO0nmd{=q`f>pc79$QX>Dt@c2DtS|Bdf|u?a}4)mi-jKilQs zJeX?joKEL^b64f*BG8>}JlS?&+jD;F+7hC(`XBtBsQ><0t98b7zC1tITf8)$m*6_` z57meTp%1rOr%oT76?j{(6nJ$&9@e9?dh@Q7~!!KXcJDpS}OmE1o5BAJ}%} z{;&k>?tL!5chrAh4lBQO(f$iBp1Js<3!W*#_uuo#pB<_|mf*G?-KD!>Wh0=rA$K)! z@XVy0&%gZH&l-&uR1)pSTdmWRUVJP)lrM-?wyRZM_t&o|K}vKraA%c?JJPvh#q2@F zuEvGJ+gSzgnVC4p+4;rUxnmlW{fSm<`=PnH!^4^2sf7IG87(88pFeW-e7u+* zI{)ax!Rdwg==_m<7>z-mRs$k}^at;cP>lR(KC zPe77pk7fC?JYaPLJFA}r?r|k-XZ6cmso7)29DtkU{!5=2va3OYLpReQ3UVe0L zaib=YSYM@K{oQS?9do_egR=sy+71@;fPaE2i_vp9cPZL@}6-IDGy zGJo1!B5as`dP-M*S}k<-GjpxBY0D)Z*mn4?d&|eh%C!>ASoybYt$k@4c!iT#nVqDG zXNG?4hhgm6evm~`Xj*=jq)sfk(@_btSq)}3(-%gV-4}&7kQa?%}KL~={iXAtygHTe`Q7NsqdxEoSn}MQu-zD$-MoDq9 zcWe1u{Fv-gm__Qwe&k246MkR9|eh_PL&) z1(_eaag?N?n}xAw#dZ)!ZsLb_Y82>gh5_7o?WoU!to0)jM6BN9WRga$RD~!)>V(G z_3PO#-!~J}Nn8#f4xBhg(26KeL;gqPyRmJXL10H3s)ye(Um_^aw??&lg3Hr3g=Vc4 zfx03~A8!b@x=Wv6yS&&Yu&FCAr!3*clO2?m5;fn63ke6FBFm3)Us12j7%YTiOrfa$4uQYh(kBcb0-K>S5oB8 zN>s{sHCAv>+m-;Ug>c*9N6xJ&zE`98J}82>$O9zZu^iWRBPS2TgbmJP;u3_3nY(6erdHvAsv3;_T|tUHYb=sI&xI@w(;mp|SG52C8MO{5urGz>br!NNqFr6En-RD9FEZ5d_Z|nR9mAKCJFeY#V+EyYd>N@8i8>rUQ`aeOja0}0gV=uG9 zDDrcbWyK+6%rrrb1S!me`}j8z^+|?NCgE)K0|R z_na{I5`@T(OeaqA!VN9cw}ODv6k=a1Obr$KwjPtcFA0iDeWB%=t=RSL28vyMR8TA& zH_S{cP8>5tUnNDD*_Ih0z(Ew+ZfwPcr`D*U5<6KBW8!o{QPTkTJot{s%7@5j1BIga z6bdtPGvC9Oq=n^so|oljp2b$~TgZ}Uazk=hP?ED>Lxp_Sqr3EldHxC$4|l-pTNmo&(yYSzjiB6H>+F0p)^n&&|~6&ay#_W&<+uX zEK6)Jb-mp7QIaNJND{?4yD8+kj?@(@aVYgLCUy#nLX+3Z5@&(y25KL4ZON^v z$JF{wf_Y^)bg+MFptxxN4D&u`9dKua%WQGgQyXb=5Uwoqu^dt4;J7Ijr+a9~a6OEP zGhiMUJhXGyvT!3({FESZQ6{G8SXiaPO1u=+p!-Y8y@cUmI5#o(iJw?O|_MT~=DnNE=UUXXY}XghdlrfH)`b4w`CK=UOODzQcNFec6v6gOCe z{6*zMs5DSe{4XdbaUO&*+Bm@*bMq*PL);}i3>zIC<%A=NZ7H7+<{MOkN z_2}+p3)`iW(@^~O!Ac)NrGdg(y$p(YC|MB~nU5DCTwg-E%<=rxO)R{MB#RO|_jHO1 zRdrATUw7||1w|#RDAmQrm-v{ZIN7_Kixv_|MUW4!7(gn_Z2m^$)^4R+@dsX1lg$ zb4x)OB)Jpf)CG=-sz>L?nts-}V(s;q>^&%$-*9IevETLG1`2up9%l__LFmL7YnG6B z7y}mz9tUpVgo%?DUKDzcI&1v~u|@STL@J=|s5lO=r@pj&2$cp3irPMUIm_5jlpAg_iZh z1g8;Sk!2BH`+nrbff>X(H!DIzsT-uBVkhe{*?S0zu5yIP0loU(@*!rrfx>V6^eL!MuDFa2EOZ9BTN-yP>-o~@-X`_m2OeQoKBn-Y@6-l)Zk*^ zePRQX4D*!7DwNP&7Z|R`WbbRB!sxpw%mQyIDeRC`Nyz$Lvv8tAZhhvJgagq#>)GlXcO%DnP-QNX9ac}GgM0q2}YmK7#i zjG)D{s|`U6=s-|ZX&l{2c$);9T7Ns&Kf%hRxCXYL7NHm9_#k;`C1w(s2?uBAR>)H& zU7BOhy6Q2t{$UOX6N#kSF1d^#vrxLRZRHjy$$8irdc{d?Z@81dbcu@7XuF#3(()3Q zHBjj17qDG9sWP{4^3)YBnFQ$IAkFRV~JVI=&TkA4HYt6kICNG*{+Om zFvpJ!JQS_(g=jHux65{C0c(nhx8jYcr1Q^oiRv4Id8NBx{tmNz2*V8&%zujQ5^*Pz zlxDeax}+IVR3R2Q6t^jKus0;5GNmnbR8XnMWKZOvJmqfyCK*%C|74Ha!#>+~%mTe= zu|}uh&iF(ekxQh*&Cg;SQB0eXXC0NwmQ40Uw!~Aqi)@K>_EcuiSh*gGK1$Ig^OTT} zbVyeS4~{#8lY=Zq`0!!_1oO3rqoLx~)WcX=6BLz}K#fbk@%s%F7U2g_H2o+Lx+qQ~ z$BYAf4UbsSCzwMz$nLqBmuXf{LnW+0Lvf-jC@L+X<>;4G3cb7Z8DX+xKSm{ocflL?XVU3@zs`$^^#gd~m0-X-J@ zJ*>FgE}bitHR>*r>u7tL!qIf^XPPBqTt3Tokyl5;MGi8w39mSr&Zb(3bj^!C4 zhFYVBiY=(te zjl}<-6N%=WeHm`l7D1sB5>*dlVz;2E>?{-yTw6YbiX6rSjX>mG@!c|NajD1|5NuQ1 zv-s_Wp%b|zv7Fr0ZIFfvD)lhRN@Aed*#}e+N*Rvb6J0?uW;sR3#WXXwAdwzKXeq9d z$fdhf=hB2oQXP)ScBm)oUchsr7e2(W5{o6t3%v6m1MuhcXCj%S|GB z96g`nk`_v6YFzooQ|rPv4zxR~`GhZ!6uWybhhl1HG2x1t;C+iqk{uM(QE@9U0ulE( zpd#rGcQ0`%>(Sl&%YveI(KN>1(LiC2-znBu_(@8R#y6>@CLSd`ijhvnr6Br9sc1PN zbv5lAm6lN6%hbB?UIKMHbhk>ydXqgGIq(Usf-EG7RE!s95*L7r=wTeK6u}`^6i0<7 zIhwPFS5}Y79{JUMPeV8ey)U2M};n`M|bb92#U%l)OGK_G*Dc$cOeq!fgnz- z&<#u{<$5_JHsh4iy2$boNuu&;U{L3%i3DO$kE!+B5eYIvBu_*Lh@%(M4T1h4d1g5x zf-0=YkGVm^U1(*hjM7v^ni|(~i7Mil?0r_KI9z2r2}8>D7{u7g5DiFkr-++O%S59F z`VG=loJt%`_K0`(#d$(4mGCli(=5V6#reXxli-N)S}cyD7pmC+brO6(FOgqwY z%l9aMNj3I#m%hkZ3wg!mj%ZK81@|)2vZ-Jhd818*B8lyLv340XRLafnF5wilBh3bB zKA|dScbC2-vVR~p5fjj96l}EoyYH|AsMRLssX{eOz)m`S$_mP(kYzHlg zttKPxQPTG)aO44DOPtV4fU_UzXFYwzTS{Rm&$kvELtKr0>@FTMf6s&0RSrbSNsX$zEL`<672hacl?DA$4J6uZzKqzI)Su|?z}uk2 zO}_;$2ca=3W{+&SPj87R2rG(uxS`abu_DwUNmMq}Bd3F(LO{n4(mjPol8-hH(lS1A zq~^M)@L4b{nQsf`H5XLNUEJ6}5#Zc}*bu)5KHeBjbC~ZK4Z*3#Y?0+*rRfJEDUm6P zFfTJI>cSc;T-bK3EaUzMj(n_gdQl6K;?(-P1w}iLQAl>+@SjX*TnZudwQ(b;)p6M;LIRy766*Fq@hxA{bcVkK~dA; zN^+LI((r{mf0gZ`IVup%b98>t;E;2js9xKJiMK{l8B3oN1?%@(t&w%fHJ&Q&H656A zJr$H%Fyo8^shaHs|B*y|=9TxPmNwOug3Aw|#>dM4Da8WX38?INm8 zu``IWpOF_JRfNgQlQJ zM;8~BxH>1rj6Y-s=y^X)q5=hIaX@%oWgOA?mI{@kxVxgL`CVEr?%k5&)cSj%NcDp9 zXoBBRi16CNMiJB(2y#I(B&E`WbE|oJ8Y*s0J*L+06l>I-CG}dyR~slq;(jQi=W+UJ zL&U0KT4=bzjzu)w;8@~P2#N8_tWo1ENmR?6T|K(XJD^xrB`T$=+N{w<4HSCm15hMw zg@vc&>zWbGkd!tMqJSI^9cPYf4HeQ-4`bp9f}(bgn$^3%fnrx5;G%Jn zNjN0LjJcQjR!)x~<&QL@VI-l)Oe___lCnx8@jK>A6s5G($aV{g`*I8qf^K>)KCL5~ zk!ivZ4y9;$5n0CwJ*A;iT!}-eM|b%&!Mqj^-t;ZvFfs5aYasFWez9F5S-=Sejz=jP zPotoxmQ*%vN;puMEGMPYQ8BNf!k?^1cki!4u}tjOc2?89Dl<0OyBB{Wx9mI$9XbFD z8aK@-#$H)j$ZzVLG&@E~NZ*yBsKp46H3TVekj~ndi_VRZFpO5{gmwec;bi0K*mUSQ ziV{)j=0tQ<(jqXu9+N#1P5a2nnaGFGkF4L~(5PQvC8%d%St(}W?P)n24)O50C4%zc zYE-)?&Jp{dSp@CQzNZEfsrY{tm(iu4+Qw#CA!UDj8XB5ta-kiI-bhY>3>jrq#k_`! zD_@VP^}7T`%_3-E|Jp!7@md7c4Z%!2d4;wMyQXY#;wj0j2a!*BDp|SQ$wYfBw$!F|1rV5vIs;jS5?mt&ISrW zJ-~KZcsE=RJW`vCDn01r$rI!=psxhkrJ_Yxu7zD1DulBh-MzmiC~6i#v$OX$P)L`^ zf<`Gl@3d?RTfj94DAnQP6g1E!zNiorlG8?`Z`WU#C5m#3YGlR=>)lr{8$XunG9pj% zfLff7l;I9iK`MNDp2)6hwpil|;jG7G@4JF|EeO)Wu4@}8&RV=rA^KbC)uh`fHL1o@ z_lPlL8PP*PV=p>i^h#@SgocVksmIj%-B2tQPOa*-0*A8f#>93gVnL|Yn+`DqrTdhw zIhX(9Qn{{4R6ubl@wGw^I{Y~mnNr!-6piu*mGNM$Ni=!>w}vm)_+B&#HEhR6bI|u5 zh@E6GG^ zi?Xj)1kvT0=@Qi^Kt<;OAseq{&_^N4pDx)PnrO+IyA)PvhQjSj^n0yR4QP*g?4Ed{ z*m-60@SoQz50AAsQ0#-~icb@qrHERQO~YJB(w>|Zxl5Cp2QIUNAD-c9N zhuAKP4wyCvn?t!1mlBZ`C3tGLAxR1XfH0)1M{SovC8$V>I|W5Os8^l;4>eFw{2JTE z^=6;^i1$Hksy<|HNKJ{f2vtdo+#+wZ(AKIbYSxo2s>fuHgcUhzv0WB*O^!Px*%}k4 z`ZP+@S)B34R7T@x*~ZqmaFVNK7_LWm`3%9lmLJfr#`_v5q)WVyKt5Xd!jv~iKB5mv z!P0BtQ)4BnrH26BOOiz~uc1Ps>M^zcDM3-Wsk(9bKm&!-_(3ST2{|^(gTj%r9r~eY zPKroHl8~fSNcql0k*FJ_qf*AjSP{l0)4iZaU)?DwVNfK+?%pfWBs3N|spwNCdFj%F zgBwgYHhFpCOp_jD${ict%+l7#y6Q2teh&x4n;VoWaH|}usy5|%Y(+q-P-Ir<`!`t* z_DgNoO^PdQQ$4zSXFw&K7t^Nq$aAPAM)+amWGRRsJ06uKn=mNV-5V|J;(Qxa%V&yx z5Nfd2s9Fm2YYh~F`gL}mgXLWsk}MwOo`kn-NFs>$d$93o#EULe3Gf#c^9q%qA}O8) zsa(5^4_vkQqVgdU)j%O#qVE^IZSiVNK@yXwo7AF-sv^5cUcn;hOk++y)ul_JVz=ut zwf<>AQIlsa5x3qzVb(<@iyF60R)@?wFEXGv@g53#1#FiZR&He$?>M;ndr}%IE?_+- zdt}?%`sX}2r^cs{xI1n+|whSzmy zfue{+yDDBMp|?Y*O)`aiS8PqsX3O#{^w*Ssw?WER2wvT4+5dl7Yi4WHqcICA$?Wg( z!36=BXXn>1i*JHo{Y(SS>*t?k7e>8RE*>_BS3h^k$=)h|N(0Es&OP~C<#5;_9sG|? zZ&RxrMMpf9Z9M|T<1bB6ec&FsNrb3H9K)xO+va|4ZHpjq$q zY4tsw);5yJ8@_v^Y*hJeoinC;*}_bgA6e82Av^!_xs_{D;%iqj(OJWvn3!J34p-pQ zwYshj?0`1sqa0F|8|mEf=UkEL1(;XorE#u$QaY=HQ(BLkJ{ljJE%JrM>BXb-Qh>mn zRBP<4evUiw!g9Tx+XB8?5FcMWG}k*{P>2_g_wwoGqvESWk|{ayUTtF7YVDFUtdUc2 zk|eE&@A6D9s*SA)Yy$HjMkTFJ@1viNLoqAwr+eP-je%Ks71ijThbwSqBCc1p*8=|qLPk&& zKUW=NXYjufrYijE-1;}X4u*WpBiA#voGeUVwNQT8YV*uL(`NoPnqt!@&7^XvWnj;h zZ-+COVC=c_9j(^Bx!%F)@*^_S8z-M{O`Fr^`ElX6vqUzlKSgUp3 z7N};)&TPQ7|C>*K%EjgU?u<~vAFBR-saRDlI-Bm(|14p|kIvu?r?gJZv#ZJqdjohn zjFb=mSNXg8`%fqMl2?|^EX`&I^TnB$&E`vaZM6*M0_--}9=>HLaR5#1$_Yr$^ z-pnjtBO5tEcyW~$D<|w`!op0-N5&TN-b}JMa^l_BGqK9*7 zCOH#g+;H|Lh~ZIYv%Qlj6WEu^zoTi&QFo=`B==nSqIr7dr~{%ja!bO!4caQQd+o$f|8G<{TjHLY=BR(|ca658mq z@%1qJ>}flG`A}xm@;U>Wl7|}wjhW9kSYeDL#hA>%fMkY4YA2;HP+2H#XHd8G=nUu{ z-jW&N!&IX)_|n+Sz(75WzA*Ty@Rn>JTkZ@FU_Cm6 z2ghax2I^t--z=C>jbi(?V|sT31v50AY{|?+8vNJBW(Ef8Vf5dEFO(mddDi7aPwG7l zApB4T-;$rNYw+aY#ylx_sE5&iE1Oe(6mauN{c8gSGuMv6%)=V|H^*iM2I^t-|59wu zv6;&*9=bW#Hh}O$5qHbY`A-f0k+J!Khk6+OzpD7rU1Cjm{;dIoA3pdsil0s$u@1ha z!Si9MF%JtK>S6S;INS4u8Qta9_<3&w2tO1)x8&zh4gRsQ`GJRe7=4^#!Ow{Od0ztv zKa|S0M%? z=J-%azOI3S8D4bXl9}&o@VsO@CNnTl52OEgFjLG9W#;`26wL6>@RrQ{P{FT(a7<=k zpdLp5?*%i%-5cSvSEDnyVQXgAFn107T6=6}V4xmG{~wUyqBnEl1w%LIh6a$$;Z@14 zHfODJCdH)A8vS--ZVo)u!|4Abn{#luQ*mPh1v58|!OV6AzqVs+W?-NmM*p7#Gv&v- zH@RCkHBc}^FXNUwbDDx*JAG_sV4xmG|DR#z&~O?4Km!Fc9~^_3oeF;KjIo)4fqEGI zw+Uv3%kT#qD43!6x8=^9so>Yn8k-pysE5%fC}Y=x(NJ7d%yTzH4RUit!J!(R0TywT z!jY1EP6N*7JaKG(RBU4O2@TpuHaJ?6nKgxcaLX9XJW0W?J$YL8q?iz!ipH%Q` zKQ%T#DkL%bL6?o5~F_uo6|c!bNPXx3g>QxfAH}!`1x4{zh;ij4?NVv=o1vQ7lzxZ zk2g@<@lTAwjHTe$?6H|qQHjwfC}=MXzgC}6$On8nd`lzcDEKvZY-UtcV)O|L+6x<8 zbg6JYsgMu&7TA`|cnW^aADbB!l^A`3g7(62BlRhTe86YIwqzzy@N41N%&4fu=o1ud zU+m57AFgojQTPX+9)q7q!LL1aY<^T=V)Tg%+Q)~>@TV2>!Dq%`=I0dr+Ru;8j0#MQ zK5;?&_=b9i6r0Z|x=MB|1 zpH=t=yhghvKTlKeYfm4W9~GDweS!kP&&AIj%FpK%{=vOt@N)wZ=DU zwMMeiXZDUC$rog8vZ<`AMu#^8zq2ILx%Kb)d!bjpP|z?Un`ZhNBd?uobvM=S#a?cj z^*U|V>rdG*i+><1p4JM9J9;nr{Sw;f3tiH#|3+G;Hqp}O$)=4xR|+o{E*N{R#BbYr zvtF-l78@a2spw`qfiX#-Jg8Qccrp6e$(YzfeIOv0CCV!3jH<6TXKedJp9Tq$DuX0r%k&yrI%ENAB% zcT|DOo-4syk3Cm1LDDFz_`}%}p>aclNKj5W$x4Wz4%nP4(C^opdcK@hQhrtb2LA8d<3ZQ;Tq6&nAzA+uyNAU-U6@?QWhwg zL3mHA`b0J`Uc;7RAPIba9N~VgCft7x^T!uy(a>;flBzr#qmN@Tv9T#fo3ryTCGSEk znzMZ`{4B;j8hNCq+1wcQCXJuJWwDn$`@)N!cf~~@ncUQ7s)gXIM8G?*xM1dTngx4h z_F$8id5zf3a&!jhsa<7r7cF;%Xk`_RpcMhti`ZQf@kpg&y5ip%I%W2ldXGx~cOJFy zd-b;68x&a8vLyDP4Wd72MjfAs7Uv;?dBeLAb()uyPGlv7yAEzK0c-i~Ve;Aa~xrm!E_`PMff zsEp3)!~A5i;_q9y7H9AoSGo+371N6U13O>qzNi9O<-l4-_4nH4%sD~nsY&{x|FfJR zesoqJQA%$(FaY)FtbVIedc#3^EJ44`l|DLmoPQfqgB`s5P4|`%omHMUQa1=-tAzW`MydE%v9<#9dA z!#_baYFw{A@>dmL3D*b=nO@mAxk*jj)}Ur}w`+})n*hJ30e*ki@Wx4@zbc(_U`Owg z3U#RuTHSJXXRyTmzz1pC7_|wfzWXJ$I1WUX?7V8i+H;!z$Bm7X+QjX@apzCe*!S_f z3SH5{1U(HZ>A z7LAj`F)*thodHRx6B{SBNjJak%*#s95>OZ=MrUBE#z_rW<8itKtbkEedgJ8q2>{ij z#6F^Na`;@hk#k8KsXj;n-h?KvePadF82}e8j#RXmKXMX)a*`*k zs5WWlaS!{ybc!ybeV}c%B{>SAUd< z04Zmo+|J%GYi41wH+MK6Il0n?Vt!}vi$ZTGl4bAuD5AjDqccG7?8cFej~`i_k-B@- z#7aqtxt+n&aa5X#Cs`n1_2>*PK%3SI8&ZPBlWh&qawg{X+)XoQW_dAXVPQ5oGJ1=c zD3M&)YCU-~k}Xj%O`>>at98x^DDtE8i&vj)9n6vQFXEKy`DG|}vU$MDdB4OdRW0Yo z7Z=$!VOB>lP&w`56X*#PBk2JwCqDaxiDf`LN}K?e6LAI3t|TJn zeGTEDF2=LR$X|?_%mg_ZtNw(I?%qs#yw~HMrIFK_BBx(6qCbBWY2fADO9>CE)Y>Me z>IV%JHsgnOYkSOMM5w#jP=G`td>*;O_~oM@c`6~F52QHH;W&9JA+g-s(|8nQW!D98 zXYc|6iD(VS$g!~mCi`h|-Je82YDj-LSD^Dflud%4IQE?Pn03`4XXb+B*8JD`*0`lrneDYL6=0MJlyjeVz zkOf;>zL+=)EdUbuAi!m})F@y8B=8}4I6QLyc`6}i1?1sTIC&}|uY!TH31}2B0225x zXpfAPYMx5SBLebeqj2(6LLLS3=tx$1Dj|;nc`O-)lcy4LPC$+nKb}g+c_8OULh@8X z{yG~~_EU^v000TxtAH=tKMEKC3A_Lgy}414Je81(pe@@3MgapLfsccBVdTd0R6@Q? zK#tr5o=V6i0Xgyx@>D`D3&@cIz*7l%HH#|i#-kPmfCPRyXpfIv6i+4OZwSbdhM1=k z@;70iEQgL_000U6TNUud&m9E}fCT>S3V8nuM*#yMf&V)p?82eAr+?u{MdGWsH;}j^ zv@Hu-(S_!wg!e#B z!j6(c(`S{*Ta^zuuw(Ar%A+ayXq{e8?F_z%>%EEAbUCleuC{*W#*1s%-{JR9RDa)s z4%fyvxl##!B63Lr~dn~ zhOsiasKM{J^dmL%gHt((Kd;~);s2BMF|}va+IPNg-|yFG1!rf~fB((KgtuDGft|1W z1?V$6gB|=7{}q4l)o7FnZ;h>;Z|_&NAm>zn z-}^)emKkitkd}-d>@2~=kIvu>ew-k{I!kZ;YO}KdwybhuXYEVey1HzqfcM|`nV$_S zfWevk7Dpi{;J;R7I}P-U7rlMHek`_99Jl~A_^~le(d2Lc2liZXa}D@7em7f+16OCI zH3DDy)E_n5zYExUW7ejaR#xFk&=XV5gNYKo_|X|4MJJ@175W1^U;o<|m#`&V>s{5~ ncbrQwS$;O)eEA)e`g10g6m6S(;YeG7S1IvE diff --git a/src/cluster_view.c b/src/cluster_view.c index 7a9bfe0..e1d62c1 100755 --- a/src/cluster_view.c +++ b/src/cluster_view.c @@ -892,6 +892,15 @@ static void __cluster_view_allpage_delete_page_cb(void *data, Evas_Object *obj, __cluster_view_page_delete(page); __cluster_view_allpage_reposition(); + Eina_List *widget_list = NULL; + widget_data_t *widget_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + EINA_LIST_FOREACH(page_item->widget_list, widget_list, widget_item) { + widget_item->page_idx = page_item->page_index; + cluster_data_update(widget_item); + } + } + if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { if (cluster_view_s.allpage_add_page == NULL) { cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage); -- 2.7.4 From 314d6b4dcc4d70f100dc25d04be23eeffbc9f20c Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Fri, 17 Jun 2016 11:14:28 +0900 Subject: [PATCH 12/16] Fix Widget duplication issue after deleting a page Change-Id: Ia86c739ab24ca05a4fbee5ca199408dcee015eea --- .gitignore | 1 + src/cluster_view.c | 16 ++++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 813772b..152a4e0 100755 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /SA_Report .svace-dir .sign +.sdk_delta.info diff --git a/src/cluster_view.c b/src/cluster_view.c index e1d62c1..0a38764 100755 --- a/src/cluster_view.c +++ b/src/cluster_view.c @@ -395,8 +395,7 @@ bool cluster_view_set_state(view_state_t state) widget_data_t *item = NULL; EINA_LIST_FOREACH(data_list, find_list, item) { if (item->widget_layout) { - if (!cluster_view_s.picked_widget || item->widget_layout != cluster_view_s.picked_widget->widget_layout) - { + if (!cluster_view_s.picked_widget || item->widget_layout != cluster_view_s.picked_widget->widget_layout) { elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); } else { evas_object_event_callback_add(item->widget_content, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb, item); @@ -886,21 +885,26 @@ static void __cluster_view_allpage_delete_page_cb(void *data, Evas_Object *obj, EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { if (page_item->page_index > page->page_index) { page_item->page_index -= 1; + } } - __cluster_view_page_delete(page); - __cluster_view_allpage_reposition(); - Eina_List *widget_list = NULL; widget_data_t *widget_item = NULL; EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { EINA_LIST_FOREACH(page_item->widget_list, widget_list, widget_item) { - widget_item->page_idx = page_item->page_index; + if (page_item == page) + widget_item->page_idx = -1; + else + widget_item->page_idx = page_item->page_index; cluster_data_update(widget_item); } } + __cluster_view_page_delete(page); + __cluster_view_allpage_reposition(); + + if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { if (cluster_view_s.allpage_add_page == NULL) { cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage); -- 2.7.4 From 32451e3313583fa785be8b8c5d5ae34909ff4233 Mon Sep 17 00:00:00 2001 From: "gs86.lee" Date: Fri, 17 Jun 2016 13:53:31 +0900 Subject: [PATCH 13/16] Add appcontrol to detect launching by home key event Change-Id: I585da772d2d9db172a4ef3f62edb97b2bd932582 --- src/homescreen-efl.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++---- src/hw_key.c | 7 ------- 2 files changed, 48 insertions(+), 11 deletions(-) diff --git a/src/homescreen-efl.c b/src/homescreen-efl.c index 7de19c5..d5208f1 100755 --- a/src/homescreen-efl.c +++ b/src/homescreen-efl.c @@ -27,6 +27,7 @@ #include "hw_key.h" #include "view.h" #include "menu.h" +#include "popup.h" static struct { Evas_Object *win; @@ -122,8 +123,51 @@ static bool __homescreen_efl_app_create_cb(void *data) return true; } -static void __homescreen_efl_app_control_cb(app_control_h app_control, void *data) +#define APP_CONTROL_HOME_OP_KEY "__HOME_OP__" +#define APP_CONTROL_HOME_OP_VAL_LAUNCH_BY_HOME_KEY "__LAUNCH_BY_HOME_KEY__" +static void __homescreen_efl_app_control_cb(app_control_h app_control, void*data) { + int ret = 0; + char *operation = NULL; + + if (!app_control) { + LOGE("appcontrol is NULL"); + return; + } + + ret = app_control_get_operation(app_control, &operation); + if (ret != APP_CONTROL_ERROR_NONE) { + LOGE("Failed to get operation"); + return; + } + + if (!strncmp(operation, APP_CONTROL_OPERATION_DEFAULT, strlen(operation))) { + char *value = NULL; + ret = app_control_get_extra_data(app_control, APP_CONTROL_HOME_OP_KEY, &value); + if (ret != APP_CONTROL_ERROR_NONE) { + LOGE("Failed to get extra data"); + free(operation); + return; + } + + if (value && !strncmp(value, APP_CONTROL_HOME_OP_VAL_LAUNCH_BY_HOME_KEY, strlen(value))) { + /* + * If the homescreen is launched by home key, + * show the first view of the homescreen. + */ + LOGD("launched by home key"); + if (menu_is_show()) { + menu_hide(); + } else if (popup_is_show()) { + popup_hide(); + } + homescreen_efl_hw_home_key_release(); + } + + free(value); + } + + free(operation); } static void __homescreen_efl_app_pause_cb(void *data) @@ -335,12 +379,12 @@ void homescreen_efl_hw_menu_key_release(void) void homescreen_efl_hw_home_key_release(void) { - if (main_info.view_type == HOMESCREEN_VIEW_HOME) { - cluster_view_hw_home_key(); - } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { + if (main_info.view_type == HOMESCREEN_VIEW_APPS) { if (apps_view_hw_home_key() == false) __homescreen_efl_change_view(); } + + cluster_view_hw_home_key(); } void homescreen_efl_hw_back_key_release(void) diff --git a/src/hw_key.c b/src/hw_key.c index 625c1b3..ced206a 100755 --- a/src/hw_key.c +++ b/src/hw_key.c @@ -120,13 +120,6 @@ static Eina_Bool __hw_key_release_cb(void *data, int type, void *event) } } else if (!strcmp(ev->keyname, KEY_MENU)) { homescreen_efl_hw_menu_key_release(); - } else if (!strcmp(ev->keyname, KEY_HOME)) { - if (menu_is_show()) { - menu_hide(); - } else if (popup_is_show()) { - popup_hide(); - } - homescreen_efl_hw_home_key_release(); } else { hw_key_info.pressed = EINA_FALSE; -- 2.7.4 From 610d0bc868545581842b1b039dd59a2fb1ff5d61 Mon Sep 17 00:00:00 2001 From: cskim Date: Fri, 17 Jun 2016 17:38:23 +0900 Subject: [PATCH 14/16] Remove spec file which is no more used. Change-Id: I61d5fac78cae2f5f77620266a81f52764d4a314f --- packaging/org.tizen.homescreen-efl.spec | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 packaging/org.tizen.homescreen-efl.spec diff --git a/packaging/org.tizen.homescreen-efl.spec b/packaging/org.tizen.homescreen-efl.spec deleted file mode 100644 index 09e594a..0000000 --- a/packaging/org.tizen.homescreen-efl.spec +++ /dev/null @@ -1,10 +0,0 @@ -Name: org.tizen.homescreen-efl -Summary: homescreen-efl -Version: 1.0.0 -Release: 1 -Group: Applications/Core Applications -License: Flora-1.1 -Source0: %{name}-%{version}.tar.gz - -%files -%license LICENSE -- 2.7.4 From 46ba7493946aab1afe5dc8a0746eb9da6fafb234 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Mon, 20 Jun 2016 15:11:33 +0900 Subject: [PATCH 15/16] Make the cluster view don't make widget instance if it cant be attached Change-Id: I136c8ab54eda22f3b42d089a6a682550d3714dd9 --- src/cluster_data.c | 2 +- src/cluster_view.c | 66 +++++++++++++++++++++++++++++------------------------- 2 files changed, 36 insertions(+), 32 deletions(-) diff --git a/src/cluster_data.c b/src/cluster_data.c index 09eadaf..1fba6fa 100755 --- a/src/cluster_data.c +++ b/src/cluster_data.c @@ -119,7 +119,7 @@ static void __cluster_data_insert_default_data(void) new_item->pos_y = 0; new_item->pos_x = 0; new_item->pkg_name = strdup("org.tizen.calendar.widget"); - new_item->content_info = NULL; + new_item->content_info = strdup("org.tizen.calendar.widget"); new_item->type = WIDGET_SIZE_TYPE_4x4; new_item->period = 0.0; new_item->allow_duplicate = 1; diff --git a/src/cluster_view.c b/src/cluster_view.c index 0a38764..cf379fa 100755 --- a/src/cluster_view.c +++ b/src/cluster_view.c @@ -475,9 +475,6 @@ bool cluster_view_set_state(view_state_t state) bool cluster_view_add_widget(widget_data_t *item, bool scroll) { - if (!item->widget_layout) - __cluster_view_add_widget_content(item); - int page_idx = INIT_VALUE; bool set_on = false; @@ -488,51 +485,58 @@ bool cluster_view_add_widget(widget_data_t *item, bool scroll) } cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, page_idx); - set_on = cluster_page_set_widget(page, item); + set_on = cluster_page_check_empty_space(page, item->type, item->pos_x, item->pos_y, NULL, NULL); if (!set_on) { Eina_List *find_list = NULL; cluster_page_t *page_item = NULL; - bool set_on = false; EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { if (page_item == NULL) { LOGE("page is NULL"); } else { - if (cluster_page_set_widget(page_item, item)) { - page_idx = page_item->page_index; - set_on = true; + set_on = cluster_page_check_empty_space(page_item, item->type, item->pos_x, item->pos_y, NULL, NULL); + if (set_on) { + page = page_item; break; } } } + } - if (!set_on) { - if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) { - LOGE("cluster page is max."); - - Evas_Smart_Cb func[3] = { NULL, NULL, NULL }; - void *data[3] = { NULL, NULL, NULL }; - char btn_text[3][STR_MAX] = { "", "", "" }; - char title_text[STR_MAX] = { "" }; - char popup_text[STR_MAX] = { "" }; - snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_CAM_SK_OK")); - snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB")); - snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG")); - popup_show(1, func, data, btn_text, title_text, popup_text); - return false; - } else { - cluster_page_t *page_t = __cluster_view_page_new(); - if (!page_t || !cluster_page_set_widget(page_t, item)) { - LOGE("Cannot add widget"); - return false; - } - page_idx = page_t->page_index; - } + if (!set_on) { + if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) { + LOGE("cluster page is max."); + + Evas_Smart_Cb func[3] = { NULL, NULL, NULL }; + void *data[3] = { NULL, NULL, NULL }; + char btn_text[3][STR_MAX] = { "", "", "" }; + char title_text[STR_MAX] = { "" }; + char popup_text[STR_MAX] = { "" }; + snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_CAM_SK_OK")); + snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB")); + snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG")); + popup_show(1, func, data, btn_text, title_text, popup_text); + return false; } + + cluster_page_t *page_t = __cluster_view_page_new(); + if (!page_t) { + LOGE("Cannot add widget"); + return false; + } + + page = page_t; + } + + if (!item->widget_layout) + __cluster_view_add_widget_content(item); + + if (!cluster_page_set_widget(page, item)) { + LOGE("cluster_page_set_widget is failed!!!"); } if (scroll) { - cluster_view_s.current_page = page_idx; + cluster_view_s.current_page = item->page_idx; __cluster_view_scroll_to_page(cluster_view_s.current_page, true); } -- 2.7.4 From 9bb0a482bf1aab838a399a3395306a1f0464815c Mon Sep 17 00:00:00 2001 From: "gs86.lee" Date: Wed, 22 Jun 2016 15:27:08 +0900 Subject: [PATCH 16/16] Fix JIRA issue(TSAM-5210) : Frame of number unread email is cut when app display in the top of screen Change-Id: Ida77e1ea56b1b66ea338725161deba55e2911b84 --- res/edje/app_icon.edc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/res/edje/app_icon.edc b/res/edje/app_icon.edc index 19f4204..901dce1 100755 --- a/res/edje/app_icon.edc +++ b/res/edje/app_icon.edc @@ -169,8 +169,8 @@ collections { visible: 0; fixed: 1 1; color: 255 255 255 255; - rel1{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;} - rel2{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;} + rel1{relative: 0.95 0.0; to: APPS_ICON_CONTENT;} + rel2{relative: 0.95 0.0; to: APPS_ICON_CONTENT;} align: 1.0 0.0; text { -- 2.7.4