2 * Copyright 2012 Samsung Electronics Co., Ltd
\r
4 * Licensed under the Flora License, Version 1.1 (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
8 * http://floralicense.org/license/
\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
17 #ifndef UG_MODULE_API
\r
18 #define UG_MODULE_API __attribute__ ((visibility("default")))
\r
21 //#define USE_DIALOGUE_STYLE // new style has bug
\r
24 #include <stdbool.h>
\r
26 #include <Elementary.h>
\r
27 #include <ui-gadget-module.h>
\r
30 #include "sg-keys.h"
\r
31 #include "sg-debug.h"
\r
32 #include "ug-setting-gallery.h"
\r
34 #define MAX_PRECISION 0.1
\r
36 typedef int (*Init_State_Func) (int *data);
\r
39 _gallery_quit_cb(void *data, Evas_Object *obj, void *event_info)
\r
41 gallery_ret_if(!data);
\r
43 struct ug_data *ugd;
\r
44 ugd = (struct ug_data *)data;
\r
48 ug_destroy_me(ugd->ug);
\r
52 static char *_gallery_get_file_name(char *path)
\r
54 if (NULL == path || '\0' == path[0]) {
\r
55 return NULL; /* invalid arguement */
\r
57 char *p = strrchr(path, '/');
\r
59 return (char *)g_strdup(path); /* cannot find '/' */
\r
62 return NULL; /* end with '/' */
\r
64 return (char *)g_strdup(p + 1);
\r
67 static char *_gallery_get_menu_elm_text(int param)
\r
73 case GALLERY_MAIN_MENU_TIME:
\r
74 text = SGUG_TR_PESF;
\r
77 case GALLERY_MAIN_MENU_REPEAT:
\r
78 text = SGUG_TR_REPEAT;
\r
81 case GALLERY_MAIN_MENU_SHUFFLE:
\r
82 text = SGUG_TR_SHUFFLE;
\r
85 case GALLERY_MAIN_MENU_TITLE:
\r
86 text = SGUG_TR_SLIDESHOW;
\r
95 static int _gallery_get_time_radio_value(void)
\r
97 int radio_value = 0;
\r
98 double time_value = 0;
\r
100 gallery_key_init_current_time(&time_value);
\r
102 for(radio_value = 0; radio_value < GALLERY_SUB_TIME_COUNT; radio_value++)
\r
104 if(abs(time_value - gallery_key_get_time_vconf_value(radio_value)) < MAX_PRECISION)
\r
108 return radio_value;
\r
111 static char *_gallery_get_menu_time_text(void)
\r
113 int radio_value = 0;
\r
114 radio_value =_gallery_get_time_radio_value();
\r
116 return gallery_key_time_menu_get(radio_value);
\r
119 static char *_gallery_get_menu_sub_elm_text(int param)
\r
125 case GALLERY_MAIN_MENU_TIME:
\r
126 text = _gallery_get_menu_time_text();
\r
136 _gallery_genlist_text_get(void *data, Evas_Object *obj, const char *part)
\r
138 gallery_retv_if(!part, NULL);
\r
140 int param = (int )data;
\r
144 input_len = strlen(part);
\r
146 if (input_len == strlen("elm.text.1") && strncmp(part, "elm.text.1", input_len) == 0 )
\r
148 txt = _gallery_get_menu_elm_text(param);
\r
150 else if (input_len == strlen("elm.text.2") && strncmp(part, "elm.text.2", input_len) == 0 )
\r
152 txt = _gallery_get_menu_sub_elm_text(param);
\r
154 else if (input_len == strlen("elm.text") && strncmp(part, "elm.text", input_len) == 0 )
\r
156 txt = _gallery_get_menu_elm_text(param);
\r
160 return strdup(txt);
\r
166 _gallery_expand_common_text_get(const char *part, void *data, gallery_main_menu_item_t mitem)
\r
168 gallery_retv_if(!part, NULL);
\r
170 int param = (int )data;
\r
174 input_len = strlen(part);
\r
176 if (input_len == strlen("elm.text") && strncmp(part, "elm.text", input_len) == 0 )
\r
180 case GALLERY_MAIN_MENU_TIME:
\r
181 txt = gallery_key_time_menu_get(param);
\r
188 return strdup(txt);
\r
195 _gallery_time_text_get(void *data, Evas_Object *obj, const char *part)
\r
197 gallery_retv_if(!part, NULL);
\r
199 return _gallery_expand_common_text_get(part, data, GALLERY_MAIN_MENU_TIME);
\r
202 static Evas_Object*
\r
203 _gallery_expand_common_icon_get(Evas_Object *obj, const char *part, int param, int radio_value, Evas_Object *radio_group)
\r
205 gallery_retv_if(!part, NULL);
\r
206 gallery_retv_if(!obj, NULL);
\r
208 if (strncmp(part, "elm.icon", strlen(part)) == 0 )
\r
210 Evas_Object *radio_btn = elm_radio_add(obj);
\r
211 evas_object_propagate_events_set(radio_btn, EINA_TRUE);
\r
212 elm_radio_state_value_set(radio_btn, param);
\r
213 elm_radio_group_add(radio_btn, radio_group);
\r
214 elm_radio_value_set(radio_group, radio_value);
\r
215 evas_object_show(radio_btn);
\r
223 static Evas_Object*
\r
224 _gallery_time_content_get(void *data, Evas_Object *obj, const char *part)
\r
226 gallery_retv_if(!part, NULL);
\r
228 struct ug_data *ugd = evas_object_data_get(obj, "ugd");
\r
229 gallery_retvm_if(!ugd, NULL, "INVALID param");
\r
231 int radio_value = 0;
\r
232 radio_value = _gallery_get_time_radio_value();
\r
234 return _gallery_expand_common_icon_get(obj, part, (int )data, radio_value, ugd->radio_group);
\r
238 _gallery_genlist_icon_cb(void *data, Evas_Object *obj, void *event_info)
\r
240 gallery_ret_if(!data);
\r
241 struct ug_data *ugd = evas_object_data_get(obj, "ugd");
\r
244 int index = (int )data;
\r
246 bool bState = false;
\r
248 if (index == GALLERY_MAIN_MENU_REPEAT)
\r
250 bState = elm_check_state_get(ugd->repeat_btn);
\r
252 if (gallery_key_set_repeat_state(bState))
\r
254 gallery_key_text_popup(ugd,SGUG_TR_FAILED);
\r
257 else if(index == GALLERY_MAIN_MENU_SHUFFLE)
\r
259 bState = elm_check_state_get(ugd->shuffle_btn);
\r
261 if(gallery_key_set_shuffle_state(bState))
\r
263 gallery_key_text_popup(ugd,SGUG_TR_FAILED);
\r
268 static Evas_Object *_gallery_create_check(Evas_Object *obj, struct ug_data *ugd, int index, Init_State_Func func, int *state)
\r
270 gallery_retvm_if(!obj, NULL, "obj is NULL");
\r
271 gallery_retvm_if(!ugd, NULL, "ugd is NULL");
\r
272 gallery_retvm_if(!state, NULL, "state is NULL");
\r
277 Evas_Object *check = NULL;
\r
278 check = elm_check_add(obj);
\r
279 evas_object_data_set(check, "ugd", ugd);
\r
280 elm_check_state_set( check, (bool)*state);
\r
281 elm_object_style_set(check, "on&off");
\r
282 evas_object_propagate_events_set(check, EINA_FALSE);
\r
283 evas_object_smart_callback_add(check, "changed", _gallery_genlist_icon_cb, (void *)index);
\r
288 static Evas_Object*
\r
289 _gallery_genlist_icon_get(void *data, Evas_Object *obj, const char *part)
\r
291 gallery_retv_if(!data, NULL);
\r
292 gallery_retv_if(!part, NULL);
\r
294 struct ug_data *ugd = NULL;
\r
296 ugd = evas_object_data_get(obj, "ugd");
\r
297 gallery_retvm_if(!ugd, NULL, "INVALID param");
\r
299 int index = (int )data;
\r
300 Evas_Object *check = NULL;
\r
302 if (strncmp(part, "elm.icon", strlen(part)) == 0)
\r
304 if (index == GALLERY_MAIN_MENU_REPEAT)
\r
306 ugd->repeat_state = (int)gallery_key_get_repeat_state();
\r
307 check = _gallery_create_check(obj, ugd, index, NULL, &ugd->repeat_state);
\r
308 ugd->repeat_btn = check;
\r
310 else if(index == GALLERY_MAIN_MENU_SHUFFLE)
\r
312 ugd->shuffle_state = (int)gallery_key_get_shuffle_state();
\r
313 check = _gallery_create_check(obj, ugd, index, NULL, &ugd->shuffle_state);
\r
314 ugd->shuffle_btn = check;
\r
323 _gallery_time_select_cb(void *data, Evas_Object *obj, void *event_info)
\r
325 struct ug_data *ugd = evas_object_data_get(obj, "ugd");
\r
326 gallery_ret_if(!ugd);
\r
328 int param = (int )data;
\r
329 Elm_Object_Item *item = (Elm_Object_Item *)event_info;
\r
331 int index = GALLERY_MAIN_MENU_TIME;
\r
333 elm_genlist_item_selected_set(item, EINA_FALSE);
\r
335 if(gallery_key_set_current_time(gallery_key_get_time_vconf_value(param)))
\r
337 gallery_key_text_popup(ugd,SGUG_TR_FAILED);
\r
340 elm_radio_value_set(ugd->radio_group, param);
\r
341 elm_genlist_item_update(ugd->gl_it[index]);
\r
346 _gallery_genlist_con(void *data, Evas_Object *obj, void *event_info)
\r
348 gallery_ret_if(!event_info);
\r
350 Elm_Object_Item *item = event_info;
\r
351 elm_genlist_item_subitems_clear(item);
\r
355 _gallery_genlist_time_select_cb(void *data, Evas_Object *obj, void *event_info)
\r
357 struct ug_data *ugd = evas_object_data_get(obj, "ugd");
\r
358 gallery_ret_if(!ugd);
\r
360 gallery_info("_gallery_genlist_time_select_cb");
\r
363 Elm_Object_Item *item = (Elm_Object_Item *)event_info;
\r
365 elm_genlist_item_selected_set(item, EINA_FALSE);
\r
367 Evas_Object *gl = elm_object_item_widget_get(item);
\r
369 ugd->check_time_itc.item_style = "dialogue/1text.1icon.3";
\r
370 ugd->check_time_itc.func.text_get = _gallery_time_text_get;
\r
371 ugd->check_time_itc.func.content_get = _gallery_time_content_get;
\r
372 ugd->check_time_itc.func.state_get = NULL;
\r
373 ugd->check_time_itc.func.del = NULL;
\r
375 ugd->radio_group = elm_radio_add(gl);
\r
376 for (index = 0; gallery_key_time_menu_get(index); index++)
\r
378 elm_genlist_item_append(gl,&ugd->check_time_itc, (void *)index, item,
\r
379 ELM_GENLIST_ITEM_NONE, _gallery_time_select_cb, (void *)index);
\r
385 _gallery_genlist_exp(void *data, Evas_Object *obj, void *event_info)
\r
387 gallery_ret_if(!obj);
\r
389 struct ug_data *ugd = evas_object_data_get(obj, "ugd");
\r
390 gallery_ret_if(!ugd);
\r
392 gallery_info("_gallery_genlist_exp");
\r
394 Elm_Object_Item *item = (Elm_Object_Item *)event_info;
\r
396 elm_genlist_item_selected_set(item, EINA_FALSE);
\r
398 if(item == ugd->gl_it[GALLERY_MAIN_MENU_TIME])
\r
400 _gallery_genlist_time_select_cb(data, obj, event_info);
\r
404 _gallery_genlist_realized(void *data, Evas_Object *obj, void *event_info)
\r
406 gallery_ret_if(!obj);
\r
407 gallery_ret_if(!event_info);
\r
409 struct ug_data *ugd = (struct ug_data *)data;
\r
410 gallery_ret_if(!ugd);
\r
412 Elm_Object_Item *item = (Elm_Object_Item *)event_info;
\r
415 for(i=0; i<GALLERY_MAIN_MENU_ITEM_MAX; i++)
\r
417 if(ugd->gl_it[i] == item)
\r
420 if(i == GALLERY_MAIN_MENU_ITEM_MAX)
\r
422 gallery_info("extended style");
\r
423 elm_object_item_signal_emit(item, "elm,state,center", "");
\r
427 int index = (int)elm_object_item_data_get(item);
\r
429 if(index-1 == GALLERY_MAIN_MENU_TITLE)
\r
431 elm_object_item_signal_emit(item, "elm,state,top", "");
\r
433 else if(index+1 == GALLERY_MAIN_MENU_ITEM_MAX)
\r
435 elm_object_item_signal_emit(item, "elm,state,bottom", "");
\r
439 elm_object_item_signal_emit(item, "elm,state,center", "");
\r
444 _gallery_main_layout_ug_cb(ui_gadget_h ug, enum ug_mode mode,
\r
447 gallery_ret_if(priv == NULL);
\r
448 gallery_ret_if(ug == NULL);
\r
449 Evas_Object *base = NULL;
\r
450 gallery_info("_gallery_main_layout_ug_cb");
\r
452 base = (Evas_Object *) ug_get_layout(ug);
\r
457 case UG_MODE_FULLVIEW:
\r
458 evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
\r
459 elm_win_resize_object_add(ug_get_window(), base);
\r
460 evas_object_show(base);
\r
465 gallery_info("end _gallery_main_layout_ug_cb");
\r
470 _gallery_genlist_select_cb(void *data, Evas_Object *obj, void *event_info)
\r
472 struct ug_data *ugd = evas_object_data_get(obj, "ugd");
\r
473 gallery_ret_if(!ugd);
\r
475 int param = (int )data;
\r
477 bool expand_state = false;
\r
478 bool bState = false;
\r
480 Elm_Object_Item *item = (Elm_Object_Item *)event_info;
\r
482 elm_genlist_item_selected_set(item, EINA_FALSE);
\r
484 if(param == GALLERY_MAIN_MENU_TIME)
\r
486 expand_state = elm_genlist_item_expanded_get(item);
\r
487 elm_genlist_item_expanded_set(item, !expand_state);
\r
489 else if(param == GALLERY_MAIN_MENU_REPEAT)
\r
491 bState = !gallery_key_get_repeat_state();
\r
493 if (gallery_key_set_repeat_state(bState))
\r
495 gallery_key_text_popup(ugd,SGUG_TR_FAILED);
\r
498 elm_check_state_set(ugd->repeat_btn, bState);
\r
500 else if(param == GALLERY_MAIN_MENU_SHUFFLE)
\r
502 bState = !gallery_key_get_shuffle_state();
\r
504 if(gallery_key_set_shuffle_state(bState))
\r
506 gallery_key_text_popup(ugd,SGUG_TR_FAILED);
\r
509 elm_check_state_set(ugd->shuffle_btn,bState);
\r
513 static Evas_Object *
\r
514 _gallery_genlist_items_add (Evas_Object *parent, struct ug_data *ugd)
\r
516 Evas_Object *main_genlist;
\r
517 Elm_Object_Item *sep;
\r
521 main_genlist = elm_genlist_add(parent);
\r
523 #ifdef USE_DIALOGUE_STYLE
\r
524 elm_object_style_set(main_genlist, "dialogue");
\r
526 evas_object_smart_callback_add(main_genlist, "realized", _gallery_genlist_realized, ugd);
\r
529 evas_object_size_hint_weight_set(main_genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
\r
530 evas_object_size_hint_align_set(main_genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
\r
531 evas_object_propagate_events_set(main_genlist, EINA_FALSE);
\r
533 ugd->genlist = main_genlist;
\r
535 evas_object_data_set(ugd->genlist, "ugd", ugd);
\r
537 ugd->title_itc.item_style = "dialogue/title";
\r
538 ugd->title_itc.func.text_get = _gallery_genlist_text_get;
\r
539 ugd->title_itc.func.content_get = NULL;
\r
540 ugd->title_itc.func.state_get = NULL;
\r
541 ugd->title_itc.func.del = NULL;
\r
543 ugd->expandable_itc.item_style = "dialogue/2text.3/expandable";
\r
544 ugd->expandable_itc.func.text_get = _gallery_genlist_text_get;
\r
545 ugd->expandable_itc.func.content_get = NULL;
\r
546 ugd->expandable_itc.func.state_get = NULL;
\r
547 ugd->expandable_itc.func.del = NULL;
\r
549 ugd->txt_icon_itc.item_style = "dialogue/1text.1icon";
\r
550 ugd->txt_icon_itc.func.text_get = _gallery_genlist_text_get;
\r
551 ugd->txt_icon_itc.func.content_get = _gallery_genlist_icon_get;
\r
552 ugd->txt_icon_itc.func.state_get = NULL;
\r
553 ugd->txt_icon_itc.func.del = NULL;
\r
555 ugd->two_txt_icon_itc.item_style = "dialogue/2text.1icon.6";
\r
556 ugd->two_txt_icon_itc.func.text_get = _gallery_genlist_text_get;
\r
557 ugd->two_txt_icon_itc.func.content_get = _gallery_genlist_icon_get;
\r
558 ugd->two_txt_icon_itc.func.state_get = NULL;
\r
559 ugd->two_txt_icon_itc.func.del = NULL;
\r
561 ugd->seperator_itc.item_style = "dialogue/separator";
\r
562 ugd->seperator_itc.func.text_get = NULL;
\r
563 ugd->seperator_itc.func.content_get = NULL;
\r
564 ugd->seperator_itc.func.state_get = NULL;
\r
565 ugd->seperator_itc.func.del = NULL;
\r
567 ugd->seperator_end_itc.item_style = "dialogue/separator";
\r
568 ugd->seperator_end_itc.func.text_get = NULL;
\r
569 ugd->seperator_end_itc.func.content_get = NULL;
\r
570 ugd->seperator_end_itc.func.state_get = NULL;
\r
571 ugd->seperator_end_itc.func.del = NULL;
\r
573 sep = elm_genlist_item_append(main_genlist, &ugd->seperator_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
\r
574 elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
\r
576 for (index = GALLERY_MAIN_MENU_TITLE; index < GALLERY_MAIN_MENU_ITEM_MAX; index++)
\r
578 //expandable genlist
\r
579 if (index == GALLERY_MAIN_MENU_TIME)
\r
581 ugd->gl_it[index] = elm_genlist_item_append(main_genlist, &ugd->expandable_itc,
\r
582 (void *)index, NULL,
\r
583 ELM_GENLIST_ITEM_TREE,
\r
584 _gallery_genlist_select_cb,
\r
587 // repeat&shuffle 1txt .1icon
\r
588 else if (index == GALLERY_MAIN_MENU_REPEAT ||
\r
589 index == GALLERY_MAIN_MENU_SHUFFLE)
\r
591 ugd->gl_it[index] = elm_genlist_item_append(main_genlist, &ugd->txt_icon_itc,
\r
592 (void *)index, NULL,
\r
593 ELM_GENLIST_ITEM_NONE,
\r
594 _gallery_genlist_select_cb,
\r
599 sep = elm_genlist_item_append(main_genlist, &ugd->seperator_end_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
\r
600 elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
\r
602 evas_object_smart_callback_add(main_genlist, "expanded", _gallery_genlist_exp, ugd);
\r
603 evas_object_smart_callback_add(main_genlist, "contracted", _gallery_genlist_con, ugd);
\r
605 return main_genlist;
\r
609 static Evas_Object *
\r
610 _gallery_create_fullview(Evas_Object *parent, struct ug_data *ugd)
\r
612 gallery_retv_if(!parent, NULL);
\r
614 Evas_Object *layout;
\r
615 layout = elm_layout_add(parent);
\r
616 gallery_retv_if( layout == NULL, NULL );
\r
618 Eina_Bool ret = EINA_FALSE;
\r
620 const char *profile = elm_config_profile_get();
\r
621 if (!strcmp(profile,"mobile"))
\r
623 ret = elm_layout_theme_set(layout, "layout", "application", "default");
\r
624 gallery_debug("layout/application/default");
\r
626 else if (!strcmp(profile,"desktop"))
\r
628 ret = elm_layout_theme_set(layout, "layout", "application", "noindicator");
\r
629 gallery_debug("layout/application/noindicator");
\r
632 evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
\r
637 static Evas_Object*
\r
638 _gallery_create_naviframe(Evas_Object* parent)
\r
640 gallery_retv_if(!parent, NULL);
\r
642 Evas_Object *naviframe = NULL;
\r
643 naviframe = elm_naviframe_add( parent );
\r
644 elm_object_part_content_set( parent, "elm.swallow.content", naviframe );
\r
645 evas_object_show(naviframe);
\r
650 static Evas_Object *_gallery_create_bg(Evas_Object *parent)
\r
652 Evas_Object *bg = elm_bg_add(parent);
\r
653 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
\r
654 elm_object_part_content_set(parent, "elm.swallow.bg", bg);
\r
655 evas_object_show(bg);
\r
661 _on_create(ui_gadget_h ug, enum ug_mode mode, service_h data, void *priv)
\r
663 gallery_retvm_if(!ug, NULL, "ug is NULL, check it !!");
\r
664 gallery_retvm_if(!priv, NULL, "priv is NULL, check it !!");
\r
666 Evas_Object *parent = NULL;
\r
667 struct ug_data *ugd = NULL;
\r
669 ugd = (struct ug_data *)priv;
\r
672 /* Bind text domain for internalization */
\r
673 bindtextdomain("ug-setting-gallery-efl" , "/usr/ug/res/locale");
\r
675 parent = (Evas_Object *)ug_get_parent_layout(ug);
\r
676 gallery_retvm_if(parent == NULL, NULL, "parent layout is NULL");
\r
678 if (mode == UG_MODE_FULLVIEW)
\r
680 ugd->main_layout = _gallery_create_fullview(parent, ugd);
\r
684 gallery_info("It is not UG_MODE_FULLVIEW");
\r
688 ugd->bg = _gallery_create_bg(ugd->main_layout);
\r
690 if(ugd->main_layout)
\r
692 ugd->naviframe = _gallery_create_naviframe(ugd->main_layout);
\r
693 evas_object_data_set(ugd->naviframe, "ugd", ugd);
\r
696 ugd->genlist = _gallery_genlist_items_add(ugd->naviframe,ugd);
\r
698 //evas_object_data_set(ugd->genlist, "ugd", ugd);
\r
700 ugd->backbtn = elm_button_add(ugd->naviframe);
\r
701 evas_object_smart_callback_add(ugd->backbtn, "clicked", _gallery_quit_cb, ugd);
\r
702 elm_object_style_set(ugd->backbtn, "naviframe/end_btn/default");
\r
704 elm_naviframe_item_push(ugd->naviframe, SGUG_TR_GALLERY, ugd->backbtn,
\r
705 NULL, ugd->genlist, NULL);
\r
707 evas_object_show(ugd->main_layout);
\r
709 return ugd->main_layout;
\r
713 _on_message(ui_gadget_h ug, service_h msg, service_h data, void *priv)
\r
718 _on_event(ui_gadget_h ug, enum ug_event event, service_h data, void *priv)
\r
720 //struct ug_data *ugd = (struct ug_data *)priv;
\r
723 case UG_EVENT_LOW_MEMORY:
\r
725 case UG_EVENT_LOW_BATTERY:
\r
727 case UG_EVENT_LANG_CHANGE:
\r
729 case UG_EVENT_ROTATE_PORTRAIT:
\r
731 case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
\r
733 case UG_EVENT_ROTATE_LANDSCAPE:
\r
735 case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
\r
743 _on_start(ui_gadget_h ug, service_h data, void *priv)
\r
748 _on_pause(ui_gadget_h ug, service_h data, void *priv)
\r
754 _on_resume(ui_gadget_h ug, service_h data, void *priv)
\r
760 _on_destroy(ui_gadget_h ug, service_h data, void *priv)
\r
762 struct ug_data *ugd;
\r
764 gallery_retm_if(!ug, "ug is NULL, check it !!");
\r
765 gallery_retm_if(!priv, "priv is NULL, check it !!");
\r
768 if(ugd->main_layout)
\r
770 evas_object_del(ugd->main_layout);
\r
771 ugd->main_layout = NULL;
\r
776 _on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h data, void *priv)
\r
782 UG_MODULE_INIT(struct ug_module_ops *ops)
\r
784 gallery_retvm_if(!ops, -1, "ops is NULL");
\r
786 struct ug_data *ugd = NULL;
\r
787 ugd = calloc(1, sizeof(struct ug_data));
\r
788 gallery_retvm_if(!ugd, -1, "ugd is NULL");
\r
790 ops->create = _on_create;
\r
791 ops->start = _on_start;
\r
792 ops->pause = _on_pause;
\r
793 ops->resume = _on_resume;
\r
794 ops->destroy = _on_destroy;
\r
795 ops->message = _on_message;
\r
796 ops->key_event = _on_key_event;
\r
797 ops->event = _on_event;
\r
799 ops->opt = UG_OPT_INDICATOR_ENABLE;
\r
804 UG_MODULE_API int setting_plugin_reset(service_h data, void *priv)
\r
806 gallery_info("Reset the settings start");
\r
809 ret += gallery_key_set_current_time(DEFAULT_TIMER);
\r
810 ret += gallery_key_set_repeat_state(DEFAULT_REPEAT);
\r
811 ret += gallery_key_set_shuffle_state(DEFAULT_SHUFFLE);
\r
812 gallery_info("Finished");
\r
818 UG_MODULE_EXIT(struct ug_module_ops *ops)
\r
820 gallery_retm_if(!ops, "ops is NULL");
\r
822 struct ug_data *ugd;
\r