#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);
#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);
#include <widget_service.h>
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);
#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);
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);
#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);
#include <Elementary.h>
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);
#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__ */
#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);
#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);
#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)
#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__ */
#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";
+ }
+ }
+ }
}
#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
#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
#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";
+ }
+ }
+ }
}
#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
#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
#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
#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
#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
#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
#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
#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
#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
#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
#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);
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);
}
#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);
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), "<font_size=%d>%s</font_size>", (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), "<font_size=%d>%s</font_size>", (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);
}
#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);
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;
}
#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;"
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;
}
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);
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);
}
#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;
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), "<font_size=40><color=#60606060><align=center>%s</align></color></font_size>", _("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), "<font_size=40><color=#60606060><align=center>%s</align></color></font_size>", _("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), "<font_size=%d><color=#%s><shadow_color=#%s>%s</shadow_color></color></font_size>", 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), "<font_size=%d><color=#%s><shadow_color=#%s>%s</shadow_color></color></font_size>", 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);
}
#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);
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);
}
#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;"
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;
}
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;
+ }
}
#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;
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;
}
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;
}
#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);
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)
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;
}
#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);
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;
}
#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);
+ }
}
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);
}
#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);
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);
}
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];
}
#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
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, "<font_size=50>%s_%d</font_size>", 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, "<font_size=50>%s_%d</font_size>", 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);
}