equal
deleted
inserted
replaced
76 \param parent Parent state. |
76 \param parent Parent state. |
77 \retval void |
77 \retval void |
78 */ |
78 */ |
79 HsArrangeState::HsArrangeState(QState *parent) : |
79 HsArrangeState::HsArrangeState(QState *parent) : |
80 QState(parent), mDialog(0), mEntriesList(0), |
80 QState(parent), mDialog(0), mEntriesList(0), |
81 mItemModel(0) |
81 mItemModel(0),mCollectionId(0) |
82 { |
82 { |
83 construct(); |
83 construct(); |
84 } |
84 } |
85 |
85 |
86 /*! |
86 /*! |
117 { |
117 { |
118 qDebug("HsArrangeState::save()"); |
118 qDebug("HsArrangeState::save()"); |
119 HSMENUTEST_FUNC_ENTRY("HsArrangeState::save"); |
119 HSMENUTEST_FUNC_ENTRY("HsArrangeState::save"); |
120 |
120 |
121 getArrangedEntriesIds(listWidget); |
121 getArrangedEntriesIds(listWidget); |
122 if (mArrangedCollIdList != mCollIdList) { |
122 if (mArrangedCollItemIdList != mCollItemIdList) { |
123 HsMenuService::organizeCollection( |
123 HsMenuService::organizeCollection( |
124 HsMenuService::allCollectionsId(), mArrangedCollIdList); |
124 mCollectionId, |
|
125 mArrangedCollItemIdList); |
125 } |
126 } |
126 |
127 |
127 HSMENUTEST_FUNC_EXIT("HsArrangeState::save"); |
128 HSMENUTEST_FUNC_EXIT("HsArrangeState::save"); |
128 } |
129 } |
129 |
130 |
154 loader.findWidget(HS_ARRANGE_LIST_NAME)); |
155 loader.findWidget(HS_ARRANGE_LIST_NAME)); |
155 |
156 |
156 mDialog = qobject_cast<HbDialog*>( |
157 mDialog = qobject_cast<HbDialog*>( |
157 loader.findWidget(HS_ARRANGE_DIALOG_NAME)); |
158 loader.findWidget(HS_ARRANGE_DIALOG_NAME)); |
158 |
159 |
159 if (mEntriesList != NULL && mDialog != NULL) { |
160 if (mEntriesList && mDialog) { |
160 |
161 switch (menuEvent->operation()) { |
161 mItemModel = HsMenuService::getAllCollectionsModel(); |
162 case HsMenuEvent::ArrangeCollection: |
|
163 mCollectionId = data.value(collectionIdKey()).toInt(); |
|
164 mItemModel = HsMenuService::getCollectionModel( |
|
165 mCollectionId, |
|
166 NoHsSortAttribute); |
|
167 break; |
|
168 case HsMenuEvent::ArrangeAllCollections: |
|
169 mCollectionId = HsMenuService::allCollectionsId(); |
|
170 mItemModel = HsMenuService::getAllCollectionsModel(); |
|
171 break; |
|
172 default: |
|
173 break; |
|
174 } |
|
175 |
162 // as we copy the model contents to the list widget |
176 // as we copy the model contents to the list widget |
163 // we do not need the model to auto update |
177 // we do not need the model to auto update |
164 mItemModel->setAutoUpdate(false); |
178 mItemModel->setAutoUpdate(false); |
165 |
179 |
166 fulfillEntriesList(*mEntriesList); |
180 fulfillEntriesList(*mEntriesList); |
169 HbAbstractItemView::PositionAtTop); |
183 HbAbstractItemView::PositionAtTop); |
170 |
184 |
171 mEntriesList->setArrangeMode(true); |
185 mEntriesList->setArrangeMode(true); |
172 |
186 |
173 mDialog->setTimeout(HbPopup::NoTimeout); |
187 mDialog->setTimeout(HbPopup::NoTimeout); |
174 mDialog->setAttribute(Qt::WA_DeleteOnClose, true); |
188 mDialog->setAttribute(Qt::WA_DeleteOnClose); |
175 |
189 |
176 mDialog->setPreferredSize( |
190 mDialog->setPreferredSize( |
177 HbInstance::instance()->allMainWindows().at(0)->size()); |
191 HbInstance::instance()->allMainWindows().at(0)->size()); |
178 |
192 |
179 mDialog->open(this, SLOT(arrangeDialogFinished(HbAction*))); |
193 mDialog->open(this, SLOT(arrangeDialogFinished(HbAction*))); |
199 */ |
213 */ |
200 void HsArrangeState::stateExited() |
214 void HsArrangeState::stateExited() |
201 { |
215 { |
202 HSMENUTEST_FUNC_ENTRY("HsArrangeState::stateExited"); |
216 HSMENUTEST_FUNC_ENTRY("HsArrangeState::stateExited"); |
203 if (mDialog) { |
217 if (mDialog) { |
204 disconnect(mDialog, SIGNAL(finished(HbAction*)), this, SLOT(arrangeDialogFinished(HbAction*))); |
218 disconnect(mDialog, SIGNAL(finished(HbAction*)), |
|
219 this, SLOT(arrangeDialogFinished(HbAction*))); |
205 mDialog->close(); |
220 mDialog->close(); |
206 mDialog = NULL; |
221 mDialog = NULL; |
207 } |
222 } |
208 |
223 |
209 mObjectList.clear(); // mDialog as parent for all confml items |
224 mObjectList.clear(); // mDialog as parent for all confml items |
210 |
225 |
211 mEntriesList = NULL; |
226 mEntriesList = NULL; |
212 delete mItemModel; |
227 delete mItemModel; |
213 mItemModel = NULL; |
228 mItemModel = NULL; |
214 |
229 |
215 mArrangedCollIdList.clear(); |
230 mArrangedCollItemIdList.clear(); |
216 mCollIdList.clear(); |
231 mCollItemIdList.clear(); |
217 |
232 |
218 HSMENUTEST_FUNC_EXIT("HsArrangeState::stateExited"); |
233 HSMENUTEST_FUNC_EXIT("HsArrangeState::stateExited"); |
219 qDebug("HsArrangeState::stateExited()"); |
234 qDebug("HsArrangeState::stateExited()"); |
220 } |
235 } |
221 |
236 |
233 QModelIndex idx = mItemModel->index(i); |
248 QModelIndex idx = mItemModel->index(i); |
234 HbListWidgetItem *widgetItem = new HbListWidgetItem(); |
249 HbListWidgetItem *widgetItem = new HbListWidgetItem(); |
235 int itemId = mItemModel->data(idx, CaItemModel::IdRole).toInt(); |
250 int itemId = mItemModel->data(idx, CaItemModel::IdRole).toInt(); |
236 widgetItem->setData(mItemModel->data(idx, CaItemModel::IdRole), |
251 widgetItem->setData(mItemModel->data(idx, CaItemModel::IdRole), |
237 CaItemModel::IdRole); |
252 CaItemModel::IdRole); |
238 mCollIdList.append(itemId); |
253 mCollItemIdList.append(itemId); |
239 widgetItem->setData(mItemModel->data(idx, Qt::DisplayRole), |
254 widgetItem->setData(mItemModel->data(idx, Qt::DisplayRole), |
240 Qt::DisplayRole); |
255 Qt::DisplayRole); |
241 widgetItem->setData(mItemModel->data(idx, Qt::DecorationRole), |
256 widgetItem->setData(mItemModel->data(idx, Qt::DecorationRole), |
242 Qt::DecorationRole); |
257 Qt::DecorationRole); |
243 |
258 |
257 void HsArrangeState::getArrangedEntriesIds(const HbListWidget& listWidget) |
272 void HsArrangeState::getArrangedEntriesIds(const HbListWidget& listWidget) |
258 { |
273 { |
259 for (int i(0); i < listWidget.count(); ++i) { |
274 for (int i(0); i < listWidget.count(); ++i) { |
260 HbListWidgetItem *widgetItem = listWidget.item(i); |
275 HbListWidgetItem *widgetItem = listWidget.item(i); |
261 QVariant entryId = widgetItem->data(CaItemModel::IdRole); |
276 QVariant entryId = widgetItem->data(CaItemModel::IdRole); |
262 mArrangedCollIdList.append(entryId.toInt()); |
277 mArrangedCollItemIdList.append(entryId.toInt()); |
263 } |
278 } |
264 } |
279 } |