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.
18 #include "setting-more-menu.h"
20 static int setting_more_menu_create(void *cb);
21 static int setting_more_menu_destroy(void *cb);
22 static int setting_more_menu_update(void *cb);
23 static int setting_more_menu_cleanup(void *cb);
25 setting_view setting_view_more_menu = {
26 .create = setting_more_menu_create,
27 .destroy = setting_more_menu_destroy,
28 .update = setting_more_menu_update,
29 .cleanup = setting_more_menu_cleanup,
32 /* ***************************************************
36 ***************************************************/
37 const static Elm_Genlist_Item_Class itc_sep = {
38 .item_style = "dialogue/separator/21/with_line",
39 .func.text_get = NULL,
40 .func.content_get = NULL,
41 .func.state_get = NULL,
45 static int setting_more_menu_create(void *cb)
48 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
50 setting_main_appdata *ad = (setting_main_appdata *) cb;
52 Evas_Object *scroller = NULL;
54 menu_list_load_fn2 load_fn = NULL;
55 if (SETTING_VIEW_CONNECTIVE_MORE == ad->view_load)
57 title = _(KeyStr_MoreConnect);
58 load_fn = __load_connectivity_menu_list;
60 else if (SETTING_VIEW_SYSTEM_MORE == ad->view_load)
62 title = _(KeyStr_MoreSystem);
63 load_fn = __load_system_menu_list;
67 SETTING_TRACE_ERROR("Invalid view");
68 return SETTING_RETURN_FAIL;
70 setting_push_layout_navi_bar_genlist(ad->win_main, ad->win_main,
71 title, _("IDS_COM_BODY_BACK"),
73 setting_more_menu_click_softkey_cancel_cb,
74 NULL, ad, &scroller, ad->navibar_main);
76 Elm_Object_Item *item = elm_genlist_item_append(scroller, &(itc_sep),
78 ELM_GENLIST_ITEM_NONE, NULL, NULL);
79 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
81 load_fn(ad, Cfg_Item_Pos_Level1, scroller);
82 ad->genlist_load = scroller;
83 setting_view_more_menu.is_create = 1;
84 return SETTING_RETURN_SUCCESS;
87 static int setting_more_menu_destroy(void *cb)
91 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
93 setting_main_appdata *ad = (setting_main_appdata *) cb;
94 if (0 == setting_view_more_menu.is_create)
97 return SETTING_RETURN_SUCCESS;
101 elm_naviframe_item_pop(ad->navibar_main);
102 ad->view_load = SETTING_VIEW_MAIN;
103 ad->genlist_load = ad->main_genlist;
104 setting_view_more_menu.is_create = 0;
105 return SETTING_RETURN_SUCCESS;
108 static int setting_more_menu_update(void *cb)
110 return SETTING_RETURN_SUCCESS;
114 static int setting_more_menu_cleanup(void *cb)
118 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
119 setting_more_menu_destroy(cb);
121 return SETTING_RETURN_SUCCESS;
124 /* ***************************************************
128 ***************************************************/
130 /* ***************************************************
134 ***************************************************/
137 setting_more_menu_click_softkey_cancel_cb(void *data,
143 retm_if(data == NULL, "Data parameter is NULL");
144 setting_main_appdata *ad = (setting_main_appdata *) data;
146 setting_view_change(&setting_view_more_menu,
147 &setting_view_main, ad);