Branch 'kolab/integration/4.13.0' - 3 commits - korganizer/akonadicollectionview.cpp korganizer/calendarview.cpp korganizer/views

Christian Mollekopf mollekopf at kolabsys.com
Fri Jan 2 17:00:34 CET 2015


 korganizer/akonadicollectionview.cpp                    |    2 -
 korganizer/calendarview.cpp                             |   28 +++++++++-------
 korganizer/views/collectionview/collectionsearchjob.cpp |    1 
 3 files changed, 18 insertions(+), 13 deletions(-)

New commits:
commit c02b9c2a7ba83658b86f7586a305cd2e5de065b7
Author: Christian Mollekopf <chrigi_1 at fastmail.fm>
Date:   Fri Jan 2 16:59:00 2015 +0100

    Don't show referenced collections as enabled.

diff --git a/korganizer/akonadicollectionview.cpp b/korganizer/akonadicollectionview.cpp
index 2be181a..170fad6 100644
--- a/korganizer/akonadicollectionview.cpp
+++ b/korganizer/akonadicollectionview.cpp
@@ -387,7 +387,7 @@ protected:
     {
         if (role == EnabledRole) {
             Akonadi::Collection col = index.data(Akonadi::EntityTreeModel::CollectionRole).value<Akonadi::Collection>();
-            if (col.shouldList(Akonadi::Collection::ListDisplay)) {
+            if (col.enabled()) {
                 return Qt::Checked;
             } else {
                 return Qt::Unchecked;


commit fee0da0dc09aa999c92276a52a39037dff377498
Author: Christian Mollekopf <chrigi_1 at fastmail.fm>
Date:   Fri Jan 2 16:17:02 2015 +0100

    CollectionSearchJob: Fixed in case of outdated collections in index.

diff --git a/korganizer/views/collectionview/collectionsearchjob.cpp b/korganizer/views/collectionview/collectionsearchjob.cpp
index 6bc664b..0f17ab2 100644
--- a/korganizer/views/collectionview/collectionsearchjob.cpp
+++ b/korganizer/views/collectionview/collectionsearchjob.cpp
@@ -55,6 +55,7 @@ void CollectionSearchJob::start()
     Akonadi::CollectionFetchJob *fetchJob = new Akonadi::CollectionFetchJob(collections, Akonadi::CollectionFetchJob::Base, this);
     fetchJob->fetchScope().setAncestorRetrieval(Akonadi::CollectionFetchScope::All);
     fetchJob->fetchScope().setListFilter(Akonadi::CollectionFetchScope::NoFilter);
+    fetchJob->fetchScope().setIgnoreRetrievalErrors(true);
     connect(fetchJob, SIGNAL(collectionsReceived(Akonadi::Collection::List)), this, SLOT(onCollectionsReceived(Akonadi::Collection::List)));
     connect(fetchJob, SIGNAL(result(KJob*)), this, SLOT(onCollectionsFetched(KJob*)));
 }


commit f5f3afcb9ad49abf1879476d89c2d036c0971aaf
Author: Christian Mollekopf <chrigi_1 at fastmail.fm>
Date:   Fri Jan 2 13:59:24 2015 +0100

    Enable search collections if accidentally disabled, search without filter for collection.

diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index a710ae2..c0cc169 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -341,20 +341,22 @@ Akonadi::ETMCalendar::Ptr CalendarView::calendar() const
 void CalendarView::setupSearchCollections()
 {
     Akonadi::CollectionFetchJob *fetchJob = new Akonadi::CollectionFetchJob(Akonadi::Collection(1), Akonadi::CollectionFetchJob::FirstLevel);
+    fetchJob->fetchScope().setListFilter(Akonadi::CollectionFetchScope::NoFilter);
     connect(fetchJob, SIGNAL(result(KJob*)), this, SLOT(onSearchCollectionsFetched(KJob*)));
 }
 
 void CalendarView::onSearchCollectionsFetched(KJob *job)
 {
     if (job->error()) {
-        kWarning() << job->errorString();
-    }
-    Akonadi::CollectionFetchJob *fetchJob = static_cast<Akonadi::CollectionFetchJob*>(job);
-    Q_FOREACH(const Akonadi::Collection &col, fetchJob->collections()) {
-        if (col.name() == QLatin1String("OpenInvitations")) {
-            mOpenInvitationCollection = col;
-        } else if (col.name() == QLatin1String("DeclinedInvitations")) {
-            mDeclineCollection = col;
+        kWarning() << "Search failed: " << job->errorString();
+    } else {
+        Akonadi::CollectionFetchJob *fetchJob = static_cast<Akonadi::CollectionFetchJob*>(job);
+        Q_FOREACH(const Akonadi::Collection &col, fetchJob->collections()) {
+            if (col.name() == QLatin1String("OpenInvitations")) {
+                mOpenInvitationCollection = col;
+            } else if (col.name() == QLatin1String("DeclinedInvitations")) {
+                mDeclineCollection = col;
+            }
         }
     }
     createOrUpdateSearchCollections();
@@ -382,6 +384,7 @@ void CalendarView::createOrUpdateSearchCollections()
         attribute->setQueryString( QString::fromLatin1(query.toJSON()) );
         attribute->setRemoteSearchEnabled(false);
         displayname->setDisplayName(i18nc("A collection of all open invidations.", "Open Invitations"));
+        mOpenInvitationCollection.setEnabled(true);
         Akonadi::CollectionModifyJob *job = new Akonadi::CollectionModifyJob( mOpenInvitationCollection, this );
         connect( job, SIGNAL(result(KJob*)), this, SLOT(modifyResult(KJob*)) );
         kDebug() <<  "updating OpenIncidence (" << mOpenInvitationCollection.id() << ") virtual Collection";
@@ -409,6 +412,7 @@ void CalendarView::createOrUpdateSearchCollections()
         persistentsearch->setQueryString( QString::fromLatin1(query.toJSON()) );
         persistentsearch->setRemoteSearchEnabled(false);
         displayname->setDisplayName(i18nc("A collection of all declined invidations.", "Declined Invitations"));
+        mDeclineCollection.setEnabled(true);
         Akonadi::CollectionModifyJob *job = new Akonadi::CollectionModifyJob( mDeclineCollection, this );
         connect( job, SIGNAL(result(KJob*)), this, SLOT(modifyResult(KJob*)) );
         kDebug() <<  "updating DeclinedIncidence(" << mDeclineCollection.id() << ") virtual Collection";
@@ -420,10 +424,10 @@ void CalendarView::createOrUpdateSearchCollections()
 void CalendarView::modifyResult(KJob* job)
 {
     if (job->error()) {
-        kDebug() << "Error occurred " <<  job->errorString();
-        return;
+        kWarning() << "Error occurred " <<  job->errorString();
+    } else {
+        kDebug() << "modify was successfull";
     }
-    kDebug() << "modify was successfull";
 }
 
 
@@ -432,7 +436,7 @@ void CalendarView::createSearchJobFinished( KJob *job )
     Akonadi::SearchCreateJob *createJob = qobject_cast<Akonadi::SearchCreateJob *>(job);
     const Akonadi::Collection searchCollection = createJob->createdCollection();
     if (job->error()) {
-        qDebug() << "Error occurred " <<  searchCollection.name();
+        kWarning() << "Error occurred " <<  searchCollection.name() << job->errorString();
         return;
     }
     qDebug() << "Created search folder successfully " <<  searchCollection.name();




More information about the commits mailing list