author | hgs |
Fri, 17 Sep 2010 17:09:12 +0300 | |
changeset 74 | d1c62c765e48 |
parent 65 | 2a5d4ab426d3 |
child 76 | cfea66083b62 |
permissions | -rw-r--r-- |
37 | 1 |
/*! |
2 |
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
3 |
* All rights reserved. |
|
4 |
* This component and the accompanying materials are made available |
|
5 |
* under the terms of "Eclipse Public License v1.0" |
|
6 |
* which accompanies this distribution, and is available |
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 |
* |
|
9 |
* Initial Contributors: |
|
10 |
* Nokia Corporation - initial contribution. |
|
11 |
* |
|
12 |
* Contributors: |
|
13 |
* |
|
14 |
* Description: Handles phone ui commands. |
|
15 |
*/ |
|
16 |
||
17 |
#include "phoneuicommandcontroller.h" |
|
18 |
#include "phoneresourceadapter.h" |
|
19 |
#include "phoneuiqtbuttonscontroller.h" |
|
65 | 20 |
#include "phoneconstants.h" |
37 | 21 |
#include "qtphonelog.h" |
22 |
#include <hbaction.h> |
|
23 |
#include <spsettings.h> |
|
24 |
#include <spentry.h> |
|
25 |
#include <spproperty.h> |
|
26 |
#include <xqphoneappcommands.h> |
|
27 |
#include <phoneappcommands.hrh> |
|
28 |
#include <phoneappvoipcommands.hrh> |
|
29 |
#include <pevirtualengine.h> |
|
30 |
#include <xqteluicommandextension.h> |
|
31 |
||
32 |
||
33 |
PhoneUiCommandController::PhoneUiCommandController( |
|
34 |
PhoneUIQtViewIF &view, QObject *parent) |
|
35 |
: QObject (parent), m_view(view), m_lastCommandExtension(0) |
|
36 |
{ |
|
37 |
PHONE_DEBUG("PhoneMenuController::PhoneMenuController"); |
|
38 |
} |
|
39 |
||
40 |
PhoneUiCommandController::~PhoneUiCommandController() |
|
41 |
{ |
|
42 |
PHONE_DEBUG("PhoneMenuController::~PhoneMenuController"); |
|
43 |
for (int i=0;i<m_commandExtensions.count();++i) { |
|
44 |
m_commandExtensions.at(i)->release(); |
|
45 |
} |
|
46 |
} |
|
47 |
||
48 |
void PhoneUiCommandController::setCallMenuActions( |
|
49 |
QMap<int,int> callStates, QMap<int,int> serviceIds, |
|
50 |
int serviceId, int expandedCallId ) |
|
51 |
{ |
|
52 |
PHONE_DEBUG("PhoneMenuController::setCallMenuActions"); |
|
53 |
releaseMenu(); |
|
54 |
||
55 |
PhoneCommandExtensionWrapper *extension = commandExtension(serviceId); |
|
56 |
QList<int> menuCmdList = menuCommands(callStates, serviceIds); |
|
57 |
||
58 |
if (extension) { |
|
59 |
QList<XQTelUiCommandExtension::CallInfo> callInfo; |
|
60 |
extension->getCallInfoList( |
|
61 |
callInfo,callStates,serviceIds,expandedCallId); |
|
62 |
||
63 |
//Modify command list by extension |
|
64 |
extension->modifyMenuCommandList(callInfo,menuCmdList); |
|
65 |
addMenuItems(menuCmdList); |
|
66 |
||
67 |
extension->addMenuActions(callInfo,m_customMenuActions); |
|
68 |
for (int i=0;i<m_customMenuActions.count();++i) { |
|
69 |
m_view.menuReference().addAction(m_customMenuActions.at(i)); |
|
70 |
} |
|
71 |
} else { |
|
72 |
addMenuItems(menuCmdList); |
|
73 |
} |
|
74 |
||
75 |
||
76 |
} |
|
77 |
||
78 |
void PhoneUiCommandController::setDialpadMenuActions() |
|
79 |
{ |
|
80 |
PHONE_DEBUG("PhoneMenuController::setDialpadMenuActions"); |
|
81 |
releaseMenu(); |
|
82 |
QList<PhoneAction*> values; |
|
83 |
m_view.setMenuActions(values); |
|
84 |
qDeleteAll(values); |
|
85 |
} |
|
86 |
||
87 |
QMap<PhoneAction::ActionType, PhoneAction *> |
|
88 |
PhoneUiCommandController::pushButtonActionsForCall( |
|
89 |
int callState, |
|
90 |
bool emergencyCall, |
|
91 |
QMap<int,int> callStates, |
|
92 |
QMap<int,int> serviceIds, |
|
93 |
int serviceId, |
|
94 |
int callId) |
|
95 |
{ |
|
96 |
QMap<PhoneAction::ActionType, PhoneAction *> translatedActions; |
|
97 |
QList<int> commands = buttonCommandList( |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
98 |
callState, emergencyCall, callStates.values()); |
37 | 99 |
|
100 |
PhoneCommandExtensionWrapper *extension = commandExtension(serviceId); |
|
101 |
||
102 |
if (extension) { |
|
103 |
QList<XQTelUiCommandExtension::CallInfo> callInfo; |
|
104 |
extension->getCallInfoList( |
|
105 |
callInfo,callStates,serviceIds,callId); |
|
106 |
||
107 |
//Modify command list by extension |
|
108 |
extension->modifyPushButtonCommandList(callInfo,commands); |
|
109 |
} |
|
110 |
||
111 |
if (1 == commands.count()) { |
|
112 |
PhoneAction *action = mapCommandToAction(commands.at(0)); |
|
113 |
if (action) { |
|
114 |
translatedActions[PhoneAction::LeftButton] = action; |
|
115 |
} |
|
116 |
} else if (1 < commands.count()){ |
|
117 |
PhoneAction *action = mapCommandToAction(commands.at(0)); |
|
118 |
PhoneAction *action2 = mapCommandToAction(commands.at(1)); |
|
119 |
if (action) { |
|
120 |
translatedActions[PhoneAction::LeftButton] = action; |
|
121 |
} |
|
122 |
if (action2) { |
|
123 |
translatedActions[PhoneAction::RightButton] = action2; |
|
124 |
} |
|
125 |
} |
|
126 |
||
127 |
return translatedActions; |
|
128 |
} |
|
129 |
||
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
130 |
QList<PhoneAction *> PhoneUiCommandController::toolBarActions( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
131 |
int resourceId, |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
132 |
QMap<int,int> callStates, |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
133 |
QMap<int,int> serviceIds, |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
134 |
int serviceId, |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
135 |
int callId) |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
136 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
137 |
QList<PhoneAction *> actions; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
138 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
139 |
//Set tool bar button flags |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
140 |
setJoinFlag(callStates, serviceIds); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
141 |
setConferenceFlag(callStates.values()); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
142 |
setHoldFlag(callStates.value(callId)); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
143 |
setMultiCallFlag(callStates.values()); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
144 |
setOutgoingFlag(callStates.values()); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
145 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
146 |
//Get tool bar item list by resource id. |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
147 |
QList<PhoneAction::ToolBarItem> commands = PhoneResourceAdapter::Instance()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
148 |
convertToToolBarCommandList(resourceId); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
149 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
150 |
if (serviceId != -1) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
151 |
PhoneCommandExtensionWrapper *extension = commandExtension(serviceId); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
152 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
153 |
if (extension) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
154 |
QList<XQTelUiCommandExtension::CallInfo> callInfo; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
155 |
extension->getCallInfoList( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
156 |
callInfo,callStates,serviceIds,callId); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
157 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
158 |
QList<XQTelUiCommandExtension::ToolBarCommand> toolBarCmdList; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
159 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
160 |
mapToExtensionToolBarItems(commands,toolBarCmdList); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
161 |
//Modify tool bar command list by extension |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
162 |
extension->modifyToolBarCommandList(callInfo,toolBarCmdList); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
163 |
// Map tool bar item list back to the phone action tool bar item list. |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
164 |
mapToPhoneActionToolBarItems(toolBarCmdList,commands); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
165 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
166 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
167 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
168 |
for ( int i=0; i < commands.count(); ++i) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
169 |
PhoneAction *action = mapCommandToAction( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
170 |
commands.at(i).mCommandId, !commands.at(i).mEnabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
171 |
if (action) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
172 |
actions.append(action); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
173 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
174 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
175 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
176 |
return actions; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
177 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
178 |
|
37 | 179 |
QList<int> PhoneUiCommandController::menuCommands( |
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
180 |
QMap<int,int> callStates, QMap<int,int> serviceIds ) const |
37 | 181 |
{ |
182 |
PHONE_DEBUG("PhoneMenuController::menuCommands"); |
|
183 |
QList<int> commands; |
|
184 |
bool sameServices = areServicesSame(callStates,serviceIds); |
|
65 | 185 |
bool isEmergencyCall = emergencyCall(callStates); |
186 |
||
187 |
// No menu items if an emergency call ongoing. |
|
188 |
if (false == isEmergencyCall) { |
|
189 |
switch(callStates.values().count()) { |
|
74 | 190 |
case 1: { |
37 | 191 |
} |
65 | 192 |
break; |
193 |
case 2: { |
|
194 |
if (!callStates.values().contains(EPEStateRinging) && |
|
195 |
!callStates.values().contains(EPEStateDisconnecting) && |
|
196 |
!callStates.values().contains(EPEStateDialing)) { |
|
197 |
commands.append(PhoneInCallCmdEndAllCalls); |
|
198 |
} |
|
199 |
if ((callStates.values().contains(EPEStateConnected) && |
|
200 |
callStates.values().contains(EPEStateHeld)) || |
|
201 |
(callStates.values().contains(EPEStateConnecting) && |
|
202 |
callStates.values().contains(EPEStateHeld))) { |
|
203 |
if (sameServices) { |
|
204 |
commands.append(PhoneInCallCmdTransfer); |
|
205 |
} |
|
37 | 206 |
} |
207 |
} |
|
208 |
break; |
|
65 | 209 |
case 3: { |
74 | 210 |
commands.append(PhoneInCallCmdEndAllCalls); |
211 |
||
212 |
if (callStates.values().contains(EPEStateConnected) && |
|
213 |
callStates.values().contains(EPEStateHeld) && |
|
214 |
callStates.values().contains(EPEStateRinging)) { |
|
215 |
if (sameServices) { |
|
216 |
commands.append(PhoneInCallCmdTransfer); |
|
217 |
} |
|
218 |
} |
|
65 | 219 |
} |
220 |
break; |
|
221 |
default: |
|
222 |
break; |
|
223 |
} |
|
37 | 224 |
} |
225 |
||
226 |
return commands; |
|
227 |
} |
|
228 |
||
229 |
void PhoneUiCommandController::addMenuItems(QList<int> menuCmdList) |
|
230 |
{ |
|
231 |
QList<PhoneAction*> values; |
|
232 |
||
233 |
for (int i=0;i<menuCmdList.count();++i) { |
|
234 |
int command = mapCommand(menuCmdList.at(i)); |
|
235 |
if (-1 != command) { |
|
236 |
PhoneAction* phoneAction = new PhoneAction(); |
|
237 |
phoneAction->setCommand(command); |
|
238 |
phoneAction->setText( |
|
239 |
PhoneResourceAdapter::Instance()-> |
|
240 |
convertCommandToString(command)); |
|
241 |
||
242 |
values.append(phoneAction); |
|
243 |
} |
|
244 |
} |
|
245 |
||
246 |
m_view.setMenuActions(values); |
|
247 |
qDeleteAll(values); |
|
248 |
} |
|
249 |
||
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
250 |
int PhoneUiCommandController::mapCommand(int command) const |
37 | 251 |
{ |
252 |
int ret(-1); |
|
253 |
||
254 |
switch(command) { |
|
255 |
case PhoneInCallCmdEndAllCalls: |
|
256 |
ret = EPhoneInCallCmdEndAllCalls; |
|
257 |
break; |
|
258 |
case PhoneInCallCmdTransfer: |
|
259 |
ret = EPhoneInCallCmdTransfer; |
|
74 | 260 |
break; |
37 | 261 |
case PhoneInCallCmdHandoverToWlan: |
262 |
ret = EPhoneCmdHandoverToWlan; |
|
263 |
break; |
|
264 |
case PhoneInCallCmdHandoverToGsm: |
|
265 |
ret = EPhoneCmdHandoverToGsm; |
|
266 |
break; |
|
267 |
default: |
|
268 |
break; |
|
269 |
} |
|
270 |
||
271 |
return ret; |
|
272 |
} |
|
273 |
||
274 |
PhoneCommandExtensionWrapper *PhoneUiCommandController::commandExtension( |
|
275 |
int serviceId) |
|
276 |
{ |
|
277 |
PhoneCommandExtensionWrapper *extension = 0; |
|
278 |
TRAP_IGNORE( extension = CommandExtensionL(serviceId) ); |
|
279 |
return extension; |
|
280 |
} |
|
281 |
||
282 |
TUid PhoneUiCommandController::ResolveImplementationUidL( |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
283 |
TUint32 aServiceId, TServicePropertyName aPropertyName ) const |
37 | 284 |
{ |
285 |
TUid implUid = { 0 }; |
|
286 |
CSPEntry* entry = CSPEntry::NewLC(); |
|
287 |
||
288 |
CSPSettings* spSettings = CSPSettings::NewLC(); |
|
289 |
||
290 |
User::LeaveIfError( |
|
291 |
spSettings->FindEntryL( aServiceId, *entry ) ); |
|
292 |
||
293 |
CleanupStack::PopAndDestroy( spSettings ); |
|
294 |
||
295 |
const CSPProperty* property = NULL; |
|
296 |
User::LeaveIfError( entry->GetProperty( property, aPropertyName ) ); |
|
297 |
||
298 |
if ( property ) |
|
299 |
{ |
|
300 |
TInt temp(0); |
|
301 |
User::LeaveIfError( property->GetValue( temp ) ); |
|
302 |
implUid.iUid = temp; |
|
303 |
} |
|
304 |
||
305 |
CleanupStack::PopAndDestroy( entry ); |
|
306 |
return implUid; |
|
307 |
} |
|
308 |
||
309 |
PhoneCommandExtensionWrapper |
|
310 |
*PhoneUiCommandController::CommandExtensionL( TUint aServiceId ) |
|
311 |
{ |
|
312 |
TUid pluginUid = ResolveImplementationUidL( aServiceId, |
|
313 |
EPropertyCallMenuHandlerPluginId ); |
|
314 |
||
315 |
int pluginInd(-1); |
|
316 |
PhoneCommandExtensionWrapper* wrapper = NULL; |
|
317 |
||
318 |
for (int i=0; i<m_commandExtensions.count();++i) { |
|
319 |
if (pluginUid.iUid==m_commandExtensions.at(i)->pluginUid()) { |
|
320 |
pluginInd = i; |
|
321 |
break; |
|
322 |
} |
|
323 |
} |
|
324 |
||
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
325 |
if ( -1 == pluginInd ) { |
37 | 326 |
wrapper = new PhoneCommandExtensionWrapper( pluginUid.iUid ); |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
327 |
if (wrapper) { |
37 | 328 |
m_commandExtensions.append( wrapper ); |
329 |
} |
|
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
330 |
} else { |
37 | 331 |
wrapper = m_commandExtensions[pluginInd]; |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
332 |
} |
37 | 333 |
|
334 |
m_lastCommandExtension = wrapper; |
|
335 |
return wrapper; |
|
336 |
} |
|
337 |
||
338 |
void PhoneUiCommandController::releaseMenu() |
|
339 |
{ |
|
340 |
PHONE_DEBUG("PhoneMenuController::setDialpadMenuActions"); |
|
341 |
for (int i=0;i<m_customMenuActions.count();i++) { |
|
342 |
m_view.menuReference().removeAction(m_customMenuActions.at(i)); |
|
343 |
} |
|
344 |
m_customMenuActions.clear(); |
|
345 |
||
346 |
if (m_lastCommandExtension) { |
|
347 |
m_lastCommandExtension->releaseMenu(); |
|
348 |
m_lastCommandExtension = 0; |
|
349 |
} |
|
350 |
} |
|
351 |
||
352 |
bool PhoneUiCommandController::areServicesSame( |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
353 |
QMap<int,int> callStates, QMap<int,int> serviceIds) const |
37 | 354 |
{ |
355 |
bool ret(true); |
|
356 |
int serviceId(-1); |
|
357 |
for(int i=0;i<callStates.count()&&ret;++i) { |
|
358 |
if (-1==serviceId) { |
|
359 |
serviceId = serviceIds.value(callStates.keys().at(i)); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
360 |
} else if (serviceId != serviceIds.value(callStates.keys().at(i))) { |
37 | 361 |
ret = false; |
362 |
} |
|
363 |
} |
|
364 |
||
365 |
return ret; |
|
366 |
} |
|
367 |
||
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
368 |
void PhoneUiCommandController::setJoinFlag( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
369 |
QMap<int,int> callStates, QMap<int,int> serviceIds) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
370 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
371 |
bool disable(PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
372 |
getButtonFlags(PhoneUIQtButtonsController::FullConference)); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
373 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
374 |
if (!disable) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
375 |
disable = !areServicesSame(callStates, serviceIds); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
376 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
377 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
378 |
PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
379 |
setButtonFlags(PhoneUIQtButtonsController::DisableJoin, disable); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
380 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
381 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
382 |
void PhoneUiCommandController::setHoldFlag(int callState) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
383 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
384 |
bool hold = (callState == EPEStateHeldConference || |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
385 |
callState == EPEStateHeld ); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
386 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
387 |
PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
388 |
setButtonFlags(PhoneUIQtButtonsController::Hold,hold); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
389 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
390 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
391 |
void PhoneUiCommandController::setOutgoingFlag( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
392 |
QList<int> callStates) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
393 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
394 |
bool outgoing(callStates.contains(EPEStateDialing) || |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
395 |
callStates.contains(EPEStateConnecting)); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
396 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
397 |
PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
398 |
setButtonFlags(PhoneUIQtButtonsController::Outgoing, outgoing); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
399 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
400 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
401 |
void PhoneUiCommandController::setConferenceFlag( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
402 |
QList<int> callStates) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
403 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
404 |
bool conference(callStates.contains(EPEStateConnectedConference) || |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
405 |
callStates.contains(EPEStateHeldConference)); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
406 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
407 |
PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
408 |
setButtonFlags(PhoneUIQtButtonsController::Conference, conference); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
409 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
410 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
411 |
void PhoneUiCommandController::setMultiCallFlag( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
412 |
QList<int> callStates) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
413 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
414 |
bool multicall(false); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
415 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
416 |
if (1<callStates.count()) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
417 |
if (callStates.count() == 2 && callStates.contains(EPEStateRinging)) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
418 |
multicall = false; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
419 |
} else { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
420 |
multicall = true; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
421 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
422 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
423 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
424 |
PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
425 |
setButtonFlags(PhoneUIQtButtonsController::MultiCall, multicall); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
426 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
427 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
428 |
void PhoneUiCommandController::mapToExtensionToolBarItems( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
429 |
const QList<PhoneAction::ToolBarItem> &sourceList, |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
430 |
QList<XQTelUiCommandExtension::ToolBarCommand> &toolBarCmdList) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
431 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
432 |
toolBarCmdList.clear(); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
433 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
434 |
for (int i=0;i<sourceList.count();++i) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
435 |
XQTelUiCommandExtension::ToolBarCommand command; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
436 |
command.mCommandId = sourceList.at(i).mCommandId; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
437 |
command.mIsEnabled = sourceList.at(i).mEnabled; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
438 |
toolBarCmdList.append(command); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
439 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
440 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
441 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
442 |
void PhoneUiCommandController::mapToPhoneActionToolBarItems( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
443 |
const QList<XQTelUiCommandExtension::ToolBarCommand> &sourceList, |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
444 |
QList<PhoneAction::ToolBarItem> &commandList) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
445 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
446 |
commandList.clear(); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
447 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
448 |
for (int i=0;i<sourceList.count();++i) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
449 |
PhoneAction::ToolBarItem command( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
450 |
sourceList.at(i).mCommandId, |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
451 |
sourceList.at(i).mIsEnabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
452 |
commandList.append(command); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
453 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
454 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
455 |
|
37 | 456 |
QList<int> PhoneUiCommandController::buttonCommandList( |
457 |
int callState, |
|
458 |
bool emergencyCall, |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
459 |
QList<int> callStates) const |
37 | 460 |
{ |
461 |
QList<int> ret; |
|
462 |
||
463 |
switch( callState ) { |
|
464 |
case EPEStateIdle: |
|
465 |
case EPEStateDisconnecting: |
|
466 |
case EPEStateConferenceIdle: |
|
467 |
break; |
|
468 |
||
469 |
case EPEStateDialing: |
|
470 |
case EPEStateConnecting: { |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
471 |
if (!emergencyCall) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
472 |
if (PhoneResourceAdapter::Instance()->buttonsController()-> |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
473 |
getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
474 |
PhoneUIQtButtonsController::IhfAsPushButton)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
475 |
if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
476 |
PhoneUIQtButtonsController::BluetoothAvailable)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
477 |
if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
478 |
PhoneUIQtButtonsController::Btaa)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
479 |
ret.append(PhoneInCallCmdHandset); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
480 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
481 |
ret.append(PhoneInCallCmdBtHandsfree); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
482 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
483 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
484 |
if (!PhoneResourceAdapter::Instance()->buttonsController()-> |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
485 |
getButtonFlags(PhoneUIQtButtonsController::Ihf)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
486 |
ret.append(PhoneInCallCmdActivateIhf); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
487 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
488 |
ret.append(PhoneInCallCmdDeactivateIhf); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
489 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
490 |
} |
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
491 |
} else { |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
492 |
if (PhoneResourceAdapter::Instance()->buttonsController()-> |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
493 |
getButtonFlags(PhoneUIQtButtonsController::Mute)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
494 |
ret.append(PhoneInCallCmdUnmute); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
495 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
496 |
ret.append(PhoneInCallCmdMute); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
497 |
} |
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
498 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
499 |
} |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
500 |
|
37 | 501 |
ret.append(PhoneInCallCmdEndOutgoingCall); |
502 |
} |
|
503 |
break; |
|
504 |
case EPEStateRinging: { |
|
505 |
if (callStates.size()<3){ |
|
506 |
ret.append(PhoneInCallCmdAnswer); |
|
507 |
ret.append(PhoneInCallCmdReject); |
|
508 |
} else { |
|
509 |
ret.append(PhoneInCallCmdReplace); |
|
510 |
} |
|
511 |
} |
|
512 |
break; |
|
513 |
||
514 |
case EPEStateConnected: |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
515 |
case EPEStateConnectedConference: |
37 | 516 |
case EPEStateHeld: |
517 |
case EPEStateHeldConference: { |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
518 |
if (!emergencyCall) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
519 |
if (PhoneResourceAdapter::Instance()->buttonsController()-> |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
520 |
getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
521 |
PhoneUIQtButtonsController::IhfAsPushButton)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
522 |
if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
523 |
PhoneUIQtButtonsController::BluetoothAvailable)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
524 |
if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
525 |
PhoneUIQtButtonsController::Btaa)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
526 |
ret.append(PhoneInCallCmdHandset); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
527 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
528 |
ret.append(PhoneInCallCmdBtHandsfree); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
529 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
530 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
531 |
if (!PhoneResourceAdapter::Instance()->buttonsController()-> |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
532 |
getButtonFlags(PhoneUIQtButtonsController::Ihf)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
533 |
ret.append(PhoneInCallCmdActivateIhf); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
534 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
535 |
ret.append(PhoneInCallCmdDeactivateIhf); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
536 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
537 |
} |
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
538 |
} else { |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
539 |
if (PhoneResourceAdapter::Instance()->buttonsController()-> |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
540 |
getButtonFlags(PhoneUIQtButtonsController::Mute)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
541 |
ret.append(PhoneInCallCmdUnmute); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
542 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
543 |
ret.append(PhoneInCallCmdMute); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
544 |
} |
37 | 545 |
} |
546 |
} |
|
547 |
||
548 |
ret.append(PhoneInCallCmdEndActive); |
|
549 |
} |
|
550 |
break; |
|
551 |
||
552 |
case EPEStateUnknown: |
|
553 |
break; |
|
554 |
||
555 |
default: |
|
556 |
break; |
|
557 |
} |
|
558 |
||
559 |
return ret; |
|
560 |
} |
|
561 |
||
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
562 |
PhoneAction *PhoneUiCommandController::mapCommandToAction( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
563 |
int command, bool disabled) const |
37 | 564 |
{ |
565 |
PhoneAction *action=0; |
|
566 |
||
567 |
switch( command ) { |
|
568 |
case PhoneInCallCmdJoinToConference: { |
|
569 |
action = new PhoneAction; |
|
570 |
action->setIcon(HbIcon("qtg_mono_join_call")); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
571 |
action->setDisabled(disabled); |
37 | 572 |
action->setCommand(EPhoneInCallCmdJoin); |
573 |
} |
|
574 |
break; |
|
575 |
||
576 |
case PhoneInCallCmdCreateConference: { |
|
577 |
action = new PhoneAction; |
|
578 |
action->setIcon(HbIcon("qtg_mono_join_call")); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
579 |
action->setDisabled(disabled); |
37 | 580 |
action->setCommand(EPhoneInCallCmdCreateConference); |
581 |
} |
|
582 |
break; |
|
583 |
||
584 |
case PhoneInCallCmdAnswer: { |
|
585 |
action = new PhoneAction; |
|
586 |
action->setIcon(HbIcon("qtg_mono_call")); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
587 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
588 |
action->setCommand (EPhoneCallComingCmdAnswer); |
37 | 589 |
action->setActionRole(PhoneAction::Accept); |
590 |
} |
|
591 |
break; |
|
592 |
||
593 |
case PhoneInCallCmdReject: { |
|
594 |
action = new PhoneAction; |
|
595 |
action->setIcon(HbIcon("qtg_mono_reject_call")); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
596 |
action->setDisabled(disabled); |
37 | 597 |
action->setCommand (EPhoneCallComingCmdReject); |
598 |
action->setActionRole(PhoneAction::Decline); |
|
599 |
} |
|
600 |
break; |
|
601 |
||
602 |
case PhoneInCallCmdHold: { |
|
603 |
action = new PhoneAction; |
|
604 |
action->setIcon(HbIcon("qtg_mono_hold_call")); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
605 |
action->setDisabled(disabled); |
37 | 606 |
action->setCommand(EPhoneInCallCmdHold); |
607 |
} |
|
608 |
break; |
|
609 |
||
610 |
case PhoneInCallCmdUnhold: { |
|
611 |
action = new PhoneAction; |
|
612 |
action->setIcon(HbIcon("qtg_mono_call")); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
613 |
action->setDisabled(disabled); |
37 | 614 |
action->setCommand(EPhoneInCallCmdUnhold); |
615 |
} |
|
616 |
break; |
|
617 |
||
618 |
case PhoneInCallCmdEndActive: { |
|
619 |
action = new PhoneAction; |
|
620 |
action->setIcon(HbIcon("qtg_mono_end_call")); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
621 |
action->setDisabled(disabled); |
37 | 622 |
action->setCommand(EPhoneInCallCmdEndThisActiveCall); |
623 |
action->setActionRole(PhoneAction::Decline); |
|
624 |
} |
|
625 |
break; |
|
626 |
||
627 |
case PhoneInCallCmdEndOutgoingCall: { |
|
628 |
action = new PhoneAction; |
|
629 |
action->setIcon(HbIcon("qtg_mono_end_call")); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
630 |
action->setDisabled(disabled); |
37 | 631 |
action->setCommand(EPhoneInCallCmdEndThisOutgoingCall); |
632 |
action->setActionRole(PhoneAction::Decline); |
|
633 |
} |
|
634 |
break; |
|
635 |
||
636 |
case PhoneInCallCmdReplace: { |
|
637 |
action = new PhoneAction; |
|
638 |
action->setIcon(HbIcon("qtg_mono_replace_call")); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
639 |
action->setDisabled(disabled); |
37 | 640 |
action->setCommand(EPhoneInCallCmdReplace); |
641 |
action->setActionRole(PhoneAction::Accept); |
|
642 |
} |
|
643 |
break; |
|
644 |
||
645 |
case PhoneInCallCmdSwap: { |
|
646 |
action = new PhoneAction; |
|
50 | 647 |
action->setIcon(HbIcon("qtg_mono_swap_call")); |
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
648 |
action->setDisabled(disabled); |
37 | 649 |
action->setCommand(EPhoneInCallCmdSwap); |
650 |
} |
|
651 |
break; |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
652 |
case PhoneCallComingCmdSoftReject: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
653 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
654 |
action->setIcon(HbIcon("qtg_mono_send")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
655 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
656 |
action->setCommand(EPhoneCallComingCmdSoftReject); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
657 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
658 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
659 |
case PhoneCallComingCmdSilent: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
660 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
661 |
action->setIcon(HbIcon("qtg_mono_speaker_off")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
662 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
663 |
action->setCommand(EPhoneCallComingCmdSilent); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
664 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
665 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
666 |
case PhoneInCallCmdOpenDialer: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
667 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
668 |
action->setIcon(HbIcon("qtg_mono_dialer")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
669 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
670 |
action->setCommand(EPhoneInCallCmdDialer); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
671 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
672 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
673 |
case PhoneInCallCmdMute: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
674 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
675 |
action->setIcon(HbIcon("qtg_mono_mic_mute")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
676 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
677 |
action->setCommand(EPhoneInCallCmdMute); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
678 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
679 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
680 |
case PhoneInCallCmdUnmute: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
681 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
682 |
action->setIcon(HbIcon("qtg_mono_mic_unmute")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
683 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
684 |
action->setCommand(EPhoneInCallCmdUnmute); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
685 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
686 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
687 |
case PhoneInCallCmdActivateIhf: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
688 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
689 |
action->setIcon(HbIcon("qtg_mono_speaker")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
690 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
691 |
action->setCommand(EPhoneInCallCmdActivateIhf); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
692 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
693 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
694 |
case PhoneInCallCmdDeactivateIhf: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
695 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
696 |
action->setIcon(HbIcon("qtg_mono_mobile")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
697 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
698 |
action->setCommand(EPhoneInCallCmdDeactivateIhf); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
699 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
700 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
701 |
case PhoneInCallCmdOpenContacts: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
702 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
703 |
action->setIcon(HbIcon("qtg_mono_contacts")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
704 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
705 |
action->setCommand(EPhoneInCallCmdContacts); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
706 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
707 |
break; |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
708 |
case PhoneInCallCmdBtHandsfree: { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
709 |
action = new PhoneAction; |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
710 |
action->setIcon(HbIcon("qtg_mono_bluetooth_headset")); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
711 |
action->setDisabled(disabled); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
712 |
action->setCommand(EPhoneInCallCmdBtHandsfree); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
713 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
714 |
break; |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
715 |
case PhoneInCallCmdHandset: { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
716 |
action = new PhoneAction; |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
717 |
action->setIcon(HbIcon("qtg_mono_mobile")); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
718 |
action->setDisabled(disabled); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
719 |
action->setCommand(EPhoneInCallCmdHandset); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
720 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
721 |
break; |
37 | 722 |
default: |
723 |
break; |
|
724 |
} |
|
725 |
||
726 |
return action; |
|
727 |
} |
|
65 | 728 |
|
729 |
bool PhoneUiCommandController::emergencyCall(QMap<int,int> callStates) const |
|
730 |
{ |
|
731 |
return callStates.keys().contains(KEmergencyCallId); |
|
732 |
} |
|
733 |