4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
6 * Contact: MyoungJune Park <mj2004.park@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
22 *@defgroup setting-app
23 *entry point of Setting application
28 #include <setting-cfg.h>
30 #include <setting-common-draw-widget.h>
31 #include <setting-common-view.h>
34 #include <tapi_common.h>
35 #include <ITapiModem.h>
39 #define EDIT_PREFERRED_STR "IDS_ST_BUTTON2_EDIT_PREFERRED"
40 //#define PREFERRED_STR "IDS_ST_TAB_PREFERRED"
41 #define PREFERRED_STR "IDS_ST_BODY_FREQUENTLY_USED"
42 #define ALL_STR "IDS_ST_OPT_ALL"
43 #define SETTING_MAX_PID_LEN 128
45 #define NO_UG_FOUND_MSG _("Unsupported menu")
46 #define USB_NEED_OFF "Please turn USB tethering off first in Mobile hotspot"
48 #define SETTING_NFC_DESC "IDS_ST_BODY_ALLOW_DATA_EXCHANGE_WHEN_DEVICE_TOUCHES_ANOTHER_DEVICE"
49 #define SETTING_WIFI_DIRECT_DESC "IDS_ST_BODY_SET_UP_PEER_TO_PEER_CONNECTIVITY_ABB"
54 typedef enum _setting_view_type {
55 SETTING_VIEW_MAIN = 0,
56 SETTING_VIEW_CONNECTIVE_MORE,
57 SETTING_VIEW_SYSTEM_MORE,
58 SETTING_VIEW_ALL_CHECK = 9,
61 typedef void (*menu_list_load_fn) (void *data);
62 typedef void (*menu_list_load_fn2) (void *, Cfg_Item_Position, Evas_Object *);
64 typedef enum _List_Load_Func_Type {
65 Func_Type_Connectivity = 0,
68 Func_Type_DownApp = 3,
70 } List_Load_Func_Type;
72 typedef enum _MAIN_PROFILE_Type {
73 MAIN_PROFILE_PREFERRED = 0,
79 * enum for genlist item to be updated
80 * @see setting_update_gl_item
82 typedef enum _Update_GL_Item_Type {
93 } Update_GL_Item_Type;
95 typedef enum _FLIGHT_MODE_OPEARTION{
96 FM_INVALID = 0,//There is no request waiting for processing
97 FM_ENTER = 1,//Some "flightmode enter" request is waiting for processing
98 FM_LEAVE,//Some "flightmode leave" request is waiting for processing
99 } FLIGHT_MODE_OPEARTION;
102 #define MAX_MORE_MENU_NUM 6
104 * @brief main view context
106 typedef struct _setting_main_appdata {
112 Eina_Bool updateItems[GL_ITEM_MAX];
115 Evas_Object *win_main;
116 Evas_Object *controlbar;
118 Evas_Object *controllbar_all_check;
119 Evas_Object *gl_sel_all;
121 menu_list_load_fn load_fns[Func_Type_MAX];
122 MAIN_PROFILE_Type profile_type;
124 Evas_Object *navibar_main;
126 Evas_Object *ly_main; /**< seting view main */
127 Setting_View_Type view_load;
128 Evas_Object *genlist_load;
130 Elm_Object_Item *edit_item;
131 Elm_Object_Item *segment_all;
132 Elm_Object_Item *segment_preferred;
136 /* vars for flightmode */
137 bool b_fm_requesting;//whether some request is processing. 1:yes, 0:no
138 FLIGHT_MODE_OPEARTION fm_waiting_op;
142 Setting_GenGroupItem_Data *data_flight;
143 Setting_GenGroupItem_Data *data_wifi;
144 Setting_GenGroupItem_Data *data_bt;
145 Setting_GenGroupItem_Data *data_rotationMode;
147 Setting_GenGroupItem_Data *data_bright;
149 Setting_GenGroupItem_Data *data_moreSystem;
150 Setting_GenGroupItem_Data *data_moreConnect;
151 Setting_GenGroupItem_Data *data_nfc;
153 Setting_View_Type view_type;
155 Evas_Object *main_genlist; /**< 'Setting main' in main page */
156 Evas_Object *edit_preferred_genlist; /**< 'Edit preferred' page */
158 Elm_Genlist_Item_Class itc[GENDIAL_Type_MAX];
160 Eina_List *item_check_list; /**< in preferred view, store the selected items in the list. */
161 Setting_GenGroupItem_Data *check_all_item; /**< genlist node for "Select all" */
163 Evas_Object *flight_popup;
164 Evas_Object *data_roaming_popup;
166 // listen / unlisten code
167 Eina_List *listened_list;
170 const char *more_connective_menus[MAX_MORE_MENU_NUM];
171 const char *more_system_menus[MAX_MORE_MENU_NUM];
175 // PluginNode* plugin_node;
178 } setting_main_appdata;
181 extern setting_view setting_view_main;
182 extern setting_view setting_view_more_menu;
183 extern void __load_connectivity_menu_list(void *data, Cfg_Item_Position inputPos, Evas_Object *genlist);
184 extern void __load_system_menu_list(void *data, Cfg_Item_Position inputPos, Evas_Object *genlist);
186 #endif /* __SETTING_H__ */