2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (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://floralicense.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 * @file StMainMenuForm.cpp
19 * @brief This is the implementation file for MainMenuForm class.
22 #include "StBluetoothPresentationModel.h"
23 #include "StMainMenuForm.h"
24 #include "StNfcPresentationModel.h"
25 #include "StResourceManager.h"
26 #include "StSettingScenesList.h"
29 using namespace Tizen::App;
30 using namespace Tizen::Base;
31 using namespace Tizen::Base::Collection;
32 using namespace Tizen::Graphics;
33 using namespace Tizen::Net::Bluetooth;
34 using namespace Tizen::System;
35 using namespace Tizen::Ui;
36 using namespace Tizen::Ui::Controls;
37 using namespace Tizen::Ui::Scenes;
39 static const int W_RESIZE_LABEL_GAP = 110;
41 static const int H_GROUP_FONT_SIZE_GIANT = 146;
42 static const int H_GROUP_FONT_SIZE_HUGE = 128;
43 static const int H_GROUP_FONT_SIZE_LARGE = 110;
44 static const int H_GROUP_FONT_SIZE_DEFAULT = 80;
45 static const int H_GROUP_TITLE_TEXT = (H_GROUP_INDEX_TITLE_TEXT / 4);
46 static const int MAIN_RELATIVE_LAYOUT_RIGHT_MARGIN = 60;
48 static const wchar_t* APPCONTROL_OPERATION_ID_CONFIGURE = L"http://tizen.org/appcontrol/operation/configure";
49 static const wchar_t* APPCONTROL_PROVIDER_ID_PHONE = L"tizen.phone";
50 static const wchar_t* APPCONTROL_PROVIDER_ID_ACCOUNT = L"ZsnYtAdjl2.Account";
52 static const int ID_GROUP_CONNECTIVITY = 0;
53 static const int ID_ITEM_CONNECTIVITY_WIFI = 0;
54 static const int ID_ITEM_CONNECTIVITY_BLUETOOTH = 1;
55 static const int ID_ITEM_CONNECTIVITY_NETWORK = 2;
56 static const int ID_ITEM_CONNECTIVITY_NFC = 3;
57 static const int ID_GROUP_CONNECTIVITY_ITEM_COUNT = 4;
59 static const int ID_GROUP_MODE = 1;
60 static const int ID_ITEM_MODE_FLIGHT_MODE = 0;
61 static const int ID_GROUP_MODE_ITEM_COUNT = 1;
63 static const int ID_GROUP_PERSONAL = 2;
64 static const int ID_ITEM_PERSONAL_HOME_SCREEN = 0;
65 static const int ID_ITEM_PERSONAL_LOCK_SCREEN = 1;
66 static const int ID_ITEM_PERSONAL_ACCOUNTS = 2;
67 static const int ID_ITEM_PERSONAL_PRIVACY = 3;
68 static const int ID_GROUP_PERSONAL_ITEM_COUNT = 4;
70 static const int ID_GROUP_DEVICE = 3;
71 static const int ID_ITEM_DEVICE_DISPLAY = 0;
72 static const int ID_ITEM_DEVICE_SOUND = 1;
73 static const int ID_ITEM_DEVICE_LOCATION = 2;
74 static const int ID_ITEM_DEVICE_CALL_SETTING = 3;
75 static const int ID_ITEM_DEVICE_ACCESSIBILITY = 4;
76 static const int ID_ITEM_DEVICE_DATE_TIME = 5;
77 static const int ID_ITEM_DEVICE_LANGUAGE_KEYBOARD = 6;
78 static const int ID_GROUP_DEVICE_ITEM_COUNT = 7;
80 static const int ID_GROUP_SYSTEM = 4;
81 static const int ID_ITEM_SYSTEM_MANAGE_APPLICATION = 0;
82 static const int ID_ITEM_SYSTEM_DOWNLOADED_APPLICATION = 1;
83 static const int ID_ITEM_SYSTEM_STORAGE = 2;
84 static const int ID_ITEM_SYSTEM_DEVELOPER_OPTION = 3;
85 static const int ID_ITEM_SYSTEM_ABOUT_PHONE = 4;
86 static const int ID_GROUP_SYSTEM_ITEM_COUNT = 5;
88 static const int ID_GROUP_APPSETTING = 5;
89 static const int ID_GROUP_NO_APPSETTING = 4;
90 static const int ID_MAIN_MENU_DEFAULT_COUNT = 1;
91 static const int EMULATOR_DEFAULT_COUNT = 1;
94 IFlightModeSetValueAsyncResultListener::OnResultReceivedForSetValueAsync(const Tizen::Base::String& key, result r)
96 AppLogDebug("key(%ls) r(%s)", key.GetPointer(), GetErrorMessage(r));
100 MainMenuForm* pMainMenuForm = dynamic_cast<MainMenuForm*>(SceneManager::GetInstance()->GetCurrentScene()->GetForm());
103 bool flightModeEnableStatus = false;
104 if (SettingInfo::GetValue(SETTING_INFO_KEY_NETWORK_FLIGHTMODE, flightModeEnableStatus) == E_SUCCESS)
106 pMainMenuForm->__pTableView->SetItemChecked(ID_GROUP_MODE, ID_ITEM_MODE_FLIGHT_MODE, flightModeEnableStatus);
107 pMainMenuForm->__pTableView->RefreshItem(ID_GROUP_MODE, ID_ITEM_MODE_FLIGHT_MODE, TABLE_VIEW_REFRESH_TYPE_ITEM_MODIFY);
113 MainMenuForm::MainMenuForm(void)
114 : __currentTableViewList(0)
115 , __isRunningAppControl(false)
116 , __pFlightModeSetValueAsyncResultListener(null)
120 MainMenuForm::~MainMenuForm(void)
125 MainMenuForm::CreateFooter(void)
127 Footer* pFooter = GetFooter();
130 pFooter->AddActionEventListener(*this);
134 MainMenuForm::OnInitializing(void)
136 AppLogDebug("ENTER");
138 CreateHeader(ResourceManager::GetString(L"IDS_COM_BODY_SETTINGS"));
140 __isEmulator = IsEmulator();
142 AddFocusEventListener(*this);
148 MainMenuForm::OnTerminating(void)
151 SetFormBackEventListener(null);
152 RemoveFocusEventListener(*this);
157 MainMenuForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
159 Header* pHeader = GetHeader();
160 pHeader->SetTitleText(ResourceManager::GetString(L"IDS_COM_BODY_SETTINGS"));
162 __pTableView->UpdateTableView();
164 bool flightModeEnableStatus = false;
165 if (SettingInfo::GetValue(SETTING_INFO_KEY_NETWORK_FLIGHTMODE, flightModeEnableStatus) == E_SUCCESS)
167 __pTableView->SetItemChecked(ID_GROUP_MODE, ID_ITEM_MODE_FLIGHT_MODE, flightModeEnableStatus);
172 MainMenuForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId)
177 MainMenuForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
179 if (__isRunningAppControl)
181 AppLogDebug("busy status");
185 UiApp* pApp = UiApp::GetInstance();
191 MainMenuForm::GetGroupCount(void)
193 int groupItemCount = ID_GROUP_NO_APPSETTING;
195 if (__isEmulator == false)
197 groupItemCount += ID_MAIN_MENU_DEFAULT_COUNT;
200 return groupItemCount;
204 MainMenuForm::GetItemCount(int groupIndex)
206 AppLogDebug("ENTER");
208 if ((__isEmulator == true)
209 && (groupIndex >= ID_GROUP_MODE))
211 groupIndex += EMULATOR_DEFAULT_COUNT;
218 case ID_GROUP_CONNECTIVITY:
220 itemCount = ID_GROUP_CONNECTIVITY_ITEM_COUNT;
226 itemCount = ID_GROUP_MODE_ITEM_COUNT;
230 case ID_GROUP_DEVICE:
232 itemCount = ID_GROUP_DEVICE_ITEM_COUNT;
236 case ID_GROUP_PERSONAL:
238 itemCount = ID_GROUP_PERSONAL_ITEM_COUNT;
242 case ID_GROUP_SYSTEM:
244 itemCount = ID_GROUP_SYSTEM_ITEM_COUNT;
248 case ID_GROUP_APPSETTING:
250 itemCount = ID_MAIN_MENU_DEFAULT_COUNT;
262 MainMenuForm::CreateGroupItem(int groupIndex, int itemWidth)
264 AppLogDebug("ENTER");
266 int itemHeight = H_GROUP_INDEX_DEFAULT;
267 LabelTextStyle style = LABEL_TEXT_STYLE_BOLD;
268 Rectangle itemRectangle;
270 Label* pLabel = null;
271 int fontSize = GetFontSize();
273 if ((__isEmulator == true)
274 && (groupIndex >= ID_GROUP_MODE))
276 groupIndex += EMULATOR_DEFAULT_COUNT;
281 case ID_GROUP_CONNECTIVITY:
283 groupText = ResourceManager::GetString(L"IDS_ST_BODY_CONNECTIVITY");
289 groupText = ResourceManager::GetString(L"IDS_ST_BODY_MODE");
293 case ID_GROUP_PERSONAL:
295 groupText = ResourceManager::GetString(L"IDS_ST_BODY_PERSONAL");
299 case ID_GROUP_DEVICE:
301 groupText = ResourceManager::GetString(L"IDS_ST_BODY_DEVICE");
305 case ID_GROUP_SYSTEM:
307 groupText = ResourceManager::GetString(L"IDS_ST_BODY_SYSTEM");
311 case ID_GROUP_APPSETTING:
313 groupText = ResourceManager::GetString(L"IDS_ST_BODY_DOWNLOADED_APPLICATIONS");
321 TableViewGroupItem* pItem = new (std::nothrow) TableViewGroupItem();
323 itemRectangle.x = X_GROUP_ITEM_DEFAULT_LABEL;
324 itemRectangle.y = H_GROUP_TITLE_TEXT;
325 itemRectangle.width = itemWidth - itemRectangle.x;
327 if (fontSize == FONT_MAIN_TEXT_SIZE_GIANT)
329 itemHeight = itemRectangle.height = H_GROUP_FONT_SIZE_GIANT;
331 else if (fontSize == FONT_MAIN_TEXT_SIZE_HUGE)
333 itemHeight = itemRectangle.height = H_GROUP_FONT_SIZE_HUGE;
335 else if (fontSize == FONT_MAIN_TEXT_SIZE_LARGE)
337 itemHeight = itemRectangle.height = H_GROUP_FONT_SIZE_LARGE;
341 itemHeight = itemRectangle.height = H_GROUP_FONT_SIZE_DEFAULT;
344 RelativeLayout relativeLayout;
345 relativeLayout.Construct();
347 pItem->Construct(relativeLayout, Dimension(itemWidth, itemHeight));
348 pItem->SetBackgroundColor(COLOR_BG_GROUP_INDEX_DEFAULT);
350 pLabel = new (std::nothrow) Label();
351 pLabel->Construct(itemRectangle, groupText);
352 pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
353 pLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
354 pLabel->SetTextConfig(fontSize, style);
355 pLabel->SetTextColor(COLOR_GROUP_TITLE_TEXT);
357 pItem->AddControl(pLabel);
358 relativeLayout.SetMargin(*pLabel, itemRectangle.x, 0, 0, 0);
359 relativeLayout.SetRelation(*pLabel, pItem, RECT_EDGE_RELATION_LEFT_TO_LEFT);
360 relativeLayout.SetRelation(*pLabel, pItem, RECT_EDGE_RELATION_RIGHT_TO_RIGHT);
361 pItem->SetEnabled(false);
367 MainMenuForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
369 AppLogDebug("group[%d] item[%d]", groupIndex, itemIndex);
371 if ((__isEmulator == true)
372 && (groupIndex >= ID_GROUP_MODE))
374 groupIndex += EMULATOR_DEFAULT_COUNT;
377 int fontSize = GetFontSize();
379 unsigned int itemHeight = 0;
380 bool isDrawBitmapIcon = true;
381 Rectangle itemIconRectangle;
382 Rectangle itemMainRectangle;
383 Rectangle itemSubRectangle;
385 TableViewAnnexStyle style = TABLE_VIEW_ANNEX_STYLE_NORMAL;
386 Bitmap* pBitmap = null;
387 Label* pLabel = null;
389 ItemTypeIconAndOneLine(itemIconRectangle, itemMainRectangle);
390 itemHeight = itemMainRectangle.height;
394 case ID_GROUP_CONNECTIVITY:
398 case ID_ITEM_CONNECTIVITY_WIFI:
406 pBitmap = ResourceManager::GetBitmapN(IDB_WIFI);
407 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_WI_FI");
412 case ID_ITEM_CONNECTIVITY_BLUETOOTH:
420 ItemTypeIconAndOneLine(itemIconRectangle, itemMainRectangle);
421 itemHeight = itemMainRectangle.height;
423 pBitmap = ResourceManager::GetBitmapN(IDB_BLUETOOTH);
424 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_BLUETOOTH");
429 case ID_ITEM_CONNECTIVITY_NETWORK:
431 pBitmap = ResourceManager::GetBitmapN(IDB_NETWORK);
432 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_NETWORK");
436 case ID_ITEM_CONNECTIVITY_NFC:
438 ItemTypeIconAndOneLine(itemIconRectangle, itemMainRectangle);
439 itemHeight = (itemMainRectangle.height + itemSubRectangle.height);
441 pBitmap = ResourceManager::GetBitmapN(IDB_NFC);
442 itemMainText = ResourceManager::GetString(L"IDS_NFC_BODY_NFC");
454 style = TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING;
455 itemMainRectangle.width -= W_RESIZE_LABEL_GAP;
456 pBitmap = ResourceManager::GetBitmapN(IDB_FLIGHT_MODE);
457 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_FLIGHT_MODE");
461 case ID_GROUP_PERSONAL:
465 case ID_ITEM_PERSONAL_HOME_SCREEN:
467 pBitmap = ResourceManager::GetBitmapN(IDB_HOME_SCREEN);
468 itemMainText = ResourceManager::GetString(L"IDS_ST_HEADER_HOME_SCREEN");
472 case ID_ITEM_PERSONAL_LOCK_SCREEN:
474 pBitmap = ResourceManager::GetBitmapN(IDB_LOCK_SCREEN);
475 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_LOCK_SCREEN");
479 case ID_ITEM_PERSONAL_ACCOUNTS:
481 pBitmap = ResourceManager::GetBitmapN(IDB_ACCOUNTS);
482 itemMainText = ResourceManager::GetString(L"IDS_COM_BODY_ACCOUNTS");
486 case ID_ITEM_PERSONAL_PRIVACY:
488 pBitmap = ResourceManager::GetBitmapN(IDB_PRIVACY);
489 itemMainText = ResourceManager::GetString(L"IDS_COM_BODY_PRIVACY");
499 case ID_GROUP_DEVICE:
503 case ID_ITEM_DEVICE_DISPLAY:
505 pBitmap = ResourceManager::GetBitmapN(IDB_DISPLAY);
506 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_DISPLAY");
510 case ID_ITEM_DEVICE_SOUND:
512 pBitmap = ResourceManager::GetBitmapN(IDB_SOUND);
513 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_SOUNDS");
517 case ID_ITEM_DEVICE_LOCATION:
519 pBitmap = ResourceManager::GetBitmapN(IDB_LOCATION);
520 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_LOCATIONS");
524 case ID_ITEM_DEVICE_CALL_SETTING:
526 pBitmap = ResourceManager::GetBitmapN(IDB_PHONE);
527 itemMainText = ResourceManager::GetString(L"IDS_CST_BODY_CALL_SETTINGS");
531 case ID_ITEM_DEVICE_ACCESSIBILITY:
533 pBitmap = ResourceManager::GetBitmapN(IDB_ACCESSIBILITY);
534 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_ACCESSIBILITY");
538 case ID_ITEM_DEVICE_DATE_TIME:
540 pBitmap = ResourceManager::GetBitmapN(IDB_DATE_AND_TIME);
541 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_DATE_AND_TIME");
545 case ID_ITEM_DEVICE_LANGUAGE_KEYBOARD:
547 pBitmap = ResourceManager::GetBitmapN(IDB_LANGUAGE_KEYBOARD);
548 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_LANGUAGE_AND_KEYBOARD");
558 case ID_GROUP_SYSTEM:
562 case ID_ITEM_SYSTEM_MANAGE_APPLICATION:
564 pBitmap = ResourceManager::GetBitmapN(IDB_MANAGE_APPLICATION);
565 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_MANAGE_APPLICATIONS");
569 case ID_ITEM_SYSTEM_DOWNLOADED_APPLICATION:
571 pBitmap = ResourceManager::GetBitmapN(IDB_DEFAULT_ICON);
572 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_DOWNLOADED_APPLICATIONS");
576 case ID_ITEM_SYSTEM_STORAGE:
578 pBitmap = ResourceManager::GetBitmapN(IDB_STORAGE);
579 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_STORAGE");
583 case ID_ITEM_SYSTEM_DEVELOPER_OPTION:
591 pBitmap = ResourceManager::GetBitmapN(IDB_DEVELOPER_OPTION);
592 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_DEVELOPER_OPTIONS");
597 case ID_ITEM_SYSTEM_ABOUT_PHONE:
599 pBitmap = ResourceManager::GetBitmapN(IDB_ABOUT_PHONE);
600 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_ABOUT_PHONE");
614 TableViewItem* pItem = new (std::nothrow) TableViewItem();
618 RelativeLayout relativeLayout;
619 relativeLayout.Construct();
621 pItem->Construct(relativeLayout, Dimension(itemWidth, itemHeight), style);
622 pItem->SetBackgroundColor(COLOR_BG_GROUP_ITEM_DEFAULT);
624 if (isDrawBitmapIcon)
626 pLabel = new (std::nothrow) Label();
627 pLabel->Construct(itemIconRectangle, L"");
628 pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
629 pLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
630 pLabel->SetBackgroundBitmap(*pBitmap);
632 pItem->AddControl(pLabel);
635 pLabel = new (std::nothrow) Label();
636 pLabel->Construct(itemMainRectangle, itemMainText);
637 pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
638 pLabel->SetTextConfig(fontSize, LABEL_TEXT_STYLE_NORMAL);
639 pLabel->SetTextColor(COLOR_MAIN_TEXT);
641 pItem->AddControl(pLabel);
642 if (style == TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING)
644 relativeLayout.SetMargin(*pLabel, itemMainRectangle.x, RELATIVE_LAYOUT_RIGHT_MARGIN_ONOFF_SLIDING, 0, 0);
648 relativeLayout.SetMargin(*pLabel, itemMainRectangle.x, MAIN_RELATIVE_LAYOUT_RIGHT_MARGIN, 0, 0);
650 relativeLayout.SetRelation(*pLabel, pItem, RECT_EDGE_RELATION_LEFT_TO_LEFT);
651 relativeLayout.SetRelation(*pLabel, pItem, RECT_EDGE_RELATION_RIGHT_TO_RIGHT);
663 MainMenuForm::DeleteGroupItem(int groupIndex, TableViewGroupItem* pItem)
665 AppLogDebug("ENTER");
674 MainMenuForm::DeleteItem(int groupIndex, int itemIndex, TableViewItem* pItem)
676 AppLogDebug("ENTER");
685 MainMenuForm::OnGroupedTableViewItemStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
687 if (__isRunningAppControl)
689 AppLogDebug("busy status");
693 SceneManager* pSceneManager = SceneManager::GetInstance();
694 AppAssert(pSceneManager);
696 if ((__isEmulator == true)
697 && (groupIndex >= ID_GROUP_MODE))
699 groupIndex += EMULATOR_DEFAULT_COUNT;
701 ArrayList* pArgs = null;
702 const wchar_t* pSceneName = null;
704 AppLogDebug("Group(%d) index(%d)", groupIndex, itemIndex);
708 case ID_GROUP_CONNECTIVITY:
710 pSceneName = GroupConnectivitySceneConnect(__currentTableViewList, itemIndex, status);
712 AppControl* pAppControl = null;
714 if (pSceneName == IDSCN_WIFI)
716 pAppControl = AppManager::GetInstance()->FindAppControlN(L"wifi-efl-ug", L"");
718 else if (pSceneName == IDSCN_BLUETOOTH)
720 pAppControl = AppManager::GetInstance()->FindAppControlN(L"ug-bluetooth-efl", L"");
725 HashMap* pExtraData = new (std::nothrow) HashMap(SingleObjectDeleter);
726 pExtraData->Construct();
728 pExtraData->Add(new (std::nothrow) String(L"caller"), new (std::nothrow) String(L"osp-setting"));
730 if (pAppControl->Start(null, null, pExtraData, null) == E_SUCCESS)
732 __isRunningAppControl = true;
744 if (itemIndex == ID_ITEM_MODE_FLIGHT_MODE)
746 bool flightModeStatus = tableView.IsItemChecked(groupIndex, itemIndex);
747 if (status == TABLE_VIEW_ITEM_STATUS_SELECTED)
749 flightModeStatus = (!(flightModeStatus));
752 SetIFlightModeSetValueAsyncResultListener();
753 if (SettingInfo::SetValueAsyncForPrivilegedKey(SETTING_INFO_KEY_NETWORK_FLIGHTMODE, flightModeStatus, __pFlightModeSetValueAsyncResultListener) == E_SUCCESS)
755 tableView.SetItemChecked(groupIndex, itemIndex, flightModeStatus);
756 AppLogDebug("flightmode(%d) GetLastResult(%s)", flightModeStatus, GetErrorMessage(GetLastResult()));
760 AppLogDebug("flightmode(%d) GetLastResult(%s)", flightModeStatus, GetErrorMessage(GetLastResult()));
766 case ID_GROUP_PERSONAL:
768 pSceneName = GroupPersonalSceneConnect(__currentTableViewList, itemIndex, status);
770 if ((itemIndex != ID_ITEM_PERSONAL_HOME_SCREEN)
771 && (itemIndex != ID_ITEM_PERSONAL_LOCK_SCREEN))
776 pArgs = new (std::nothrow) ArrayList(SingleObjectDeleter);
779 AppLogDebug("pArgs is null");
783 result r = pArgs->Construct();
786 AppLogDebug("Construct fail [%s]", GetErrorMessage(r));
792 case ID_ITEM_PERSONAL_HOME_SCREEN:
794 pArgs->Add(*(new (std::nothrow) String(Integer::ToString(itemIndex))));
798 case ID_ITEM_PERSONAL_LOCK_SCREEN:
800 pArgs->Add(*(new (std::nothrow) String(Integer::ToString(itemIndex))));
807 case ID_GROUP_DEVICE:
809 pSceneName = GroupDeviceSceneConnect(__currentTableViewList, itemIndex, status);
813 case ID_GROUP_SYSTEM:
815 pSceneName = GroupSystemSceneConnect(__currentTableViewList, itemIndex, status);
823 if (pSceneName != IDSCN_NULL)
825 AppLogDebug("pSceneName[%ls]", pSceneName);
826 pSceneManager->GoForward(ForwardSceneTransition(pSceneName, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArgs);
831 MainMenuForm::GroupConnectivitySceneConnect(int viewMode, int itemIndex, Tizen::Ui::Controls::TableViewItemStatus status)
833 const wchar_t* pScene = null;
837 case ID_ITEM_CONNECTIVITY_WIFI:
839 // if (status == TABLE_VIEW_ITEM_STATUS_SELECTED)
846 case ID_ITEM_CONNECTIVITY_BLUETOOTH:
848 // if (status == TABLE_VIEW_ITEM_STATUS_SELECTED)
850 pScene = IDSCN_BLUETOOTH;
855 case ID_ITEM_CONNECTIVITY_NETWORK:
857 pScene = IDSCN_NETWORK;
861 case ID_ITEM_CONNECTIVITY_NFC:
878 MainMenuForm::GroupPersonalSceneConnect (int viewMode, int itemIndex, Tizen::Ui::Controls::TableViewItemStatus status)
880 const wchar_t* pScene = null;
884 case ID_ITEM_PERSONAL_HOME_SCREEN:
886 pScene = IDSCN_HOME_AND_LOCK_SCREEN;
890 case ID_ITEM_PERSONAL_LOCK_SCREEN:
892 pScene = IDSCN_HOME_AND_LOCK_SCREEN;
896 case ID_ITEM_PERSONAL_ACCOUNTS:
900 FindAppControlScene(itemIndex);
904 case ID_ITEM_PERSONAL_PRIVACY:
906 pScene = IDSCN_PRIVACY;
920 MainMenuForm::GroupDeviceSceneConnect(int viewMode, int itemIndex, Tizen::Ui::Controls::TableViewItemStatus status)
922 const wchar_t* pScene = null;
926 case ID_ITEM_DEVICE_DISPLAY:
928 pScene = IDSCN_DISPLAY;
932 case ID_ITEM_DEVICE_SOUND:
934 pScene = IDSCN_SOUNDS;
938 case ID_ITEM_DEVICE_LOCATION:
940 pScene = IDSCN_LOCATION;
944 case ID_ITEM_DEVICE_CALL_SETTING:
948 FindAppControlScene(itemIndex);
952 case ID_ITEM_DEVICE_ACCESSIBILITY:
954 pScene = IDSCN_ACCESSIBILITY;
958 case ID_ITEM_DEVICE_DATE_TIME:
960 pScene = IDSCN_DATE_TIME;
964 case ID_ITEM_DEVICE_LANGUAGE_KEYBOARD:
966 pScene = IDSCN_LOCALE;
980 MainMenuForm::GroupSystemSceneConnect(int viewMode, int itemIndex, Tizen::Ui::Controls::TableViewItemStatus status)
982 const wchar_t* pScene = null;
986 case ID_ITEM_SYSTEM_MANAGE_APPLICATION:
988 pScene = IDSCN_MANAGE_APPLICATION;
992 case ID_ITEM_SYSTEM_DOWNLOADED_APPLICATION:
994 pScene = IDSCN_DOWNLOADED_APPLICATION;
998 case ID_ITEM_SYSTEM_STORAGE:
1000 pScene = IDSCN_MEMORY_STATUS;
1004 case ID_ITEM_SYSTEM_DEVELOPER_OPTION:
1006 pScene = IDSCN_DEVELOPER_OPTION;
1010 case ID_ITEM_SYSTEM_ABOUT_PHONE:
1012 pScene = IDSCN_PHONE_INFO;
1018 pScene = IDSCN_NULL;
1026 MainMenuForm::IsEmulator(void)
1029 if (SystemInfo::GetValue(SYSTEM_INFO_KEY_MODELNAME, modelName) != E_SUCCESS)
1031 AppLogDebug("GetValue is error %s", GetErrorMessage(GetLastResult()));
1035 return modelName.Equals(L"Emulator", false);
1039 MainMenuForm::FindAppControlScene(int itemIndex)
1041 if (__isRunningAppControl)
1043 AppLogDebug("busy status");
1048 String operationId = APPCONTROL_OPERATION_ID_CONFIGURE;
1050 ArrayList* pDataList = new (std::nothrow) ArrayList(SingleObjectDeleter);
1052 pDataList->Construct();
1056 case ID_ITEM_PERSONAL_ACCOUNTS:
1058 providerId = APPCONTROL_PROVIDER_ID_ACCOUNT;
1062 case ID_ITEM_DEVICE_CALL_SETTING:
1064 providerId = APPCONTROL_PROVIDER_ID_PHONE;
1072 if (providerId != L"")
1074 AppControl* pAppControl = AppManager::FindAppControlN(providerId, operationId);
1078 if (pAppControl->Start(pDataList, null) == E_SUCCESS)
1080 __isRunningAppControl = true;
1091 MainMenuForm::GetDefaultGroupItemHeight(void)
1093 return H_GROUP_INDEX_NO_TITLE_DEFAULT;
1097 MainMenuForm::GetDefaultItemHeight(void)
1099 return H_GROUP_ITEM_DEFAULT;
1103 MainMenuForm::UpdateGroupItem(int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem)
1108 MainMenuForm::UpdateItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem)
1113 MainMenuForm::OnGroupedTableViewContextItemActivationStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewContextItem* pContextItem, bool activated)
1118 MainMenuForm::OnGroupedTableViewGroupItemStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
1123 MainMenuForm::OnResultReceivedForSetValueAsync(const Tizen::Base::String& key, result r)
1125 AppLogDebug("ENTER");
1129 MainMenuForm::SetIFlightModeSetValueAsyncResultListener(void)
1131 __pFlightModeSetValueAsyncResultListener = new (std::nothrow) IFlightModeSetValueAsyncResultListener();
1135 MainMenuForm::OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
1141 MainMenuForm::OnFocusGained(const Tizen::Ui::Control& source)
1144 __isRunningAppControl = false;
1148 MainMenuForm::OnFocusLost(const Tizen::Ui::Control& source)