[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/mobile/lib
From: Tobias Koenig <tokoe () kde ! org>
Date: 2010-12-08 9:28:06
Message-ID: 20101208092806.4D96DAC8A7 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1204588 by tokoe:
Move all favorites handling code into its own class
This is the first step of refactoring to unify the UI
of list actions
M +1 -0 CMakeLists.txt
A favoritescontroller.cpp [License: LGPL (v2+)]
A favoritescontroller.h [License: LGPL (v2+)]
M +5 -20 kdeclarativemainview.cpp
M +1 -19 kdeclarativemainview_p.cpp
M +4 -10 kdeclarativemainview_p.h
--- trunk/KDE/kdepim/mobile/lib/CMakeLists.txt #1204587:1204588
@@ -15,6 +15,7 @@
declarativewidgetbase.cpp
declarativeakonadiitem.cpp
exporthandlerbase.cpp
+ favoritescontroller.cpp
favoriteslistmodel.cpp
guistatemanager.cpp
hierarchyresolver.cpp
--- trunk/KDE/kdepim/mobile/lib/kdeclarativemainview.cpp #1204587:1204588
@@ -219,10 +219,10 @@
connect( d->mGuiStateManager, SIGNAL( guiStateChanged( int, int ) ), d, SLOT( \
guiStateChanged( int, int ) ) );
// A list of available favorites
- QAbstractItemModel *favsList = d->getFavoritesListModel();
- favsList->setParent( this );
+ d->mFavoritesController = new FavoritesController( KGlobal::config(), this );
+ d->mFavoritesController->setCollectionSelectionModel( d->mBnf->selectionModel() );
- context->setContextProperty( "favoritesList", QVariant::fromValue( \
static_cast<QObject*>( favsList ) ) ); + context->setContextProperty( \
"favoritesList", d->mFavoritesController->model() );
// A list of agent instances
Akonadi::AgentInstanceModel *agentInstanceModel = new Akonadi::AgentInstanceModel( \
this ); @@ -542,29 +542,14 @@
if ( !ok || name.isEmpty() )
return;
- ETMViewStateSaver saver;
- saver.setSelectionModel( d->mBnf->selectionModel() );
-
- KConfigGroup config( KGlobal::config(), sFavoritePrefix + name );
- saver.saveState( config );
- config.sync();
- d->mFavsListModel->setStringList( d->getFavoritesList() );
+ d->mFavoritesController->saveFavorite( name );
}
void KDeclarativeMainView::loadFavorite( const QString &name )
{
- ETMViewStateSaver *saver = new ETMViewStateSaver;
- saver->setSelectionModel( d->mBnf->selectionModel() );
-
- KConfigGroup config( KGlobal::config(), sFavoritePrefix + name );
- if ( !config.isValid() ) {
- delete saver;
- return;
+ d->mFavoritesController->loadFavorite( name );
}
- saver->restoreState( config );
-}
-
void KDeclarativeMainView::multipleSelectionFinished()
{
const QModelIndexList list = d->mMultiBnf->checkModel()->selectedRows();
--- trunk/KDE/kdepim/mobile/lib/kdeclarativemainview_p.cpp #1204587:1204588
@@ -25,7 +25,6 @@
#include <akonadi/etmviewstatesaver.h>
-#include "favoriteslistmodel.h"
#include "guistatemanager.h"
KDeclarativeMainViewPrivate::KDeclarativeMainViewPrivate( KDeclarativeMainView *qq )
@@ -33,10 +32,10 @@
, mChangeRecorder( 0 )
, mCollectionFilter( 0 )
, mItemFilterModel( 0 )
- , mFavsListModel( 0 )
, mAgentStatusMonitor( 0 )
, mGuiStateManager( 0 )
, mStateMachine( 0 )
+ , mFavoritesController( 0 )
{ }
void KDeclarativeMainViewPrivate::restoreState()
@@ -57,23 +56,6 @@
cfg.sync();
}
-QStringList KDeclarativeMainViewPrivate::getFavoritesList()
-{
- QStringList names;
- foreach ( const QString &group, KGlobal::config()->groupList() )
- if ( group.startsWith( sFavoritePrefix ) )
- names.append( QString( group ).remove( 0, sFavoritePrefixLength ) );
- return names;
-}
-
-QAbstractItemModel* KDeclarativeMainViewPrivate::getFavoritesListModel()
-{
- if (!mFavsListModel)
- mFavsListModel = new FavoritesListModel( KGlobal::config() );
-
- return mFavsListModel;
-}
-
void KDeclarativeMainViewPrivate::filterLineEditChanged( const QString &text )
{
if ( !text.isEmpty() && !mFilterLineEdit->isVisible() ) {
--- trunk/KDE/kdepim/mobile/lib/kdeclarativemainview_p.h #1204587:1204588
@@ -22,6 +22,7 @@
#include "kdeclarativemainview.h"
#include "akonadibreadcrumbnavigationfactory.h"
+#include "favoritescontroller.h"
#include "searchmanager.h"
#include "statemachinebuilder.h"
@@ -39,9 +40,6 @@
class KActionCollection;
class KLineEdit;
-static const char * const sFavoritePrefix = "Favorite_";
-static const int sFavoritePrefixLength = 9;
-
class ListProxy;
class KDeclarativeMainViewPrivate : public QObject
{
@@ -49,14 +47,12 @@
public: /// members
KDeclarativeMainView *q;
- Akonadi::ChangeRecorder *mChangeRecorder; // Deleted by \
~QObect
- QAbstractItemModel *mCollectionFilter; // Deleted by \
~QObect + Akonadi::ChangeRecorder *mChangeRecorder; // \
Deleted by ~QObject + QAbstractItemModel *mCollectionFilter; \
// Deleted by ~QObject Akonadi::EntityTreeModel *mEtm;
ListProxy *mListProxy;
QAbstractItemModel *mItemModel;
QAbstractProxyModel *mItemFilterModel;
- QItemSelectionModel *mFavSelection;
- QStringListModel *mFavsListModel;
Akonadi::AgentFilterProxyModel *mAgentInstanceFilterModel;
QItemSelectionModel *mAgentInstanceSelectionModel;
Akonadi::BreadcrumbNavigationFactory *mBnf;
@@ -71,13 +67,11 @@
GuiStateManager *mGuiStateManager;
NotifyingStateMachine *mStateMachine;
SearchManager *mSearchManager;
+ FavoritesController *mFavoritesController;
public: /// Methods
KDeclarativeMainViewPrivate( KDeclarativeMainView* );
- QAbstractItemModel* getFavoritesListModel();
- QStringList getFavoritesList();
-
public slots:
void saveState();
void restoreState();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic