author | zautrix <zautrix> | 2005-07-26 19:03:31 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-07-26 19:03:31 (UTC) |
commit | c7b8804b49e463d42f0bd5aec4b638187190417a (patch) (side-by-side diff) | |
tree | 2941cd5b9df04c96cc18800acf5df9d320c167d8 /korganizer | |
parent | d0fe94073aa3209532952c944b41bccfb4341a8d (diff) | |
download | kdepimpi-c7b8804b49e463d42f0bd5aec4b638187190417a.zip kdepimpi-c7b8804b49e463d42f0bd5aec4b638187190417a.tar.gz kdepimpi-c7b8804b49e463d42f0bd5aec4b638187190417a.tar.bz2 |
ol fix
-rw-r--r-- | korganizer/koimportoldialog.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/korganizer/koimportoldialog.cpp b/korganizer/koimportoldialog.cpp index 2af436c..79b97e8 100644 --- a/korganizer/koimportoldialog.cpp +++ b/korganizer/koimportoldialog.cpp @@ -206,132 +206,132 @@ void KOImportOLdialog::readCalendarData( DWORD folder ) LPDISPATCH dispItem = (LPDISPATCH)folder; dispItem->AddRef(); MAPIFolder mf(dispItem); mf.m_lpDispatch->AddRef(); _Items folderItems; _variant_t indx((long)0); LPDISPATCH itm; int i; folderItems = mf.GetItems(); QProgressDialog bar( i18n("Importing calendar data"),i18n("Abort"), folderItems.GetCount(),this ); bar.setCaption (i18n("Importing!") ); int h = bar.sizeHint().height() ; int w = 300; int dw = QApplication::desktop()->width(); int dh = QApplication::desktop()->height(); //bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); bar.show(); for(i=1; i <= folderItems.GetCount(); ++i) { qApp->processEvents(); if ( ! bar.isVisible() ) return ; bar.setProgress( i ); bar.raise(); indx = (long)i; itm = folderItems.Item(indx.Detach()); _AppointmentItem * pItem = (_AppointmentItem *)&itm; ol2kopiCalendar( pItem ); itm->Release(); } } void KOImportOLdialog::slotOk() { QDialog::accept(); } void KOImportOLdialog::ol2kopiCalendar( _AppointmentItem * aItem, bool computeRecurrence ) { KCal::Event* event = new KCal::Event(); if ( aItem->GetAllDayEvent() ){ event->setDtStart( QDateTime( mDdate2Qdtr( aItem->GetStart()).date(),QTime(0,0,0 ) )); event->setDtEnd( QDateTime( mDdate2Qdtr( aItem->GetEnd()) .date(),QTime(0,0,0 )).addDays(-1)); event->setFloats( true ); } else { event->setDtStart( mDdate2Qdtr( aItem->GetStart()) ); event->setDtEnd( mDdate2Qdtr( aItem->GetEnd()) ); event->setFloats( false ); } - event->setSummary( QString::fromUcs2( aItem->GetSubject().GetBuffer()) ); - event->setLocation( QString::fromUcs2( aItem->GetLocation().GetBuffer()) ); - event->setDescription( QString::fromUcs2( aItem->GetBody().GetBuffer()).replace( QRegExp("\\r"), "") ); + event->setSummary( QString::fromUcs2( aItem->GetSubject().GetBuffer()).stripWhiteSpace() ); + event->setLocation( QString::fromUcs2( aItem->GetLocation().GetBuffer()).stripWhiteSpace() ); + event->setDescription( QString::fromUcs2( aItem->GetBody().GetBuffer()).replace( QRegExp("\\r"), "").stripWhiteSpace() ); QString cat = QString::fromUcs2( aItem->GetCategories().GetBuffer()).replace( QRegExp("; "), ";"); event->setCategories( QStringList::split( ";", cat ) ); if ( aItem->GetReminderSet() ) { event->clearAlarms(); Alarm* alarm = event->newAlarm(); alarm->setStartOffset( -aItem->GetReminderMinutesBeforeStart()*60 ); alarm->setEnabled( true ); if ( aItem->GetReminderPlaySound() ) { alarm->setType( Alarm::Audio ); alarm->setAudioFile( QString::fromUcs2( aItem->GetReminderSoundFile().GetBuffer())); } else alarm->setType( Alarm::Display ); alarm->setRepeatCount( aItem->GetReplyTime() ); } // OL :pub 0 - pers 1 - priv 2 - conf 3 // KO : pub 0 - priv 1 - conf 2 int sec = aItem->GetSensitivity() ; if ( sec > 1 )// mapping pers -> private --sec; event->setSecrecy( sec ); if ( aItem->GetBusyStatus() == 0 ) event->setTransparency( Event::Transparent);// OL free else event->setTransparency( Event::Opaque);//OL all other if ( aItem->GetIsRecurring() && computeRecurrence ) { //recur RecurrencePattern recpat = aItem->GetRecurrencePattern(); QDate startDate = mDdate2Qdtr(recpat.GetPatternStartDate()).date(); int freq = recpat.GetInterval(); - + if ( freq == 0 ) freq = 1; bool hasEndDate = !recpat.GetNoEndDate(); QDate endDate = mDdate2Qdtr(recpat.GetPatternEndDate()).date(); QBitArray weekDays( 7 ); weekDays.fill(false ); uint weekDaysNum = recpat.GetDayOfWeekMask(); int i; int bb = 2; for( i = 1; i <= 6; ++i ) { weekDays.setBit( i - 1, ( bb & weekDaysNum )); bb = 4 << (i-1); //qDebug(" %d bit %d ",i-1,weekDays.at(i-1) ); } if ( 1 & weekDaysNum) weekDays.setBit( 6 ); // int pos = 1;// pending Recurrence *r = event->recurrence(); int rtype = recpat.GetRecurrenceType(); //recurrence types are: /* olRecursDaily(0) olRecursWeekly(1) olRecursMonthly(2) olRecursMonthNth(3) olRecursYearly(5) olRecursYearNth(6) */ int duration = recpat.GetOccurrences(); if ( !hasEndDate ) duration = -1; //LPDISPATCH RecurrencePattern::GetExceptions() //long RecurrencePattern::GetMonthOfYear() if ( rtype == 0 ) { if ( hasEndDate ) r->setDaily( freq, endDate ); else r->setDaily( freq, duration ); } else if ( rtype == 1 ) { if ( hasEndDate ) r->setWeekly( freq, weekDays, endDate ); else r->setWeekly( freq, weekDays, duration ); } else if ( rtype == 2 ) { if ( hasEndDate ) r->setMonthly( Recurrence::rMonthlyDay, freq, endDate ); else r->setMonthly( Recurrence::rMonthlyDay, freq, duration ); //r->addMonthlyDay( startDate.day() ); r->addMonthlyDay( recpat.GetDayOfMonth() ); } else if ( rtype == 3 ) { |