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

List:       kde-commits
Subject:    kdepim/kresources/opengroupware
From:       Cornelius Schumacher <schumacher () kde ! org>
Date:       2004-10-31 16:30:52
Message-ID: 20041031163052.1829816C87 () office ! kde ! org
[Download RAW message or body]

CVS commit by cschumac: 

Load all folders.


  M +52 -24    kcal_resourceopengroupware.cpp   1.12
  M +3 -0      kcal_resourceopengroupware.h   1.6


--- kdepim/kresources/opengroupware/kcal_resourceopengroupware.cpp  #1.11:1.12
@@ -111,4 +111,8 @@ void OpenGroupware::readConfig( const KC
 
   mFolderLister->readConfig( config );
+
+  mBaseUrl = KURL( prefs()->url() );
+  mBaseUrl.setUser( prefs()->user() );
+  mBaseUrl.setPass( prefs()->password() );
 }
 
@@ -157,12 +161,36 @@ bool OpenGroupware::doLoad()
   emit resourceChanged( this );
 
-  mBaseUrl = KURL( prefs()->url() );
-  mBaseUrl.setUser( prefs()->user() );
-  mBaseUrl.setPass( prefs()->password() );
+  mFoldersForDownload.clear();
+  FolderLister::Entry::List folders = mFolderLister->folders();
+  FolderLister::Entry::List::ConstIterator it;
+  for( it = folders.begin(); it != folders.end(); ++it ) {
+    if ( (*it).active ) {
+      mFoldersForDownload.append( (*it).id );
+    }
+  }
 
-  kdDebug() << "Download URL: " << mBaseUrl << endl;
+  mIncidencesForDownload.clear();
 
-  mJobData = QString::null;
+  mProgress = KPIM::ProgressManager::instance()->createProgressItem(
+    KPIM::ProgressManager::getUniqueID(), i18n("Downloading calendar") );
+  connect( mProgress,
+           SIGNAL( progressItemCanceled( KPIM::ProgressItem * ) ),
+           SLOT( cancelLoad() ) );
+
+  listIncidences();
+
+  return true;
+}
 
+void OpenGroupware::listIncidences()
+{
+  if ( mFoldersForDownload.isEmpty() ) {
+    if ( mProgress ) {
+      mProgress->setTotalItems( mIncidencesForDownload.count() );
+      mProgress->setCompletedItems(1);
+      mProgress->updateProgress();
+    }
+    downloadNextIncidence();
+  } else {
   QDomDocument props = WebdavHandler::createItemsAndVersionsPropsRequest();
 
@@ -170,16 +198,18 @@ bool OpenGroupware::doLoad()
   //kdDebug(7000) << "props: " << props.toString() << endl;
 
-  mListEventsJob = KIO::davPropFind( mBaseUrl, props, "1", false );
+    KURL url = mFoldersForDownload.front();
+    mFoldersForDownload.pop_front();
 
-  connect( mListEventsJob, SIGNAL( result( KIO::Job * ) ),
-           SLOT( slotListJobResult( KIO::Job * ) ) );
+    url.setUser( prefs()->user() );
+    url.setPass( prefs()->password() );
+    url.addPath( "/Calendar" );
 
-  mProgress = KPIM::ProgressManager::instance()->createProgressItem(
-    KPIM::ProgressManager::getUniqueID(), i18n("Downloading calendar") );
-  connect( mProgress,
-           SIGNAL( progressItemCanceled( KPIM::ProgressItem * ) ),
-           SLOT( cancelLoad() ) );
+    kdDebug() << "OpenGroupware::listIncidences(): " << url << endl;
 
-  return true;
+    mListEventsJob = KIO::davPropFind( url, props, "1", false );
+
+    connect( mListEventsJob, SIGNAL( result( KIO::Job * ) ),
+             SLOT( slotListJobResult( KIO::Job * ) ) );
+  }
 }
 
@@ -197,5 +227,4 @@ void OpenGroupware::slotListJobResult( K
     }
   } else {
-    mIncidencesForDownload.clear();
     QDomDocument doc = mListEventsJob->response();
 
@@ -217,13 +246,8 @@ void OpenGroupware::slotListJobResult( K
       idMapper().setFingerprint( url.path(), e.text() );
     }
-
-    if ( mProgress ) {
-      mProgress->setTotalItems( mIncidencesForDownload.count() );
-      mProgress->setCompletedItems(1);
-      mProgress->updateProgress();
-    }
   }
   mListEventsJob = 0;
-  downloadNextIncidence();
+
+  listIncidences();
 }
 
@@ -239,4 +264,7 @@ void OpenGroupware::downloadNextIncidenc
     url.setUser( mPrefs->user() );
     url.setPass( mPrefs->password() );
+
+    mJobData = QString::null;
+
     mDownloadJob = KIO::get( url, false, false );
     connect( mDownloadJob, SIGNAL( result( KIO::Job * ) ),

--- kdepim/kresources/opengroupware/kcal_resourceopengroupware.h  #1.5:1.6
@@ -79,4 +79,5 @@ class OpenGroupware : public ResourceCac
     void doDeletions();
 
+    void listIncidences();
 
   protected slots:
@@ -105,4 +106,6 @@ class OpenGroupware : public ResourceCac
     QString mJobData;
 
+    QStringList mFoldersForDownload;
+
     QStringList mIncidencesForDownload;
     QStringList mIncidencesForUpload;


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

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