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