From 9b28dc58e9f75e883c0f4e7a3c71dcf938fbc786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= Date: Sat, 28 Jul 2018 00:28:46 +0200 Subject: [PATCH] FolderTreeWidget: make the statistics proxy optional Summary: Makes it easier to reuse the widget in other places that do not need the extra columns with statistics. Reviewers: mlaurent Reviewed By: mlaurent Subscribers: kde-pim Tags: #kde_pim Differential Revision: https://phabricator.kde.org/D14433 --- src/folder/foldertreewidget.cpp | 18 +++++++++++++----- src/folder/foldertreewidget.h | 3 ++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/folder/foldertreewidget.cpp b/src/folder/foldertreewidget.cpp index 17e6336..37e9a2c 100644 --- a/src/folder/foldertreewidget.cpp +++ b/src/folder/foldertreewidget.cpp @@ -113,11 +113,15 @@ FolderTreeWidget::FolderTreeWidget( d->quotaModel = new Akonadi::QuotaColorProxyModel(this); d->quotaModel->setSourceModel(KernelIf->collectionModel()); - d->filterModel = new Akonadi::StatisticsProxyModel(this); - d->filterModel->setSourceModel(d->quotaModel); + if (!(options & HideStatistics)) { + d->filterModel = new Akonadi::StatisticsProxyModel(this); + d->filterModel->setSourceModel(d->quotaModel); + } d->readableproxy = new FolderTreeWidgetProxyModel(this, optReadableProxy); - d->readableproxy->setSourceModel(d->filterModel); + d->readableproxy->setSourceModel((options & HideStatistics) + ? static_cast(d->quotaModel) + : static_cast(d->filterModel)); d->readableproxy->addContentMimeTypeInclusionFilter(KMime::Message::mimeType()); connect(d->folderTreeView, &FolderTreeView::changeTooltipsPolicy, this, &FolderTreeWidget::slotChangeTooltipsPolicy); @@ -302,10 +306,14 @@ void FolderTreeWidget::changeToolTipsPolicyConfig(ToolTipDisplayPolicy policy) switch (policy) { case DisplayAlways: case DisplayWhenTextElided: //Need to implement in the future - d->filterModel->setToolTipEnabled(true); + if (d->filterModel) { + d->filterModel->setToolTipEnabled(true); + } break; case DisplayNever: - d->filterModel->setToolTipEnabled(false); + if (d->filterModel) { + d->filterModel->setToolTipEnabled(false); + } } d->folderTreeView->setTooltipsPolicy(policy); } diff --git a/src/folder/foldertreewidget.h b/src/folder/foldertreewidget.h index 64daff8..a88783b 100644 --- a/src/folder/foldertreewidget.h +++ b/src/folder/foldertreewidget.h @@ -57,7 +57,8 @@ public: UseLineEditForFiltering = 2, UseDistinctSelectionModel = 4, ShowCollectionStatisticAnimation = 8, - DontKeyFilter = 16 + DontKeyFilter = 16, + HideStatistics = 32 }; Q_DECLARE_FLAGS(TreeViewOptions, TreeViewOption)