[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdepim-runtime] resources/dav/resource: Better detect duplicate
From:       Gregory Oestreicher <greg () kamago ! net>
Date:       2011-09-30 21:13:05
Message-ID: 20110930211305.D9518A60A6 () git ! kde ! org
[Download RAW message or body]

Git commit 127a200436261b4ca50b9da863b25329d3cf72f0 by Gregory Oestreicher.
Committed on 30/09/2011 at 23:12.
Pushed by goestreicher into branch 'master'.

Better detect duplicate collection names across multiple configuration URLs

M  +6    -5    resources/dav/resource/davgroupwareresource.cpp
M  +3    -0    resources/dav/resource/davgroupwareresource.h

http://commits.kde.org/kdepim-runtime/127a200436261b4ca50b9da863b25329d3cf72f0

diff --git a/resources/dav/resource/davgroupwareresource.cpp \
b/resources/dav/resource/davgroupwareresource.cpp index b77142a..ed5a7d9 100644
--- a/resources/dav/resource/davgroupwareresource.cpp
+++ b/resources/dav/resource/davgroupwareresource.cpp
@@ -221,6 +221,8 @@ void DavGroupwareResource::retrieveCollections()
   }
 
   emit status( Running, i18n( "Fetching collections" ) );
+  mSeenCollectionsNames.clear();
+  mSeenCollectionsUrls.clear();
 
   DavCollectionsMultiFetchJob *job = new DavCollectionsMultiFetchJob( \
Settings::self()->configuredDavUrls() );  connect( job, SIGNAL(result(KJob*)), \
SLOT(onRetrieveCollectionsFinished(KJob*)) ); @@ -504,8 +506,6 @@ void \
DavGroupwareResource::onRetrieveCollectionsFinished( KJob *job )  }
 
   const DavCollection::List davCollections = fetchJob->collections();
-  QSet<QString> seenCollectionsNames;
-  QSet<QString> seenCollectionsUrls;
 
   foreach ( const DavCollection &davCollection, davCollections ) {
     if ( mCollectionsWithTemporaryError.contains( davCollection.url() ) ) {
@@ -513,10 +513,10 @@ void DavGroupwareResource::onRetrieveCollectionsFinished( KJob \
*job )  mCollectionsWithTemporaryError.removeOne( davCollection.url() );
     }
 
-    if ( seenCollectionsUrls.contains( davCollection.url() ) )
+    if ( mSeenCollectionsUrls.contains( davCollection.url() ) )
       continue;
     else
-      seenCollectionsUrls.insert( davCollection.url() );
+      mSeenCollectionsUrls.insert( davCollection.url() );
 
     Akonadi::Collection collection;
     collection.setParentCollection( mDavCollectionRoot );
@@ -524,10 +524,11 @@ void DavGroupwareResource::onRetrieveCollectionsFinished( KJob \
*job )  if ( davCollection.displayName().isEmpty() ) {
       collection.setName( name() + " (" + davCollection.url() + ')' );
     } else {
-      if ( seenCollectionsNames.contains( davCollection.displayName() ) ) {
+      if ( mSeenCollectionsNames.contains( davCollection.displayName() ) ) {
         collection.setName( davCollection.displayName() + " (" + davCollection.url() \
+ ')' );  } else {
         collection.setName( davCollection.displayName() );
+        mSeenCollectionsNames.insert( davCollection.displayName() );
       }
     }
 
diff --git a/resources/dav/resource/davgroupwareresource.h \
b/resources/dav/resource/davgroupwareresource.h index 9465602..148dc80 100644
--- a/resources/dav/resource/davgroupwareresource.h
+++ b/resources/dav/resource/davgroupwareresource.h
@@ -27,6 +27,7 @@
 class DavFreeBusyHandler;
 class KDateTime;
 
+#include <QtCore/QSet>
 #include <QtCore/QStringList>
 
 class DavGroupwareResource : public Akonadi::ResourceBase,
@@ -99,6 +100,8 @@ class DavGroupwareResource : public Akonadi::ResourceBase,
     EtagCache mEtagCache;
     QStringList mCollectionsWithTemporaryError;
     DavFreeBusyHandler *mFreeBusyHandler;
+    QSet<QString> mSeenCollectionsNames;
+    QSet<QString> mSeenCollectionsUrls;
 };
 
 #endif


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic