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

List:       kde-commits
Subject:    KDE/kdepim/akonadi/resources/kabc
From:       Kevin Krammer <kevin.krammer () gmx ! at>
Date:       2008-08-31 1:48:22
Message-ID: 1220147302.170497.4948.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 855049 by krake:

Add support for new ResourceABC signal.
Make subresource signals sync the collection tree just in case the selected resource \
implementation does not always make the address book emit signals


 M  +26 -2     kabcresource.cpp  
 M  +3 -0      kabcresource.h  


--- trunk/KDE/kdepim/akonadi/resources/kabc/kabcresource.cpp #855048:855049
@@ -430,6 +430,10 @@
         connect( mFolderResource,
                  SIGNAL( signalSubresourceRemoved( KABC::ResourceABC*, const \
                QString&, const QString& ) ),
                  this, SLOT( subResourceRemoved( KABC::ResourceABC*, const QString&, \
const QString& ) ) ); +
+        connect( mFolderResource,
+                 SIGNAL( signalSubresourceChanged( KABC::ResourceABC*, const \
QString&, const QString& ) ), +                 this, SLOT( subResourcChanged( \
KABC::ResourceABC*, const QString&, const QString& ) ) );  }
   }
 
@@ -462,6 +466,9 @@
                     SIGNAL( signalSubresourceRemoved( KABC::ResourceABC*, const \
                QString&, const QString& ) ),
                     this, SLOT( subResourceRemoved( KABC::ResourceABC*, const \
QString&, const QString& ) ) );  
+        disconnect( mFolderResource,
+                    SIGNAL( signalSubresourceChanged( KABC::ResourceABC*, const \
QString&, const QString& ) ), +                    this, SLOT( subResourceChanged( \
KABC::ResourceABC*, const QString&, const QString& ) ) );  }
 
     if ( mBaseResource->isOpen() )
@@ -555,7 +562,9 @@
   Q_ASSERT( type.toLower() == QLatin1String( "contact" ) );
   Q_ASSERT( !subResource.isEmpty() );
 
-  // TODO: currently addressBookChanged() handles this already
+  // synchronizeCollectionTree just in case the resource does not make
+  // the address book emit addressBookChanged()
+  synchronizeCollectionTree();
 }
 
 void KABCResource::subResourceRemoved( KABC::ResourceABC *resource,
@@ -566,9 +575,24 @@
   Q_ASSERT( type.toLower() == QLatin1String( "contact" ) );
   Q_ASSERT( !subResource.isEmpty() );
 
-  // TODO: currently addressBookChanged() handles this already
+  // synchronizeCollectionTree just in case the resource does not make
+  // the address book emit addressBookChanged()
+  synchronizeCollectionTree();
 }
 
+void KABCResource::subResourceChanged( KABC::ResourceABC *resource,
+        const QString &type, const QString &subResource )
+{
+  kDebug() << "subResource" << subResource;
+  Q_ASSERT( resource == mFolderResource );
+  Q_ASSERT( type.toLower() == QLatin1String( "contact" ) );
+  Q_ASSERT( !subResource.isEmpty() );
+
+  // synchronizeCollectionTree just in case the resource does not make
+  // the address book emit addressBookChanged()
+  synchronizeCollectionTree();
+}
+
 void KABCResource::reloadConfiguration()
 {
   if ( mDelayedSaveTimer->isActive() ) {
--- trunk/KDE/kdepim/akonadi/resources/kabc/kabcresource.h #855048:855049
@@ -92,6 +92,9 @@
     void subResourceRemoved( KABC::ResourceABC *resource,
                              const QString &type, const QString &subResource );
 
+    void subResourceChanged( KABC::ResourceABC *resource,
+                             const QString &type, const QString &subResource );
+
     void reloadConfiguration();
 
     void delayedSaveAddressBook();


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

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