Sophie

Sophie

distrib > Mageia > 5 > i586 > by-pkgid > cf746698214707f972e669b661d0ae59 > files > 64

kdepim4-4.14.10-1.3.mga5.src.rpm

From c03f47ac241e30cce2c8c77ecd028afb9070fa3c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= <daniel.vratil@kdab.com>
Date: Mon, 23 May 2016 12:21:33 +0200
Subject: [PATCH 64/74] SearchDialog: Always display number of results

---
 kmail/searchdialog/searchwindow.cpp | 20 ++++++++++++++++++++
 kmail/searchdialog/searchwindow.h   |  1 +
 2 files changed, 21 insertions(+)

diff --git a/kmail/searchdialog/searchwindow.cpp b/kmail/searchdialog/searchwindow.cpp
index 63baf4590c..263b3842e3 100644
--- a/kmail/searchdialog/searchwindow.cpp
+++ b/kmail/searchdialog/searchwindow.cpp
@@ -596,7 +596,12 @@ void SearchWindow::searchDone( KJob* job )
         new Akonadi::CollectionModifyJob( mFolder, this );
         mSearchJob = 0;
 
+        Akonadi::CollectionFetchJob *fetch = new Akonadi::CollectionFetchJob(mFolder, Akonadi::CollectionFetchJob::Base, this);
+        fetch->fetchScope().setIncludeStatistics(true);
+        connect(fetch, SIGNAL(result(KJob*)), this, SLOT(slotCollectionStatisticsRetrieved(KJob*)));
+
         mUi.mStatusLbl->setText( i18n("Search complete.") );
+
         createSearchModel();
 
         if ( mCloseRequested )
@@ -609,6 +614,21 @@ void SearchWindow::searchDone( KJob* job )
     }
 }
 
+void SearchWindow::slotCollectionStatisticsRetrieved(KJob *job)
+{
+    Akonadi::CollectionFetchJob *fetch = qobject_cast<Akonadi::CollectionFetchJob*>(job);
+    if (!fetch || fetch->error()) {
+        return;
+    }
+
+    const Akonadi::Collection::List cols = fetch->collections();
+    if (cols.isEmpty()) {
+        return;
+    }
+
+    updateCollectionStatistic(cols[0].id(), cols[0].statistics());
+}
+
 void SearchWindow::slotStop()
 {
     mUi.mProgressIndicator->stop();
diff --git a/kmail/searchdialog/searchwindow.h b/kmail/searchdialog/searchwindow.h
index 986027b8e3..8f52e8c88c 100644
--- a/kmail/searchdialog/searchwindow.h
+++ b/kmail/searchdialog/searchwindow.h
@@ -138,6 +138,7 @@ private Q_SLOTS:
     void slotSaveMsg();
     void slotSaveAttachments();
     void slotPrintMsg();
+    void slotCollectionStatisticsRetrieved(KJob *job);
 
     /** GUI cleanup after search */
     void searchDone( KJob* );
-- 
2.14.1