2 * Copyright 2012 Samsung Electronics Co., Ltd
\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
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 if (index == GALLERY_MAIN_MENU_REPEAT)
\r
248 gallery_key_init_repeat_state(&state);
\r
250 if (gallery_key_set_repeat_state(!state))
\r
252 gallery_key_text_popup(ugd,SGUG_TR_FAILED);
\r
255 else if(index == GALLERY_MAIN_MENU_SHUFFLE)
\r
257 gallery_key_init_shuffle_state(&state);
\r
259 if(gallery_key_set_shuffle_state(!state))
\r
261 gallery_key_text_popup(ugd,SGUG_TR_FAILED);
\r
266 static Evas_Object *_gallery_create_check(Evas_Object *obj, struct ug_data *ugd, int index, Init_State_Func func, int *state)
\r
268 gallery_retvm_if(!obj, NULL, "obj is NULL");
\r
269 gallery_retvm_if(!ugd, NULL, "ugd is NULL");
\r
270 gallery_retvm_if(!state, NULL, "state is NULL");
\r
275 Evas_Object *check = NULL;
\r
276 check = elm_check_add(obj);
\r
277 evas_object_data_set(check, "ugd", ugd);
\r
278 elm_check_state_set( check, (bool)*state);
\r
279 elm_object_style_set(check, "on&off");
\r
280 evas_object_propagate_events_set(check, EINA_FALSE);
\r
281 evas_object_smart_callback_add(check, "changed", _gallery_genlist_icon_cb, (void *)index);
\r
286 static Evas_Object*
\r
287 _gallery_genlist_icon_get(void *data, Evas_Object *obj, const char *part)
\r
289 gallery_retv_if(!data, NULL);
\r
290 gallery_retv_if(!part, NULL);
\r
292 struct ug_data *ugd = NULL;
\r
294 ugd = evas_object_data_get(obj, "ugd");
\r
295 gallery_retvm_if(!ugd, NULL, "INVALID param");
\r
297 int index = (int )data;
\r
298 Evas_Object *check = NULL;
\r
300 if (strncmp(part, "elm.icon", strlen(part)) == 0)
\r
302 if (index == GALLERY_MAIN_MENU_REPEAT)
\r
304 check = _gallery_create_check(obj, ugd, index, gallery_key_init_repeat_state, &ugd->repeat_state);
\r
305 ugd->repeat_btn = check;
\r
307 else if(index == GALLERY_MAIN_MENU_SHUFFLE)
\r
309 check = _gallery_create_check(obj, ugd, index, gallery_key_init_shuffle_state, &ugd->shuffle_state);
\r
310 ugd->shuffle_btn = check;
\r
319 _gallery_time_select_cb(void *data, Evas_Object *obj, void *event_info)
\r
321 struct ug_data *ugd = evas_object_data_get(obj, "ugd");
\r
322 gallery_ret_if(!ugd);
\r
324 int param = (int )data;
\r
325 Elm_Object_Item *item = (Elm_Object_Item *)event_info;
\r
327 int index = GALLERY_MAIN_MENU_TIME;
\r
329 elm_genlist_item_selected_set(item, EINA_FALSE);
\r
331 if(gallery_key_set_current_time(gallery_key_get_time_vconf_value(param)))
\r
333 gallery_key_text_popup(ugd,SGUG_TR_FAILED);
\r
336 elm_radio_value_set(ugd->radio_group, param);
\r
337 elm_genlist_item_update(ugd->gl_it[index]);
\r
342 _gallery_genlist_con(void *data, Evas_Object *obj, void *event_info)
\r
344 gallery_ret_if(!event_info);
\r
346 Elm_Object_Item *item = event_info;
\r
347 elm_genlist_item_subitems_clear(item);
\r
351 _gallery_genlist_time_select_cb(void *data, Evas_Object *obj, void *event_info)
\r
353 struct ug_data *ugd = evas_object_data_get(obj, "ugd");
\r
354 gallery_ret_if(!ugd);
\r
356 gallery_info("_gallery_genlist_time_select_cb");
\r
359 Elm_Object_Item *item = (Elm_Object_Item *)event_info;
\r
361 elm_genlist_item_selected_set(item, EINA_FALSE);
\r
363 Evas_Object *gl = elm_object_item_widget_get(item);
\r
365 ugd->check_time_itc.item_style = "dialogue/1text.1icon.3";
\r
366 ugd->check_time_itc.func.text_get = _gallery_time_text_get;
\r
367 ugd->check_time_itc.func.content_get = _gallery_time_content_get;
\r
368 ugd->check_time_itc.func.state_get = NULL;
\r
369 ugd->check_time_itc.func.del = NULL;
\r
371 ugd->radio_group = elm_radio_add(gl);
\r
372 for (index = 0; gallery_key_time_menu_get(index); index++)
\r
374 elm_genlist_item_append(gl,&ugd->check_time_itc, (void *)index, item,
\r
375 ELM_GENLIST_ITEM_NONE, _gallery_time_select_cb, (void *)index);
\r
381 _gallery_genlist_exp(void *data, Evas_Object *obj, void *event_info)
\r
383 gallery_ret_if(!obj);
\r
385 struct ug_data *ugd = evas_object_data_get(obj, "ugd");
\r
386 gallery_ret_if(!ugd);
\r
388 gallery_info("_gallery_genlist_exp");
\r
390 Elm_Object_Item *item = (Elm_Object_Item *)event_info;
\r
392 elm_genlist_item_selected_set(item, EINA_FALSE);
\r
394 if(item == ugd->gl_it[GALLERY_MAIN_MENU_TIME])
\r
396 _gallery_genlist_time_select_cb(data, obj, event_info);
\r
400 _gallery_genlist_realized(void *data, Evas_Object *obj, void *event_info)
\r
402 gallery_ret_if(!obj);
\r
403 gallery_ret_if(!event_info);
\r
405 struct ug_data *ugd = (struct ug_data *)data;
\r
406 gallery_ret_if(!ugd);
\r
408 Elm_Object_Item *item = (Elm_Object_Item *)event_info;
\r
410 int index = (int)elm_object_item_data_get(item);
\r
412 if(index-1 == GALLERY_MAIN_MENU_TITLE)
\r
414 elm_object_item_signal_emit(item, "elm,state,top", "");
\r
416 else if(index+1 == GALLERY_MAIN_MENU_ITEM_MAX)
\r
418 elm_object_item_signal_emit(item, "elm,state,bottom", "");
\r
422 elm_object_item_signal_emit(item, "elm,state,center", "");
\r
427 _gallery_main_layout_ug_cb(ui_gadget_h ug, enum ug_mode mode,
\r
430 gallery_ret_if(priv == NULL);
\r
431 gallery_ret_if(ug == NULL);
\r
432 Evas_Object *base = NULL;
\r
433 gallery_info("_gallery_main_layout_ug_cb");
\r
435 base = (Evas_Object *) ug_get_layout(ug);
\r
440 case UG_MODE_FULLVIEW:
\r
441 evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
\r
442 elm_win_resize_object_add(ug_get_window(), base);
\r
443 evas_object_show(base);
\r
448 gallery_info("end _gallery_main_layout_ug_cb");
\r
453 _gallery_genlist_select_cb(void *data, Evas_Object *obj, void *event_info)
\r
455 struct ug_data *ugd = evas_object_data_get(obj, "ugd");
\r
456 gallery_ret_if(!ugd);
\r
458 int param = (int )data;
\r
460 int icon_state = 0;
\r
461 bool expand_state = false;
\r
463 Elm_Object_Item *item = (Elm_Object_Item *)event_info;
\r
465 elm_genlist_item_selected_set(item, EINA_FALSE);
\r
467 if(param == GALLERY_MAIN_MENU_TIME)
\r
469 expand_state = elm_genlist_item_expanded_get(item);
\r
470 elm_genlist_item_expanded_set(item, !expand_state);
\r
472 else if(param == GALLERY_MAIN_MENU_REPEAT)
\r
474 gallery_key_init_repeat_state(&icon_state);
\r
475 icon_state = !icon_state;
\r
477 if(gallery_key_set_repeat_state(icon_state))
\r
479 gallery_key_text_popup(ugd,SGUG_TR_FAILED);
\r
482 elm_check_state_set(ugd->repeat_btn, (bool)icon_state);
\r
484 else if(param == GALLERY_MAIN_MENU_SHUFFLE)
\r
486 gallery_key_init_shuffle_state(&icon_state);
\r
487 icon_state = !icon_state;
\r
489 if(gallery_key_set_shuffle_state(icon_state))
\r
491 gallery_key_text_popup(ugd,SGUG_TR_FAILED);
\r
494 elm_check_state_set(ugd->shuffle_btn,(bool)icon_state);
\r
498 static Evas_Object *
\r
499 _gallery_genlist_items_add (Evas_Object *parent, struct ug_data *ugd)
\r
501 Evas_Object *main_genlist;
\r
502 Elm_Object_Item *sep;
\r
506 main_genlist = elm_genlist_add(parent);
\r
508 #ifdef USE_DIALOGUE_STYLE
\r
509 elm_object_style_set(main_genlist, "dialogue");
\r
511 evas_object_smart_callback_add(main_genlist, "realized", _gallery_genlist_realized, ugd);
\r
514 evas_object_size_hint_weight_set(main_genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
\r
515 evas_object_size_hint_align_set(main_genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
\r
517 ugd->genlist = main_genlist;
\r
519 evas_object_data_set(ugd->genlist, "ugd", ugd);
\r
521 ugd->title_itc.item_style = "dialogue/title";
\r
522 ugd->title_itc.func.text_get = _gallery_genlist_text_get;
\r
523 ugd->title_itc.func.content_get = NULL;
\r
524 ugd->title_itc.func.state_get = NULL;
\r
525 ugd->title_itc.func.del = NULL;
\r
527 ugd->expandable_itc.item_style = "dialogue/2text.3/expandable";
\r
528 ugd->expandable_itc.func.text_get = _gallery_genlist_text_get;
\r
529 ugd->expandable_itc.func.content_get = NULL;
\r
530 ugd->expandable_itc.func.state_get = NULL;
\r
531 ugd->expandable_itc.func.del = NULL;
\r
533 ugd->txt_icon_itc.item_style = "dialogue/1text.1icon";
\r
534 ugd->txt_icon_itc.func.text_get = _gallery_genlist_text_get;
\r
535 ugd->txt_icon_itc.func.content_get = _gallery_genlist_icon_get;
\r
536 ugd->txt_icon_itc.func.state_get = NULL;
\r
537 ugd->txt_icon_itc.func.del = NULL;
\r
539 ugd->two_txt_icon_itc.item_style = "dialogue/2text.1icon.6";
\r
540 ugd->two_txt_icon_itc.func.text_get = _gallery_genlist_text_get;
\r
541 ugd->two_txt_icon_itc.func.content_get = _gallery_genlist_icon_get;
\r
542 ugd->two_txt_icon_itc.func.state_get = NULL;
\r
543 ugd->two_txt_icon_itc.func.del = NULL;
\r
545 ugd->seperator_itc.item_style = "grouptitle.dialogue.seperator";
\r
546 ugd->seperator_itc.func.text_get = NULL;
\r
547 ugd->seperator_itc.func.content_get = NULL;
\r
548 ugd->seperator_itc.func.state_get = NULL;
\r
549 ugd->seperator_itc.func.del = NULL;
\r
551 ugd->seperator_end_itc.item_style = "dialogue/separator/end";
\r
552 ugd->seperator_end_itc.func.text_get = NULL;
\r
553 ugd->seperator_end_itc.func.content_get = NULL;
\r
554 ugd->seperator_end_itc.func.state_get = NULL;
\r
555 ugd->seperator_end_itc.func.del = NULL;
\r
557 sep = elm_genlist_item_append(main_genlist, &ugd->seperator_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
\r
558 elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
\r
560 for (index = GALLERY_MAIN_MENU_TITLE; index < GALLERY_MAIN_MENU_ITEM_MAX; index++)
\r
562 //expandable genlist
\r
563 if (index == GALLERY_MAIN_MENU_TIME)
\r
565 ugd->gl_it[index] = elm_genlist_item_append(main_genlist, &ugd->expandable_itc,
\r
566 (void *)index, NULL,
\r
567 ELM_GENLIST_ITEM_TREE,
\r
568 _gallery_genlist_select_cb,
\r
571 // repeat&shuffle 1txt .1icon
\r
572 else if (index == GALLERY_MAIN_MENU_REPEAT ||
\r
573 index == GALLERY_MAIN_MENU_SHUFFLE)
\r
575 ugd->gl_it[index] = elm_genlist_item_append(main_genlist, &ugd->txt_icon_itc,
\r
576 (void *)index, NULL,
\r
577 ELM_GENLIST_ITEM_NONE,
\r
578 _gallery_genlist_select_cb,
\r
583 sep = elm_genlist_item_append(main_genlist, &ugd->seperator_end_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
\r
584 elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
\r
586 evas_object_smart_callback_add(main_genlist, "expanded", _gallery_genlist_exp, ugd);
\r
587 evas_object_smart_callback_add(main_genlist, "contracted", _gallery_genlist_con, ugd);
\r
589 return main_genlist;
\r
593 static Evas_Object *
\r
594 _gallery_create_fullview(Evas_Object *parent, struct ug_data *ugd)
\r
596 gallery_retv_if(!parent, NULL);
\r
598 Evas_Object *layout;
\r
599 layout = elm_layout_add(parent);
\r
600 gallery_retv_if( layout == NULL, NULL );
\r
602 Eina_Bool ret = EINA_FALSE;
\r
604 const char *profile = elm_config_profile_get();
\r
605 if (!strcmp(profile,"mobile"))
\r
607 ret = elm_layout_theme_set(layout, "layout", "application", "default");
\r
608 gallery_debug("layout/application/default");
\r
610 else if (!strcmp(profile,"desktop"))
\r
612 ret = elm_layout_theme_set(layout, "layout", "application", "noindicator");
\r
613 gallery_debug("layout/application/noindicator");
\r
616 evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
\r
621 static Evas_Object*
\r
622 _gallery_create_naviframe(Evas_Object* parent)
\r
624 gallery_retv_if(!parent, NULL);
\r
626 Evas_Object *naviframe = NULL;
\r
627 naviframe = elm_naviframe_add( parent );
\r
628 elm_object_part_content_set( parent, "elm.swallow.content", naviframe );
\r
629 evas_object_show(naviframe);
\r
634 static Evas_Object *_gallery_create_bg(Evas_Object *parent)
\r
636 Evas_Object *bg = elm_bg_add(parent);
\r
637 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
\r
638 elm_object_part_content_set(parent, "elm.swallow.bg", bg);
\r
639 evas_object_show(bg);
\r
645 _on_create(ui_gadget_h ug, enum ug_mode mode, service_h data, void *priv)
\r
647 gallery_retvm_if(!ug, NULL, "ug is NULL, check it !!");
\r
648 gallery_retvm_if(!priv, NULL, "priv is NULL, check it !!");
\r
650 Evas_Object *parent = NULL;
\r
651 struct ug_data *ugd = NULL;
\r
653 ugd = (struct ug_data *)priv;
\r
656 /* Bind text domain for internalization */
\r
657 bindtextdomain("ug-setting-gallery-efl" , "/usr/ug/res/locale");
\r
659 parent = (Evas_Object *)ug_get_parent_layout(ug);
\r
660 gallery_retvm_if(parent == NULL, NULL, "parent layout is NULL");
\r
662 if (mode == UG_MODE_FULLVIEW)
\r
664 ugd->main_layout = _gallery_create_fullview(parent, ugd);
\r
668 gallery_info("It is not UG_MODE_FULLVIEW");
\r
672 ugd->bg = _gallery_create_bg(ugd->main_layout);
\r
674 if(ugd->main_layout)
\r
676 ugd->naviframe = _gallery_create_naviframe(ugd->main_layout);
\r
677 evas_object_data_set(ugd->naviframe, "ugd", ugd);
\r
680 ugd->genlist = _gallery_genlist_items_add(ugd->naviframe,ugd);
\r
682 //evas_object_data_set(ugd->genlist, "ugd", ugd);
\r
684 ugd->backbtn = elm_button_add(ugd->naviframe);
\r
685 evas_object_smart_callback_add(ugd->backbtn, "clicked", _gallery_quit_cb, ugd);
\r
686 elm_object_style_set(ugd->backbtn, "naviframe/end_btn/default");
\r
688 elm_naviframe_item_push(ugd->naviframe, SGUG_TR_GALLERY, ugd->backbtn,
\r
689 NULL, ugd->genlist, NULL);
\r
691 evas_object_show(ugd->main_layout);
\r
693 return ugd->main_layout;
\r
697 _on_message(ui_gadget_h ug, service_h msg, service_h data, void *priv)
\r
702 _on_event(ui_gadget_h ug, enum ug_event event, service_h data, void *priv)
\r
704 //struct ug_data *ugd = (struct ug_data *)priv;
\r
707 case UG_EVENT_LOW_MEMORY:
\r
709 case UG_EVENT_LOW_BATTERY:
\r
711 case UG_EVENT_LANG_CHANGE:
\r
713 case UG_EVENT_ROTATE_PORTRAIT:
\r
715 case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
\r
717 case UG_EVENT_ROTATE_LANDSCAPE:
\r
719 case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
\r
727 _on_start(ui_gadget_h ug, service_h data, void *priv)
\r
732 _on_pause(ui_gadget_h ug, service_h data, void *priv)
\r
738 _on_resume(ui_gadget_h ug, service_h data, void *priv)
\r
744 _on_destroy(ui_gadget_h ug, service_h data, void *priv)
\r
746 struct ug_data *ugd;
\r
748 gallery_retm_if(!ug, "ug is NULL, check it !!");
\r
749 gallery_retm_if(!priv, "priv is NULL, check it !!");
\r
752 if(ugd->main_layout)
\r
754 evas_object_del(ugd->main_layout);
\r
755 ugd->main_layout = NULL;
\r
760 _on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h data, void *priv)
\r
766 UG_MODULE_INIT(struct ug_module_ops *ops)
\r
768 gallery_retvm_if(!ops, -1, "ops is NULL");
\r
770 struct ug_data *ugd = NULL;
\r
771 ugd = calloc(1, sizeof(struct ug_data));
\r
772 gallery_retvm_if(!ugd, -1, "ugd is NULL");
\r
774 ops->create = _on_create;
\r
775 ops->start = _on_start;
\r
776 ops->pause = _on_pause;
\r
777 ops->resume = _on_resume;
\r
778 ops->destroy = _on_destroy;
\r
779 ops->message = _on_message;
\r
780 ops->key_event = _on_key_event;
\r
781 ops->event = _on_event;
\r
783 ops->opt = UG_OPT_INDICATOR_ENABLE;
\r
788 UG_MODULE_API int setting_plugin_reset(service_h data, void *priv)
\r
790 gallery_info("Reset the settings start");
\r
793 ret += gallery_key_set_current_time(DEFAULT_TIMER);
\r
794 ret += gallery_key_set_repeat_state(DEFAULT_REPEAT);
\r
795 ret += gallery_key_set_shuffle_state(DEFAULT_SHUFFLE);
\r
796 gallery_info("Finished");
\r
802 UG_MODULE_EXIT(struct ug_module_ops *ops)
\r
804 gallery_retm_if(!ops, "ops is NULL");
\r
806 struct ug_data *ugd;
\r