author | hgs |
Fri, 15 Oct 2010 12:58:46 +0300 | |
changeset 78 | baacf668fe89 |
parent 76 | cfea66083b62 |
permissions | -rw-r--r-- |
37 | 1 |
/*! |
78 | 2 |
* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). |
37 | 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: Phone UI's Qt view. |
|
15 |
* |
|
16 |
*/ |
|
17 |
#include <hbinstance.h> |
|
18 |
#include <hbaction.h> |
|
19 |
#include <hbtoolbar.h> |
|
20 |
#include <hbnamespace.h> |
|
21 |
#include <bubblemanager2.h> |
|
22 |
#include <hblineedit.h> |
|
23 |
#include <hbmenu.h> |
|
78 | 24 |
#include <dialpad.h> |
37 | 25 |
|
78 | 26 |
#include "phoneuiqtview_p.h" |
37 | 27 |
#include "phoneuiqtview.h" |
28 |
#include "qtphonelog.h" |
|
29 |
||
30 |
PhoneUIQtView::PhoneUIQtView (HbMainWindow &window, QGraphicsItem *parent) : |
|
78 | 31 |
HbView(parent), |
32 |
m_priv(new PhoneUIQtViewPrivate(window, *this)) |
|
37 | 33 |
{ |
76 | 34 |
PHONE_TRACE |
37 | 35 |
// Set network name |
78 | 36 |
setTitle(m_priv->networkName()); |
45
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
37 |
|
37 | 38 |
// Call handling widget |
78 | 39 |
setWidget(m_priv->m_bubbleManager); |
37 | 40 |
|
41 |
// change exit softkey to back button |
|
78 | 42 |
setNavigationAction(m_priv->m_backAction); |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
43 |
|
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
44 |
// Set restricted mode off, normal state |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
45 |
setRestrictedMode(false); |
37 | 46 |
} |
47 |
||
48 |
PhoneUIQtView::~PhoneUIQtView () |
|
49 |
{ |
|
50 |
} |
|
51 |
||
52 |
BubbleManagerIF& PhoneUIQtView::bubbleManager() |
|
53 |
{ |
|
78 | 54 |
return *m_priv->m_bubbleManager; |
37 | 55 |
} |
56 |
||
57 |
void PhoneUIQtView::addBubbleCommand ( |
|
58 |
int bubbleId, |
|
78 | 59 |
HbAction* action ) |
37 | 60 |
{ |
76 | 61 |
PHONE_TRACE |
78 | 62 |
m_priv->addBubbleCommand(bubbleId, action); |
37 | 63 |
} |
64 |
||
65 |
void PhoneUIQtView::addParticipantListAction( |
|
66 |
int commandId, |
|
67 |
const QString& text, |
|
68 |
const HbIcon& icon) |
|
69 |
{ |
|
76 | 70 |
PHONE_TRACE |
78 | 71 |
m_priv->addParticipantListAction(commandId, text, icon); |
37 | 72 |
} |
73 |
||
74 |
void PhoneUIQtView::clearParticipantListActions() |
|
75 |
{ |
|
76 | 76 |
PHONE_TRACE |
78 | 77 |
m_priv->clearParticipantListActions(); |
37 | 78 |
} |
79 |
||
80 |
void PhoneUIQtView::clearBubbleCommands (int bubbleId) |
|
81 |
{ |
|
76 | 82 |
PHONE_TRACE |
78 | 83 |
m_priv->clearBubbleCommands(bubbleId); |
37 | 84 |
} |
85 |
||
78 | 86 |
void PhoneUIQtView::setToolbarActions( |
87 |
const QList<HbAction *> &newToolBarActions) |
|
37 | 88 |
{ |
76 | 89 |
PHONE_TRACE |
78 | 90 |
m_priv->replaceActions(*toolBar(), newToolBarActions); |
37 | 91 |
|
78 | 92 |
if ( m_priv->m_window.orientation() == Qt::Horizontal ) { |
37 | 93 |
toolBar()->setOrientation(Qt::Horizontal); |
94 |
} |
|
95 |
// update toolbar |
|
96 |
toolBar()->update(); |
|
97 |
} |
|
98 |
||
99 |
void PhoneUIQtView::hideToolbar () |
|
100 |
{ |
|
78 | 101 |
toolBar()->hide(); |
37 | 102 |
} |
103 |
||
104 |
void PhoneUIQtView::showToolbar () |
|
105 |
{ |
|
106 |
setFocus(); |
|
107 |
toolBar()->show(); |
|
108 |
} |
|
109 |
||
110 |
int PhoneUIQtView::volumeSliderValue () |
|
111 |
{ |
|
78 | 112 |
return m_priv->volumeSliderValue(); |
37 | 113 |
} |
114 |
||
115 |
void PhoneUIQtView::setVolumeSliderValue ( |
|
116 |
int value, int commandId, int maxVolumeValue, int minVolumeValue) |
|
117 |
{ |
|
76 | 118 |
PHONE_TRACE |
78 | 119 |
m_priv->setVolumeSliderValue( |
120 |
value, commandId, maxVolumeValue, minVolumeValue); |
|
37 | 121 |
} |
122 |
||
78 | 123 |
void PhoneUIQtView::removeVolumeSlider() |
37 | 124 |
{ |
78 | 125 |
PHONE_TRACE |
126 |
m_priv->removeVolumeSlider(); |
|
37 | 127 |
} |
128 |
||
129 |
void PhoneUIQtView::setExpandAction(int bubbleId, int commandId) |
|
130 |
{ |
|
76 | 131 |
PHONE_TRACE |
78 | 132 |
m_priv->setExpandAction(bubbleId, commandId); |
37 | 133 |
} |
134 |
||
135 |
void PhoneUIQtView::removeExpandAction(int bubbleId) |
|
136 |
{ |
|
76 | 137 |
PHONE_TRACE |
78 | 138 |
m_priv->removeExpandAction(bubbleId); |
37 | 139 |
} |
140 |
||
141 |
void PhoneUIQtView::showDialpad() |
|
142 |
{ |
|
78 | 143 |
m_priv->showDialpad(); |
37 | 144 |
} |
145 |
||
146 |
void PhoneUIQtView::hideDialpad() |
|
147 |
{ |
|
78 | 148 |
m_priv->hideDialpad(); |
37 | 149 |
} |
150 |
||
151 |
bool PhoneUIQtView::isDialpadVisible() |
|
152 |
{ |
|
78 | 153 |
return m_priv->m_dialpad->isVisible(); |
37 | 154 |
} |
155 |
||
156 |
QString PhoneUIQtView::dialpadText() |
|
157 |
{ |
|
78 | 158 |
return m_priv->m_dialpad->editor().text(); |
37 | 159 |
} |
160 |
||
161 |
void PhoneUIQtView::clearAndHideDialpad() |
|
162 |
{ |
|
78 | 163 |
m_priv->m_dialpad->editor().setText(QString("")); |
164 |
m_priv->m_dialpad->closeDialpad(); |
|
45
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 |
void PhoneUIQtView::clearDialpad() |
6b911d05207e
Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
37
diff
changeset
|
168 |
{ |
78 | 169 |
m_priv->m_dialpad->editor().setText(QString("")); |
37 | 170 |
} |
171 |
||
172 |
void PhoneUIQtView::bringToForeground() |
|
173 |
{ |
|
78 | 174 |
m_priv->m_window.show(); |
175 |
m_priv->m_window.raise(); |
|
176 |
} |
|
177 |
||
178 |
void PhoneUIQtView::hide() |
|
179 |
{ |
|
180 |
m_priv->m_window.hide(); |
|
181 |
m_priv->m_window.lower(); |
|
37 | 182 |
} |
183 |
||
78 | 184 |
void PhoneUIQtView::setMenuActions( |
185 |
const QList<HbAction*> &actions) |
|
76 | 186 |
{ |
78 | 187 |
PHONE_TRACE |
188 |
HbMenu *optionsMenu = &menuReference(); |
|
189 |
m_priv->replaceActions(*optionsMenu, actions); |
|
76 | 190 |
|
78 | 191 |
bool visible = false; |
192 |
foreach (HbAction* action, actions) { |
|
193 |
if(action->isVisible()){ |
|
194 |
visible = true; |
|
195 |
break; |
|
196 |
} |
|
37 | 197 |
} |
78 | 198 |
PHONE_DEBUG2("- visible", visible); |
199 |
HbView* view = m_priv->m_window.currentView(); |
|
200 |
if (!visible && !m_priv->m_optionsMenu) { |
|
201 |
PHONE_DEBUG("- takeMenu"); |
|
202 |
//takeMenu() - Removes the menu from the view and returns it to the caller. |
|
203 |
//ownership of the menu is transfered. |
|
204 |
m_priv->m_optionsMenu = view->takeMenu(); |
|
205 |
||
206 |
} else if (visible && m_priv->m_optionsMenu) { |
|
207 |
// ownership of the menu is transfered |
|
208 |
view->setMenu(m_priv->m_optionsMenu); |
|
209 |
m_priv->m_optionsMenu = 0; |
|
210 |
} |
|
37 | 211 |
} |
212 |
||
213 |
HbMenu &PhoneUIQtView::menuReference() |
|
214 |
{ |
|
76 | 215 |
PHONE_TRACE |
78 | 216 |
HbMenu* optionsMenu = m_priv->m_optionsMenu ? |
217 |
m_priv->m_optionsMenu : menu(); |
|
76 | 218 |
return *optionsMenu; |
37 | 219 |
} |
220 |
||
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
221 |
void PhoneUIQtView::captureKey(Qt::Key key, bool capture) |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
222 |
{ |
78 | 223 |
m_priv->captureKey(key, capture); |
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
224 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
225 |
|
78 | 226 |
void PhoneUIQtView::handleOrientationChange( |
227 |
Qt::Orientation orientation) |
|
37 | 228 |
{ |
76 | 229 |
PHONE_TRACE |
37 | 230 |
if (orientation==Qt::Horizontal) { |
231 |
toolBar()->setOrientation(Qt::Horizontal); |
|
232 |
} |
|
76 | 233 |
} |
234 |
||
37 | 235 |
void PhoneUIQtView::shutdownPhoneApp() |
236 |
{ |
|
78 | 237 |
PHONE_TRACE |
37 | 238 |
QCoreApplication::quit(); |
239 |
} |
|
240 |
||
241 |
void PhoneUIQtView::setBackButtonVisible(bool visible) |
|
242 |
{ |
|
78 | 243 |
if (!m_priv->m_restrictedMode) { |
244 |
m_priv->m_backAction->setEnabled(visible); |
|
46
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
245 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
246 |
} |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
247 |
|
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
248 |
void PhoneUIQtView::setRestrictedMode(bool restrictedMode) |
bc5a64e5bc3c
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
45
diff
changeset
|
249 |
{ |
76 | 250 |
PHONE_TRACE |
78 | 251 |
m_priv->setRestrictedMode(restrictedMode); |
37 | 252 |
} |