author | hgs |
Fri, 03 Sep 2010 13:33:36 +0300 | |
changeset 65 | 2a5d4ab426d3 |
parent 50 | 377c906a8701 |
child 74 | d1c62c765e48 |
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()) { |
|
190 |
case 1: { |
|
191 |
// No logical string for switch to video option |
|
192 |
/*if (callStates.values().contains(EPEStateConnected)) { |
|
193 |
commands.append(PhoneInCallCmdSwitchToVideo); |
|
194 |
}*/ |
|
37 | 195 |
} |
65 | 196 |
break; |
197 |
case 2: { |
|
198 |
if (!callStates.values().contains(EPEStateRinging) && |
|
199 |
!callStates.values().contains(EPEStateDisconnecting) && |
|
200 |
!callStates.values().contains(EPEStateDialing)) { |
|
201 |
commands.append(PhoneInCallCmdEndAllCalls); |
|
202 |
} |
|
203 |
if ((callStates.values().contains(EPEStateConnected) && |
|
204 |
callStates.values().contains(EPEStateHeld)) || |
|
205 |
(callStates.values().contains(EPEStateConnecting) && |
|
206 |
callStates.values().contains(EPEStateHeld))) { |
|
207 |
if (sameServices) { |
|
208 |
commands.append(PhoneInCallCmdTransfer); |
|
209 |
} |
|
37 | 210 |
} |
211 |
} |
|
212 |
break; |
|
65 | 213 |
case 3: { |
214 |
commands.append(PhoneInCallCmdEndAllCalls); |
|
215 |
} |
|
216 |
break; |
|
217 |
default: |
|
218 |
break; |
|
219 |
} |
|
37 | 220 |
} |
221 |
||
222 |
return commands; |
|
223 |
} |
|
224 |
||
225 |
void PhoneUiCommandController::addMenuItems(QList<int> menuCmdList) |
|
226 |
{ |
|
227 |
QList<PhoneAction*> values; |
|
228 |
||
229 |
for (int i=0;i<menuCmdList.count();++i) { |
|
230 |
int command = mapCommand(menuCmdList.at(i)); |
|
231 |
if (-1 != command) { |
|
232 |
PhoneAction* phoneAction = new PhoneAction(); |
|
233 |
phoneAction->setCommand(command); |
|
234 |
phoneAction->setText( |
|
235 |
PhoneResourceAdapter::Instance()-> |
|
236 |
convertCommandToString(command)); |
|
237 |
||
238 |
values.append(phoneAction); |
|
239 |
} |
|
240 |
} |
|
241 |
||
242 |
m_view.setMenuActions(values); |
|
243 |
qDeleteAll(values); |
|
244 |
} |
|
245 |
||
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
246 |
int PhoneUiCommandController::mapCommand(int command) const |
37 | 247 |
{ |
248 |
int ret(-1); |
|
249 |
||
250 |
switch(command) { |
|
251 |
case PhoneInCallCmdEndAllCalls: |
|
252 |
ret = EPhoneInCallCmdEndAllCalls; |
|
253 |
break; |
|
254 |
case PhoneInCallCmdTransfer: |
|
255 |
ret = EPhoneInCallCmdTransfer; |
|
256 |
break; |
|
257 |
case PhoneInCallCmdSwitchToVideo: |
|
258 |
ret = EPhoneInCallCmdSwitchToVideo; |
|
259 |
break; |
|
260 |
case PhoneInCallCmdHandoverToWlan: |
|
261 |
ret = EPhoneCmdHandoverToWlan; |
|
262 |
break; |
|
263 |
case PhoneInCallCmdHandoverToGsm: |
|
264 |
ret = EPhoneCmdHandoverToGsm; |
|
265 |
break; |
|
266 |
default: |
|
267 |
break; |
|
268 |
} |
|
269 |
||
270 |
return ret; |
|
271 |
} |
|
272 |
||
273 |
PhoneCommandExtensionWrapper *PhoneUiCommandController::commandExtension( |
|
274 |
int serviceId) |
|
275 |
{ |
|
276 |
PhoneCommandExtensionWrapper *extension = 0; |
|
277 |
TRAP_IGNORE( extension = CommandExtensionL(serviceId) ); |
|
278 |
return extension; |
|
279 |
} |
|
280 |
||
281 |
TUid PhoneUiCommandController::ResolveImplementationUidL( |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
282 |
TUint32 aServiceId, TServicePropertyName aPropertyName ) const |
37 | 283 |
{ |
284 |
TUid implUid = { 0 }; |
|
285 |
CSPEntry* entry = CSPEntry::NewLC(); |
|
286 |
||
287 |
CSPSettings* spSettings = CSPSettings::NewLC(); |
|
288 |
||
289 |
User::LeaveIfError( |
|
290 |
spSettings->FindEntryL( aServiceId, *entry ) ); |
|
291 |
||
292 |
CleanupStack::PopAndDestroy( spSettings ); |
|
293 |
||
294 |
const CSPProperty* property = NULL; |
|
295 |
User::LeaveIfError( entry->GetProperty( property, aPropertyName ) ); |
|
296 |
||
297 |
if ( property ) |
|
298 |
{ |
|
299 |
TInt temp(0); |
|
300 |
User::LeaveIfError( property->GetValue( temp ) ); |
|
301 |
implUid.iUid = temp; |
|
302 |
} |
|
303 |
||
304 |
CleanupStack::PopAndDestroy( entry ); |
|
305 |
return implUid; |
|
306 |
} |
|
307 |
||
308 |
PhoneCommandExtensionWrapper |
|
309 |
*PhoneUiCommandController::CommandExtensionL( TUint aServiceId ) |
|
310 |
{ |
|
311 |
TUid pluginUid = ResolveImplementationUidL( aServiceId, |
|
312 |
EPropertyCallMenuHandlerPluginId ); |
|
313 |
||
314 |
int pluginInd(-1); |
|
315 |
PhoneCommandExtensionWrapper* wrapper = NULL; |
|
316 |
||
317 |
for (int i=0; i<m_commandExtensions.count();++i) { |
|
318 |
if (pluginUid.iUid==m_commandExtensions.at(i)->pluginUid()) { |
|
319 |
pluginInd = i; |
|
320 |
break; |
|
321 |
} |
|
322 |
} |
|
323 |
||
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
324 |
if ( -1 == pluginInd ) { |
37 | 325 |
wrapper = new PhoneCommandExtensionWrapper( pluginUid.iUid ); |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
326 |
if (wrapper) { |
37 | 327 |
m_commandExtensions.append( wrapper ); |
328 |
} |
|
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
329 |
} else { |
37 | 330 |
wrapper = m_commandExtensions[pluginInd]; |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
331 |
} |
37 | 332 |
|
333 |
m_lastCommandExtension = wrapper; |
|
334 |
return wrapper; |
|
335 |
} |
|
336 |
||
337 |
void PhoneUiCommandController::releaseMenu() |
|
338 |
{ |
|
339 |
PHONE_DEBUG("PhoneMenuController::setDialpadMenuActions"); |
|
340 |
for (int i=0;i<m_customMenuActions.count();i++) { |
|
341 |
m_view.menuReference().removeAction(m_customMenuActions.at(i)); |
|
342 |
} |
|
343 |
m_customMenuActions.clear(); |
|
344 |
||
345 |
if (m_lastCommandExtension) { |
|
346 |
m_lastCommandExtension->releaseMenu(); |
|
347 |
m_lastCommandExtension = 0; |
|
348 |
} |
|
349 |
} |
|
350 |
||
351 |
bool PhoneUiCommandController::areServicesSame( |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
352 |
QMap<int,int> callStates, QMap<int,int> serviceIds) const |
37 | 353 |
{ |
354 |
bool ret(true); |
|
355 |
int serviceId(-1); |
|
356 |
for(int i=0;i<callStates.count()&&ret;++i) { |
|
357 |
if (-1==serviceId) { |
|
358 |
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
|
359 |
} else if (serviceId != serviceIds.value(callStates.keys().at(i))) { |
37 | 360 |
ret = false; |
361 |
} |
|
362 |
} |
|
363 |
||
364 |
return ret; |
|
365 |
} |
|
366 |
||
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
367 |
void PhoneUiCommandController::setJoinFlag( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
368 |
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
|
369 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
370 |
bool disable(PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
371 |
getButtonFlags(PhoneUIQtButtonsController::FullConference)); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
372 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
373 |
if (!disable) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
374 |
disable = !areServicesSame(callStates, serviceIds); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
375 |
} |
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 |
PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
378 |
setButtonFlags(PhoneUIQtButtonsController::DisableJoin, disable); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
379 |
} |
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 |
void PhoneUiCommandController::setHoldFlag(int callState) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
382 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
383 |
bool hold = (callState == EPEStateHeldConference || |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
384 |
callState == EPEStateHeld ); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
385 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
386 |
PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
387 |
setButtonFlags(PhoneUIQtButtonsController::Hold,hold); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
388 |
} |
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 |
void PhoneUiCommandController::setOutgoingFlag( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
391 |
QList<int> callStates) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
392 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
393 |
bool outgoing(callStates.contains(EPEStateDialing) || |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
394 |
callStates.contains(EPEStateConnecting)); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
395 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
396 |
PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
397 |
setButtonFlags(PhoneUIQtButtonsController::Outgoing, outgoing); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
398 |
} |
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 |
void PhoneUiCommandController::setConferenceFlag( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
401 |
QList<int> callStates) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
402 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
403 |
bool conference(callStates.contains(EPEStateConnectedConference) || |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
404 |
callStates.contains(EPEStateHeldConference)); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
405 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
406 |
PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
407 |
setButtonFlags(PhoneUIQtButtonsController::Conference, conference); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
408 |
} |
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 |
void PhoneUiCommandController::setMultiCallFlag( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
411 |
QList<int> callStates) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
412 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
413 |
bool multicall(false); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
414 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
415 |
if (1<callStates.count()) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
416 |
if (callStates.count() == 2 && callStates.contains(EPEStateRinging)) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
417 |
multicall = false; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
418 |
} else { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
419 |
multicall = true; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
420 |
} |
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 |
PhoneResourceAdapter::Instance()->buttonsController()-> |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
424 |
setButtonFlags(PhoneUIQtButtonsController::MultiCall, multicall); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
425 |
} |
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 |
void PhoneUiCommandController::mapToExtensionToolBarItems( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
428 |
const QList<PhoneAction::ToolBarItem> &sourceList, |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
429 |
QList<XQTelUiCommandExtension::ToolBarCommand> &toolBarCmdList) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
430 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
431 |
toolBarCmdList.clear(); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
432 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
433 |
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
|
434 |
XQTelUiCommandExtension::ToolBarCommand command; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
435 |
command.mCommandId = sourceList.at(i).mCommandId; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
436 |
command.mIsEnabled = sourceList.at(i).mEnabled; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
437 |
toolBarCmdList.append(command); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
438 |
} |
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 |
void PhoneUiCommandController::mapToPhoneActionToolBarItems( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
442 |
const QList<XQTelUiCommandExtension::ToolBarCommand> &sourceList, |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
443 |
QList<PhoneAction::ToolBarItem> &commandList) const |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
444 |
{ |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
445 |
commandList.clear(); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
446 |
|
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
447 |
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
|
448 |
PhoneAction::ToolBarItem command( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
449 |
sourceList.at(i).mCommandId, |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
450 |
sourceList.at(i).mIsEnabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
451 |
commandList.append(command); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
452 |
} |
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 |
|
37 | 455 |
QList<int> PhoneUiCommandController::buttonCommandList( |
456 |
int callState, |
|
457 |
bool emergencyCall, |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
458 |
QList<int> callStates) const |
37 | 459 |
{ |
460 |
QList<int> ret; |
|
461 |
||
462 |
switch( callState ) { |
|
463 |
case EPEStateIdle: |
|
464 |
case EPEStateDisconnecting: |
|
465 |
case EPEStateConferenceIdle: |
|
466 |
break; |
|
467 |
||
468 |
case EPEStateDialing: |
|
469 |
case EPEStateConnecting: { |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
470 |
if (!emergencyCall) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
471 |
if (PhoneResourceAdapter::Instance()->buttonsController()-> |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
472 |
getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
473 |
PhoneUIQtButtonsController::IhfAsPushButton)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
474 |
if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
475 |
PhoneUIQtButtonsController::BluetoothAvailable)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
476 |
if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
477 |
PhoneUIQtButtonsController::Btaa)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
478 |
ret.append(PhoneInCallCmdHandset); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
479 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
480 |
ret.append(PhoneInCallCmdBtHandsfree); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
481 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
482 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
483 |
if (!PhoneResourceAdapter::Instance()->buttonsController()-> |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
484 |
getButtonFlags(PhoneUIQtButtonsController::Ihf)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
485 |
ret.append(PhoneInCallCmdActivateIhf); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
486 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
487 |
ret.append(PhoneInCallCmdDeactivateIhf); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
488 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
489 |
} |
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
490 |
} else { |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
491 |
if (PhoneResourceAdapter::Instance()->buttonsController()-> |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
492 |
getButtonFlags(PhoneUIQtButtonsController::Mute)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
493 |
ret.append(PhoneInCallCmdUnmute); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
494 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
495 |
ret.append(PhoneInCallCmdMute); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
496 |
} |
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
497 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
498 |
} |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
499 |
|
37 | 500 |
ret.append(PhoneInCallCmdEndOutgoingCall); |
501 |
} |
|
502 |
break; |
|
503 |
case EPEStateRinging: { |
|
504 |
if (callStates.size()<3){ |
|
505 |
ret.append(PhoneInCallCmdAnswer); |
|
506 |
ret.append(PhoneInCallCmdReject); |
|
507 |
} else { |
|
508 |
ret.append(PhoneInCallCmdReplace); |
|
509 |
} |
|
510 |
} |
|
511 |
break; |
|
512 |
||
513 |
case EPEStateConnected: |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
514 |
case EPEStateConnectedConference: |
37 | 515 |
case EPEStateHeld: |
516 |
case EPEStateHeldConference: { |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
517 |
if (!emergencyCall) { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
518 |
if (PhoneResourceAdapter::Instance()->buttonsController()-> |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
519 |
getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
520 |
PhoneUIQtButtonsController::IhfAsPushButton)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
521 |
if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
522 |
PhoneUIQtButtonsController::BluetoothAvailable)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
523 |
if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
524 |
PhoneUIQtButtonsController::Btaa)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
525 |
ret.append(PhoneInCallCmdHandset); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
526 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
527 |
ret.append(PhoneInCallCmdBtHandsfree); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
528 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
529 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
530 |
if (!PhoneResourceAdapter::Instance()->buttonsController()-> |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
531 |
getButtonFlags(PhoneUIQtButtonsController::Ihf)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
532 |
ret.append(PhoneInCallCmdActivateIhf); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
533 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
534 |
ret.append(PhoneInCallCmdDeactivateIhf); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
535 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
536 |
} |
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
537 |
} else { |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
538 |
if (PhoneResourceAdapter::Instance()->buttonsController()-> |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
539 |
getButtonFlags(PhoneUIQtButtonsController::Mute)) { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
540 |
ret.append(PhoneInCallCmdUnmute); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
541 |
} else { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
542 |
ret.append(PhoneInCallCmdMute); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
543 |
} |
37 | 544 |
} |
545 |
} |
|
546 |
||
547 |
ret.append(PhoneInCallCmdEndActive); |
|
548 |
} |
|
549 |
break; |
|
550 |
||
551 |
case EPEStateUnknown: |
|
552 |
break; |
|
553 |
||
554 |
default: |
|
555 |
break; |
|
556 |
} |
|
557 |
||
558 |
return ret; |
|
559 |
} |
|
560 |
||
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
561 |
PhoneAction *PhoneUiCommandController::mapCommandToAction( |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
562 |
int command, bool disabled) const |
37 | 563 |
{ |
564 |
PhoneAction *action=0; |
|
565 |
||
566 |
switch( command ) { |
|
567 |
case PhoneInCallCmdJoinToConference: { |
|
568 |
action = new PhoneAction; |
|
569 |
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
|
570 |
action->setDisabled(disabled); |
37 | 571 |
action->setCommand(EPhoneInCallCmdJoin); |
572 |
} |
|
573 |
break; |
|
574 |
||
575 |
case PhoneInCallCmdCreateConference: { |
|
576 |
action = new PhoneAction; |
|
577 |
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
|
578 |
action->setDisabled(disabled); |
37 | 579 |
action->setCommand(EPhoneInCallCmdCreateConference); |
580 |
} |
|
581 |
break; |
|
582 |
||
583 |
case PhoneInCallCmdAnswer: { |
|
584 |
action = new PhoneAction; |
|
585 |
action->setIcon(HbIcon("qtg_mono_call")); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
586 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
587 |
action->setCommand (EPhoneCallComingCmdAnswer); |
37 | 588 |
action->setActionRole(PhoneAction::Accept); |
589 |
} |
|
590 |
break; |
|
591 |
||
592 |
case PhoneInCallCmdReject: { |
|
593 |
action = new PhoneAction; |
|
594 |
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
|
595 |
action->setDisabled(disabled); |
37 | 596 |
action->setCommand (EPhoneCallComingCmdReject); |
597 |
action->setActionRole(PhoneAction::Decline); |
|
598 |
} |
|
599 |
break; |
|
600 |
||
601 |
case PhoneInCallCmdHold: { |
|
602 |
action = new PhoneAction; |
|
603 |
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
|
604 |
action->setDisabled(disabled); |
37 | 605 |
action->setCommand(EPhoneInCallCmdHold); |
606 |
} |
|
607 |
break; |
|
608 |
||
609 |
case PhoneInCallCmdUnhold: { |
|
610 |
action = new PhoneAction; |
|
611 |
action->setIcon(HbIcon("qtg_mono_call")); |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
612 |
action->setDisabled(disabled); |
37 | 613 |
action->setCommand(EPhoneInCallCmdUnhold); |
614 |
} |
|
615 |
break; |
|
616 |
||
617 |
case PhoneInCallCmdEndActive: { |
|
618 |
action = new PhoneAction; |
|
619 |
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
|
620 |
action->setDisabled(disabled); |
37 | 621 |
action->setCommand(EPhoneInCallCmdEndThisActiveCall); |
622 |
action->setActionRole(PhoneAction::Decline); |
|
623 |
} |
|
624 |
break; |
|
625 |
||
626 |
case PhoneInCallCmdEndOutgoingCall: { |
|
627 |
action = new PhoneAction; |
|
628 |
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
|
629 |
action->setDisabled(disabled); |
37 | 630 |
action->setCommand(EPhoneInCallCmdEndThisOutgoingCall); |
631 |
action->setActionRole(PhoneAction::Decline); |
|
632 |
} |
|
633 |
break; |
|
634 |
||
635 |
case PhoneInCallCmdReplace: { |
|
636 |
action = new PhoneAction; |
|
637 |
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
|
638 |
action->setDisabled(disabled); |
37 | 639 |
action->setCommand(EPhoneInCallCmdReplace); |
640 |
action->setActionRole(PhoneAction::Accept); |
|
641 |
} |
|
642 |
break; |
|
643 |
||
644 |
case PhoneInCallCmdSwap: { |
|
645 |
action = new PhoneAction; |
|
50 | 646 |
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
|
647 |
action->setDisabled(disabled); |
37 | 648 |
action->setCommand(EPhoneInCallCmdSwap); |
649 |
} |
|
650 |
break; |
|
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
651 |
case PhoneCallComingCmdSoftReject: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
652 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
653 |
action->setIcon(HbIcon("qtg_mono_send")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
654 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
655 |
action->setCommand(EPhoneCallComingCmdSoftReject); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
656 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
657 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
658 |
case PhoneCallComingCmdSilent: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
659 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
660 |
action->setIcon(HbIcon("qtg_mono_speaker_off")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
661 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
662 |
action->setCommand(EPhoneCallComingCmdSilent); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
663 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
664 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
665 |
case PhoneInCallCmdOpenDialer: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
666 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
667 |
action->setIcon(HbIcon("qtg_mono_dialer")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
668 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
669 |
action->setCommand(EPhoneInCallCmdDialer); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
670 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
671 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
672 |
case PhoneInCallCmdMute: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
673 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
674 |
action->setIcon(HbIcon("qtg_mono_mic_mute")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
675 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
676 |
action->setCommand(EPhoneInCallCmdMute); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
677 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
678 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
679 |
case PhoneInCallCmdUnmute: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
680 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
681 |
action->setIcon(HbIcon("qtg_mono_mic_unmute")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
682 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
683 |
action->setCommand(EPhoneInCallCmdUnmute); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
684 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
685 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
686 |
case PhoneInCallCmdActivateIhf: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
687 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
688 |
action->setIcon(HbIcon("qtg_mono_speaker")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
689 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
690 |
action->setCommand(EPhoneInCallCmdActivateIhf); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
691 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
692 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
693 |
case PhoneInCallCmdDeactivateIhf: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
694 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
695 |
action->setIcon(HbIcon("qtg_mono_mobile")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
696 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
697 |
action->setCommand(EPhoneInCallCmdDeactivateIhf); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
698 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
699 |
break; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
700 |
case PhoneInCallCmdOpenContacts: { |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
701 |
action = new PhoneAction; |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
702 |
action->setIcon(HbIcon("qtg_mono_contacts")); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
703 |
action->setDisabled(disabled); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
704 |
action->setCommand(EPhoneInCallCmdContacts); |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
705 |
} |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
706 |
break; |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
707 |
case PhoneInCallCmdBtHandsfree: { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
708 |
action = new PhoneAction; |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
709 |
action->setIcon(HbIcon("qtg_mono_bluetooth_headset")); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
710 |
action->setDisabled(disabled); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
711 |
action->setCommand(EPhoneInCallCmdBtHandsfree); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
712 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
713 |
break; |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
714 |
case PhoneInCallCmdHandset: { |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
715 |
action = new PhoneAction; |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
716 |
action->setIcon(HbIcon("qtg_mono_mobile")); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
717 |
action->setDisabled(disabled); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
718 |
action->setCommand(EPhoneInCallCmdHandset); |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
719 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
720 |
break; |
37 | 721 |
default: |
722 |
break; |
|
723 |
} |
|
724 |
||
725 |
return action; |
|
726 |
} |
|
65 | 727 |
|
728 |
bool PhoneUiCommandController::emergencyCall(QMap<int,int> callStates) const |
|
729 |
{ |
|
730 |
return callStates.keys().contains(KEmergencyCallId); |
|
731 |
} |
|
732 |