merge with master
[apps/osp/Internet.git] / inc / IntSettingForm.h
1 //\r
2 \r
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
4 //\r
5 // Licensed under the Flora License, Version 1.0 (the License);\r
6 // you may not use this file except in compliance with the License.\r
7 // You may obtain a copy of the License at\r
8 //\r
9 //     http://floralicense.org/license/\r
10 //\r
11 // Unless required by applicable law or agreed to in writing, software\r
12 // distributed under the License is distributed on an AS IS BASIS,\r
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14 // See the License for the specific language governing permissions and\r
15 // limitations under the License.\r
16 //\r
17 \r
18 //!Internet SettingForm class\r
19 /*@file:        IntSettingForm.h\r
20  *@brief:       The %IntSettingForm defines settings.\r
21  *\r
22  */\r
23 \r
24 #ifndef _INT_SETTING_FORM_H_\r
25 #define _INT_SETTING_FORM_H_\r
26 \r
27 #include <FBase.h>\r
28 #include <FUi.h>\r
29 \r
30 #include "IntMultipleWindowPresentationModel.h"\r
31 #include "IntConfirmationPopup.h"\r
32 \r
33 class SettingForm\r
34         : public Tizen::Ui::Controls::Form\r
35         , public Tizen::Ui::Controls::IFormBackEventListener\r
36         , public Tizen::Ui::Controls::IGroupedListViewItemEventListener\r
37         , public Tizen::Ui::Controls::IGroupedListViewItemProvider\r
38         , public Tizen::Ui::IActionEventListener\r
39         , public Tizen::Ui::IOrientationEventListener\r
40         , public Tizen::Ui::Scenes::ISceneEventListener\r
41 {\r
42 public:\r
43         /**\r
44          * @brief               The Default Constructor\r
45          */\r
46         SettingForm(void);\r
47 \r
48         /**\r
49          * @brief               The Default Destructor\r
50          */\r
51         virtual ~SettingForm(void);\r
52 \r
53         /**\r
54          * @brief               Initializes this SettingForm Form.\r
55          */\r
56         bool Initialize(void);\r
57 \r
58         /**\r
59          * @brief               Initializes the controls of the UI for SettingForm.\r
60          */\r
61         result OnInitializing(void);\r
62 \r
63         //IActionEventListener\r
64         void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);\r
65 \r
66         //IGroupedListViewItemProvider\r
67         Tizen::Ui::Controls::GroupItem* CreateGroupItem(int groupIndex, int itemWidth);\r
68 \r
69         Tizen::Ui::Controls::ListItemBase* CreateItem(int groupIndex, int itemIndex, int itemWidth);\r
70 \r
71         bool DeleteGroupItem(int groupIndex, Tizen::Ui::Controls::GroupItem* pItem, int itemWidth);\r
72 \r
73         bool DeleteItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);\r
74 \r
75         int GetGroupCount(void);\r
76 \r
77         int GetItemCount(int groupIndex);\r
78 \r
79         //IGroupedListViewItemEventListener\r
80         void OnGroupedListViewContextItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);\r
81 \r
82         void OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListItemStatus status);\r
83 \r
84         void OnGroupedListViewItemSwept(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, Tizen::Ui::Controls::SweepDirection direction);\r
85 \r
86         //IFormBackEventListener\r
87         void OnFormBackRequested(Tizen::Ui::Controls::Form& source);\r
88 \r
89         //IOrientationEventListener\r
90         void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);\r
91 \r
92         //ISceneEventListener\r
93         virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);\r
94 \r
95         virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);\r
96         enum\r
97         {\r
98                 SETTING_INVALID = -1,\r
99                 SETTING_HOMEPAGE_TITLE = 0,\r
100                 SETTING_CURRENT_PAGE,                           //1\r
101                 SETTING_BLANK_PAGE,                                     //2\r
102                 SETTING_MOST_VISITED_SITE,                      //3\r
103                 //SETTING_EMPTY_PAGE,                 //1\r
104                 SETTING_FAVORITE_URL,               //4\r
105                 SETTING_DEFAULT_VIEW_TITLE,         //5\r
106                 SETTING_FIT_TO_WIDTH,               //6\r
107                 SETTING_READABLE,                   //7\r
108                 SETTING_RUN_JAVASCRIPT,             //8\r
109                 SETTING_DISPLAY_IMAGES,             //9\r
110                 SETTING_BLOCK_POPUP,                //10\r
111                 SETTING_CLEAR_CACHE,                //11\r
112                 SETTING_CLEAR_HISTORY,              //12\r
113                 SETTING_SHOW_SECURITY_WARNINGS,     //13\r
114                 SETTING_ACCEPT_COOKIES,                         //14\r
115                 SETTING_CLEAR_COOKIE_DATA,          //15\r
116                 SETTING_SEARCH_ENGINE_TITLE,        //20\r
117                 SETTING_SEARCH_ENGINE_YAHOO,        //21\r
118                 SETTING_SEARCH_ENGINE_NAVER,        //22\r
119                 SETTING_SEARCH_ENGINE_GOOGLE,       //23\r
120                 SETTING_RESET_TO_DEFAULT,           //24\r
121                 SETTING_MAX                                                     //25\r
122 \r
123         };\r
124 \r
125         enum SettingListItemType\r
126         {\r
127                 ITEM_TYPE_NORMAL = 0,\r
128                 ITEM_TYPE_TOGGLE,\r
129                 ITEM_TYPE_DROPDOWN,\r
130                 ITEM_TYPE_RADIO,\r
131         };\r
132 \r
133         class SettingItemInfo\r
134         {\r
135         public:\r
136                 /**\r
137                  * @brief The Default Constructor\r
138                  */\r
139                 SettingItemInfo(void);\r
140 \r
141                 /**\r
142                  * @brief The Default Destructor\r
143                  */\r
144                 virtual ~SettingItemInfo(void){};\r
145 \r
146         public:\r
147                 int childCount;     //only for ITEM_TYPE_DROPDOWN type items\r
148                 bool isOpen;        //true for opened and false for closed\r
149                 bool isSelected;        //only for ITEM_TYPE_RADIO && ITEM_TYPE_TOGGLE type of items\r
150                 SettingListItemType itemType;\r
151                 Tizen::Base::String titleText;\r
152                 Tizen::Base::String subText;\r
153         };\r
154 \r
155         int groupCount;\r
156         int* pGroupItemCount;\r
157         SettingItemInfo settingInfo[SETTING_MAX];\r
158 private:\r
159         /**\r
160          * @brief Initializes this instance of settings default values.\r
161          */\r
162         void InitializeSettingValues(void);\r
163 \r
164         /**\r
165          * @brief Opens a popup to clear cache data.\r
166          */\r
167         void ClearCache(void);\r
168 \r
169         /**\r
170          * @brief Opens a popup to clear all the cookies.\r
171          */\r
172         void ClearCookie(void);\r
173 \r
174         /**\r
175          * @brief Opens a popup to clear the browser history\r
176          */\r
177         void ClearHistory(void);\r
178 \r
179         /**\r
180          * @brief Opens a popup for resetting the default settings.\r
181          */\r
182         void ResetToDefault(void);\r
183 \r
184 private:\r
185         Tizen::Base::String __currentURL;\r
186         int __fontValue;\r
187         ConfirmationPopup* __pConfirmationPopup;\r
188         Tizen::Ui::Controls::GroupedListView* __pList;\r
189         Tizen::Ui::Controls::Popup* __pResetPopup;\r
190         WindowInfo* __pWindowInfo;                          // Contains window information of current scene\r
191         bool __isCurrentPageDisable;\r
192 \r
193 };\r
194 \r
195 \r
196 #endif /* _INT_SETTING_FORM_H_ */\r