--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsarrangestate.cpp Fri Jun 25 19:19:22 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsarrangestate.cpp Fri Jul 09 14:36:01 2010 +0300
@@ -78,7 +78,7 @@
*/
HsArrangeState::HsArrangeState(QState *parent) :
QState(parent), mDialog(0), mEntriesList(0),
- mItemModel(0)
+ mItemModel(0),mCollectionId(0)
{
construct();
}
@@ -119,9 +119,10 @@
HSMENUTEST_FUNC_ENTRY("HsArrangeState::save");
getArrangedEntriesIds(listWidget);
- if (mArrangedCollIdList != mCollIdList) {
+ if (mArrangedCollItemIdList != mCollItemIdList) {
HsMenuService::organizeCollection(
- HsMenuService::allCollectionsId(), mArrangedCollIdList);
+ mCollectionId,
+ mArrangedCollItemIdList);
}
HSMENUTEST_FUNC_EXIT("HsArrangeState::save");
@@ -156,9 +157,22 @@
mDialog = qobject_cast<HbDialog*>(
loader.findWidget(HS_ARRANGE_DIALOG_NAME));
- if (mEntriesList != NULL && mDialog != NULL) {
+ if (mEntriesList && mDialog) {
+ switch (menuEvent->operation()) {
+ case HsMenuEvent::ArrangeCollection:
+ mCollectionId = data.value(collectionIdKey()).toInt();
+ mItemModel = HsMenuService::getCollectionModel(
+ mCollectionId,
+ NoHsSortAttribute);
+ break;
+ case HsMenuEvent::ArrangeAllCollections:
+ mCollectionId = HsMenuService::allCollectionsId();
+ mItemModel = HsMenuService::getAllCollectionsModel();
+ break;
+ default:
+ break;
+ }
- mItemModel = HsMenuService::getAllCollectionsModel();
// as we copy the model contents to the list widget
// we do not need the model to auto update
mItemModel->setAutoUpdate(false);
@@ -171,7 +185,7 @@
mEntriesList->setArrangeMode(true);
mDialog->setTimeout(HbPopup::NoTimeout);
- mDialog->setAttribute(Qt::WA_DeleteOnClose, true);
+ mDialog->setAttribute(Qt::WA_DeleteOnClose);
mDialog->setPreferredSize(
HbInstance::instance()->allMainWindows().at(0)->size());
@@ -201,7 +215,8 @@
{
HSMENUTEST_FUNC_ENTRY("HsArrangeState::stateExited");
if (mDialog) {
- disconnect(mDialog, SIGNAL(finished(HbAction*)), this, SLOT(arrangeDialogFinished(HbAction*)));
+ disconnect(mDialog, SIGNAL(finished(HbAction*)),
+ this, SLOT(arrangeDialogFinished(HbAction*)));
mDialog->close();
mDialog = NULL;
}
@@ -212,8 +227,8 @@
delete mItemModel;
mItemModel = NULL;
- mArrangedCollIdList.clear();
- mCollIdList.clear();
+ mArrangedCollItemIdList.clear();
+ mCollItemIdList.clear();
HSMENUTEST_FUNC_EXIT("HsArrangeState::stateExited");
qDebug("HsArrangeState::stateExited()");
@@ -235,7 +250,7 @@
int itemId = mItemModel->data(idx, CaItemModel::IdRole).toInt();
widgetItem->setData(mItemModel->data(idx, CaItemModel::IdRole),
CaItemModel::IdRole);
- mCollIdList.append(itemId);
+ mCollItemIdList.append(itemId);
widgetItem->setData(mItemModel->data(idx, Qt::DisplayRole),
Qt::DisplayRole);
widgetItem->setData(mItemModel->data(idx, Qt::DecorationRole),
@@ -259,6 +274,6 @@
for (int i(0); i < listWidget.count(); ++i) {
HbListWidgetItem *widgetItem = listWidget.item(i);
QVariant entryId = widgetItem->data(CaItemModel::IdRole);
- mArrangedCollIdList.append(entryId.toInt());
+ mArrangedCollItemIdList.append(entryId.toInt());
}
}