From: YoungHun Cho Date: Wed, 8 Jun 2016 06:24:43 +0000 (+0900) Subject: coding rule X-Git-Tag: submit/tizen/20160609.005850~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0728e2d7c3c70a13d2e88c54217380c80e6a826f;p=profile%2Fmobile%2Fapps%2Fnative%2Fhomescreen-efl.git coding rule Change-Id: I12352e6fca85a5059f04022cad98fe4101416f45 Signed-off-by: YoungHun Cho --- 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); }