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

List:       kde-commits
Subject:    KDE/kdepim/kresources/akonadi/kabc
From:       Kevin Krammer <kevin.krammer () gmx ! at>
Date:       2008-09-10 21:12:58
Message-ID: 1221081178.678501.31122.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 859654 by krake:

Write subresource properties into config sub groups


 M  +37 -10    resourceakonadi.cpp  


--- trunk/KDE/kdepim/kresources/akonadi/kabc/resourceakonadi.cpp #859653:859654
@@ -49,14 +49,13 @@
 class SubResource
 {
   public:
-    SubResource( const Collection &collection )
+    SubResource( const Collection &collection, const KConfigGroup &parentGroup )
         : mCollection( collection ), mLabel( collection.name() ),
           mActive(true), mCompletionWeight(80)
     {
+      readConfig( parentGroup );
     }
 
-    // TODO: need to use KConfigGroup instead
-    // or probably a collection attribute?
     void setActive( bool active )
     {
       mActive = active;
@@ -73,6 +72,25 @@
 
     int completionWeight() const { return mCompletionWeight; }
 
+    void writeConfig( KConfigGroup &parentGroup ) const
+    {
+      KConfigGroup group( &parentGroup, mCollection.url().url() );
+
+      group.writeEntry( QLatin1String( "Active" ), mActive );
+      group.writeEntry( QLatin1String( "CompletionWeight" ), mCompletionWeight );
+    }
+
+    void readConfig( const KConfigGroup &parentGroup )
+    {
+      const QString collectionUrl = mCollection.url().url();
+      if ( !parentGroup.hasGroup( collectionUrl ) )
+        return;
+
+      KConfigGroup group( &parentGroup, collectionUrl );
+      mActive = group.readEntry<bool>( QLatin1String( "Active" ), true );
+      mCompletionWeight = group.readEntry<int>( QLatin1String( "CompletionWeight" ), 80 );
+    }
+
   public:
     Collection mCollection;
     QString mLabel;
@@ -97,6 +115,8 @@
  public:
     ResourceAkonadi *mParent;
 
+    KConfigGroup mConfig;
+
     Monitor *mMonitor;
 
     ItemMap mItems;
@@ -156,12 +176,11 @@
 {
   KUrl url = group.readEntry( QLatin1String( "CollectionUrl" ), KUrl() );
 
-  if ( !url.isValid() ) {
-    // TODO error handling
-  } else {
+  if ( url.isValid() )
     d->mStoreCollection = Collection::fromUrl( url );
-  }
 
+  d->mConfig = group;
+
   init();
 }
 
@@ -193,9 +212,17 @@
 
 void ResourceAkonadi::writeConfig( KConfigGroup &group )
 {
+  ResourceABC::writeConfig( group );
+
   group.writeEntry( QLatin1String( "CollectionUrl" ), d->mStoreCollection.url() );
 
-  ResourceABC::writeConfig( group );
+  SubResourceMap::const_iterator it    = d->mSubResources.begin();
+  SubResourceMap::const_iterator endIt = d->mSubResources.end();
+  for (; it != endIt; ++it ) {
+    it.value()->writeConfig( group );
+  }
+
+  d->mConfig = group;
 }
 
 bool ResourceAkonadi::doOpen()
@@ -312,7 +339,7 @@
     const QString collectionUrl = collection.url().url();
     SubResource *subResource = d->mSubResources[ collectionUrl ];
     if ( subResource == 0 ) {
-      subResource = new SubResource( collection );
+      subResource = new SubResource( collection, d->mConfig );
       d->mSubResources.insert( collectionUrl, subResource );
       d->mSubResourceIds.insert( collectionUrl );
       kDebug(5700) << "Adding subResource" << subResource->mLabel
@@ -832,7 +859,7 @@
 
           SubResource *subResource = mSubResources[ collectionUrl ];
           if ( subResource == 0 ) {
-            subResource = new SubResource( collection );
+            subResource = new SubResource( collection, mConfig );
             mSubResources.insert( collectionUrl, subResource );
             mSubResourceIds.insert( collectionUrl );
             kDebug(5700) << "Adding subResource" << subResource->mLabel
[prev in list] [next in list] [prev in thread] [next in thread] 

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