[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/akonadi/akonadiconsole
From: Stephen Kelly <steveire () gmail ! com>
Date: 2009-10-22 13:11:37
Message-ID: 1256217097.588831.14792.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1038994 by skelly:
Remove workaround for bug fixed in Qt4.6
This should fix the change list type issue.
M +17 -43 browserwidget.cpp
M +2 -2 browserwidget.h
--- trunk/KDE/kdepim/akonadi/akonadiconsole/browserwidget.cpp #1038993:1038994
@@ -125,7 +125,7 @@
mBrowserModel->setItemPopulationStrategy( EntityTreeModel::LazyPopulation );
mBrowserModel->setShowSystemEntities( true );
- new ModelTest( mBrowserModel );
+// new ModelTest( mBrowserModel );
EntityMimeTypeFilterModel *collectionFilter = new EntityMimeTypeFilterModel( this \
); collectionFilter->setSourceModel( mBrowserModel );
@@ -147,13 +147,13 @@
mCollectionView->setModel( sortModel );
-// connect( mBrowserModel, SIGNAL( modelAboutToBeReset() ), SLOT( \
slotBrowserModelAboutToBeReset() ) );
-// connect( mBrowserModel, SIGNAL( modelReset() ), SLOT( slotBrowserModelReset() ) \
);
-
Akonadi::SelectionProxyModel *selectionProxyModel = new \
Akonadi::SelectionProxyModel( mCollectionView->selectionModel(), this ); \
selectionProxyModel->setSourceModel( mBrowserModel ); \
selectionProxyModel->setFilterBehavior( \
KSelectionProxyModel::ChildrenOfExactSelection );
+ connect( selectionProxyModel, SIGNAL( modelAboutToBeReset() ), SLOT( \
slotBrowserModelAboutToBeReset() ) ); + connect( selectionProxyModel, SIGNAL( \
modelReset() ), SLOT( slotBrowserModelReset() ) ); +
EntityMimeTypeFilterModel *itemFilter = new EntityMimeTypeFilterModel( this );
itemFilter->setSourceModel( selectionProxyModel );
itemFilter->addMimeTypeExclusionFilter( Collection::mimeType() );
@@ -359,26 +359,6 @@
void BrowserWidget::modelChanged()
{
- // For some reason resetting the sourceModel crashes the app when trying to
- // propagate the change through the proxies. This is probably because resetting
- // in QAIM is broken (API bug: don't have beginResetModel and endResetModel, so
- // the source model is already fully reset when the proxy emits beginResetModel
- // http://www.qtsoftware.com/developer/task-tracker/index_html?method=entry&id=247023).
- // I'll see about fixing it in time for Qt 4.6.
- // To work around, we unset the sourceModel in the stats proxy, the model resets \
itself
- // in setItemDisplayMode, and then we set the sourceModel again on the proxy.
- // Of course, this sucks in other ways, like for example, that the view is empty \
while the
- // model is being reset, so we can't save and restore view state in slots \
connected to beginResetModel
- // and endResetModel.
- // -- Stephen Kelly, 24. July 2009.
-
- KConfigGroup saveConfig( KGlobal::config(), "CollectionViewState" );
- EntityTreeViewStateSaver* saver = new EntityTreeViewStateSaver( mCollectionView );
- saver->saveState( saveConfig );
- saveConfig.sync();
-
- QAbstractItemModel *model = statisticsProxyModel->sourceModel();
- statisticsProxyModel->setSourceModel(0);
switch ( itemUi.modelBox->currentIndex() ) {
case 1:
mBrowserModel->setItemDisplayMode(AkonadiBrowserModel::MailMode);
@@ -392,10 +372,6 @@
default:
mBrowserModel->setItemDisplayMode(AkonadiBrowserModel::GenericMode);
}
- statisticsProxyModel->setSourceModel(model);
-
- const KConfigGroup restoreConfig( KGlobal::config(), "CollectionViewState" );
- saver->restoreState( restoreConfig );
}
void BrowserWidget::save()
@@ -479,22 +455,20 @@
KMessageBox::error( this, job->errorString() );
}
+void BrowserWidget::slotBrowserModelAboutToBeReset()
+{
+ KConfigGroup cfg( KGlobal::config(), "CollectionViewState" );
+ EntityTreeViewStateSaver saver( mCollectionView );
+ saver.saveState( cfg );
+ cfg.sync();
+}
-// void BrowserWidget::slotBrowserModelAboutToBeReset()
-// {
-// KConfigGroup cfg( KGlobal::config(), "CollectionViewState" );
-// EntityTreeViewStateSaver saver( mCollectionView );
-// saver.saveState( cfg );
-// cfg.sync();
-// }
+void BrowserWidget::slotBrowserModelReset()
+{
+ const KConfigGroup cfg( KGlobal::config(), "CollectionViewState" );
+ EntityTreeViewStateSaver* saver = new EntityTreeViewStateSaver( mCollectionView );
+ saver->restoreState( cfg );
+}
-// void BrowserWidget::slotBrowserModelReset()
-// {
-// const KConfigGroup cfg( KGlobal::config(), "CollectionViewState" );
-// EntityTreeViewStateSaver* saver = new EntityTreeViewStateSaver( mCollectionView \
);
-// saver->restoreState( cfg );
-// }
-
-
#include "browserwidget.moc"
--- trunk/KDE/kdepim/akonadi/akonadiconsole/browserwidget.h #1038993:1038994
@@ -70,8 +70,8 @@
void dumpToXmlResult( KJob *job );
void clear();
-// void slotBrowserModelAboutToBeReset();
-// void slotBrowserModelReset();
+ void slotBrowserModelAboutToBeReset();
+ void slotBrowserModelReset();
private:
AkonadiBrowserModel *mBrowserModel;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic