diff -r 2b1b11a301d2 -r 4b195f3bea29 homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionslistdialog.cpp --- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionslistdialog.cpp Tue Jul 06 14:06:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,182 +0,0 @@ -/* - * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: Hs list dialog - * - */ - -#include -#include -#include -#include - -#include -#include -#include "hscollectionslistdialog.h" - -/*! - \class HsCollectionsListDialog - \ingroup group_hsworkerstateplugin - \brief Hs List Dialog - Hs List Dialog - */ - -/*! - \var HsCollectionsListDialog::mModel - Model. - */ - -/*! - \var HsCollectionsListDialog::mItemId - Selected item id. - */ - -/*! - \fn void HsCollectionsListDialog::makeConnect(); - Connects edit line signals to slots. -*/ - -/*! - \fn void HsCollectionsListDialog::makeDisconnect(); - Disconnects edit line signals from slots. - */ - -/*! - Constructor - \param sortOrder sort order. - \param collectionId collectionId id of collection - to remove from list. - \retval void - */ -HsCollectionsListDialog::HsCollectionsListDialog(HsSortAttribute sortOrder, - int collectionId) : - HbSelectionDialog(), mItemId(0) -{ - clearActions(); - HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_cancel"), this); - addAction(cancelAction); - - setHeadingWidget(new HbLabel(hbTrId("txt_applib_title_add_to"))); - // it must be single selection, although it shows checkboxes - - // it is Orbit defect and will be fixed in next release - setSelectionMode(HbAbstractItemView::SingleSelection); - mModel = standartItemModel(sortOrder, collectionId); - setModel(mModel); -} - -/*! - Destructor - */ -HsCollectionsListDialog::~HsCollectionsListDialog() -{ - delete mModel; -} - -/*! - Executes dialog. - \retval Selected action. - */ -void HsCollectionsListDialog::open(QObject* receiver, const char* member) -{ - this->setAttribute(Qt::WA_DeleteOnClose); - HbSelectionDialog::open(receiver, member); -} - -/*! - \reimp - Disconnects signals and calls base class impl. which emits finished(HbAction*) - */ -void HsCollectionsListDialog::closeEvent ( QCloseEvent * event ) -{ - qDebug("HsCollectionsListDialog::closeEvent"); - HbAction *closingAction = qobject_cast(sender()); - - if (closingAction != actions().value(0)) { - QModelIndexList modlist = selectedModelIndexes(); - if (modlist.count()) { - mItemId - = mModel-> data(modlist[0], CaItemModel::IdRole).toInt(); - } - } - - HbDialog::closeEvent(event); // emits finished(HbAction*) -} - -/*! - Creates standard item model. - \param sortOrder sort order. - \param collectionId id of collection to remove from model. - \return QStandardItemModel - caller takes ownership. - */ -QStandardItemModel *HsCollectionsListDialog::standartItemModel( - HsSortAttribute sortOrder, int collectionId) -{ - HSMENUTEST_FUNC_ENTRY("HsListDialog::standartItemModel"); - QScopedPointer caModel( - HsMenuService::getAllCollectionsModel(sortOrder)); - caModel->setSecondLineVisibility(false); - QStandardItemModel *model = new QStandardItemModel(this); - QList items; - for (int row = 0; row < caModel->rowCount(); row++) { - uint flags = caModel->data(caModel->index(row, 0), - CaItemModel::FlagsRole).value (); - int itemId = caModel->data(caModel->index(row, 0), - CaItemModel::IdRole).toInt(); - if ((flags & RemovableEntryFlag) && (itemId != collectionId)) { - QStandardItem *standardItem = new QStandardItem(); - standardItem->setData(caModel->data(caModel->index(row, 0), - CaItemModel::IdRole), CaItemModel::IdRole); - standardItem->setData(caModel->data(caModel->index(row, 0), - Qt::DisplayRole), Qt::DisplayRole); - standardItem->setData(caModel->data(caModel->index(row, 0), - Qt::DecorationRole), Qt::DecorationRole); - items << standardItem; - } - } - model->insertColumn(0, items); - - insertNewCollectionItem(model); - HSMENUTEST_FUNC_EXIT("HsListDialog::standartItemModel"); - return model; -} - -/*! - Inserts "new collection" item into model. - \param model a model. - */ -void HsCollectionsListDialog::insertNewCollectionItem( - QStandardItemModel *model) -{ - HSMENUTEST_FUNC_ENTRY("HsListDialog::insertNewCollectionItem"); - QStandardItem *standardItem = new QStandardItem(); - standardItem->setData(0, CaItemModel::IdRole); - standardItem->setData(hbTrId("txt_applib_list_new_collection"), - Qt::DisplayRole); - - standardItem->setData(HbIcon(defaultCollectionIconId()), - Qt::DecorationRole); - - QList items; - items << standardItem; - model->insertRow(0, items); - HSMENUTEST_FUNC_EXIT("HsListDialog::insertNewCollectionItem"); -} - -/*! - Gets selected item id. - \retval Selected item id. - */ -int HsCollectionsListDialog::getItemId() -{ - return mItemId; -}