|
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: SecUi notification plugin class. |
|
15 * |
|
16 */ |
|
17 |
|
18 #include "secuinotificationdialog.h" |
|
19 #include "secuinotificationdialogpluginkeys.h" |
|
20 #include "secuinotificationcontentwidget.h" |
|
21 // #include <hbpopupbase.h> // HbPopupBase::NoTimeout |
|
22 #include <hblabel.h> |
|
23 #include <hbaction.h> |
|
24 #include <QDebug> |
|
25 |
|
26 #define ESecUiCancelSupported 0x1000000 |
|
27 #define ESecUiCancelNotSupported 0x0000000 |
|
28 |
|
29 #define ESecUiEmergencySupported 0x2000000 |
|
30 #define ESecUiEmergencyNotSupported 0x0000000 |
|
31 |
|
32 // ---------------------------------------------------------------------------- |
|
33 // SecUiNotificationDialog::SecUiNotificationDialog() |
|
34 // ---------------------------------------------------------------------------- |
|
35 // |
|
36 SecUiNotificationDialog::SecUiNotificationDialog( |
|
37 const QVariantMap ¶meters) : HbDialog(), mLastError(KNoError) |
|
38 { |
|
39 qDebug() << "SecUiNotificationDialog::SecUiNotificationDialog"; |
|
40 constructDialog(parameters); |
|
41 } |
|
42 |
|
43 // ---------------------------------------------------------------------------- |
|
44 // SecUiNotificationDialog::~SecUiNotificationDialog() |
|
45 // ---------------------------------------------------------------------------- |
|
46 // |
|
47 SecUiNotificationDialog::~SecUiNotificationDialog() |
|
48 { |
|
49 } |
|
50 |
|
51 // ---------------------------------------------------------------------------- |
|
52 // SecUiNotificationDialog::setDeviceDialogParameters() |
|
53 // ---------------------------------------------------------------------------- |
|
54 // |
|
55 bool SecUiNotificationDialog::setDeviceDialogParameters(const QVariantMap ¶meters) |
|
56 { |
|
57 qDebug() << "SecUiNotificationDialog::setDeviceDialogParameters"; |
|
58 return constructDialog(parameters); |
|
59 } |
|
60 |
|
61 // ---------------------------------------------------------------------------- |
|
62 // SecUiNotificationDialog::deviceDialogError() |
|
63 // ---------------------------------------------------------------------------- |
|
64 // |
|
65 int SecUiNotificationDialog::deviceDialogError() const |
|
66 { |
|
67 qDebug() << "SecUiNotificationDialog::deviceDialogError"; |
|
68 qDebug() << mLastError; |
|
69 return mLastError; |
|
70 } |
|
71 |
|
72 // ---------------------------------------------------------------------------- |
|
73 // SecUiNotificationDialog::closeDeviceDialog |
|
74 // ---------------------------------------------------------------------------- |
|
75 // |
|
76 void SecUiNotificationDialog::closeDeviceDialog(bool byClient) |
|
77 { |
|
78 Q_UNUSED(byClient); |
|
79 close(); |
|
80 qDebug() << "SecUiNotificationDialog::closeDeviceDialog"; |
|
81 |
|
82 // If show event has been received, close is signalled from hide event. |
|
83 // If not, hide event does not come and close is signalled from here. |
|
84 if (!mShowEventReceived) { |
|
85 emit deviceDialogClosed(); |
|
86 } |
|
87 } |
|
88 |
|
89 // ---------------------------------------------------------------------------- |
|
90 // SecUiNotificationDialog::deviceDialogWidget |
|
91 // ---------------------------------------------------------------------------- |
|
92 // |
|
93 HbDialog *SecUiNotificationDialog::deviceDialogWidget() const |
|
94 { |
|
95 return const_cast<SecUiNotificationDialog*>(this); |
|
96 } |
|
97 |
|
98 // ---------------------------------------------------------------------------- |
|
99 // SecUiNotificationDialog::hideEvent |
|
100 // ---------------------------------------------------------------------------- |
|
101 // |
|
102 void SecUiNotificationDialog::hideEvent(QHideEvent *event) |
|
103 { |
|
104 qDebug() << "SecUiNotificationDialog::hideEvent"; |
|
105 HbDialog::hideEvent(event); |
|
106 emit deviceDialogClosed(); |
|
107 } |
|
108 |
|
109 // ---------------------------------------------------------------------------- |
|
110 // SecUiNotificationDialog::showEvent |
|
111 // ---------------------------------------------------------------------------- |
|
112 // |
|
113 void SecUiNotificationDialog::showEvent(QShowEvent *event) |
|
114 { |
|
115 qDebug() << "SecUiNotificationDialog::showEvent"; |
|
116 HbDialog::showEvent(event); |
|
117 mShowEventReceived = true; |
|
118 } |
|
119 |
|
120 // ---------------------------------------------------------------------------- |
|
121 // SecUiNotificationDialog::constructDialog() |
|
122 // ---------------------------------------------------------------------------- |
|
123 // |
|
124 bool SecUiNotificationDialog::constructDialog(const QVariantMap ¶meters) |
|
125 { |
|
126 qDebug() << "SecUiNotificationDialog::constructDialog"; |
|
127 setTimeout(HbPopup::NoTimeout); |
|
128 setDismissPolicy(HbPopup::NoDismiss); |
|
129 setModal(true); |
|
130 |
|
131 // Title |
|
132 if (parameters.contains(KDialogTitle)) { |
|
133 QString titleText = parameters.value(KDialogTitle).toString(); |
|
134 HbLabel *title = new HbLabel(titleText); |
|
135 setHeadingWidget(title); |
|
136 } |
|
137 |
|
138 // Content |
|
139 SecUiNotificationContentWidget *content = new SecUiNotificationContentWidget(); |
|
140 content->constructFromParameters(parameters); |
|
141 setContentWidget(content); |
|
142 connect(content, SIGNAL(codeTopChanged(const QString &)), this, SLOT(handleCodeTopChanged(const QString &))); |
|
143 connect(content, SIGNAL(but1Changed()), this, SLOT(handlebut1Changed())); |
|
144 connect(content, SIGNAL(but2Changed()), this, SLOT(handlebut2Changed())); |
|
145 connect(content, SIGNAL(but3Changed()), this, SLOT(handlebut3Changed())); |
|
146 codeTop = content->codeTop; |
|
147 queryType = content->queryType; |
|
148 qDebug() << "SecUiNotificationDialog::queryType="; |
|
149 qDebug() << queryType; |
|
150 // Buttons |
|
151 okAction = new HbAction(tr("Ok")); // qtTrId("txt_common_button_ok") |
|
152 setPrimaryAction(okAction); |
|
153 connect(okAction, SIGNAL(triggered()), this, SLOT(handleAccepted())); |
|
154 cancelAction = new HbAction(tr("Cancel")); // qtTrId("txt_common_button_cancel") |
|
155 connect(cancelAction, SIGNAL(triggered()), this, SLOT(handleCancelled())); |
|
156 setSecondaryAction(cancelAction); |
|
157 |
|
158 qDebug() << "SecUiNotificationDialog check Cancel"; |
|
159 if (queryType & ESecUiCancelSupported) |
|
160 { |
|
161 // nothing to do. Cancel is enabled by default |
|
162 } |
|
163 else |
|
164 { |
|
165 qDebug() << "disable Cancel"; |
|
166 cancelAction->setEnabled(false); |
|
167 } |
|
168 |
|
169 return true; |
|
170 } |
|
171 |
|
172 // ---------------------------------------------------------------------------- |
|
173 // SecUiNotificationDialog::sendResult() |
|
174 // ---------------------------------------------------------------------------- |
|
175 // |
|
176 void SecUiNotificationDialog::sendResult(bool accepted) |
|
177 { |
|
178 qDebug() << "SecUiNotificationDialog::sendResult 1.2"; |
|
179 QVariant acceptedValue(accepted); |
|
180 qDebug() << "SecUiNotificationDialog::sendResult 2"; |
|
181 mResultMap.insert(KResultAccepted, acceptedValue); |
|
182 qDebug() << "SecUiNotificationDialog::sendResult 3"; |
|
183 qDebug() << mResultMap; |
|
184 emit deviceDialogData(mResultMap); |
|
185 qDebug() << "SecUiNotificationDialog::sendResult end"; |
|
186 } |
|
187 |
|
188 // ---------------------------------------------------------------------------- |
|
189 // SecUiNotificationDialog::handleAccepted() |
|
190 // ---------------------------------------------------------------------------- |
|
191 // |
|
192 void SecUiNotificationDialog::handleAccepted() |
|
193 { |
|
194 qDebug() << "SecUiNotificationDialog::handleAccepted"; |
|
195 // okAction |
|
196 QString codeTopText = codeTop->text(); |
|
197 qDebug() << "codeTopText"; |
|
198 qDebug() << codeTopText; |
|
199 if(!codeTopText.compare("1234111")) |
|
200 { |
|
201 qDebug() << "codeTopText is 1234111. Not exit"; |
|
202 return; |
|
203 } |
|
204 sendResult(true); |
|
205 } |
|
206 |
|
207 // ---------------------------------------------------------------------------- |
|
208 // SecUiNotificationDialog::handleCancelled() |
|
209 // ---------------------------------------------------------------------------- |
|
210 // |
|
211 void SecUiNotificationDialog::handleCancelled() |
|
212 { |
|
213 qDebug() << "SecUiNotificationDialog::handleCancelled"; |
|
214 sendResult(false); |
|
215 } |
|
216 |
|
217 // ---------------------------------------------------------------------------- |
|
218 // SecUiNotificationDialog::handleMemorySelectionChanged() |
|
219 // ---------------------------------------------------------------------------- |
|
220 // |
|
221 void SecUiNotificationDialog::handleMemorySelectionChanged(const QString &text) |
|
222 { |
|
223 qDebug() << "SecUiNotificationDialog::handleMemorySelectionChanged"; |
|
224 qDebug() << text; |
|
225 QVariant memorySelection(text); |
|
226 mResultMap.insert(KSelectedMemoryIndex, memorySelection); |
|
227 //TODO: do we need emit here, or would it be better to send all data at the end? |
|
228 //emit deviceDialogData(mResultMap); |
|
229 } |
|
230 |
|
231 // ---------------------------------------------------------------------------- |
|
232 // SecUiNotificationDialog::handleCodeTopChanged() |
|
233 // ---------------------------------------------------------------------------- |
|
234 // |
|
235 void SecUiNotificationDialog::handleCodeTopChanged(const QString &text) |
|
236 { |
|
237 qDebug() << "SecUiNotificationDialog::handleCodeTopChanged"; |
|
238 qDebug() << "SecUiNotificationDialog::handleCodeTopChanged" << text ; |
|
239 QVariant codeTop(text); |
|
240 mResultMap.insert(KCodeTopIndex, codeTop); |
|
241 } |
|
242 // ---------------------------------------------------------------------------- |
|
243 // SecUiNotificationDialog::handlebut1Changed() |
|
244 // ---------------------------------------------------------------------------- |
|
245 // |
|
246 void SecUiNotificationDialog::handlebut1Changed() |
|
247 { |
|
248 qDebug() << "SecUiNotificationDialog::handlebut1Changed"; |
|
249 codeTop->setText("1234"); |
|
250 } |
|
251 // ---------------------------------------------------------------------------- |
|
252 // SecUiNotificationDialog::handlebut2Changed() |
|
253 // ---------------------------------------------------------------------------- |
|
254 // |
|
255 void SecUiNotificationDialog::handlebut2Changed() |
|
256 { |
|
257 qDebug() << "SecUiNotificationDialog::handlebut2Changed"; |
|
258 QString codeTopText = codeTop->text(); |
|
259 qDebug() << "codeTopText"; |
|
260 qDebug() << codeTopText; |
|
261 codeTopText = codeTopText + "1" ; |
|
262 qDebug() << "codeTopText+1"; |
|
263 qDebug() << codeTopText; |
|
264 codeTop->setText(codeTopText); |
|
265 } |
|
266 // ---------------------------------------------------------------------------- |
|
267 // SecUiNotificationDialog::handlebut3Changed() |
|
268 // ---------------------------------------------------------------------------- |
|
269 // |
|
270 void SecUiNotificationDialog::handlebut3Changed() |
|
271 { |
|
272 qDebug() << "SecUiNotificationDialog::handlebut3Changed"; |
|
273 QString codeTopText = codeTop->text(); |
|
274 qDebug() << "codeTopText"; |
|
275 qDebug() << codeTopText; |
|
276 codeTopText = codeTopText + "5" ; |
|
277 qDebug() << "codeTopText+5"; |
|
278 qDebug() << codeTopText; |
|
279 codeTop->setText(codeTopText); |
|
280 } |
|
281 |
|
282 // ---------------------------------------------------------------------------- |
|
283 // SecUiNotificationDialog::saveFocusWidget(QWidget*,QWidget*) |
|
284 // ---------------------------------------------------------------------------- |
|
285 // |
|
286 void SecUiNotificationDialog::saveFocusWidget(QWidget*,QWidget*) |
|
287 { |
|
288 qDebug() << "SecUiNotificationDialog::saveFocusWidget"; |
|
289 } |