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 *@defgroup setting-app
18 *entry point of Setting application
23 #include <appcore-efl.h>
25 #include <setting-common-draw-widget.h>
26 #include <setting-common-view.h>
27 #include <setting-cfg.h>
31 #include <TapiCommon.h>
32 #include <ITapiPower.h>
35 #include <ui-gadget.h>
37 #define EDIT_PREFERRED_STR "IDS_ST_BUTTON2_EDIT_PREFERRED"
38 #define PREFERRED_STR "IDS_ST_TAB_PREFERRED"
39 #define ALL_STR "IDS_ST_OPT_ALL"
40 #define SETTING_MAX_PID_LEN 128
45 typedef enum _setting_view_type {
46 SETTING_VIEW_MAIN = 0,
47 SETTING_VIEW_CONNECTIVE_MORE,
48 SETTING_VIEW_SYSTEM_MORE,
49 SETTING_VIEW_ALL_CHECK = 9,
52 typedef void (*menu_list_load_fn) (void *data);
53 typedef void (*menu_list_load_fn2) (void *, Cfg_Item_Position, Evas_Object *);
55 typedef enum _List_Load_Func_Type {
56 Func_Type_Connectivity = 0,
59 Func_Type_DownApp = 3,
61 } List_Load_Func_Type;
63 typedef enum _MAIN_PROFILE_Type {
64 MAIN_PROFILE_PREFERRED = 0,
69 typedef enum _Update_GL_Item_Type {
80 } Update_GL_Item_Type;
82 #define VCONF_KEY_EVENT_ARR_SIZE 11
83 typedef struct _vconf_key_change_event
86 char *in_key[VCONF_KEY_EVENT_ARR_SIZE];
87 vconf_callback_fn cb[VCONF_KEY_EVENT_ARR_SIZE];
89 int (*listen)(struct _vconf_key_change_event* me, void* data);
90 int (*unlisten)(struct _vconf_key_change_event* me, void* data);
91 }vconf_key_change_event;
94 * @brief main view context
96 typedef struct _setting_main_appdata {
99 Eina_Bool updateItems[GL_ITEM_MAX];
102 Evas_Object *win_main;
104 Evas_Object *controllbar_all_check;
105 Evas_Object *gl_sel_all;
107 menu_list_load_fn load_fns[Func_Type_MAX];
108 MAIN_PROFILE_Type profile_type;
110 Evas_Object *navibar_main;
112 Evas_Object *ly_main; /**< seting view main */
113 Setting_View_Type view_load;
114 Evas_Object *genlist_load;
116 Elm_Object_Item *edit_item;
117 Elm_Object_Item *segment_all;
118 Elm_Object_Item *segment_preferred;
124 Setting_GenGroupItem_Data *data_wifi;
125 Setting_GenGroupItem_Data *data_bt;
126 Setting_GenGroupItem_Data *data_roaming;
127 Setting_GenGroupItem_Data *data_rotationMode;
128 Setting_GenGroupItem_Data *data_mobileApp;
130 Setting_GenGroupItem_Data *data_usbcon;
131 Setting_GenGroupItem_Data *data_theme;
133 Setting_GenGroupItem_Data *data_moreSystem;
134 Setting_GenGroupItem_Data *data_moreConnect;
136 Setting_View_Type view_type;
138 Evas_Object *main_genlist; /**< genlist in main page */
139 Evas_Object *all_check_genlist;
141 Elm_Genlist_Item_Class itc[GENDIAL_Type_MAX];
143 Eina_List *item_check_list;
144 Setting_GenGroupItem_Data *check_all_item;
145 /* Animation effect for Ui-Gadget. */
148 Evas_Object *data_roaming_popup;
150 // listen / unlisten code
151 vconf_key_change_event vk_events;
153 } setting_main_appdata;
156 extern setting_view setting_view_main;
157 extern setting_view setting_view_more_menu;
158 extern void __load_connectivity_menu_list(void *data, Cfg_Item_Position inputPos, Evas_Object *genlist);
159 extern void __load_system_menu_list(void *data, Cfg_Item_Position inputPos, Evas_Object *genlist);
161 void signal_hide_finished(void *data, Evas_Object *obj, const char *emission,
164 #endif /* __SETTING_H__ */