|
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: This implements the custom dialog for positioning verification dialogs |
|
15 * |
|
16 */ |
|
17 |
|
18 #include "posverificationcustomdialog.h" |
|
19 #include "customdocumentloader.h" |
|
20 |
|
21 #include <QtDebug> |
|
22 #include <qgraphicsgridlayout.h> |
|
23 #include <qsizepolicy.h> |
|
24 |
|
25 //--------------------------------------------------------------- |
|
26 //PosVerificationCustomDialog::PosVerificationCustomDialog |
|
27 //--------------------------------------------------------------- |
|
28 PosVerificationCustomDialog::PosVerificationCustomDialog() : |
|
29 mHeadingLabel(NULL), mPrimaryAction(NULL), mQueryText(NULL), mQueryText2( |
|
30 NULL), mRequestorList(NULL), mRequestorListItems(NULL), |
|
31 mSecondryAction(NULL) |
|
32 { |
|
33 qDebug() << "PosVerificationCustomDialog::PosVerificationCustomDialog()"; |
|
34 } |
|
35 |
|
36 //--------------------------------------------------------------- |
|
37 //PosVerificationCustomDialog::~PosVerificationCustomDialog |
|
38 //--------------------------------------------------------------- |
|
39 PosVerificationCustomDialog::~PosVerificationCustomDialog() |
|
40 { |
|
41 qDebug() |
|
42 << "+PosVerificationCustomDialog::~PosVerificationCustomDialog()"; |
|
43 /* |
|
44 delete mHeadingLabel; |
|
45 mHeadingLabel = NULL; |
|
46 |
|
47 delete mPrimaryAction; |
|
48 mPrimaryAction = NULL; |
|
49 |
|
50 delete mQueryText; |
|
51 mQueryText = NULL; |
|
52 |
|
53 mRequestorListItems.clear(); |
|
54 |
|
55 delete mRequestorList; |
|
56 mRequestorList = NULL; |
|
57 |
|
58 delete mSecondryAction; |
|
59 mSecondryAction = NULL; |
|
60 */ |
|
61 delete mQueryText2; |
|
62 mQueryText2 = NULL; |
|
63 |
|
64 qDebug() |
|
65 << "-PosVerificationCustomDialog::~PosVerificationCustomDialog()"; |
|
66 } |
|
67 |
|
68 //--------------------------------------------------------------- |
|
69 //PosVerificationCustomDialog::setProperties |
|
70 // Set properties |
|
71 //--------------------------------------------------------------- |
|
72 |
|
73 bool PosVerificationCustomDialog::setProperties(const QVariantMap& parameters) |
|
74 { |
|
75 qDebug() << "+PosVerificationCustomDialog::setProperties()"; |
|
76 QVariantMap::const_iterator i = parameters.constBegin(); |
|
77 while (i != parameters.constEnd()) |
|
78 { |
|
79 QByteArray key = i.key().toAscii(); |
|
80 qDebug() << "-PosVerificationCustomDialog::setProperties(): Key is " |
|
81 << key; |
|
82 qDebug() << "-PosVerificationCustomDialog::setProperties(): data is " |
|
83 << key.constData(); |
|
84 //check for the validity of the data |
|
85 if (property(key.constData()).isValid()) |
|
86 { |
|
87 //sets the property values |
|
88 setProperty(key.constData(), i.value()); |
|
89 } |
|
90 else |
|
91 { |
|
92 qDebug() |
|
93 << "-PosVerificationCustomDialog::setProperties(): value - false"; |
|
94 return false; |
|
95 } |
|
96 ++i; |
|
97 } |
|
98 qDebug() << "-PosVerificationCustomDialog::setProperties()"; |
|
99 return true; |
|
100 } |
|
101 |
|
102 //--------------------------------------------------------------- |
|
103 //PosVerificationCustomDialog::setDeviceDialogParameters |
|
104 //--------------------------------------------------------------- |
|
105 bool PosVerificationCustomDialog::setDeviceDialogParameters( |
|
106 const QVariantMap ¶meters) |
|
107 { |
|
108 qDebug() << "+PosVerificationCustomDialog::setDeviceDialogParameters()"; |
|
109 setModal(true); |
|
110 setTimeout(HbPopup::NoTimeout); |
|
111 qDebug() << "-PosVerificationCustomDialog::setDeviceDialogParameters()"; |
|
112 return setProperties(parameters); |
|
113 } |
|
114 |
|
115 //--------------------------------------------------------------- |
|
116 //PosVerificationCustomDialog::deviceDialogError |
|
117 //--------------------------------------------------------------- |
|
118 int PosVerificationCustomDialog::deviceDialogError() const |
|
119 { |
|
120 qDebug() << "PosVerificationCustomDialog::deviceDialogError()"; |
|
121 return 0; |
|
122 } |
|
123 |
|
124 //--------------------------------------------------------------- |
|
125 //PosVerificationCustomDialog::closeDeviceDialog |
|
126 //--------------------------------------------------------------- |
|
127 void PosVerificationCustomDialog::closeDeviceDialog(bool byClient) |
|
128 { |
|
129 qDebug() << "+PosVerificationCustomDialog::closeDeviceDialog()"; |
|
130 Q_UNUSED(byClient); |
|
131 close(); |
|
132 emit |
|
133 deviceDialogClosed(); |
|
134 qDebug() << "-PosVerificationCustomDialog::closeDeviceDialog()"; |
|
135 } |
|
136 |
|
137 //--------------------------------------------------------------- |
|
138 //PosVerificationCustomDialog::deviceDialogWidget |
|
139 //--------------------------------------------------------------- |
|
140 HbPopup* PosVerificationCustomDialog::deviceDialogWidget() const |
|
141 { |
|
142 qDebug() << "PosVerificationCustomDialog::deviceDialogWidget()"; |
|
143 return const_cast<PosVerificationCustomDialog*> (this); |
|
144 } |
|
145 |
|
146 //--------------------------------------------------------------- |
|
147 //PosVerificationCustomDialog::setHeading |
|
148 //--------------------------------------------------------------- |
|
149 void PosVerificationCustomDialog::setHeading(QString& heading) |
|
150 { |
|
151 qDebug() << "+PosVerificationCustomDialog::setHeading()" << heading; |
|
152 mHeadingLabel->setPlainText(heading); |
|
153 qDebug() << "-PosVerificationCustomDialog::setHeading()"; |
|
154 } |
|
155 |
|
156 //--------------------------------------------------------------- |
|
157 //PosVerificationCustomDialog::getHeading |
|
158 //--------------------------------------------------------------- |
|
159 QString PosVerificationCustomDialog::getHeading() |
|
160 { |
|
161 qDebug() << "PosVerificationCustomDialog::getHeading()"; |
|
162 return mHeadingLabel->plainText(); |
|
163 } |
|
164 |
|
165 //--------------------------------------------------------------- |
|
166 //PosVerificationCustomDialog::setQueryText |
|
167 //--------------------------------------------------------------- |
|
168 void PosVerificationCustomDialog::setQueryText(QString& textQuery) |
|
169 { |
|
170 qDebug() << "+PosVerificationCustomDialog::setQueryText()" << textQuery; |
|
171 mQueryText->setPlainText(textQuery); |
|
172 qDebug() << "-PosVerificationCustomDialog::setQueryText()"; |
|
173 } |
|
174 //--------------------------------------------------------------- |
|
175 //PosVerificationCustomDialog::getQueryText |
|
176 //--------------------------------------------------------------- |
|
177 QString PosVerificationCustomDialog::getQueryText() |
|
178 { |
|
179 qDebug() << "PosVerificationCustomDialog::getQueryText()"; |
|
180 return mQueryText->plainText(); |
|
181 } |
|
182 //--------------------------------------------------------------- |
|
183 //PosVerificationCustomDialog::setQueryText2 |
|
184 //--------------------------------------------------------------- |
|
185 void PosVerificationCustomDialog::setQueryText2(QString& textQuery) |
|
186 { |
|
187 qDebug() << "+PosVerificationCustomDialog::setQueryText2()" << textQuery; |
|
188 mQueryText2 = new HbLabel(); |
|
189 if (mQueryText2) |
|
190 { |
|
191 mQueryText2->clear(); |
|
192 mQueryText2->setPlainText(textQuery); |
|
193 mQueryText2->setFontSpec(HbFontSpec(HbFontSpec::Primary)); |
|
194 } |
|
195 qDebug() << "-PosVerificationCustomDialog::setQueryText2()"; |
|
196 } |
|
197 //--------------------------------------------------------------- |
|
198 //PosVerificationCustomDialog::getQueryText2 |
|
199 //--------------------------------------------------------------- |
|
200 QString PosVerificationCustomDialog::getQueryText2() |
|
201 { |
|
202 qDebug() << "PosVerificationCustomDialog::getQueryText2()"; |
|
203 if (mQueryText2) |
|
204 { |
|
205 return mQueryText2->plainText(); |
|
206 } |
|
207 return ""; |
|
208 } |
|
209 //--------------------------------------------------------------- |
|
210 //PosVerificationCustomDialog::getWidgets |
|
211 //--------------------------------------------------------------- |
|
212 void PosVerificationCustomDialog::getWidgets( |
|
213 const CustomDocumentLoader &loader) |
|
214 { |
|
215 qDebug() << "+PosVerificationCustomDialog::getWidgets()"; |
|
216 |
|
217 mHeadingLabel = qobject_cast<HbLabel*> (loader.findWidget("heading")); |
|
218 Q_ASSERT_X((mHeadingLabel != 0), "PosVerificationCustomDialog", "invalid DocML file"); |
|
219 |
|
220 mQueryText = qobject_cast<HbLabel*> (loader.findWidget("queryText_1")); |
|
221 Q_ASSERT_X((mQueryText != 0), "PosVerificationCustomDialog", "invalid DocML file"); |
|
222 |
|
223 mRequestorList |
|
224 = qobject_cast<HbWidget*> (loader.findWidget("requestors")); |
|
225 Q_ASSERT_X((mRequestorList != 0), "PosVerificationCustomDialog", "invalid DocML file"); |
|
226 |
|
227 mPrimaryAction = qobject_cast<HbAction*> (loader.findObject( |
|
228 "qtl_dialog_softkey_2_left")); |
|
229 Q_ASSERT_X((mPrimaryAction != 0), "PosVerificationCustomDialog", "invalid DocML file"); |
|
230 QObject::connect(mPrimaryAction, SIGNAL(triggered()), this, |
|
231 SLOT(posVerificationdlgAccepted())); |
|
232 |
|
233 mSecondryAction = qobject_cast<HbAction*> (loader.findObject( |
|
234 "qtl_dialog_softkey_2_right")); |
|
235 Q_ASSERT_X((mSecondryAction != 0), "PosVerificationCustomDialog", "invalid DocML file"); |
|
236 |
|
237 QObject::connect(mSecondryAction, SIGNAL(triggered()), this, |
|
238 SLOT(posVerificationdlgRejected())); |
|
239 qDebug() << "-PosVerificationCustomDialog::getWidgets()"; |
|
240 } |
|
241 //--------------------------------------------------------------- |
|
242 //PosVerificationCustomDialog::setRequestor |
|
243 //--------------------------------------------------------------- |
|
244 void PosVerificationCustomDialog::setRequestor(QStringList& requestorList) |
|
245 { |
|
246 qDebug() << "+PosVerificationCustomDialog::setRequestor()"; |
|
247 int rowadd = 1; |
|
248 mRequestorListItems = requestorList; |
|
249 QGraphicsGridLayout *layout = new QGraphicsGridLayout; |
|
250 if (!layout) |
|
251 { |
|
252 qDebug() << "setRequestor(): Creating layout failed"; |
|
253 return; |
|
254 } |
|
255 |
|
256 qreal margin = 0; |
|
257 qreal leftmargin = 0; |
|
258 style()->parameter("hb-param-margin-gene-middle-vertical", margin); |
|
259 style()->parameter("hb-param-margin-gene-popup", leftmargin); |
|
260 QSizePolicy policy; |
|
261 policy.setHorizontalPolicy(QSizePolicy::Preferred); |
|
262 policy.setVerticalPolicy(QSizePolicy::Ignored); |
|
263 if (mQueryText2) |
|
264 { |
|
265 mQueryText2->setSizePolicy(policy); |
|
266 mQueryText2->setAlignment(Qt::AlignTop); |
|
267 layout->addItem(mQueryText2, 1, 0); |
|
268 layout->setRowSpacing(1, margin); |
|
269 layout->setContentsMargins(leftmargin, 0, 0, 0); |
|
270 rowadd = 2; |
|
271 } |
|
272 |
|
273 QStringList::const_iterator iterator; |
|
274 for (iterator = requestorList.begin(); iterator != requestorList.end(); ++iterator) |
|
275 { |
|
276 int i = iterator - requestorList.begin(); |
|
277 HbLabel * requestorName = new HbLabel(); |
|
278 if (requestorName) |
|
279 { |
|
280 qDebug() << "setRequestor()" << *iterator; |
|
281 requestorName->setFontSpec(HbFontSpec(HbFontSpec::Secondary)); |
|
282 requestorName->setPlainText(*iterator); |
|
283 requestorName->setSizePolicy(policy); |
|
284 requestorName->setAlignment(Qt::AlignTop); |
|
285 |
|
286 layout->addItem(requestorName, i + rowadd, 0); |
|
287 layout->setRowSpacing(i + rowadd, margin); |
|
288 layout->setContentsMargins(leftmargin, 0, 0, 0); |
|
289 } |
|
290 } |
|
291 mRequestorList->setSizePolicy(policy); |
|
292 mRequestorList->setLayout(layout); |
|
293 qDebug() << "-PosVerificationCustomDialog::setRequestor()"; |
|
294 } |
|
295 |
|
296 //--------------------------------------------------------------- |
|
297 //PosVerificationCustomDialog::getRequestor |
|
298 //--------------------------------------------------------------- |
|
299 QStringList PosVerificationCustomDialog::getRequestor() |
|
300 { |
|
301 qDebug() << "PosVerificationCustomDialog::getRequestor()"; |
|
302 return mRequestorListItems; |
|
303 } |
|
304 //--------------------------------------------------------------- |
|
305 //PosVerificationCustomDialog::posVerificationdlgAccepted |
|
306 //--------------------------------------------------------------- |
|
307 void PosVerificationCustomDialog::posVerificationdlgAccepted() |
|
308 { |
|
309 qDebug() << "+PosVerificationCustomDialog::posVerificationdlgAccepted()"; |
|
310 emit |
|
311 deviceDialogClosed(); |
|
312 qDebug() << "-PosVerificationCustomDialog::posVerificationdlgAccepted()"; |
|
313 } |
|
314 //--------------------------------------------------------------- |
|
315 //PosVerificationCustomDialog::posVerificationdlgRejected |
|
316 //--------------------------------------------------------------- |
|
317 void PosVerificationCustomDialog::posVerificationdlgRejected() |
|
318 { |
|
319 qDebug() << "+PosVerificationCustomDialog::posVerificationdlgRejected()"; |
|
320 QVariantMap *data = new QVariantMap(); |
|
321 QVariant value(-21); |
|
322 if (data) |
|
323 { |
|
324 data->insert("errorCode", value); |
|
325 emit |
|
326 deviceDialogData(*data); |
|
327 } |
|
328 //data is currently not being used in the client side |
|
329 emit |
|
330 deviceDialogClosed(); |
|
331 delete data; |
|
332 qDebug() << "-PosVerificationCustomDialog::posVerificationdlgRejected()"; |
|
333 } |
|
334 |
|
335 // End of File |
|
336 |