diff -r 87476091b3f5 -r 1db7cc813a4e homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsaddmodeproxymodel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsaddmodeproxymodel.h Fri Aug 06 13:36:36 2010 +0300 @@ -0,0 +1,58 @@ +/* + * 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: Proxy model for view in add to homescreen mode. + * + */ + +#ifndef HSADDMODEPROXYMODEL_H +#define HSADDMODEPROXYMODEL_H + +#include +#include +#include + +#include "hsmenustates_global.h" + +class CaNotifier; + +class HsAddModeProxyModel : public QSortFilterProxyModel +{ + Q_OBJECT + + HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest) + +public: + + HsAddModeProxyModel(QObject *parent = 0); + ~HsAddModeProxyModel(); + void initilizeCwrtWidgetCache(); + +private slots: + + void updateCacheOnAddWidget(const QString &uri, const QVariantHash &preferences); + void updateCacheOnRemoveWidget(const QString &uri, const QVariantHash &preferences); + void updateEntryStatus(const CaEntry &entry, ChangeType changeType); + +private: + + virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const; + static int findCwrtWidgetEntryId(const QVariantHash &preferences); + + QHash mCwrtWidgetCache; + CaQuery mQuery; + QScopedPointer mNotifier; +}; + +#endif //HSADDMODEPROXYMODEL_H +