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 = 6;
76 static const int ID_ITEM_DEVICE_DATE_TIME = 4;
77 static const int ID_ITEM_DEVICE_LANGUAGE_KEYBOARD = 5;
78 static const int ID_GROUP_DEVICE_ITEM_COUNT = 6;
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_DEVELOPER_OPTION = 2;
84 static const int ID_ITEM_SYSTEM_ABOUT_PHONE = 3;
85 static const int ID_GROUP_SYSTEM_ITEM_COUNT = 4;
87 static const int ID_GROUP_APPSETTING = 5;
88 static const int ID_GROUP_NO_APPSETTING = 4;
89 static const int ID_MAIN_MENU_DEFAULT_COUNT = 1;
90 static const int EMULATOR_DEFAULT_COUNT = 1;
93 IFlightModeSetValueAsyncResultListener::OnResultReceivedForSetValueAsync(const Tizen::Base::String& key, result r)
95 AppLogDebug("key(%ls) r(%s)", key.GetPointer(), GetErrorMessage(r));
99 MainMenuForm* pMainMenuForm = dynamic_cast<MainMenuForm*>(SceneManager::GetInstance()->GetCurrentScene()->GetForm());
102 bool flightModeEnableStatus = false;
103 if (SettingInfo::GetValue(SETTING_INFO_KEY_NETWORK_FLIGHTMODE, flightModeEnableStatus) == E_SUCCESS)
105 pMainMenuForm->__pTableView->SetItemChecked(ID_GROUP_MODE, ID_ITEM_MODE_FLIGHT_MODE, flightModeEnableStatus);
106 pMainMenuForm->__pTableView->RefreshItem(ID_GROUP_MODE, ID_ITEM_MODE_FLIGHT_MODE, TABLE_VIEW_REFRESH_TYPE_ITEM_MODIFY);
112 MainMenuForm::MainMenuForm(void)
113 : __currentTableViewList(0)
114 , __isRunningAppControl(false)
115 , __pFlightModeSetValueAsyncResultListener(null)
119 MainMenuForm::~MainMenuForm(void)
124 MainMenuForm::CreateFooter(void)
126 Footer* pFooter = GetFooter();
129 pFooter->SetBackButton();
130 pFooter->AddActionEventListener(*this);
134 MainMenuForm::OnInitializing(void)
136 AppLogDebug("ENTER");
138 CreateHeader(ResourceManager::GetString(L"IDS_COM_BODY_SETTINGS"));
141 __isEmulator = IsEmulator();
143 AddFocusEventListener(*this);
149 MainMenuForm::OnTerminating(void)
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::GetGroupCount(void)
179 int groupItemCount = ID_GROUP_NO_APPSETTING;
181 if (__isEmulator == false)
183 groupItemCount += ID_MAIN_MENU_DEFAULT_COUNT;
186 return groupItemCount;
190 MainMenuForm::GetItemCount(int groupIndex)
192 AppLogDebug("ENTER");
194 if ((__isEmulator == true)
195 && (groupIndex >= ID_GROUP_MODE))
197 groupIndex += EMULATOR_DEFAULT_COUNT;
204 case ID_GROUP_CONNECTIVITY:
206 itemCount = ID_GROUP_CONNECTIVITY_ITEM_COUNT;
212 itemCount = ID_GROUP_MODE_ITEM_COUNT;
216 case ID_GROUP_DEVICE:
218 itemCount = ID_GROUP_DEVICE_ITEM_COUNT;
222 case ID_GROUP_PERSONAL:
224 itemCount = ID_GROUP_PERSONAL_ITEM_COUNT;
228 case ID_GROUP_SYSTEM:
230 itemCount = ID_GROUP_SYSTEM_ITEM_COUNT;
234 case ID_GROUP_APPSETTING:
236 itemCount = ID_MAIN_MENU_DEFAULT_COUNT;
248 MainMenuForm::CreateGroupItem(int groupIndex, int itemWidth)
250 AppLogDebug("ENTER");
252 int itemHeight = H_GROUP_INDEX_DEFAULT;
253 LabelTextStyle style = LABEL_TEXT_STYLE_BOLD;
254 Rectangle itemRectangle;
256 Label* pLabel = null;
257 int fontSize = GetFontSize();
259 if ((__isEmulator == true)
260 && (groupIndex >= ID_GROUP_MODE))
262 groupIndex += EMULATOR_DEFAULT_COUNT;
267 case ID_GROUP_CONNECTIVITY:
269 groupText = ResourceManager::GetString(L"IDS_ST_BODY_CONNECTIVITY");
275 groupText = ResourceManager::GetString(L"IDS_ST_BODY_MODE");
279 case ID_GROUP_PERSONAL:
281 groupText = ResourceManager::GetString(L"IDS_ST_BODY_PERSONAL");
285 case ID_GROUP_DEVICE:
287 groupText = ResourceManager::GetString(L"IDS_ST_BODY_DEVICE");
291 case ID_GROUP_SYSTEM:
293 groupText = ResourceManager::GetString(L"IDS_ST_BODY_SYSTEM");
297 case ID_GROUP_APPSETTING:
299 groupText = ResourceManager::GetString(L"IDS_ST_BODY_DOWNLOADED_APPLICATIONS");
307 TableViewGroupItem* pItem = new (std::nothrow) TableViewGroupItem();
309 itemRectangle.x = X_GROUP_ITEM_DEFAULT_LABEL;
310 itemRectangle.y = H_GROUP_TITLE_TEXT;
311 itemRectangle.width = itemWidth - itemRectangle.x;
313 if (fontSize == FONT_MAIN_TEXT_SIZE_GIANT)
315 itemHeight = itemRectangle.height = H_GROUP_FONT_SIZE_GIANT;
317 else if (fontSize == FONT_MAIN_TEXT_SIZE_HUGE)
319 itemHeight = itemRectangle.height = H_GROUP_FONT_SIZE_HUGE;
321 else if (fontSize == FONT_MAIN_TEXT_SIZE_LARGE)
323 itemHeight = itemRectangle.height = H_GROUP_FONT_SIZE_LARGE;
327 itemHeight = itemRectangle.height = H_GROUP_FONT_SIZE_DEFAULT;
330 RelativeLayout relativeLayout;
331 relativeLayout.Construct();
333 pItem->Construct(relativeLayout, Dimension(itemWidth, itemHeight));
334 pItem->SetBackgroundColor(COLOR_BG_GROUP_INDEX_DEFAULT);
336 pLabel = new (std::nothrow) Label();
337 pLabel->Construct(itemRectangle, groupText);
338 pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
339 pLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
340 pLabel->SetTextConfig(fontSize, style);
341 pLabel->SetTextColor(COLOR_GROUP_TITLE_TEXT);
343 pItem->AddControl(pLabel);
344 relativeLayout.SetMargin(*pLabel, itemRectangle.x, 0, 0, 0);
345 relativeLayout.SetRelation(*pLabel, pItem, RECT_EDGE_RELATION_LEFT_TO_LEFT);
346 relativeLayout.SetRelation(*pLabel, pItem, RECT_EDGE_RELATION_RIGHT_TO_RIGHT);
347 pItem->SetEnabled(false);
353 MainMenuForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
355 AppLogDebug("group[%d] item[%d]", groupIndex, itemIndex);
357 if ((__isEmulator == true)
358 && (groupIndex >= ID_GROUP_MODE))
360 groupIndex += EMULATOR_DEFAULT_COUNT;
363 int fontSize = GetFontSize();
365 unsigned int itemHeight = 0;
366 bool isDrawBitmapIcon = true;
367 Rectangle itemIconRectangle;
368 Rectangle itemMainRectangle;
369 Rectangle itemSubRectangle;
371 TableViewAnnexStyle style = TABLE_VIEW_ANNEX_STYLE_NORMAL;
372 Bitmap* pBitmap = null;
373 Label* pLabel = null;
375 ItemTypeIconAndOneLine(itemIconRectangle, itemMainRectangle);
376 itemHeight = itemMainRectangle.height;
380 case ID_GROUP_CONNECTIVITY:
384 case ID_ITEM_CONNECTIVITY_WIFI:
392 pBitmap = ResourceManager::GetBitmapN(IDB_WIFI);
393 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_WI_FI");
398 case ID_ITEM_CONNECTIVITY_BLUETOOTH:
406 ItemTypeIconAndOneLine(itemIconRectangle, itemMainRectangle);
407 itemHeight = itemMainRectangle.height;
409 pBitmap = ResourceManager::GetBitmapN(IDB_BLUETOOTH);
410 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_BLUETOOTH");
415 case ID_ITEM_CONNECTIVITY_NETWORK:
417 pBitmap = ResourceManager::GetBitmapN(IDB_NETWORK);
418 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_NETWORK");
422 case ID_ITEM_CONNECTIVITY_NFC:
424 ItemTypeIconAndOneLine(itemIconRectangle, itemMainRectangle);
425 itemHeight = (itemMainRectangle.height + itemSubRectangle.height);
427 pBitmap = ResourceManager::GetBitmapN(IDB_NFC);
428 itemMainText = ResourceManager::GetString(L"IDS_NFC_BODY_NFC");
440 style = TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING;
441 itemMainRectangle.width -= W_RESIZE_LABEL_GAP;
442 pBitmap = ResourceManager::GetBitmapN(IDB_FLIGHT_MODE);
443 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_FLIGHT_MODE");
447 case ID_GROUP_PERSONAL:
451 case ID_ITEM_PERSONAL_HOME_SCREEN:
453 pBitmap = ResourceManager::GetBitmapN(IDB_HOME_SCREEN);
454 itemMainText = ResourceManager::GetString(L"IDS_ST_HEADER_HOME_SCREEN");
458 case ID_ITEM_PERSONAL_LOCK_SCREEN:
460 pBitmap = ResourceManager::GetBitmapN(IDB_LOCK_SCREEN);
461 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_LOCK_SCREEN");
465 case ID_ITEM_PERSONAL_ACCOUNTS:
467 pBitmap = ResourceManager::GetBitmapN(IDB_ACCOUNTS);
468 itemMainText = ResourceManager::GetString(L"IDS_COM_BODY_ACCOUNTS");
472 case ID_ITEM_PERSONAL_PRIVACY:
474 pBitmap = ResourceManager::GetBitmapN(IDB_PRIVACY);
475 itemMainText = ResourceManager::GetString(L"IDS_COM_BODY_PRIVACY");
485 case ID_GROUP_DEVICE:
489 case ID_ITEM_DEVICE_DISPLAY:
491 pBitmap = ResourceManager::GetBitmapN(IDB_DISPLAY);
492 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_DISPLAY");
496 case ID_ITEM_DEVICE_SOUND:
498 pBitmap = ResourceManager::GetBitmapN(IDB_SOUND);
499 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_SOUNDS");
503 case ID_ITEM_DEVICE_LOCATION:
505 pBitmap = ResourceManager::GetBitmapN(IDB_LOCATION);
506 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_LOCATIONS");
510 case ID_ITEM_DEVICE_CALL_SETTING:
512 pBitmap = ResourceManager::GetBitmapN(IDB_PHONE);
513 itemMainText = ResourceManager::GetString(L"IDS_CST_BODY_CALL_SETTINGS");
517 case ID_ITEM_DEVICE_ACCESSIBILITY:
519 pBitmap = ResourceManager::GetBitmapN(IDB_ACCESSIBILITY);
520 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_ACCESSIBILITY");
524 case ID_ITEM_DEVICE_DATE_TIME:
526 pBitmap = ResourceManager::GetBitmapN(IDB_DATE_AND_TIME);
527 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_DATE_AND_TIME");
531 case ID_ITEM_DEVICE_LANGUAGE_KEYBOARD:
533 pBitmap = ResourceManager::GetBitmapN(IDB_LANGUAGE_KEYBOARD);
534 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_LANGUAGE_AND_KEYBOARD");
544 case ID_GROUP_SYSTEM:
548 case ID_ITEM_SYSTEM_MANAGE_APPLICATION:
550 pBitmap = ResourceManager::GetBitmapN(IDB_MANAGE_APPLICATION);
551 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_MANAGE_APPLICATIONS");
555 case ID_ITEM_SYSTEM_DOWNLOADED_APPLICATION:
557 pBitmap = ResourceManager::GetBitmapN(IDB_DEFAULT_ICON);
558 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_DOWNLOADED_APPLICATIONS");
562 case ID_ITEM_SYSTEM_DEVELOPER_OPTION:
570 pBitmap = ResourceManager::GetBitmapN(IDB_DEVELOPER_OPTION);
571 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_DEVELOPER_OPTIONS");
576 case ID_ITEM_SYSTEM_ABOUT_PHONE:
578 pBitmap = ResourceManager::GetBitmapN(IDB_ABOUT_PHONE);
579 itemMainText = ResourceManager::GetString(L"IDS_ST_BODY_ABOUT_PHONE");
593 TableViewItem* pItem = new (std::nothrow) TableViewItem();
597 RelativeLayout relativeLayout;
598 relativeLayout.Construct();
600 pItem->Construct(relativeLayout, Dimension(itemWidth, itemHeight), style);
601 pItem->SetBackgroundColor(COLOR_BG_GROUP_ITEM_DEFAULT);
603 if (isDrawBitmapIcon)
605 pLabel = new (std::nothrow) Label();
606 pLabel->Construct(itemIconRectangle, L"");
607 pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
608 pLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
609 pLabel->SetBackgroundBitmap(*pBitmap);
611 pItem->AddControl(pLabel);
614 pLabel = new (std::nothrow) Label();
615 pLabel->Construct(itemMainRectangle, itemMainText);
616 pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
617 pLabel->SetTextConfig(fontSize, LABEL_TEXT_STYLE_NORMAL);
618 pLabel->SetTextColor(COLOR_MAIN_TEXT);
620 pItem->AddControl(pLabel);
621 if (style == TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING)
623 relativeLayout.SetMargin(*pLabel, itemMainRectangle.x, RELATIVE_LAYOUT_RIGHT_MARGIN_ONOFF_SLIDING, 0, 0);
627 relativeLayout.SetMargin(*pLabel, itemMainRectangle.x, MAIN_RELATIVE_LAYOUT_RIGHT_MARGIN, 0, 0);
629 relativeLayout.SetRelation(*pLabel, pItem, RECT_EDGE_RELATION_LEFT_TO_LEFT);
630 relativeLayout.SetRelation(*pLabel, pItem, RECT_EDGE_RELATION_RIGHT_TO_RIGHT);
637 MainMenuForm::DeleteGroupItem(int groupIndex, TableViewGroupItem* pItem)
639 AppLogDebug("ENTER");
648 MainMenuForm::DeleteItem(int groupIndex, int itemIndex, TableViewItem* pItem)
650 AppLogDebug("ENTER");
659 MainMenuForm::OnGroupedTableViewItemStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
661 if (__isRunningAppControl)
663 AppLogDebug("busy status");
667 SceneManager* pSceneManager = SceneManager::GetInstance();
668 AppAssert(pSceneManager);
670 if ((__isEmulator == true)
671 && (groupIndex >= ID_GROUP_MODE))
673 groupIndex += EMULATOR_DEFAULT_COUNT;
675 ArrayList* pArgs = null;
676 const wchar_t* pSceneName = null;
678 AppLogDebug("Group(%d) index(%d)", groupIndex, itemIndex);
682 case ID_GROUP_CONNECTIVITY:
684 pSceneName = GroupConnectivitySceneConnect(__currentTableViewList, itemIndex, status);
686 AppControl* pAppControl = null;
688 if (pSceneName == IDSCN_WIFI)
690 pAppControl = AppManager::GetInstance()->FindAppControlN(L"wifi-efl-ug", L"");
692 else if (pSceneName == IDSCN_BLUETOOTH)
694 pAppControl = AppManager::GetInstance()->FindAppControlN(L"ug-bluetooth-efl", L"");
699 HashMap* pExtraData = new (std::nothrow) HashMap(SingleObjectDeleter);
700 pExtraData->Construct();
702 pExtraData->Add(new (std::nothrow) String(L"caller"), new (std::nothrow) String(L"osp-setting"));
704 if (pAppControl->Start(null, null, pExtraData, null) == E_SUCCESS)
706 __isRunningAppControl = true;
718 if (itemIndex == ID_ITEM_MODE_FLIGHT_MODE)
720 bool flightModeStatus = tableView.IsItemChecked(groupIndex, itemIndex);
721 if (status == TABLE_VIEW_ITEM_STATUS_SELECTED)
723 flightModeStatus = (!(flightModeStatus));
726 SetIFlightModeSetValueAsyncResultListener();
727 if (SettingInfo::SetValueAsyncForPrivilegedKey(SETTING_INFO_KEY_NETWORK_FLIGHTMODE, flightModeStatus, __pFlightModeSetValueAsyncResultListener) == E_SUCCESS)
729 tableView.SetItemChecked(groupIndex, itemIndex, flightModeStatus);
730 AppLogDebug("flightmode(%d) GetLastResult(%s)", flightModeStatus, GetErrorMessage(GetLastResult()));
734 AppLogDebug("flightmode(%d) GetLastResult(%s)", flightModeStatus, GetErrorMessage(GetLastResult()));
740 case ID_GROUP_PERSONAL:
742 pSceneName = GroupPersonalSceneConnect(__currentTableViewList, itemIndex, status);
744 if ((itemIndex != ID_ITEM_PERSONAL_HOME_SCREEN)
745 && (itemIndex != ID_ITEM_PERSONAL_LOCK_SCREEN))
750 pArgs = new (std::nothrow) ArrayList(SingleObjectDeleter);
753 AppLogDebug("pArgs is null");
757 result r = pArgs->Construct();
760 AppLogDebug("Construct fail [%s]", GetErrorMessage(r));
766 case ID_ITEM_PERSONAL_HOME_SCREEN:
768 pArgs->Add(*(new (std::nothrow) String(Integer::ToString(itemIndex))));
772 case ID_ITEM_PERSONAL_LOCK_SCREEN:
774 pArgs->Add(*(new (std::nothrow) String(Integer::ToString(itemIndex))));
781 case ID_GROUP_DEVICE:
783 pSceneName = GroupDeviceSceneConnect(__currentTableViewList, itemIndex, status);
787 case ID_GROUP_SYSTEM:
789 pSceneName = GroupSystemSceneConnect(__currentTableViewList, itemIndex, status);
797 if (pSceneName != IDSCN_NULL)
799 AppLogDebug("pSceneName[%ls]", pSceneName);
800 pSceneManager->GoForward(ForwardSceneTransition(pSceneName, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArgs);
805 MainMenuForm::GroupConnectivitySceneConnect(int viewMode, int itemIndex, Tizen::Ui::Controls::TableViewItemStatus status)
807 const wchar_t* pScene = null;
811 case ID_ITEM_CONNECTIVITY_WIFI:
813 // if (status == TABLE_VIEW_ITEM_STATUS_SELECTED)
820 case ID_ITEM_CONNECTIVITY_BLUETOOTH:
822 // if (status == TABLE_VIEW_ITEM_STATUS_SELECTED)
824 pScene = IDSCN_BLUETOOTH;
829 case ID_ITEM_CONNECTIVITY_NETWORK:
831 pScene = IDSCN_NETWORK;
835 case ID_ITEM_CONNECTIVITY_NFC:
852 MainMenuForm::GroupPersonalSceneConnect (int viewMode, int itemIndex, Tizen::Ui::Controls::TableViewItemStatus status)
854 const wchar_t* pScene = null;
858 case ID_ITEM_PERSONAL_HOME_SCREEN:
860 pScene = IDSCN_HOME_AND_LOCK_SCREEN;
864 case ID_ITEM_PERSONAL_LOCK_SCREEN:
866 pScene = IDSCN_HOME_AND_LOCK_SCREEN;
870 case ID_ITEM_PERSONAL_ACCOUNTS:
874 FindAppControlScene(itemIndex);
878 case ID_ITEM_PERSONAL_PRIVACY:
880 pScene = IDSCN_PRIVACY;
894 MainMenuForm::GroupDeviceSceneConnect(int viewMode, int itemIndex, Tizen::Ui::Controls::TableViewItemStatus status)
896 const wchar_t* pScene = null;
900 case ID_ITEM_DEVICE_DISPLAY:
902 pScene = IDSCN_DISPLAY;
906 case ID_ITEM_DEVICE_SOUND:
908 pScene = IDSCN_SOUNDS;
912 case ID_ITEM_DEVICE_LOCATION:
914 pScene = IDSCN_LOCATION;
918 case ID_ITEM_DEVICE_CALL_SETTING:
922 FindAppControlScene(itemIndex);
926 case ID_ITEM_DEVICE_ACCESSIBILITY:
928 pScene = IDSCN_ACCESSIBILITY;
932 case ID_ITEM_DEVICE_DATE_TIME:
934 pScene = IDSCN_DATE_TIME;
938 case ID_ITEM_DEVICE_LANGUAGE_KEYBOARD:
940 pScene = IDSCN_LOCALE;
954 MainMenuForm::GroupSystemSceneConnect(int viewMode, int itemIndex, Tizen::Ui::Controls::TableViewItemStatus status)
956 const wchar_t* pScene = null;
960 case ID_ITEM_SYSTEM_MANAGE_APPLICATION:
962 pScene = IDSCN_MANAGE_APPLICATION;
966 case ID_ITEM_SYSTEM_DOWNLOADED_APPLICATION:
968 pScene = IDSCN_DOWNLOADED_APPLICATION;
972 case ID_ITEM_SYSTEM_DEVELOPER_OPTION:
974 pScene = IDSCN_DEVELOPER_OPTION;
978 case ID_ITEM_SYSTEM_ABOUT_PHONE:
980 pScene = IDSCN_PHONE_INFO;
994 MainMenuForm::IsEmulator(void)
997 if (SystemInfo::GetValue(SYSTEM_INFO_KEY_MODELNAME, modelName) != E_SUCCESS)
999 AppLogDebug("GetValue is error %s", GetErrorMessage(GetLastResult()));
1003 return modelName.Equals(L"Emulator", false);
1007 MainMenuForm::FindAppControlScene(int itemIndex)
1009 if (__isRunningAppControl)
1011 AppLogDebug("busy status");
1016 String operationId = APPCONTROL_OPERATION_ID_CONFIGURE;
1018 ArrayList* pDataList = new (std::nothrow) ArrayList(SingleObjectDeleter);
1020 pDataList->Construct();
1024 case ID_ITEM_PERSONAL_ACCOUNTS:
1026 providerId = APPCONTROL_PROVIDER_ID_ACCOUNT;
1030 case ID_ITEM_DEVICE_CALL_SETTING:
1032 providerId = APPCONTROL_PROVIDER_ID_PHONE;
1040 if (providerId != L"")
1042 AppControl* pAppControl = AppManager::FindAppControlN(providerId, operationId);
1046 if (pAppControl->Start(pDataList, null) == E_SUCCESS)
1048 __isRunningAppControl = true;
1059 MainMenuForm::GetDefaultGroupItemHeight(void)
1061 return H_GROUP_INDEX_NO_TITLE_DEFAULT;
1065 MainMenuForm::GetDefaultItemHeight(void)
1067 return H_GROUP_ITEM_DEFAULT;
1071 MainMenuForm::UpdateGroupItem(int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem)
1076 MainMenuForm::UpdateItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem)
1081 MainMenuForm::OnGroupedTableViewContextItemActivationStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewContextItem* pContextItem, bool activated)
1086 MainMenuForm::OnGroupedTableViewGroupItemStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
1091 MainMenuForm::OnResultReceivedForSetValueAsync(const Tizen::Base::String& key, result r)
1093 AppLogDebug("ENTER");
1097 MainMenuForm::SetIFlightModeSetValueAsyncResultListener(void)
1099 __pFlightModeSetValueAsyncResultListener = new (std::nothrow) IFlightModeSetValueAsyncResultListener();
1103 MainMenuForm::OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
1109 MainMenuForm::OnFocusGained(const Tizen::Ui::Control& source)
1111 __isRunningAppControl = false;
1115 MainMenuForm::OnFocusLost(const Tizen::Ui::Control& source)