[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