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.
19 * @brief The Dial application form
23 #include "PhnCommonUtils.h"
24 #include "PhnDialAppForm.h"
25 #include "PhnPhoneApp.h"
26 #include "PhnSceneRegister.h"
28 #include "PhnTabDialer.h"
29 #include "PhnTabLogs.h"
31 using namespace Tizen::Base;
32 using namespace Tizen::App;
33 using namespace Tizen::Ui;
34 using namespace Tizen::Ui::Controls;
35 using namespace Tizen::Ui::Scenes;
37 const int DialAppForm::ID_HEADER_DIALER = 101;
38 const int DialAppForm::ID_HEADER_LOGS = 103;
39 static const wchar_t* IDL_DIAL_FORM = L"IDL_DIAL_FORM";
41 DialAppForm::DialAppForm(void)
45 DialAppForm::~DialAppForm(void)
50 DialAppForm::Initialize(void)
52 Construct(IDL_DIAL_FORM);
58 DialAppForm::OnInitializing(void)
62 Header* pHeader = GetHeader();
63 pHeader->SetTabEditModeEnabled(false);
64 pHeader->AddActionEventListener(*this);
65 // Setup back event listener
66 SetFormBackEventListener(this);
67 SetFormMenuEventListener(this);
72 DialAppForm::OnTerminating(void)
74 SetFormBackEventListener(null);
79 DialAppForm::OnActionPerformed(const Control& source, int actionId)
81 SceneManager* pSceneManager = SceneManager::GetInstance();
82 AppAssert(pSceneManager);
84 PhoneApp* pPhoneApp = static_cast<PhoneApp*>(UiApp::GetInstance());
87 case ID_HEADER_DIALER:
89 pSceneManager->GoForward( ForwardSceneTransition(IDSCN_DIALER, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
90 SCENE_HISTORY_OPTION_NO_HISTORY));
91 pPhoneApp->SetInitialScene(IDSCN_DIALER);
97 pSceneManager->GoForward( ForwardSceneTransition(IDSCN_CALL_LOG, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
98 SCENE_HISTORY_OPTION_NO_HISTORY));
99 pPhoneApp->SetInitialScene(IDSCN_CALL_LOG);
109 DialAppForm::OnFormBackRequested(Form& source)
111 //if this is launched as normal application, then exit.
113 PhoneApp* pPhoneApp = static_cast<PhoneApp*>(UiApp::GetInstance());
114 if(pPhoneApp->IsOpenAsAppControl() == true)
116 //launched as "AddCall" AppControl, send response
117 pPhoneApp->SendAppControlResponseMessage(APP_CTRL_RESULT_CANCELED, null);
119 pPhoneApp->Terminate();
124 DialAppForm::OnFormMenuRequested(Controls::Form& source)
127 SceneManager* pSceneManager = SceneManager::GetInstance();
128 if(pSceneManager == null)
132 DialTabDialer *tabDialer = null;
133 DialTabLogs *tabLogs = null;
135 if(pSceneManager->GetCurrentSceneId() == IDSCN_DIALER)
137 tabDialer = dynamic_cast<DialTabDialer*>(pSceneManager->GetCurrentScene()->GetPanel());
138 if(tabDialer != null)
140 tabDialer->ShowOptionsMenu();
143 else if(pSceneManager->GetCurrentSceneId() == IDSCN_CALL_LOG)
145 tabLogs = dynamic_cast<DialTabLogs*>(pSceneManager->GetCurrentScene()->GetPanel());
148 tabLogs->ShowOptionsMenu();