33 #include <QtDebug> |
33 #include <QtDebug> |
34 #include <hbcheckbox.h> |
34 #include <hbcheckbox.h> |
35 #include <hbaction.h> |
35 #include <hbaction.h> |
36 |
36 |
37 HbSelectionDialogContentWidget::HbSelectionDialogContentWidget(HbSelectionDialogPrivate *priv):HbWidget(), |
37 HbSelectionDialogContentWidget::HbSelectionDialogContentWidget(HbSelectionDialogPrivate *priv):HbWidget(), |
38 mListWidget(0),d(priv),chkMark(0),lbCounter(0) |
38 mListView(0),d(priv),chkMark(0),lbCounter(0),markWidgetShown(false) |
39 { |
39 { |
40 mListWidget = new HbListWidget(this); |
40 |
41 HbStyle::setItemName(mListWidget, "list"); |
41 } |
42 QObject::connect(mListWidget,SIGNAL(activated(const QModelIndex&)),this,SLOT(_q_listItemSelected(QModelIndex))); |
|
43 QObject::connect(mListWidget,SIGNAL(activated(HbListWidgetItem *)),this,SLOT(_q_listWidgetItemSelected(HbListWidgetItem *))); |
|
44 } |
|
45 |
|
46 void HbSelectionDialogContentWidget::_q_listWidgetItemSelected(HbListWidgetItem *item) |
42 void HbSelectionDialogContentWidget::_q_listWidgetItemSelected(HbListWidgetItem *item) |
47 { |
43 { |
48 if(item){ |
44 Q_UNUSED(item) |
49 updateCounter(); |
|
50 } |
|
51 } |
45 } |
52 |
46 |
53 void HbSelectionDialogContentWidget::_q_listItemSelected(QModelIndex index) |
47 void HbSelectionDialogContentWidget::_q_listItemSelected(QModelIndex index) |
54 { |
48 { |
55 Q_UNUSED(index) |
49 Q_UNUSED(index) |
56 if(mListWidget->selectionMode()== HbAbstractItemView::SingleSelection || |
50 if(mListView->selectionMode()== HbAbstractItemView::SingleSelection){ |
57 mListWidget->selectionMode()== HbAbstractItemView::NoSelection){ |
51 d->close(); |
58 d->close(); |
|
59 } |
52 } |
60 updateCounter(); |
53 updateCounter(); |
61 } |
54 } |
62 |
55 |
63 int HbSelectionDialogContentWidget::selectedItemCount() const |
56 int HbSelectionDialogContentWidget::selectedItemCount() const |
64 { |
57 { |
65 int selectedItems = 0; |
58 int selectedItems = 0; |
66 QItemSelectionModel* selectionModel = mListWidget->selectionModel(); |
59 if(mListView){ |
67 if(selectionModel){ |
60 QItemSelectionModel* selectionModel = mListView->selectionModel(); |
68 selectedItems = selectionModel->selectedRows().count(); |
61 if(selectionModel){ |
69 } |
62 selectedItems = selectionModel->selectedRows().count(); |
|
63 } |
|
64 } |
70 return selectedItems; |
65 return selectedItems; |
71 } |
66 } |
72 |
67 |
73 int HbSelectionDialogContentWidget::totalItemCount() const |
68 int HbSelectionDialogContentWidget::totalItemCount() const |
74 { |
69 { |
75 return mListWidget->count(); |
70 int nCount = 0; |
|
71 if(mListView && mListView->model()){ |
|
72 nCount = mListView->model()->rowCount(); |
|
73 } |
|
74 return nCount; |
76 } |
75 } |
77 |
76 |
78 void HbSelectionDialogContentWidget::updateCounter() |
77 void HbSelectionDialogContentWidget::updateCounter() |
79 { |
78 { |
80 if(mListWidget->selectionMode()!= HbAbstractItemView::MultiSelection) return; |
79 if(!mListView) return; |
|
80 if(mListView->selectionMode()!= HbAbstractItemView::MultiSelection) return; |
81 if(chkMark && lbCounter){ |
81 if(chkMark && lbCounter){ |
82 int totalItems = totalItemCount(); |
82 int totalItems = totalItemCount(); |
83 int selectedItems = selectedItemCount(); |
83 int selectedItems = selectedItemCount(); |
84 |
84 |
85 lbCounter->setText(QString(QString::number(selectedItems) + "/" + QString::number(totalItems))); |
85 lbCounter->setText(QString(QString::number(selectedItems) + "/" + QString::number(totalItems))); |
99 |
99 |
100 void HbSelectionDialogContentWidget::_q_checkboxclicked(int value) |
100 void HbSelectionDialogContentWidget::_q_checkboxclicked(int value) |
101 { |
101 { |
102 int totalItems = 0; |
102 int totalItems = 0; |
103 int selectedItems = 0; |
103 int selectedItems = 0; |
104 QAbstractItemModel* itemModel = mListWidget->model(); |
104 QAbstractItemModel* itemModel = mListView->model(); |
105 QModelIndex indexStart,indexEnd; |
105 QModelIndex indexStart,indexEnd; |
106 if(itemModel){ |
106 if(itemModel){ |
107 indexStart = itemModel->index(0,0); |
107 indexStart = itemModel->index(0,0); |
108 indexEnd = itemModel->index(itemModel->rowCount()-1,0); |
108 indexEnd = itemModel->index(itemModel->rowCount()-1,0); |
109 totalItems = itemModel->rowCount(); |
109 totalItems = itemModel->rowCount(); |
110 Q_UNUSED( totalItems ); // todo: remove totalItems if not needed |
110 } |
111 } |
111 |
112 |
112 QItemSelectionModel* selectionModel = mListView->selectionModel(); |
113 QItemSelectionModel* selectionModel = mListWidget->selectionModel(); |
|
114 if(selectionModel){ |
113 if(selectionModel){ |
115 selectedItems = selectionModel->selectedRows().count(); |
114 selectedItems = selectionModel->selectedRows().count(); |
116 Q_UNUSED( selectedItems ); // todo: remove selectedItems if not needed |
|
117 if(value){ //Select All |
115 if(value){ //Select All |
118 selectionModel->select(QItemSelection(indexStart,indexEnd),QItemSelectionModel::Select); |
116 selectionModel->select(QItemSelection(indexStart,indexEnd),QItemSelectionModel::Select); |
119 } |
117 } |
120 else{ //Select None |
118 else{ //Select None |
121 selectionModel->clear(); |
119 selectionModel->clear(); |
124 updateCounter(); |
122 updateCounter(); |
125 } |
123 } |
126 |
124 |
127 void HbSelectionDialogContentWidget::showMarkWidget(bool bShow) |
125 void HbSelectionDialogContentWidget::showMarkWidget(bool bShow) |
128 { |
126 { |
129 if(bShow){ |
127 if(bShow){ |
|
128 if(!markWidgetShown){ |
130 chkMark = new HbCheckBox(this); |
129 chkMark = new HbCheckBox(this); |
131 chkMark->setText("Mark All"); |
130 chkMark->setText("Mark All"); |
132 lbCounter = new HbTextItem(this); |
131 lbCounter = new HbTextItem(this); |
133 HbStyle::setItemName(chkMark,"checkbox"); |
132 HbStyle::setItemName(chkMark,"checkbox"); |
134 HbStyle::setItemName(lbCounter,"counter"); |
133 HbStyle::setItemName(lbCounter,"counter"); |
135 setProperty("multiSelection",true); |
134 setProperty("multiSelection",true); |
136 connect(chkMark,SIGNAL(stateChanged ( int )),this,SLOT(_q_checkboxclicked(int))); |
135 connect(chkMark,SIGNAL(stateChanged ( int )),this,SLOT(_q_checkboxclicked(int))); |
137 updateCounter(); |
136 updateCounter(); |
|
137 markWidgetShown = true; |
|
138 } |
138 } |
139 } |
139 else{ |
140 else{ |
140 delete chkMark;chkMark=0; |
141 delete chkMark;chkMark=0; |
141 delete lbCounter;lbCounter=0; |
142 delete lbCounter;lbCounter=0; |
142 HbStyle::setItemName(chkMark,""); |
143 HbStyle::setItemName(chkMark,""); |
143 HbStyle::setItemName(lbCounter,""); |
144 HbStyle::setItemName(lbCounter,""); |
144 setProperty("multiSelection",false); |
145 setProperty("multiSelection",false); |
145 } |
146 markWidgetShown = false; |
|
147 } |
|
148 } |
|
149 |
|
150 void HbSelectionDialogContentWidget::connectSlots() |
|
151 { |
|
152 QObject::connect(mListView,SIGNAL(activated(const QModelIndex&)),this,SLOT(_q_listItemSelected(QModelIndex))); |
|
153 } |
|
154 |
|
155 void HbSelectionDialogContentWidget::createListWidget() |
|
156 { |
|
157 if(mListView){ |
|
158 HbListWidget* mView = qobject_cast<HbListWidget*>(mListView); |
|
159 if(!mView){ |
|
160 delete mListView; |
|
161 mListView = new HbListWidget(this); |
|
162 HbStyle::setItemName(mListView, "list"); |
|
163 connectSlots(); |
|
164 } |
|
165 } |
|
166 else{ |
|
167 mListView = new HbListWidget(this); |
|
168 HbStyle::setItemName(mListView, "list"); |
|
169 connectSlots(); |
|
170 } |
|
171 } |
|
172 |
|
173 void HbSelectionDialogContentWidget::createListView() |
|
174 { |
|
175 if(mListView){ |
|
176 HbListView* mView = qobject_cast<HbListView*>(mListView); |
|
177 if(!mView){ |
|
178 delete mListView; |
|
179 mListView = new HbListView(this); |
|
180 HbStyle::setItemName(mListView, "list"); |
|
181 connectSlots(); |
|
182 } |
|
183 } |
|
184 else{ |
|
185 mListView = new HbListView(this); |
|
186 HbStyle::setItemName(mListView, "list"); |
|
187 connectSlots(); |
|
188 } |
146 } |
189 } |
147 |
190 |
148 HbSelectionDialogPrivate::HbSelectionDialogPrivate() |
191 HbSelectionDialogPrivate::HbSelectionDialogPrivate() |
149 :HbDialogPrivate() |
192 :HbDialogPrivate() |
150 { |
193 { |
151 bOwnItems = false; |
194 bOwnItems = false; |
152 } |
195 } |
153 |
196 |
154 HbSelectionDialogPrivate::~HbSelectionDialogPrivate() |
197 HbSelectionDialogPrivate::~HbSelectionDialogPrivate() |
155 { |
198 { |
156 if(!bOwnItems){ |
199 clearItems(bOwnItems); |
157 Q_Q(HbSelectionDialog); |
|
158 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
|
159 if(cWidget){ |
|
160 if(cWidget->mListWidget){ |
|
161 int nRows = 0; |
|
162 QAbstractItemModel* itemModel = cWidget->mListWidget->model(); |
|
163 if(itemModel){ |
|
164 nRows = itemModel->rowCount(); |
|
165 while(nRows){ |
|
166 cWidget->mListWidget->takeItem(0); |
|
167 nRows = itemModel->rowCount(); |
|
168 } |
|
169 } |
|
170 } |
|
171 } |
|
172 } |
|
173 } |
200 } |
174 |
201 |
175 void HbSelectionDialogPrivate::init() |
202 void HbSelectionDialogPrivate::init() |
176 { |
203 { |
177 qDebug()<<" Entering init()"; |
204 qDebug()<<" Entering init()"; |
178 Q_Q(HbSelectionDialog); |
205 Q_Q(HbSelectionDialog); |
179 |
206 |
180 bOwnItems = false; |
207 bOwnItems = false; |
181 |
208 mSelectionMode = HbAbstractItemView::SingleSelection; |
182 HbSelectionDialogContentWidget* contentWidget = new HbSelectionDialogContentWidget(this); |
209 HbSelectionDialogContentWidget* contentWidget = new HbSelectionDialogContentWidget(this); |
183 q->setContentWidget(contentWidget); |
210 q->setContentWidget(contentWidget); |
184 |
211 |
185 q->addAction(new HbAction(q->tr("Ok"), q)); |
212 HbAction *action1=new HbAction(hbTrId("txt_common_button_ok"),q); |
186 |
213 q->addAction(action1); |
187 q->addAction(new HbAction(q->tr("Cancel"), q)); |
214 q->connect(action1,SIGNAL(triggered()),q,SLOT(accept())); |
188 q->setTimeout(0); |
215 |
|
216 HbAction *action2=new HbAction(hbTrId("txt_common_button_cancel"),q); |
|
217 q->addAction(action2); |
|
218 q->connect(action2,SIGNAL(triggered()),q,SLOT(reject())); |
|
219 |
|
220 |
|
221 q->setDismissPolicy(HbPopup::NoDismiss); |
|
222 q->setTimeout(HbPopup::NoTimeout); |
189 q->setModal(true); |
223 q->setModal(true); |
190 } |
224 } |
191 |
225 |
192 void HbSelectionDialogPrivate::setSelectionMode(HbAbstractItemView::SelectionMode mode) |
226 void HbSelectionDialogPrivate::setSelectionMode(HbAbstractItemView::SelectionMode mode) |
193 { |
227 { |
194 Q_Q(HbSelectionDialog); |
228 Q_Q(HbSelectionDialog); |
195 |
229 |
196 mSelectionMode = mode; |
230 mSelectionMode = mode; |
197 switch(mode) |
231 switch(mSelectionMode) |
198 { |
232 { |
199 case HbAbstractItemView::SingleSelection: |
233 case HbAbstractItemView::SingleSelection: |
200 case HbAbstractItemView::MultiSelection: |
234 case HbAbstractItemView::MultiSelection: |
201 case HbAbstractItemView::NoSelection: |
|
202 { |
235 { |
203 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
236 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
204 if(cWidget){ |
237 if(cWidget && cWidget->mListView){ |
205 cWidget->mListWidget->setSelectionMode(mode); |
238 cWidget->mListView->setSelectionMode(mSelectionMode); |
206 } |
239 if(mode == HbAbstractItemView::MultiSelection) |
207 if(mode == HbAbstractItemView::MultiSelection) |
240 cWidget->showMarkWidget(true); |
208 cWidget->showMarkWidget(true); |
241 else |
209 else |
242 cWidget->showMarkWidget(false); |
210 cWidget->showMarkWidget(false); |
243 } |
211 } |
244 } |
212 break; |
245 break; |
213 } |
246 case HbAbstractItemView::NoSelection: |
|
247 break; |
|
248 } |
|
249 } |
|
250 |
|
251 |
|
252 void HbSelectionDialogPrivate::clearItems(bool keepItems) |
|
253 { |
|
254 Q_Q(HbSelectionDialog); |
|
255 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
|
256 if(cWidget){ |
|
257 HbListWidget* mWidget = qobject_cast<HbListWidget*>(cWidget->mListView); |
|
258 if(mWidget){ |
|
259 if(keepItems){ |
|
260 int nRows = 0; |
|
261 QAbstractItemModel* itemModel = mWidget->model(); |
|
262 if(itemModel){ |
|
263 nRows = itemModel->rowCount(); |
|
264 while(nRows){ |
|
265 mWidget->takeItem(0); |
|
266 nRows = itemModel->rowCount(); |
|
267 } |
|
268 } |
|
269 } |
|
270 else{ |
|
271 mWidget->clear(); |
|
272 } |
|
273 bOwnItems = false; |
|
274 return; |
|
275 } |
|
276 HbListView* mView = qobject_cast<HbListView*>(cWidget->mListView); |
|
277 if(mView){ |
|
278 cWidget->mListView->setModel(0); |
|
279 } |
|
280 } |
214 } |
281 } |
215 |
282 |
216 QList<HbListWidgetItem*> HbSelectionDialogPrivate::widgetItems() const |
283 QList<HbListWidgetItem*> HbSelectionDialogPrivate::widgetItems() const |
217 { |
284 { |
218 Q_Q(const HbSelectionDialog); |
285 Q_Q(const HbSelectionDialog); |
219 |
286 |
220 QList<HbListWidgetItem*> rows; |
287 QList<HbListWidgetItem*> rows; |
221 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
288 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
222 if(cWidget){ |
289 if(cWidget){ |
223 HbListWidget* widget = qobject_cast<HbListWidget*>(cWidget->mListWidget); |
290 HbListWidget* widget = qobject_cast<HbListWidget*>(cWidget->mListView); |
224 if(widget){ |
291 if(widget){ |
225 int count = 0; |
292 int count = 0; |
226 QAbstractItemModel* itemModel = widget->model(); |
293 QAbstractItemModel* itemModel = widget->model(); |
227 if(itemModel) |
294 if(itemModel) |
228 count = itemModel->rowCount(); |
295 count = itemModel->rowCount(); |
240 |
307 |
241 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
308 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
242 if(!cWidget) return; |
309 if(!cWidget) return; |
243 |
310 |
244 int nRows = 0; |
311 int nRows = 0; |
245 |
312 cWidget->createListWidget(); |
246 if(cWidget->mListWidget){ |
313 setSelectionMode(mSelectionMode); |
|
314 if(cWidget->mListView){ |
247 int count = items.size(); |
315 int count = items.size(); |
|
316 if(count > 0) clearItems(bOwnItems); //Clear the existing items first |
248 for (int i = 0; i < count; ++i) { |
317 for (int i = 0; i < count; ++i) { |
249 HbListWidgetItem* modelItem = new HbListWidgetItem(); |
318 HbListWidgetItem* modelItem = new HbListWidgetItem(); |
250 QString str = items.at(i); |
319 QString str = items.at(i); |
251 modelItem->setText(str); |
320 modelItem->setText(str); |
252 cWidget->mListWidget->addItem(modelItem); |
321 HbListWidget* widget = (HbListWidget*)cWidget->mListView; |
|
322 widget->addItem(modelItem); |
253 |
323 |
254 QAbstractItemModel* itemModel = cWidget->mListWidget->model(); |
324 QAbstractItemModel* itemModel = cWidget->mListView->model(); |
255 if(itemModel) |
325 if(itemModel) |
256 nRows = itemModel->rowCount(); |
326 nRows = itemModel->rowCount(); |
257 } |
327 } |
258 if(nRows > 0){ //if addition of rows was correct. |
328 if(nRows > 0){ //if addition of rows was correct. |
259 QList<QVariant> currentRow; |
329 QList<QVariant> currentRow; |
282 { |
352 { |
283 Q_Q(HbSelectionDialog); |
353 Q_Q(HbSelectionDialog); |
284 |
354 |
285 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
355 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
286 if(cWidget){ |
356 if(cWidget){ |
287 cWidget->mListWidget->HbListView::setModel(model); //HbListView's implementation of setModel() |
357 cWidget->createListView(); |
|
358 setSelectionMode(mSelectionMode); |
|
359 cWidget->mListView->setModel(model); |
288 } |
360 } |
289 } |
361 } |
290 |
362 |
291 void HbSelectionDialogPrivate::setWidgetItems(const QList<HbListWidgetItem*> &items,bool transferOwnership,int currentIndex) |
363 void HbSelectionDialogPrivate::setWidgetItems(const QList<HbListWidgetItem*> &items,bool transferOwnership,int currentIndex) |
292 { |
364 { |
293 Q_Q(HbSelectionDialog); |
365 Q_Q(HbSelectionDialog); |
294 |
366 |
295 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
367 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
296 if(cWidget){ |
368 if(cWidget){ |
297 if(cWidget->mListWidget){ |
369 cWidget->createListWidget(); |
|
370 setSelectionMode(mSelectionMode); |
|
371 if(cWidget->mListView){ |
|
372 HbListWidget* widget = (HbListWidget*)cWidget->mListView; |
298 int count = items.count(); |
373 int count = items.count(); |
|
374 if(count > 0) clearItems(bOwnItems); //Clear the existing items first |
299 for(int i = 0; i < count; i++){ |
375 for(int i = 0; i < count; i++){ |
300 cWidget->mListWidget->addItem(items[i]); |
376 widget->addItem(items[i]); |
301 } |
377 } |
302 cWidget->mListWidget->setCurrentRow(currentIndex); |
378 widget->setCurrentRow(currentIndex); |
303 |
379 |
304 } |
380 } |
305 bOwnItems = transferOwnership; |
381 bOwnItems = transferOwnership; |
306 } |
382 } |
307 } |
383 } |
309 QAbstractItemModel* HbSelectionDialogPrivate::model() const |
385 QAbstractItemModel* HbSelectionDialogPrivate::model() const |
310 { |
386 { |
311 Q_Q(const HbSelectionDialog); |
387 Q_Q(const HbSelectionDialog); |
312 |
388 |
313 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
389 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
314 if(cWidget){ |
390 if(cWidget && cWidget->mListView){ |
315 return cWidget->mListWidget->HbListView::model(); //HbListView's implementation of model() |
391 return cWidget->mListView->model(); |
316 } |
392 } |
317 return 0; |
393 return 0; |
318 } |
394 } |
319 |
395 |
320 QItemSelectionModel* HbSelectionDialogPrivate::selectionModel() const |
396 QItemSelectionModel* HbSelectionDialogPrivate::selectionModel() const |
321 { |
397 { |
322 Q_Q(const HbSelectionDialog); |
398 Q_Q(const HbSelectionDialog); |
323 |
399 |
324 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
400 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
325 if(cWidget){ |
401 if(cWidget && cWidget->mListView){ |
326 return cWidget->mListWidget->selectionModel(); |
402 return cWidget->mListView->selectionModel(); |
327 } |
403 } |
328 return 0; |
404 return 0; |
329 } |
405 } |
330 |
406 |
331 void HbSelectionDialogPrivate::setSelectedItems(const QList<QVariant> items) |
407 void HbSelectionDialogPrivate::setSelectedItems(const QList<QVariant> items) |
332 { |
408 { |
333 Q_Q(const HbSelectionDialog); |
409 Q_Q(const HbSelectionDialog); |
334 QItemSelectionModel *model = 0; |
410 QItemSelectionModel *model = 0; |
335 model = selectionModel(); |
411 model = selectionModel(); |
336 if(model){ |
412 if(model){ |
|
413 model->clearSelection(); |
337 Q_FOREACH(QVariant i,items) { |
414 Q_FOREACH(QVariant i,items) { |
338 model->select(model->model()->index(i.toInt(),0), |
415 model->select(model->model()->index(i.toInt(),0), |
339 QItemSelectionModel::Select); |
416 QItemSelectionModel::Select); |
340 } |
417 } |
341 } |
418 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
342 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
419 if(cWidget){ |
343 if(cWidget){ |
420 cWidget->updateCounter(); |
344 cWidget->updateCounter(); |
421 } |
345 } |
422 } |
346 } |
423 } |
347 |
424 |
348 QList<QVariant> HbSelectionDialogPrivate::selectedItems() const |
425 QList<QVariant> HbSelectionDialogPrivate::selectedItems() const |
349 { |
426 { |
350 QItemSelectionModel *model = 0; |
427 QItemSelectionModel *model = 0; |