32 #include <hblistwidgetitem.h> |
32 #include <hblistwidgetitem.h> |
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 |
|
38 HbSelectionDialogContentWidget::HbSelectionDialogContentWidget(HbSelectionDialogPrivate *priv):HbWidget(), |
37 HbSelectionDialogContentWidget::HbSelectionDialogContentWidget(HbSelectionDialogPrivate *priv):HbWidget(), |
39 mListWidget(0),d(priv),chkMark(0),lbCounter(0) |
38 mListWidget(0),d(priv),chkMark(0),lbCounter(0) |
40 { |
39 { |
41 mListWidget = new HbListWidget(this); |
40 mListWidget = new HbListWidget(this); |
42 HbStyle::setItemName(mListWidget, "list"); |
41 HbStyle::setItemName(mListWidget, "list"); |
43 QObject::connect(mListWidget,SIGNAL(activated(const QModelIndex&)),this,SLOT(_q_listItemSelected(QModelIndex))); |
42 QObject::connect(mListWidget,SIGNAL(activated(const QModelIndex&)),this,SLOT(_q_listItemSelected(QModelIndex))); |
44 QObject::connect(mListWidget,SIGNAL(activated(HbListWidgetItem *)),this,SLOT(_q_listWidgetItemSelected(HbListWidgetItem *))); |
43 QObject::connect(mListWidget,SIGNAL(activated(HbListWidgetItem *)),this,SLOT(_q_listWidgetItemSelected(HbListWidgetItem *))); |
45 } |
44 } |
46 |
45 |
47 |
|
48 void HbSelectionDialogContentWidget::_q_listWidgetItemSelected(HbListWidgetItem *item) |
46 void HbSelectionDialogContentWidget::_q_listWidgetItemSelected(HbListWidgetItem *item) |
49 { |
47 { |
50 if(item){ |
48 if(item){ |
51 updateCounter(); |
49 updateCounter(); |
52 } |
50 } |
53 } |
51 } |
54 |
|
55 |
52 |
56 void HbSelectionDialogContentWidget::_q_listItemSelected(QModelIndex index) |
53 void HbSelectionDialogContentWidget::_q_listItemSelected(QModelIndex index) |
57 { |
54 { |
58 Q_UNUSED(index) |
55 Q_UNUSED(index) |
59 if(mListWidget->selectionMode()== HbAbstractItemView::SingleSelection || |
56 if(mListWidget->selectionMode()== HbAbstractItemView::SingleSelection || |
60 mListWidget->selectionMode()== HbAbstractItemView::NoSelection){ |
57 mListWidget->selectionMode()== HbAbstractItemView::NoSelection){ |
61 d->close(); |
58 d->close(); |
62 } |
59 } |
63 updateCounter(); |
60 updateCounter(); |
64 } |
61 } |
65 |
62 |
66 int HbSelectionDialogContentWidget::selectedItemCount() const |
63 int HbSelectionDialogContentWidget::selectedItemCount() const |
67 { |
64 { |
68 int selectedItems = 0; |
65 int selectedItems = 0; |
69 QItemSelectionModel* selectionModel = mListWidget->selectionModel(); |
66 QItemSelectionModel* selectionModel = mListWidget->selectionModel(); |
70 if(selectionModel){ |
67 if(selectionModel){ |
71 selectedItems = selectionModel->selectedRows().count(); |
68 selectedItems = selectionModel->selectedRows().count(); |
72 } |
69 } |
73 return selectedItems; |
70 return selectedItems; |
74 } |
71 } |
75 |
72 |
76 int HbSelectionDialogContentWidget::totalItemCount() const |
73 int HbSelectionDialogContentWidget::totalItemCount() const |
77 { |
74 { |
78 return mListWidget->count(); |
75 return mListWidget->count(); |
79 } |
76 } |
80 |
77 |
81 void HbSelectionDialogContentWidget::updateCounter() |
78 void HbSelectionDialogContentWidget::updateCounter() |
82 { |
79 { |
83 if(mListWidget->selectionMode()!= HbAbstractItemView::MultiSelection) return; |
80 if(mListWidget->selectionMode()!= HbAbstractItemView::MultiSelection) return; |
84 if(chkMark && lbCounter){ |
81 if(chkMark && lbCounter){ |
85 int totalItems = totalItemCount(); |
82 int totalItems = totalItemCount(); |
86 int selectedItems = selectedItemCount(); |
83 int selectedItems = selectedItemCount(); |
87 |
84 |
88 lbCounter->setText(QString(QString::number(selectedItems) + "/" + QString::number(totalItems))); |
85 lbCounter->setText(QString(QString::number(selectedItems) + "/" + QString::number(totalItems))); |
89 //update checked state of "MarkAll" checkbox |
86 //update checked state of "MarkAll" checkbox |
90 if (selectedItems == totalItems){ |
87 if (selectedItems == totalItems){ |
91 chkMark->blockSignals(true); //should not call _q_checkboxclicked() |
88 chkMark->blockSignals(true); //should not call _q_checkboxclicked() |
92 chkMark->setChecked(true); |
89 chkMark->setChecked(true); |
93 chkMark->blockSignals(false); |
90 chkMark->blockSignals(false); |
94 } |
91 } |
95 else{ |
92 else{ |
96 chkMark->blockSignals(true); //should not call _q_checkboxclicked() |
93 chkMark->blockSignals(true); //should not call _q_checkboxclicked() |
97 chkMark->setChecked(false); |
94 chkMark->setChecked(false); |
98 chkMark->blockSignals(false); |
95 chkMark->blockSignals(false); |
99 } |
96 } |
100 } |
97 } |
101 } |
98 } |
102 |
99 |
103 void HbSelectionDialogContentWidget::_q_checkboxclicked(int value) |
100 void HbSelectionDialogContentWidget::_q_checkboxclicked(int value) |
104 { |
101 { |
105 int totalItems = 0; |
102 int totalItems = 0; |
106 int selectedItems = 0; |
103 int selectedItems = 0; |
107 QAbstractItemModel* itemModel = mListWidget->model(); |
104 QAbstractItemModel* itemModel = mListWidget->model(); |
108 QModelIndex indexStart,indexEnd; |
105 QModelIndex indexStart,indexEnd; |
109 if(itemModel){ |
106 if(itemModel){ |
110 indexStart = itemModel->index(0,0); |
107 indexStart = itemModel->index(0,0); |
111 indexEnd = itemModel->index(itemModel->rowCount()-1,0); |
108 indexEnd = itemModel->index(itemModel->rowCount()-1,0); |
112 totalItems = itemModel->rowCount(); |
109 totalItems = itemModel->rowCount(); |
113 } |
110 } |
114 |
111 |
115 QItemSelectionModel* selectionModel = mListWidget->selectionModel(); |
112 QItemSelectionModel* selectionModel = mListWidget->selectionModel(); |
116 if(selectionModel){ |
113 if(selectionModel){ |
117 selectedItems = selectionModel->selectedRows().count(); |
114 selectedItems = selectionModel->selectedRows().count(); |
118 if(value){ //Select All |
115 if(value){ //Select All |
119 selectionModel->select(QItemSelection(indexStart,indexEnd),QItemSelectionModel::Select); |
116 selectionModel->select(QItemSelection(indexStart,indexEnd),QItemSelectionModel::Select); |
120 } |
117 } |
121 else{ //Select None |
118 else{ //Select None |
122 selectionModel->clear(); |
119 selectionModel->clear(); |
123 } |
120 } |
124 } |
121 } |
125 updateCounter(); |
122 updateCounter(); |
126 } |
123 } |
127 |
|
128 |
124 |
129 void HbSelectionDialogContentWidget::showMarkWidget(bool bShow) |
125 void HbSelectionDialogContentWidget::showMarkWidget(bool bShow) |
130 { |
126 { |
131 if(bShow){ |
127 if(bShow){ |
132 chkMark = new HbCheckBox(this); |
128 chkMark = new HbCheckBox(this); |
133 chkMark->setText("Mark All"); |
129 chkMark->setText("Mark All"); |
134 lbCounter = new HbTextItem(this); |
130 lbCounter = new HbTextItem(this); |
135 HbStyle::setItemName(chkMark,"checkbox"); |
131 HbStyle::setItemName(chkMark,"checkbox"); |
136 HbStyle::setItemName(lbCounter,"counter"); |
132 HbStyle::setItemName(lbCounter,"counter"); |
137 setProperty("multiSelection",true); |
133 setProperty("multiSelection",true); |
138 connect(chkMark,SIGNAL(stateChanged ( int )),this,SLOT(_q_checkboxclicked(int))); |
134 connect(chkMark,SIGNAL(stateChanged ( int )),this,SLOT(_q_checkboxclicked(int))); |
139 updateCounter(); |
135 updateCounter(); |
140 } |
136 } |
141 else{ |
137 else{ |
142 delete chkMark;chkMark=0; |
138 delete chkMark;chkMark=0; |
143 delete lbCounter;lbCounter=0; |
139 delete lbCounter;lbCounter=0; |
144 HbStyle::setItemName(chkMark,""); |
140 HbStyle::setItemName(chkMark,""); |
145 HbStyle::setItemName(lbCounter,""); |
141 HbStyle::setItemName(lbCounter,""); |
146 setProperty("multiSelection",false); |
142 setProperty("multiSelection",false); |
147 } |
143 } |
148 } |
144 } |
149 |
145 |
150 HbSelectionDialogPrivate::HbSelectionDialogPrivate() |
146 HbSelectionDialogPrivate::HbSelectionDialogPrivate() |
151 :HbDialogPrivate() |
147 :HbDialogPrivate() |
152 { |
148 { |
153 bOwnItems = false; |
149 bOwnItems = false; |
154 } |
150 } |
155 |
|
156 |
151 |
157 HbSelectionDialogPrivate::~HbSelectionDialogPrivate() |
152 HbSelectionDialogPrivate::~HbSelectionDialogPrivate() |
158 { |
153 { |
159 if(!bOwnItems){ |
154 if(!bOwnItems){ |
160 Q_Q(HbSelectionDialog); |
155 Q_Q(HbSelectionDialog); |
161 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
156 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
162 if(cWidget){ |
157 if(cWidget){ |
163 if(cWidget->mListWidget){ |
158 if(cWidget->mListWidget){ |
164 int nRows = 0; |
159 int nRows = 0; |
165 QAbstractItemModel* itemModel = cWidget->mListWidget->model(); |
160 QAbstractItemModel* itemModel = cWidget->mListWidget->model(); |
166 if(itemModel){ |
161 if(itemModel){ |
167 nRows = itemModel->rowCount(); |
162 nRows = itemModel->rowCount(); |
168 while(nRows){ |
163 while(nRows){ |
169 cWidget->mListWidget->takeItem(0); |
164 cWidget->mListWidget->takeItem(0); |
170 nRows = itemModel->rowCount(); |
165 nRows = itemModel->rowCount(); |
171 } |
166 } |
172 } |
167 } |
173 } |
168 } |
174 } |
169 } |
175 } |
170 } |
176 } |
171 } |
|
172 |
177 void HbSelectionDialogPrivate::init() |
173 void HbSelectionDialogPrivate::init() |
178 { |
174 { |
179 qDebug()<<" Entering init()"; |
175 qDebug()<<" Entering init()"; |
180 Q_Q(HbSelectionDialog); |
176 Q_Q(HbSelectionDialog); |
181 |
177 |
182 bOwnItems = false; |
178 bOwnItems = false; |
183 |
179 |
184 HbSelectionDialogContentWidget* contentWidget = new HbSelectionDialogContentWidget(this); |
180 HbSelectionDialogContentWidget* contentWidget = new HbSelectionDialogContentWidget(this); |
185 q->setContentWidget(contentWidget); |
181 q->setContentWidget(contentWidget); |
186 |
182 |
187 q->setPrimaryAction(new HbAction(QString(q->tr("Ok")))); |
183 q->addAction(new HbAction(q->tr("Ok"), q)); |
188 |
184 |
189 q->setSecondaryAction(new HbAction(QString(q->tr("Cancel")))); |
185 q->addAction(new HbAction(q->tr("Cancel"), q)); |
190 q->setTimeout(0); |
186 q->setTimeout(0); |
191 q->setModal(true); |
187 q->setModal(true); |
192 |
188 } |
193 |
|
194 } |
|
195 |
|
196 |
|
197 |
189 |
198 void HbSelectionDialogPrivate::setSelectionMode(HbAbstractItemView::SelectionMode mode) |
190 void HbSelectionDialogPrivate::setSelectionMode(HbAbstractItemView::SelectionMode mode) |
199 { |
191 { |
200 Q_Q(HbSelectionDialog); |
192 Q_Q(HbSelectionDialog); |
201 |
193 |
202 mSelectionMode = mode; |
194 mSelectionMode = mode; |
203 switch(mode) |
195 switch(mode) |
204 { |
196 { |
205 case HbAbstractItemView::SingleSelection: |
197 case HbAbstractItemView::SingleSelection: |
206 case HbAbstractItemView::MultiSelection: |
198 case HbAbstractItemView::MultiSelection: |
207 case HbAbstractItemView::NoSelection: |
199 case HbAbstractItemView::NoSelection: |
208 { |
200 { |
209 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
201 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
210 if(cWidget){ |
202 if(cWidget){ |
211 cWidget->mListWidget->setSelectionMode(mode); |
203 cWidget->mListWidget->setSelectionMode(mode); |
212 } |
204 } |
213 if(mode == HbAbstractItemView::MultiSelection) |
205 if(mode == HbAbstractItemView::MultiSelection) |
214 cWidget->showMarkWidget(true); |
206 cWidget->showMarkWidget(true); |
215 else |
207 else |
216 cWidget->showMarkWidget(false); |
208 cWidget->showMarkWidget(false); |
217 } |
209 } |
218 break; |
210 break; |
219 case HbAbstractItemView::ContiguousSelection: |
211 } |
220 break; |
|
221 } |
|
222 } |
212 } |
223 |
213 |
224 QList<HbListWidgetItem*> HbSelectionDialogPrivate::widgetItems() const |
214 QList<HbListWidgetItem*> HbSelectionDialogPrivate::widgetItems() const |
225 { |
215 { |
226 Q_Q(const HbSelectionDialog); |
216 Q_Q(const HbSelectionDialog); |
227 |
217 |
228 QList<HbListWidgetItem*> rows; |
218 QList<HbListWidgetItem*> rows; |
229 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
219 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
230 if(cWidget){ |
220 if(cWidget){ |
231 HbListWidget* widget = qobject_cast<HbListWidget*>(cWidget->mListWidget); |
221 HbListWidget* widget = qobject_cast<HbListWidget*>(cWidget->mListWidget); |
232 if(widget){ |
222 if(widget){ |
233 int count = 0; |
223 int count = 0; |
234 QAbstractItemModel* itemModel = widget->model(); |
224 QAbstractItemModel* itemModel = widget->model(); |
235 if(itemModel) |
225 if(itemModel) |
236 count = itemModel->rowCount(); |
226 count = itemModel->rowCount(); |
237 for(int i = 0; i < count; i++){ |
227 for(int i = 0; i < count; i++){ |
238 rows.append(widget->item(i)); |
228 rows.append(widget->item(i)); |
239 } |
229 } |
240 } |
230 } |
241 } |
231 } |
242 return rows; |
232 return rows; |
243 } |
233 } |
244 |
234 |
245 void HbSelectionDialogPrivate::setStringItems(const QStringList &items, int currentIndex) |
235 void HbSelectionDialogPrivate::setStringItems(const QStringList &items, int currentIndex) |
246 { |
236 { |
247 Q_Q(HbSelectionDialog); |
237 Q_Q(HbSelectionDialog); |
248 |
238 |
249 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
239 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
250 if(!cWidget) return; |
240 if(!cWidget) return; |
251 |
241 |
252 int nRows = 0; |
242 int nRows = 0; |
253 |
243 |
254 if(cWidget->mListWidget){ |
244 if(cWidget->mListWidget){ |
255 int count = items.size(); |
245 int count = items.size(); |
256 for (int i = 0; i < count; ++i) { |
246 for (int i = 0; i < count; ++i) { |
257 HbListWidgetItem* modelItem = new HbListWidgetItem(); |
247 HbListWidgetItem* modelItem = new HbListWidgetItem(); |
258 QString str = items.at(i); |
248 QString str = items.at(i); |
259 modelItem->setText(str); |
249 modelItem->setText(str); |
260 cWidget->mListWidget->addItem(modelItem); |
250 cWidget->mListWidget->addItem(modelItem); |
261 |
251 |
262 QAbstractItemModel* itemModel = cWidget->mListWidget->model(); |
252 QAbstractItemModel* itemModel = cWidget->mListWidget->model(); |
263 if(itemModel) |
253 if(itemModel) |
264 nRows = itemModel->rowCount(); |
254 nRows = itemModel->rowCount(); |
265 } |
255 } |
266 if(nRows > 0){ //if addition of rows was correct. |
256 if(nRows > 0){ //if addition of rows was correct. |
267 QList<QVariant> currentRow; |
257 QList<QVariant> currentRow; |
268 currentRow.append(QVariant(currentIndex)); |
258 currentRow.append(QVariant(currentIndex)); |
269 setSelectedItems(currentRow); |
259 setSelectedItems(currentRow); |
270 } |
260 } |
271 |
261 |
272 } |
262 } |
273 } |
263 } |
274 |
264 |
275 QStringList HbSelectionDialogPrivate::stringItems() const |
265 QStringList HbSelectionDialogPrivate::stringItems() const |
276 { |
266 { |
277 QStringList list; |
267 QStringList list; |
278 QList<HbListWidgetItem*> items = widgetItems(); |
268 QList<HbListWidgetItem*> items = widgetItems(); |
279 int count = items.count(); |
269 int count = items.count(); |
280 for(int i = 0; i < count; i++){ |
270 for(int i = 0; i < count; i++){ |
281 QString text = items[i]->text(); |
271 QString text = items[i]->text(); |
282 if(!text.isEmpty()){ |
272 if(!text.isEmpty()){ |
283 list += text; |
273 list += text; |
284 } |
274 } |
285 } |
275 } |
286 return list; |
276 return list; |
287 } |
277 } |
288 |
278 |
289 void HbSelectionDialogPrivate::setModel(QAbstractItemModel* model) |
279 void HbSelectionDialogPrivate::setModel(QAbstractItemModel* model) |
290 { |
280 { |
291 Q_Q(HbSelectionDialog); |
281 Q_Q(HbSelectionDialog); |
292 |
282 |
293 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
283 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
294 if(cWidget){ |
284 if(cWidget){ |
295 cWidget->mListWidget->HbListView::setModel(model); //HbListView's implementation of setModel() |
285 cWidget->mListWidget->HbListView::setModel(model); //HbListView's implementation of setModel() |
296 } |
286 } |
297 } |
287 } |
298 |
288 |
299 void HbSelectionDialogPrivate::setWidgetItems(const QList<HbListWidgetItem*> &items,bool transferOwnership,int currentIndex) |
289 void HbSelectionDialogPrivate::setWidgetItems(const QList<HbListWidgetItem*> &items,bool transferOwnership,int currentIndex) |
300 { |
290 { |
301 Q_Q(HbSelectionDialog); |
291 Q_Q(HbSelectionDialog); |
302 |
292 |
303 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
293 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
304 if(cWidget){ |
294 if(cWidget){ |
305 if(cWidget->mListWidget){ |
295 if(cWidget->mListWidget){ |
306 int count = items.count(); |
296 int count = items.count(); |
307 for(int i = 0; i < count; i++){ |
297 for(int i = 0; i < count; i++){ |
308 cWidget->mListWidget->addItem(items[i]); |
298 cWidget->mListWidget->addItem(items[i]); |
309 } |
299 } |
310 cWidget->mListWidget->setCurrentRow(currentIndex); |
300 cWidget->mListWidget->setCurrentRow(currentIndex); |
311 |
301 |
312 } |
302 } |
313 bOwnItems = transferOwnership; |
303 bOwnItems = transferOwnership; |
314 } |
304 } |
315 } |
305 } |
316 |
306 |
317 QAbstractItemModel* HbSelectionDialogPrivate::model() const |
307 QAbstractItemModel* HbSelectionDialogPrivate::model() const |
318 { |
308 { |
319 Q_Q(const HbSelectionDialog); |
309 Q_Q(const HbSelectionDialog); |
320 |
310 |
321 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
311 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
322 if(cWidget){ |
312 if(cWidget){ |
323 return cWidget->mListWidget->HbListView::model(); //HbListView's implementation of model() |
313 return cWidget->mListWidget->HbListView::model(); //HbListView's implementation of model() |
324 } |
314 } |
325 return 0; |
315 return 0; |
326 } |
316 } |
327 |
317 |
328 QItemSelectionModel* HbSelectionDialogPrivate::selectionModel() const |
318 QItemSelectionModel* HbSelectionDialogPrivate::selectionModel() const |
329 { |
319 { |
330 Q_Q(const HbSelectionDialog); |
320 Q_Q(const HbSelectionDialog); |
331 |
321 |
332 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
322 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
333 if(cWidget){ |
323 if(cWidget){ |
334 return cWidget->mListWidget->selectionModel(); |
324 return cWidget->mListWidget->selectionModel(); |
335 } |
325 } |
336 return 0; |
326 return 0; |
337 } |
327 } |
338 |
328 |
339 void HbSelectionDialogPrivate::setSelectedItems(const QList<QVariant> items) |
329 void HbSelectionDialogPrivate::setSelectedItems(const QList<QVariant> items) |
340 { |
330 { |
341 Q_Q(const HbSelectionDialog); |
331 Q_Q(const HbSelectionDialog); |
342 QItemSelectionModel *model = 0; |
332 QItemSelectionModel *model = 0; |
343 model = selectionModel(); |
333 model = selectionModel(); |
344 if(model){ |
334 if(model){ |
345 Q_FOREACH(QVariant i,items) { |
335 Q_FOREACH(QVariant i,items) { |
346 model->select(model->model()->index(i.toInt(),0), |
336 model->select(model->model()->index(i.toInt(),0), |
347 QItemSelectionModel::Select); |
337 QItemSelectionModel::Select); |
348 } |
338 } |
349 } |
339 } |
350 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
340 HbSelectionDialogContentWidget* cWidget = qobject_cast<HbSelectionDialogContentWidget*>(q->contentWidget()); |
351 if(cWidget){ |
341 if(cWidget){ |
352 cWidget->updateCounter(); |
342 cWidget->updateCounter(); |
353 } |
343 } |
354 } |
344 } |
355 |
345 |
356 QList<QVariant> HbSelectionDialogPrivate::selectedItems() const |
346 QList<QVariant> HbSelectionDialogPrivate::selectedItems() const |
357 { |
347 { |
358 QItemSelectionModel *model = 0; |
348 QItemSelectionModel *model = 0; |