summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt3
-rw-r--r--korganizer/koimportoldialog.cpp8
2 files changed, 7 insertions, 4 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 06d630a..52590d8 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,33 +1,36 @@
1Info about the changes in new versions of KDE-Pim/Pi 1Info about the changes in new versions of KDE-Pim/Pi
2 2
3********** VERSION 2.1.17 ************ 3********** VERSION 2.1.17 ************
4 4
5KO/Pi: 5KO/Pi:
6Added option to display times in What's Next View on two lines. 6Added option to display times in What's Next View on two lines.
7(Useful for display on the Zaurus with 240x320 screen) 7(Useful for display on the Zaurus with 240x320 screen)
8Removed "Allday" for allday events of one day duration in What's Next View. 8Removed "Allday" for allday events of one day duration in What's Next View.
9Added date range for allday events of more than one day duration in What's Next View. 9Added date range for allday events of more than one day duration in What's Next View.
10Fixed two problems in the data importing from Outlook:
11 Fixed the duplicated import if the summary, location or description had whitespaces at the end.
12 Fixed a problem importing certain recurrence rules.
10 13
11********** VERSION 2.1.16 ************ 14********** VERSION 2.1.16 ************
12 15
13Fixed a problem with the menu bar in KO/Pi and using the "Menu" hardware key on the Zaurus. 16Fixed a problem with the menu bar in KO/Pi and using the "Menu" hardware key on the Zaurus.
14Added columns for datetime in todo view: Last modified, created and last modified subtodo 17Added columns for datetime in todo view: Last modified, created and last modified subtodo
15Fixed a bug in agenda view displaying recurring multiday events which are longer than two days. 18Fixed a bug in agenda view displaying recurring multiday events which are longer than two days.
16Made conflict detection up to 4 times faster. 19Made conflict detection up to 4 times faster.
17 20
18********** VERSION 2.1.15 ************ 21********** VERSION 2.1.15 ************
19 22
20Fixed two layout problems on the Z: 23Fixed two layout problems on the Z:
21Made the with of the newly added buttons on the Quick-Todo smaller. 24Made the with of the newly added buttons on the Quick-Todo smaller.
22Made listweek layout in 2 columns on the Z760 in portait screen and full menubar visible. 25Made listweek layout in 2 columns on the Z760 in portait screen and full menubar visible.
23 26
24 27
25********** VERSION 2.1.14 ************ 28********** VERSION 2.1.14 ************
26 29
27Added some buttons to the KO/Pi Quick-todo line to make it possible to quickly access some todo view layout settings like display all flat/open/close and hide/show running/done. 30Added some buttons to the KO/Pi Quick-todo line to make it possible to quickly access some todo view layout settings like display all flat/open/close and hide/show running/done.
28Added a button to add a subtodo quickly. 31Added a button to add a subtodo quickly.
29 32
30Added a possibility to search for conflicting events. (In the Action menu. Keyboard shortcut "q", shift+q or ctrl +q ). 33Added a possibility to search for conflicting events. (In the Action menu. Keyboard shortcut "q", shift+q or ctrl +q ).
31Added an option to change the layout of the list week to column mode. 34Added an option to change the layout of the list week to column mode.
32 35
33Fixed some usability problems in pi-sync mode by adding some progress information about file transfer. 36Fixed some usability problems in pi-sync mode by adding some progress information about file transfer.
diff --git a/korganizer/koimportoldialog.cpp b/korganizer/koimportoldialog.cpp
index 2af436c..79b97e8 100644
--- a/korganizer/koimportoldialog.cpp
+++ b/korganizer/koimportoldialog.cpp
@@ -230,84 +230,84 @@ void KOImportOLdialog::readCalendarData( DWORD folder )
230 indx = (long)i; 230 indx = (long)i;
231 itm = folderItems.Item(indx.Detach()); 231 itm = folderItems.Item(indx.Detach());
232 _AppointmentItem * pItem = (_AppointmentItem *)&itm; 232 _AppointmentItem * pItem = (_AppointmentItem *)&itm;
233 ol2kopiCalendar( pItem ); 233 ol2kopiCalendar( pItem );
234 itm->Release(); 234 itm->Release();
235 } 235 }
236} 236}
237void KOImportOLdialog::slotOk() 237void KOImportOLdialog::slotOk()
238{ 238{
239 QDialog::accept(); 239 QDialog::accept();
240} 240}
241 241
242void KOImportOLdialog::ol2kopiCalendar( _AppointmentItem * aItem, bool computeRecurrence ) 242void KOImportOLdialog::ol2kopiCalendar( _AppointmentItem * aItem, bool computeRecurrence )
243{ 243{
244 KCal::Event* event = new KCal::Event(); 244 KCal::Event* event = new KCal::Event();
245 if ( aItem->GetAllDayEvent() ){ 245 if ( aItem->GetAllDayEvent() ){
246 event->setDtStart( QDateTime( mDdate2Qdtr( aItem->GetStart()).date(),QTime(0,0,0 ) )); 246 event->setDtStart( QDateTime( mDdate2Qdtr( aItem->GetStart()).date(),QTime(0,0,0 ) ));
247 event->setDtEnd( QDateTime( mDdate2Qdtr( aItem->GetEnd()) .date(),QTime(0,0,0 )).addDays(-1)); 247 event->setDtEnd( QDateTime( mDdate2Qdtr( aItem->GetEnd()) .date(),QTime(0,0,0 )).addDays(-1));
248 event->setFloats( true ); 248 event->setFloats( true );
249 } else { 249 } else {
250 event->setDtStart( mDdate2Qdtr( aItem->GetStart()) ); 250 event->setDtStart( mDdate2Qdtr( aItem->GetStart()) );
251 event->setDtEnd( mDdate2Qdtr( aItem->GetEnd()) ); 251 event->setDtEnd( mDdate2Qdtr( aItem->GetEnd()) );
252 event->setFloats( false ); 252 event->setFloats( false );
253 } 253 }
254 event->setSummary( QString::fromUcs2( aItem->GetSubject().GetBuffer()) ); 254 event->setSummary( QString::fromUcs2( aItem->GetSubject().GetBuffer()).stripWhiteSpace() );
255 event->setLocation( QString::fromUcs2( aItem->GetLocation().GetBuffer()) ); 255 event->setLocation( QString::fromUcs2( aItem->GetLocation().GetBuffer()).stripWhiteSpace() );
256 event->setDescription( QString::fromUcs2( aItem->GetBody().GetBuffer()).replace( QRegExp("\\r"), "") ); 256 event->setDescription( QString::fromUcs2( aItem->GetBody().GetBuffer()).replace( QRegExp("\\r"), "").stripWhiteSpace() );
257 QString cat = QString::fromUcs2( aItem->GetCategories().GetBuffer()).replace( QRegExp("; "), ";"); 257 QString cat = QString::fromUcs2( aItem->GetCategories().GetBuffer()).replace( QRegExp("; "), ";");
258 event->setCategories( QStringList::split( ";", cat ) ); 258 event->setCategories( QStringList::split( ";", cat ) );
259 if ( aItem->GetReminderSet() ) { 259 if ( aItem->GetReminderSet() ) {
260 event->clearAlarms(); 260 event->clearAlarms();
261 Alarm* alarm = event->newAlarm(); 261 Alarm* alarm = event->newAlarm();
262 alarm->setStartOffset( -aItem->GetReminderMinutesBeforeStart()*60 ); 262 alarm->setStartOffset( -aItem->GetReminderMinutesBeforeStart()*60 );
263 alarm->setEnabled( true ); 263 alarm->setEnabled( true );
264 if ( aItem->GetReminderPlaySound() ) { 264 if ( aItem->GetReminderPlaySound() ) {
265 alarm->setType( Alarm::Audio ); 265 alarm->setType( Alarm::Audio );
266 alarm->setAudioFile( QString::fromUcs2( aItem->GetReminderSoundFile().GetBuffer())); 266 alarm->setAudioFile( QString::fromUcs2( aItem->GetReminderSoundFile().GetBuffer()));
267 } 267 }
268 else 268 else
269 alarm->setType( Alarm::Display ); 269 alarm->setType( Alarm::Display );
270 alarm->setRepeatCount( aItem->GetReplyTime() ); 270 alarm->setRepeatCount( aItem->GetReplyTime() );
271 } 271 }
272 // OL :pub 0 - pers 1 - priv 2 - conf 3 272 // OL :pub 0 - pers 1 - priv 2 - conf 3
273 // KO : pub 0 - priv 1 - conf 2 273 // KO : pub 0 - priv 1 - conf 2
274 int sec = aItem->GetSensitivity() ; 274 int sec = aItem->GetSensitivity() ;
275 if ( sec > 1 )// mapping pers -> private 275 if ( sec > 1 )// mapping pers -> private
276 --sec; 276 --sec;
277 event->setSecrecy( sec ); 277 event->setSecrecy( sec );
278 if ( aItem->GetBusyStatus() == 0 ) 278 if ( aItem->GetBusyStatus() == 0 )
279 event->setTransparency( Event::Transparent);// OL free 279 event->setTransparency( Event::Transparent);// OL free
280 else 280 else
281 event->setTransparency( Event::Opaque);//OL all other 281 event->setTransparency( Event::Opaque);//OL all other
282 282
283 if ( aItem->GetIsRecurring() && computeRecurrence ) { //recur 283 if ( aItem->GetIsRecurring() && computeRecurrence ) { //recur
284 284
285 RecurrencePattern recpat = aItem->GetRecurrencePattern(); 285 RecurrencePattern recpat = aItem->GetRecurrencePattern();
286 286
287 QDate startDate = mDdate2Qdtr(recpat.GetPatternStartDate()).date(); 287 QDate startDate = mDdate2Qdtr(recpat.GetPatternStartDate()).date();
288 int freq = recpat.GetInterval(); 288 int freq = recpat.GetInterval();
289 289 if ( freq == 0 ) freq = 1;
290 bool hasEndDate = !recpat.GetNoEndDate(); 290 bool hasEndDate = !recpat.GetNoEndDate();
291 QDate endDate = mDdate2Qdtr(recpat.GetPatternEndDate()).date(); 291 QDate endDate = mDdate2Qdtr(recpat.GetPatternEndDate()).date();
292 QBitArray weekDays( 7 ); 292 QBitArray weekDays( 7 );
293 weekDays.fill(false ); 293 weekDays.fill(false );
294 uint weekDaysNum = recpat.GetDayOfWeekMask(); 294 uint weekDaysNum = recpat.GetDayOfWeekMask();
295 int i; 295 int i;
296 int bb = 2; 296 int bb = 2;
297 for( i = 1; i <= 6; ++i ) { 297 for( i = 1; i <= 6; ++i ) {
298 weekDays.setBit( i - 1, ( bb & weekDaysNum )); 298 weekDays.setBit( i - 1, ( bb & weekDaysNum ));
299 bb = 4 << (i-1); 299 bb = 4 << (i-1);
300 //qDebug(" %d bit %d ",i-1,weekDays.at(i-1) ); 300 //qDebug(" %d bit %d ",i-1,weekDays.at(i-1) );
301 } 301 }
302 if ( 1 & weekDaysNum) 302 if ( 1 & weekDaysNum)
303 weekDays.setBit( 6 ); 303 weekDays.setBit( 6 );
304 // int pos = 1;// pending 304 // int pos = 1;// pending
305 305
306 Recurrence *r = event->recurrence(); 306 Recurrence *r = event->recurrence();
307 int rtype = recpat.GetRecurrenceType(); 307 int rtype = recpat.GetRecurrenceType();
308 //recurrence types are: 308 //recurrence types are:
309 /* 309 /*
310 olRecursDaily(0) 310 olRecursDaily(0)
311 olRecursWeekly(1) 311 olRecursWeekly(1)
312 olRecursMonthly(2) 312 olRecursMonthly(2)
313 olRecursMonthNth(3) 313 olRecursMonthNth(3)