initial upload for tizen 2.0 beta
[apps/home/gallery.git] / src / util / gl-lang.c
1 /*\r
2   * Copyright 2012  Samsung Electronics Co., Ltd\r
3   *\r
4   * Licensed under the Flora License, Version 1.0 (the "License");\r
5   * you may not use this file except in compliance with the License.\r
6   * You may obtain a copy of the License at\r
7   *\r
8   *     http://www.tizenopensource.org/license\r
9   *\r
10   * Unless required by applicable law or agreed to in writing, software\r
11   * distributed under the License is distributed on an "AS IS" BASIS,\r
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13   * See the License for the specific language governing permissions and\r
14   * limitations under the License.\r
15   */\r
16 \r
17 #include "gl-lang.h"\r
18 #include "gl-strings.h"\r
19 #include "gl-popup.h"\r
20 #include "gl-debug.h"\r
21 #include "gl-ui-util.h"\r
22 #include "gl-util.h"\r
23 #include "gl-progressbar.h"\r
24 \r
25 static int __gl_lang_update_albums(void *data)\r
26 {\r
27         GL_CHECK_VAL(data, -1);\r
28         gl_appdata *ad = (gl_appdata *)data;\r
29 \r
30         if (ad->albuminfo.nf_it)\r
31                 elm_object_item_text_set(ad->albuminfo.nf_it,\r
32                                          GL_STR_CTRL_ITEM_ALBUMS);\r
33         return 0;\r
34 }\r
35 \r
36 static int __gl_lang_update_albums_edit(void *data)\r
37 {\r
38         GL_CHECK_VAL(data, -1);\r
39         gl_appdata *ad = (gl_appdata *)data;\r
40         if (ad->albuminfo.edit_layout)\r
41                 edje_object_part_text_set(_EDJ(ad->albuminfo.edit_layout),\r
42                                           "selectall_text",\r
43                                           GL_STR_SELECT_ALL);\r
44         if (ad->popupinfo.popup) {\r
45                 if (ad->popupinfo.popup_mode == GL_POPUP_ALBUM_DELETE)\r
46                         gl_popup_create_albums_del_popup(data);\r
47                 else if (ad->popupinfo.popup_mode == GL_POPUP_ALBUM_SHARE)\r
48                         gl_popup_create_title_popup(ad, GL_POPUP_ALBUM_SHARE,\r
49                                                     GL_STR_SHARE, NULL);\r
50                 else if (ad->popupinfo.popup_mode == GL_POPUP_NOBUT)\r
51                         gl_popup_create_popup(ad, GL_POPUP_NOBUT,\r
52                                               GL_STR_NO_ALBUMS_SELECTED);\r
53         }\r
54         return 0;\r
55 }\r
56 \r
57 static int __gl_lang_update_rename(void *data)\r
58 {\r
59         GL_CHECK_VAL(data, -1);\r
60         gl_appdata *ad = (gl_appdata *)data;\r
61 \r
62         if (ad->entryinfo.done_btn)\r
63                 elm_object_text_set(ad->entryinfo.done_btn, GL_STR_DONE);\r
64         if (ad->entryinfo.cancel_btn)\r
65                 elm_object_text_set(ad->entryinfo.cancel_btn, GL_STR_CANCEL);\r
66         if (ad->entryinfo.nf_it)\r
67                 elm_object_item_text_set(ad->entryinfo.nf_it,\r
68                                          GL_STR_CHNAGE_NAME);\r
69 \r
70         return 0;\r
71 }\r
72 \r
73 static int __gl_lang_update_thumb(void *data)\r
74 {\r
75         GL_CHECK_VAL(data, -1);\r
76         gl_appdata *ad = (gl_appdata *)data;\r
77 \r
78         char *al_na = NULL;\r
79         Evas_Object *segment = ad->gridinfo.segment;\r
80         if (ad->gridinfo.nf_it) {\r
81                 gl_cluster *album_item = ad->albuminfo.current_album;\r
82                 al_na = album_item->cluster->display_name;\r
83                 if (!g_strcmp0(album_item->cluster->uuid, GL_ALBUM_ALL_ID)) {\r
84                         al_na = GL_ALBUM_ALL_NAME;\r
85                 }\r
86                 if (album_item->cluster->type == GL_PHONE ||\r
87                     album_item->cluster->type == GL_MMC) {\r
88                         if (_gl_data_is_root_path(ad, album_item->cluster->path)) {\r
89                                 /* check root case */\r
90                                 al_na = GL_ALBUM_PHOME_ROOT_NAME;\r
91                         } else if (ad->albuminfo.aul_launch_type == GL_AUL_T_VIEW_ALBUM) {\r
92                                 /* launch by appsvc */\r
93                                 if (ad->albuminfo.aul_file_type == GL_AUL_FILE_T_IMAGE)\r
94                                         al_na = GL_ALBUM_IMAGES_NAME;\r
95                                 else if (ad->albuminfo.aul_file_type == GL_AUL_FILE_T_VIDEO)\r
96                                         al_na = GL_ALBUM_VIDEOS_NAME;\r
97                                 else\r
98                                         al_na = GL_ALBUM_ALL_NAME;\r
99                         }\r
100                 }\r
101                 elm_object_item_text_set(ad->gridinfo.nf_it, al_na);\r
102 \r
103                 if (ad->listinfo.share_btn)\r
104                         elm_object_text_set(ad->listinfo.share_btn,\r
105                                                  GL_STR_SHARE);\r
106                 if (ad->listinfo.del_btn)\r
107                         elm_object_text_set(ad->listinfo.del_btn,\r
108                                                  GL_STR_DELETE);\r
109         }\r
110         Elm_Object_Item *it = NULL;\r
111         if (segment) {\r
112                 if ((it = elm_segment_control_item_get(segment, 0)) != NULL)\r
113                         elm_object_item_text_set(it, GL_CTRL_SEG_ITEM_ALL);\r
114                 if ((it = elm_segment_control_item_get(segment, 1)) != NULL)\r
115                         elm_object_item_text_set(it, GL_CTRL_SEG_ITEM_IMAGES);\r
116                 if ((it = elm_segment_control_item_get(segment, 2)) != NULL)\r
117                         elm_object_item_text_set(it, GL_CTRL_SEG_ITEM_VIDEOS);\r
118         }\r
119         return 0;\r
120 }\r
121 \r
122 static int __gl_lang_update_thumb_edit(void *data)\r
123 {\r
124         GL_CHECK_VAL(data, -1);\r
125         gl_appdata *ad = (gl_appdata *)data;\r
126 \r
127         if (ad->gridinfo.edit_layout)\r
128                 edje_object_part_text_set(_EDJ(ad->gridinfo.edit_layout),\r
129                                           "selectall_text",\r
130                                           GL_STR_SELECT_ALL);\r
131         if (ad->gridinfo.nf_it_edit)\r
132                 elm_object_item_text_set(ad->gridinfo.nf_it_edit,\r
133                                          GL_STR_SELECT_ALBUM);\r
134         if (ad->popupinfo.popup){\r
135                 if (ad->popupinfo.popup_mode == GL_POPUP_NOBUT)\r
136                         gl_popup_create_popup(ad, GL_POPUP_NOBUT,\r
137                                               GL_STR_NO_FILES_SELECTED);\r
138                 else if (ad->popupinfo.popup_mode == GL_POPUP_THUMB_SHARE)\r
139                         gl_popup_create_title_popup(ad, GL_POPUP_THUMB_SHARE,\r
140                                                     GL_STR_SHARE, NULL);\r
141                 else if (ad->popupinfo.popup_mode == GL_POPUP_THUMB_MOVE)\r
142                         gl_popup_create_title_popup(ad, GL_POPUP_THUMB_MOVE,\r
143                                                     GL_STR_MOVE, NULL);\r
144         }\r
145 \r
146 \r
147         if (ad->popupinfo.selinfo_ly) {\r
148                 char text[GL_POPUP_DESC_LEN_MAX] = {0};\r
149                 int cnt = _gl_data_selected_list_count(ad);\r
150                 snprintf(text, sizeof(text), "%s (%d)", GL_STR_SELECTED, cnt);\r
151                 edje_object_part_text_set(_EDJ(ad->popupinfo.selinfo_ly),\r
152                                           "elm.text", text);\r
153         }\r
154 \r
155         if (ad->entryinfo.done_btn)\r
156                 elm_object_text_set(ad->entryinfo.done_btn, GL_STR_DONE);\r
157         if (ad->entryinfo.cancel_btn)\r
158                 elm_object_text_set(ad->entryinfo.cancel_btn, GL_STR_CANCEL);\r
159         if (ad->entryinfo.nf_it) {\r
160                 if (GL_ENTRY_NEW_ALBUM == ad->entryinfo.entry_mode)\r
161                         elm_object_item_text_set(ad->entryinfo.nf_it,\r
162                                                  GL_STR_CREATE_ALBUM);\r
163         }\r
164 #ifdef _USE_ROTATE_BG\r
165         if (ad->gridinfo.more_btn)\r
166                 elm_object_text_set(ad->gridinfo.more_btn, GL_STR_MORE);\r
167         if (ad->gridinfo.left_btn)\r
168                 elm_object_text_set(ad->gridinfo.left_btn, GL_STR_ROTATE_LEFT);\r
169         if (ad->gridinfo.right_btn)\r
170                 elm_object_text_set(ad->gridinfo.right_btn, GL_STR_ROTATE_RIGHT);\r
171 #endif\r
172         return 0;\r
173 }\r
174 \r
175 int _gl_lang_update(void *data)\r
176 {\r
177         GL_CHECK_VAL(data, -1);\r
178         gl_appdata *ad = (gl_appdata *)data;\r
179         int view_mode = gl_get_view_mode(ad);\r
180 \r
181         __gl_lang_update_albums(data);\r
182         switch (view_mode) {\r
183         case GL_VIEW_ALBUMS_EDIT:\r
184                 __gl_lang_update_albums_edit(data);\r
185                 break;\r
186         case GL_VIEW_ALBUMS_RENAME:\r
187                 __gl_lang_update_albums_edit(data);\r
188                 __gl_lang_update_rename(data);\r
189                 break;\r
190         case GL_VIEW_THUMBS:\r
191         case GL_VIEW_VIDEOLIST:\r
192                 __gl_lang_update_thumb(data);\r
193                 break;\r
194         case GL_VIEW_THUMBS_EDIT:\r
195         case GL_VIEW_VIDEOLIST_EDIT:\r
196                 __gl_lang_update_thumb(data);\r
197                 __gl_lang_update_thumb_edit(data);\r
198                 break;\r
199         default:\r
200                 gl_dbgE("other view_mode");\r
201         }\r
202 \r
203         return 0;\r
204 }\r
205 \r
206 \r