2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.tizenopensource.org/license
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef __GALLERY_EFL_H__
18 #define __GALLERY_EFL_H__
22 #include <Elementary.h>
24 #include <ui-gadget-module.h>
29 #include "ge-data-type.h"
33 #endif /* __cplusplus */
35 #define GE_UG_RES_DIR "/opt/ug/res/"
36 #define GE_IMAGES_DIR GE_UG_RES_DIR"images/gallery-efl/images/"
37 #define GE_EDJ_DIR GE_UG_RES_DIR"edje/gallery-efl/"
38 #define GE_EDJ_FILE GE_EDJ_DIR"gallery-efl.edj"
40 #define GE_GRP_GRIDVIEW "gallery_efl/gridview"
41 #define GE_GRP_ALBUMVIEW "gallery_efl/albumview"
43 #define GE_CBAR_STYLE_DEFAULT "gallery_efl/default"
44 #define GE_NAVIFRAME_STYLE_DEFAULT "gallery_efl/default"
45 #define GE_CHECKBOX_STYLE_GRID "gallery_efl/grid"
47 #define GE_LOCK_ICON GE_IMAGES_DIR"T01_icon_lock.png"
48 #define GE_THUMB_FAVOR_ICON GE_IMAGES_DIR"T01_icon_thumbnail_favorite.png"
49 #define GE_THUMB_BOOKMARK GE_IMAGES_DIR"T01_icon_thumbnail_bookmark.png"
50 #define GE_DEFAULT_THUMB_ICON GE_IMAGES_DIR"T01_Nocontents_broken.png"
51 #define GE_CBAR_ICON_DONE GE_IMAGES_DIR"T01_controlbar_icon_done.png"
52 #define GE_SNS_ICON_PICASA GE_IMAGES_DIR"T01_Picasa.png"
53 #define GE_SNS_ICON_FACEBOOK GE_IMAGES_DIR"T01_Facebook.png"
54 #define GE_DB_DEFAULT_THUMB "/opt/data/file-manager-service/.thumb/thumb_default.png"
56 #define GE_ROOT_PATH_PHONE "/opt/media"
57 #define GE_ROOT_PATH_MMC "/opt/storage/sdcard"
59 #define GE_ALBUM_ALL_ID "GALLERY_ALBUM_ALL_ALBUMS_ID"
60 /* String length of mtye item id */
61 #define GE_MTYPE_ITEN_ID_LEN_MAX 37
63 #define GE_BASE_WIN_WIDTH 720
64 #define GE_BASE_WIN_HEIGHT 1280
66 #define GE_GRID_ITEM_SIZE_W 178
67 #define GE_GRID_ITEM_SIZE_H 182
69 #define GE_GRID_ITEM_ZOOM_LEVEL_01 4
70 #define GE_GRID_ITEM_ZOOM_LEVEL_02 2
71 #define GE_GRID_ITEM_ZOOM_LEVEL_01_CNT 1
72 #define GE_GRID_ITEM_ZOOM_LEVEL_02_CNT 6
74 #define GE_LIST_ICON_WIDTH 133
75 #define GE_LIST_ICON_HEIGHT 100
77 #define GE_ALBUM_COVER_THUMB_NUM 7 /* There are 7 thumbnails of 'Camera shots' and 'All' cover*/
78 #define GE_ALBUM_COVER_THUMB_NUM_SEC 4 /* Other albums cover have maximum 4 thumbnails */
79 #define GE_ALBUM_ITEM_WIDTH 358
80 #define GE_ALBUM_ITEM_HEIGHT 360
81 #define GE_COVER_SIZE 318
82 #define GE_COVER_PAD 3
83 #define GE_COVER_ICON_S (GE_COVER_SIZE - 2 * GE_COVER_PAD) //196
84 #define GE_COVER_GRID_S 102
85 #define GE_COVER_2X_GRID_S (GE_COVER_ICON_S - GE_COVER_GRID_S - GE_COVER_PAD) //130
87 #define GE_SELINFO_TEXT_LEN_MAX 64
88 #define GE_ALBUM_DATE_LEN_MAX 256
89 #define GE_MAX_BYTES_FOR_CHAR 3
90 #define GE_ALBUM_NAME_LEN_MAX (255 * GE_MAX_BYTES_FOR_CHAR + 1)
91 #define GE_VIDEO_DURATION_MAX 256
92 #define GE_NOCONTENTS_LABEL_LEN_MAX 512
93 #define GE_FILE_PATH_LEN_MAX (4095 * GE_MAX_BYTES_FOR_CHAR + 1)
94 #define GE_DIR_PATH_LEN_MAX GE_FILE_PATH_LEN_MAX
96 #define GE_TIME_SECOND_MILLISECOND 1000 // 1s=1000ms
97 #define GE_TIME_USEC_PER_SEC 1000000L
98 #define GE_TIME_MINUTE_SECOND 60 // 1min=60s
99 #define GE_TIME_HOUR_MINUTE 60 // 1h=60min
100 #define GE_TIME_HOUR_SECOND (GE_TIME_HOUR_MINUTE * GE_TIME_MINUTE_SECOND) // 1h=(60x60)s
102 #define GE_FIRST_VIEW_START_POS 0
103 #define GE_FIRST_VIEW_END_POS 47
104 #define GE_GET_UNTIL_LAST_RECORD 65536 /* Fixme: Do not use 65536. */
105 #define GE_GET_ALL_RECORDS -1
107 #define GE_BUNDLE_LAUNCH_TYPE "launch-type"
108 #define GE_BUNDLE_FILE_TYPE "file-type"
109 #define GE_BUNDLE_SETAS_TYPE "setas-type"
110 #define GE_BUNDLE_CALLERID_SIZE "callerid-size"
111 #define GE_BUNDLE_CALLERID_PATH "callerid-path"
112 #define GE_BUNDLE_HOMESCREEN_PATH "homescreen-path"
113 #define GE_BUNDLE_LOCKSCREEN_PATH "lockscreen-path"
115 #define GE_ALBUM_SELECT_ONE "select-album"
116 #define GE_ALBUM_SELECT_RETURN_ID "album-id"
117 #define GE_ALBUM_SELECT_RETURN_PATH "folder-path"
119 #define GE_FILE_SELECT_ONE "select-one"
120 #define GE_FILE_SELECT_MULTIPLE "select-multiple"
121 #define GE_FILE_SELECT_SETAS "select-setas"
122 #define GE_FILE_SELECT_IMFT "select-imft"
124 #define GE_FILE_SELECT_TYPE_IMAGE "image"
125 #define GE_FILE_SELECT_TYPE_VIDEO "video"
126 #define GE_FILE_SELECT_TYPE_ALL "all"
128 #define GE_FILE_SELECT_SETAS_WALLPALER "wallpaper"
129 #define GE_FILE_SELECT_SETAS_CROP_WALLPALER "crop-wallpaper"
130 #define GE_FILE_SELECT_SETAS_CALLERID "callerid"
132 #define GE_FILE_SELECT_RETURN_COUNT "count"
133 #define GE_FILE_SELECT_RETURN_PATH "path"
135 #define GE_FILE_SELECT_RETURN_QUIT "ug-quit"
136 #define GE_FILE_SELECT_QUIT_STATE "normal"
138 #define GE_SETAS_CALLERID_CROP_IMAGE_PATH "crop-image-path"
139 #define GE_SETAS_IMAGE_PATH "image-path"
141 /*Image viewer UG service parameters*/
142 #define GE_IMAGEVIEWER_CALLERID_SIZE "Area size"
143 #define GE_IMAGEVIEWER_CALLERID_PATH "CallerID path"
145 #define GE_IMAGEVIEWER_CROP_IMAGE_PATH "crop_image_path"
146 #define GE_IMAGEVIEWER_IMAGE_PATH "image_path"
148 #define GE_IMAGEVIEWER_HOMESCREEN_PATH "Wallpaper path"
149 #define GE_IMAGEVIEWER_LOCKSCREEN_PATH "Lockscreen path"
150 #define GE_IMAGEVIEWER_RETURN_ERROR "Error"
151 /*Image viewer UG service parameters-End*/
154 GE_Album_Select_None,
161 GE_File_Select_Multiple,
162 GE_File_Select_Setas,
166 GE_File_Select_Setas_None,
167 GE_File_Select_Setas_Wallpaper,
168 GE_FILE_SELECT_SETAS_MODE_CROP_WALLPAPER,
169 GE_File_Select_Setas_CallerID,
170 } ge_file_select_setas;
173 GE_File_Select_Type_None,
174 GE_File_Select_Type_Image,
175 GE_File_Select_Type_Video,
176 GE_File_Select_Type_All,
179 typedef enum view_by_mode_e
182 GE_ThumbnailView_Mode,
183 GE_ThumbnailEdit_Mode,
189 GE_ROTATE_PORTRAIT_UPSIDEDOWN,
191 GE_ROTATE_LANDSCAPE_UPSIDEDOWN,
197 GE_UPDATE_MMC_REMOVED,
205 GE_ALBUM_SNS_FACEBOOK,
208 typedef struct _ge_ugdata ge_ugdata;
216 Elm_Object_Item *griditem;
224 typedef struct _ge_item {
227 Elm_Object_Item *elm_item;
228 Evas_Object* check_obj;
237 Evas_Object *ly_main;
240 /* add more variables here */
241 Evas_Object *navi_bar;
243 Evas_Object *albums_view;
244 Evas_Object *albums_view_ly;
245 Evas_Object *thumbs_view;
246 Evas_Object *thumbs_view_ly;
247 Elm_Object_Item *thumbs_nf_it;
248 Evas_Object *thumbs_nocontents;
249 Ecore_Idler* grid_append_idler;
250 Evas_Object *nocontents;
251 Ecore_Event_Handler* event_handler;
253 Ecore_Timer *del_timer;
256 ge_cluster_list* cluster_list;
257 ui_gadget_h ug_called_by_me;
259 service_h service; /*added for "ug_send_result"*/
260 /* It's thumbnails icon size, not grid item size */
262 Ecore_Timer *thumbs_clicked_timer;
264 int album_select_mode;
265 int file_select_mode;
267 int file_select_setas_mode;
268 char* file_setas_callid_size;
269 char* file_setas_callid_path;
270 char* file_setas_image_path;
271 char* file_setas_crop_image_path;
272 char albums_view_title[GE_ALBUM_NAME_LEN_MAX];
273 char* file_setas_homescreen_path;
274 char* file_setas_lockscreen_path;
276 Evas_Object *selectioninfo_ly;
277 Evas_Object *selectioninfo;
279 bool b_inited_view; /* true: show albums view; false: show popup */
283 #define GE_IF_DEL_TIMER(timer) if(timer){ecore_timer_del(timer); timer = NULL;}
284 #define GE_IF_DEL_IDLER(idler) if(idler){ecore_idler_del(idler); idler = NULL;}
285 #define GE_IF_DEL_OBJ(obj) if(obj){evas_object_del(obj); obj = NULL;}
286 #define GE_IF_FREE_MEM(mem) if(mem){free(mem); mem = NULL;}
287 #define GE_FREE_MEM(mem) if(mem){free(mem); mem = NULL;}
290 ge_view_mode _ge_get_view_mode(void);
291 void _ge_set_view_mode(ge_view_mode mode);
296 #endif /* __cplusplus */
299 #endif /* __GALLERY_EFL_H__ */