summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-07-01 20:33:17 (UTC)
committer zautrix <zautrix>2005-07-01 20:33:17 (UTC)
commit541878bcf52030d8597d5e79afb6ae1185b2ac2c (patch) (unidiff)
treec6aeb2861062f1bfcc6ba10ec6e26b058205a1cd /korganizer
parentc53efbe8f53f468d21d93f5e19b625d1a4beb242 (diff)
downloadkdepimpi-541878bcf52030d8597d5e79afb6ae1185b2ac2c.zip
kdepimpi-541878bcf52030d8597d5e79afb6ae1185b2ac2c.tar.gz
kdepimpi-541878bcf52030d8597d5e79afb6ae1185b2ac2c.tar.bz2
fixixixis
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kolistview.cpp155
-rw-r--r--korganizer/kolistview.h7
-rw-r--r--korganizer/koprefs.cpp2
-rw-r--r--korganizer/koviewmanager.cpp2
4 files changed, 50 insertions, 116 deletions
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp
index e5e3704..4c815d8 100644
--- a/korganizer/kolistview.cpp
+++ b/korganizer/kolistview.cpp
@@ -229,466 +229,406 @@ bool ListItemVisitor::visit(Journal * j)
229 mItem->setText(1,j->dtStartDateStr()); 229 mItem->setText(1,j->dtStartDateStr());
230 mItem->setText(2,"---"); 230 mItem->setText(2,"---");
231 mItem->setText(3,"---"); 231 mItem->setText(3,"---");
232 mItem->setText(4,"---"); 232 mItem->setText(4,"---");
233 mItem->setText(5,"---"); 233 mItem->setText(5,"---");
234 mItem->setText(6,"---"); 234 mItem->setText(6,"---");
235 mItem->setText(7,j->dtStartDateStr()); 235 mItem->setText(7,j->dtStartDateStr());
236 mItem->setText(8,"---"); 236 mItem->setText(8,"---");
237 mItem->setText(9,"---"); 237 mItem->setText(9,"---");
238 mItem->setText(10,j->categoriesStr()); 238 mItem->setText(10,j->categoriesStr());
239 mItem->setText(11, KOPrefs::instance()->calName( j->calID() )); 239 mItem->setText(11, KOPrefs::instance()->calName( j->calID() ));
240 240
241 QString key; 241 QString key;
242 QDate d = j->dtStart().date(); 242 QDate d = j->dtStart().date();
243 key.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); 243 key.sprintf("%04d%02d%02d",d.year(),d.month(),d.day());
244 mItem->setSortKey(1,key); 244 mItem->setSortKey(1,key);
245 mItem->setSortKey(7,key); 245 mItem->setSortKey(7,key);
246 246
247 return true; 247 return true;
248} 248}
249 249
250KOListView::KOListView(Calendar *calendar, QWidget *parent, 250KOListView::KOListView(Calendar *calendar, QWidget *parent,
251 const char *name) 251 const char *name)
252 : KOEventView(calendar, parent, name) 252 : KOEventView(calendar, parent, name)
253{ 253{
254 254
255 mActiveItem = 0; 255 mActiveItem = 0;
256 mForceShowCompletedTodos = false; 256 mForceShowCompletedTodos = false;
257 mListView = new KOListViewListView(this); 257 mListView = new KOListViewListView(this);
258 mListView->addColumn(i18n("Summary")); 258 mListView->addColumn(i18n("Summary"));
259 mListView->addColumn(i18n("Start Date")); 259 mListView->addColumn(i18n("Start Date"));
260 mListView->addColumn(i18n("Start Time")); 260 mListView->addColumn(i18n("Start Time"));
261 mListView->addColumn(i18n("End Date")); 261 mListView->addColumn(i18n("End Date"));
262 mListView->addColumn(i18n("End Time")); 262 mListView->addColumn(i18n("End Time"));
263 mListView->addColumn(i18n("Alarm")); // alarm set? 263 mListView->addColumn(i18n("Alarm")); // alarm set?
264 mListView->addColumn(i18n("Recurs")); // recurs? 264 mListView->addColumn(i18n("Recurs")); // recurs?
265 mListView->addColumn(i18n("Due Date")); 265 mListView->addColumn(i18n("Due Date"));
266 mListView->addColumn(i18n("Due Time")); 266 mListView->addColumn(i18n("Due Time"));
267 mListView->addColumn(i18n("Cancelled")); 267 mListView->addColumn(i18n("Cancelled"));
268 mListView->addColumn(i18n("Categories")); 268 mListView->addColumn(i18n("Categories"));
269 mListView->addColumn(i18n("Calendar")); 269 mListView->addColumn(i18n("Calendar"));
270 270
271 mListView->setColumnAlignment(0,AlignLeft); 271 mListView->setColumnAlignment(0,AlignLeft);
272 mListView->setColumnAlignment(1,AlignLeft); 272 mListView->setColumnAlignment(1,AlignLeft);
273 mListView->setColumnAlignment(2,AlignHCenter); 273 mListView->setColumnAlignment(2,AlignHCenter);
274 mListView->setColumnAlignment(3,AlignLeft); 274 mListView->setColumnAlignment(3,AlignLeft);
275 mListView->setColumnAlignment(4,AlignHCenter); 275 mListView->setColumnAlignment(4,AlignHCenter);
276 mListView->setColumnAlignment(5,AlignLeft); 276 mListView->setColumnAlignment(5,AlignLeft);
277 mListView->setColumnAlignment(6,AlignLeft); 277 mListView->setColumnAlignment(6,AlignLeft);
278 mListView->setColumnAlignment(7,AlignLeft); 278 mListView->setColumnAlignment(7,AlignLeft);
279 mListView->setColumnAlignment(8,AlignLeft); 279 mListView->setColumnAlignment(8,AlignLeft);
280 mListView->setColumnAlignment(9,AlignLeft); 280 mListView->setColumnAlignment(9,AlignLeft);
281 mListView->setColumnAlignment(10,AlignLeft); 281 mListView->setColumnAlignment(10,AlignLeft);
282 mListView->setColumnAlignment(11,AlignLeft); 282 mListView->setColumnAlignment(11,AlignLeft);
283 mKOListViewWhatsThis = new KOListViewWhatsThis(mListView->viewport(),this); 283 mKOListViewWhatsThis = new KOListViewWhatsThis(mListView->viewport(),this);
284 284
285 int iii = 0; 285 int iii = 0;
286 for ( iii = 0; iii< 12 ; ++iii ) 286 for ( iii = 0; iii< 12 ; ++iii )
287 mListView->setColumnWidthMode( iii, QListView::Manual ); 287 mListView->setColumnWidthMode( iii, QListView::Manual );
288 288
289 QBoxLayout *layoutTop = new QVBoxLayout(this); 289 QBoxLayout *layoutTop = new QVBoxLayout(this);
290 layoutTop->addWidget(mListView); 290 layoutTop->addWidget(mListView);
291 mListView->setFont ( KOPrefs::instance()->mListViewFont ); 291 mListView->setFont ( KOPrefs::instance()->mListViewFont );
292 mPopupMenu = eventPopup(); 292 mPopupMenu = eventPopup();
293 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 293 QPopupMenu* selPopup = new QPopupMenu ( this );
294 i18n("Select all"),this, 294 mPopupMenu->insertSeparator();
295 SLOT(allSelection()),true); 295
296 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 296 selPopup->insertItem(i18n("All"),this,
297 i18n("Deselect all"),this, 297 SLOT(allSelection()));
298 SLOT(clearSelection()),true); 298 selPopup->insertItem(i18n("None"),this,
299 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 299 SLOT(clearSelection()));
300 i18n("Delete all selected"),this, 300 selPopup->insertItem(i18n("Delete selected..."),this,
301 SLOT(deleteAll()),true); 301 SLOT(deleteAll()));
302 302 mPopupMenu->insertItem(i18n("Selection"), selPopup );
303 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 303 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
304 i18n("Hide all selected"),this, 304 i18n("Hide all selected"),this,
305 SLOT(hideAll()),true); 305 SLOT(hideAll()),true);
306 306
307 mPopupMenu->insertSeparator(); 307 mPopupMenu->insertSeparator();
308#ifdef DESKTOP_VERSION 308#ifdef DESKTOP_VERSION
309 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 309 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
310 i18n("Print complete list"),this, 310 i18n("Print complete list"),this,
311 SLOT(printList()),true); 311 SLOT(printList()),true);
312 mPopupMenu->insertSeparator(); 312 mPopupMenu->insertSeparator();
313#endif 313#endif
314 mCalPopup = new QPopupMenu ( this ); 314 mCalPopup = new QPopupMenu ( this );
315 mPopupMenu->insertItem( i18n("Set Calendar"), mCalPopup ); 315 mPopupMenu->insertItem( i18n("Set Calendar"), mCalPopup );
316 316
317 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
318 i18n("Set categories")+"...",this,
319 SLOT(setCat()),true);
320 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
321 i18n("Set alarm..."),this,
322 SLOT(setAlarm()),true);
317 QObject::connect(mCalPopup,SIGNAL(aboutToShow()),this, 323 QObject::connect(mCalPopup,SIGNAL(aboutToShow()),this,
318 SLOT( populateCalPopup() )); 324 SLOT( populateCalPopup() ));
319 QObject::connect(mCalPopup,SIGNAL(activated( int )),this, 325 QObject::connect(mCalPopup,SIGNAL(activated( int )),this,
320 SLOT( setCalendar( int ) )); 326 SLOT( setCalendar( int ) ));
321 QPopupMenu * exportPO = new QPopupMenu ( this ); 327 QPopupMenu * exportPO = new QPopupMenu ( this );
322 mPopupMenu->insertItem( i18n("Export selected"), exportPO ); 328 mPopupMenu->insertItem( i18n("Export"), exportPO );
323 exportPO->insertItem( i18n("As iCal (ics) file..."),this, 329 exportPO->insertItem( i18n("As iCal (ics) file..."),this,
324 SLOT(saveToFile())); 330 SLOT(saveToFile()));
325 exportPO->insertItem( i18n("As vCal (vcs) file..."),this, 331 exportPO->insertItem( i18n("As vCal (vcs) file..."),this,
326 SLOT(saveToFileVCS())); 332 SLOT(saveToFileVCS()));
327 exportPO->insertItem( i18n("Journal/Details..."),this, 333 exportPO->insertItem( i18n("Journal/Details..."),this,
328 SLOT(saveDescriptionToFile())); 334 SLOT(saveDescriptionToFile()));
329 // mPopupMenu->insertSeparator(); 335 // mPopupMenu->insertSeparator();
330 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 336 // mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
331 i18n("Add Categ. to selected..."),this, 337 // i18n("Add Categ. to selected..."),this,
332 SLOT(addCat()),true); 338 // SLOT(addCat()),true);
333 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
334 i18n("Set Categ. for selected..."),this,
335 SLOT(setCat()),true);
336 //mPopupMenu->insertSeparator(); 339 //mPopupMenu->insertSeparator();
337 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
338 i18n("Set alarm for selected..."),this,
339 SLOT(setAlarm()),true);
340
341
342
343#ifndef DESKTOP_VERSION 340#ifndef DESKTOP_VERSION
344 mPopupMenu->insertSeparator(); 341 mPopupMenu->insertSeparator();
345 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 342 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
346 i18n("Beam selected via IR"),this, 343 i18n("Beam via IR"),this,
347 SLOT(beamSelected()),true); 344 SLOT(beamSelected()),true);
348#endif 345#endif
349 /* 346 /*
350 mPopupMenu = new QPopupMenu; 347 mPopupMenu = new QPopupMenu;
351 mPopupMenu->insertItem(i18n("Edit Event"), this, 348 mPopupMenu->insertItem(i18n("Edit Event"), this,
352 SLOT (editEvent())); 349 SLOT (editEvent()));
353 mPopupMenu->insertItem(SmallIcon("delete"), i18n("Delete Event"), this, 350 mPopupMenu->insertItem(SmallIcon("delete"), i18n("Delete Event"), this,
354 SLOT (deleteEvent())); 351 SLOT (deleteEvent()));
355 mPopupMenu->insertSeparator(); 352 mPopupMenu->insertSeparator();
356 mPopupMenu->insertItem(i18n("Show Dates"), this, 353 mPopupMenu->insertItem(i18n("Show Dates"), this,
357 SLOT(showDates())); 354 SLOT(showDates()));
358 mPopupMenu->insertItem(i18n("Hide Dates"), this, 355 mPopupMenu->insertItem(i18n("Hide Dates"), this,
359 SLOT(hideDates())); 356 SLOT(hideDates()));
360 */ 357 */
361 QObject::connect(mListView,SIGNAL( newEvent()), 358 QObject::connect(mListView,SIGNAL( newEvent()),
362 this,SIGNAL(signalNewEvent())); 359 this,SIGNAL(signalNewEvent()));
363 QObject::connect(mListView,SIGNAL(doubleClicked(QListViewItem *)), 360 QObject::connect(mListView,SIGNAL(doubleClicked(QListViewItem *)),
364 this,SLOT(defaultItemAction(QListViewItem *))); 361 this,SLOT(defaultItemAction(QListViewItem *)));
365 QObject::connect(mListView,SIGNAL(rightButtonPressed( QListViewItem *, 362 QObject::connect(mListView,SIGNAL(rightButtonPressed( QListViewItem *,
366 const QPoint &, int )), 363 const QPoint &, int )),
367 this,SLOT(popupMenu(QListViewItem *,const QPoint &,int))); 364 this,SLOT(popupMenu(QListViewItem *,const QPoint &,int)));
368 QObject::connect(mListView,SIGNAL(currentChanged(QListViewItem *)), 365 QObject::connect(mListView,SIGNAL(currentChanged(QListViewItem *)),
369 SLOT(processSelectionChange(QListViewItem *))); 366 SLOT(processSelectionChange(QListViewItem *)));
370 QObject::connect(mListView,SIGNAL(showIncidence(Incidence *)), 367 QObject::connect(mListView,SIGNAL(showIncidence(Incidence *)),
371 SIGNAL(showIncidenceSignal(Incidence *)) ); 368 SIGNAL(showIncidenceSignal(Incidence *)) );
372 369
373 readSettings(KOGlobals::config(),"KOListView Layout"); 370 readSettings(KOGlobals::config(),"KOListView Layout");
374} 371}
375 372
376KOListView::~KOListView() 373KOListView::~KOListView()
377{ 374{
378 delete mPopupMenu; 375 delete mPopupMenu;
379#if QT_VERSION >= 0x030000 376#if QT_VERSION >= 0x030000
380 377
381#else 378#else
382 delete mKOListViewWhatsThis; 379 delete mKOListViewWhatsThis;
383#endif 380#endif
384} 381}
385 382
386QString KOListView::getWhatsThisText(QPoint p) 383QString KOListView::getWhatsThisText(QPoint p)
387{ 384{
388 KOListViewItem* item = ( KOListViewItem* ) mListView->itemAt( p ); 385 KOListViewItem* item = ( KOListViewItem* ) mListView->itemAt( p );
389 if ( item ) 386 if ( item )
390 return KIncidenceFormatter::instance()->getFormattedText( item->data(), 387 return KIncidenceFormatter::instance()->getFormattedText( item->data(),
391 KOPrefs::instance()->mWTshowDetails, 388 KOPrefs::instance()->mWTshowDetails,
392 KOPrefs::instance()->mWTshowCreated, 389 KOPrefs::instance()->mWTshowCreated,
393 KOPrefs::instance()->mWTshowChanged); 390 KOPrefs::instance()->mWTshowChanged);
394 return i18n("That is the list view" ); 391 return i18n("That is the list view" );
395 392
396} 393}
397 394
398void KOListView::setCalendar( int c ) 395void KOListView::setCalendar( int c )
399{ 396{
400 int result = QMessageBox::warning( this, i18n("KO/Pi: Information!"), 397 int result = QMessageBox::warning( this, i18n("KO/Pi: Information!"),
401 i18n("This adds the selected\nitems to the calendar\n%1\nand removes them from\ntheir current calendar!").arg( KOPrefs::instance()->calName( c ) ), 398 i18n("This adds the selected\nitems to the calendar\n%1\nand removes them from\ntheir current calendar!").arg( KOPrefs::instance()->calName( c ) ),
402 i18n("Continue"), i18n("Cancel"), 0, 399 i18n("Continue"), i18n("Cancel"), 0,
403 0, 1 ); 400 0, 1 );
404 if ( result != 0 ) { 401 if ( result != 0 ) {
405 return; 402 return;
406 } 403 }
407 404
408 QPtrList<Incidence> delSel = getSelectedIncidences() ; 405 QPtrList<Incidence> delSel = getSelectedIncidences() ;
409 int icount = delSel.count(); 406 int icount = delSel.count();
410 if ( icount ) { 407 if ( icount ) {
411 Incidence *incidence = delSel.first(); 408 Incidence *incidence = delSel.first();
412 while ( incidence ) { 409 while ( incidence ) {
413 incidence->setCalID( c ); 410 incidence->setCalID( c );
414 KOListViewItem * item = getItemForEvent( incidence ); 411 KOListViewItem * item = getItemForEvent( incidence );
415 if ( item ) { 412 if ( item ) {
416 ListItemVisitor v(item, mStartDate ); 413 ListItemVisitor v(item, mStartDate );
417 incidence->accept(v); 414 incidence->accept(v);
418 } 415 }
419 incidence = delSel.next(); 416 incidence = delSel.next();
420 } 417 }
421 } 418 }
422 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 419 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
423 KopiCalendarFile * cal = calendars.first(); 420 KopiCalendarFile * cal = calendars.first();
424 while ( cal ) { 421 while ( cal ) {
425 mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled ); 422 mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled );
426 mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled ); 423 mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled );
427 mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly ); 424 mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly );
428 if ( cal->isStandard ) 425 if ( cal->isStandard )
429 mCalendar->setDefaultCalendar( cal->mCalNumber ); 426 mCalendar->setDefaultCalendar( cal->mCalNumber );
430 cal = calendars.next(); 427 cal = calendars.next();
431 } 428 }
432 mCalendar->setSyncEventsReadOnly(); 429 mCalendar->setSyncEventsReadOnly();
433 mCalendar->reInitAlarmSettings(); 430 mCalendar->reInitAlarmSettings();
434 431
435} 432}
436void KOListView::populateCalPopup() 433void KOListView::populateCalPopup()
437{ 434{
438 mCalPopup->clear(); 435 mCalPopup->clear();
439 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); 436 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
440 while ( kkf ) { 437 while ( kkf ) {
441 int index = mCalPopup->insertItem( kkf->mName, kkf->mCalNumber); 438 int index = mCalPopup->insertItem( kkf->mName+"...", kkf->mCalNumber);
442 if ( kkf->mErrorOnLoad || kkf->isReadOnly ) 439 if ( kkf->mErrorOnLoad || kkf->isReadOnly )
443 mCalPopup->setItemEnabled( index, false ); 440 mCalPopup->setItemEnabled( index, false );
444 kkf = KOPrefs::instance()->mCalendars.next(); 441 kkf = KOPrefs::instance()->mCalendars.next();
445 } 442 }
446} 443}
447void KOListView::updateList() 444void KOListView::updateList()
448{ 445{
449 // qDebug(" KOListView::updateList() "); 446 // qDebug(" KOListView::updateList() ");
450 447
451} 448}
452 449
453void KOListView::clearList() 450void KOListView::clearList()
454{ 451{
455 clear (); 452 clear ();
456} 453}
457void KOListView::addCat( ) 454
458{
459 setCategories( false );
460}
461void KOListView::setCat() 455void KOListView::setCat()
462{ 456{
463 setCategories( true ); 457
458 bool set = true;
459 int result = KMessageBox::warningYesNoCancel(this,
460 i18n("Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?"),
461 i18n("Set categories"),
462 i18n("Add"),
463 i18n("Reset"));
464 if (result == KMessageBox::Cancel) return;
465 if (result == KMessageBox::Yes) set = false;
466 setCategories( set );
464} 467}
465 468
466void KOListView::setAlarm() 469void KOListView::setAlarm()
467{ 470{
468 KOAlarmPrefs kap( this); 471 KOAlarmPrefs kap( this);
469 if ( !kap.exec() ) 472 if ( !kap.exec() )
470 return; 473 return;
471 QStringList itemList;
472 QPtrList<KOListViewItem> sel ; 474 QPtrList<KOListViewItem> sel ;
473 QListViewItem *qitem = mListView->firstChild (); 475 QListViewItem *qitem = mListView->firstChild ();
474 while ( qitem ) { 476 while ( qitem ) {
475 if ( qitem->isSelected() ) { 477 if ( qitem->isSelected() ) {
476 Incidence* inc = ((KOListViewItem *) qitem)->data(); 478 Incidence* inc = ((KOListViewItem *) qitem)->data();
477 if ( inc->typeID() != journalID ) { 479 if ( inc->typeID() != journalID ) {
478 if ( inc->typeID() == todoID ) { 480 if ( inc->typeID() == todoID ) {
479 if ( ((Todo*)inc)->hasDueDate() ) 481 if ( ((Todo*)inc)->hasDueDate() )
480 sel.append(((KOListViewItem *)qitem)); 482 sel.append(((KOListViewItem *)qitem));
481 } else 483 } else
482 sel.append(((KOListViewItem *)qitem)); 484 sel.append(((KOListViewItem *)qitem));
483 } 485 }
484 } 486 }
485 qitem = qitem->nextSibling(); 487 qitem = qitem->nextSibling();
486 } 488 }
487 int count = 0; 489 int count = 0;
488 KOListViewItem * item, *temp; 490 KOListViewItem * item, *temp;
489 item = sel.first(); 491 item = sel.first();
490 Incidence* inc; 492 Incidence* inc;
491 while ( item ) { 493 while ( item ) {
492 inc = item->data(); 494 inc = item->data();
493 ++count; 495 ++count;
494 if (kap.mAlarmButton->isChecked()) { 496 if (kap.mAlarmButton->isChecked()) {
495 if (inc->alarms().count() == 0) 497 if (inc->alarms().count() == 0)
496 inc->newAlarm(); 498 inc->newAlarm();
497 QPtrList<Alarm> alarms = inc->alarms(); 499 QPtrList<Alarm> alarms = inc->alarms();
498 Alarm *alarm; 500 Alarm *alarm;
499 for (alarm = alarms.first(); alarm; alarm = alarms.next() ) { 501 for (alarm = alarms.first(); alarm; alarm = alarms.next() ) {
500 alarm->setEnabled(true); 502 alarm->setEnabled(true);
501 int j = kap.mAlarmTimeEdit->value()* -60; 503 int j = kap.mAlarmTimeEdit->value()* -60;
502 if (kap.mAlarmIncrCombo->currentItem() == 1) 504 if (kap.mAlarmIncrCombo->currentItem() == 1)
503 j = j * 60; 505 j = j * 60;
504 else if (kap.mAlarmIncrCombo->currentItem() == 2) 506 else if (kap.mAlarmIncrCombo->currentItem() == 2)
505 j = j * (60 * 24); 507 j = j * (60 * 24);
506 alarm->setStartOffset( j ); 508 alarm->setStartOffset( j );
507 509
508 if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) { 510 if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) {
509 alarm->setProcedureAlarm(kap.mAlarmProgram); 511 alarm->setProcedureAlarm(kap.mAlarmProgram);
510 } 512 }
511 else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn()) 513 else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn())
512 alarm->setAudioAlarm(kap.mAlarmSound); 514 alarm->setAudioAlarm(kap.mAlarmSound);
513 else 515 else
514 alarm->setType(Alarm::Invalid); 516 alarm->setType(Alarm::Invalid);
515 //alarm->setAudioAlarm("default"); 517 //alarm->setAudioAlarm("default");
516 // TODO: Deal with multiple alarms 518 // TODO: Deal with multiple alarms
517 break; // For now, stop after the first alarm 519 break; // For now, stop after the first alarm
518 } 520 }
519 } else { 521 } else {
520 Alarm* alarm = inc->alarms().first(); 522 Alarm* alarm = inc->alarms().first();
521 if ( alarm ) { 523 if ( alarm ) {
522 alarm->setEnabled(false); 524 alarm->setEnabled(false);
523 alarm->setType(Alarm::Invalid); 525 alarm->setType(Alarm::Invalid);
524 } 526 }
525 } 527 }
526 ListItemVisitor v(item, mStartDate ); 528 ListItemVisitor v(item, mStartDate );
527 inc->accept(v); 529 inc->accept(v);
528 item = sel.next(); 530 item = sel.next();
529 } 531 }
530 topLevelWidget()->setCaption( i18n("Changed alarm for %1 items").arg( count ) ); 532 topLevelWidget()->setCaption( i18n("Changed alarm for %1 items").arg( count ) );
531 qDebug("KO: Set alarm for %d items", count); 533 qDebug("KO: Set alarm for %d items", count);
532 calendar()->reInitAlarmSettings(); 534 calendar()->reInitAlarmSettings();
533 QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); 535 QTimer::singleShot( 1, this, SLOT ( resetFocus() ) );
534} 536}
535void KOListView::setCategories( bool removeOld ) 537void KOListView::setCategories( bool removeOld )
536{ 538{
537 539
538 KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); 540 KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 );
539 csd->setColorEnabled(); 541 csd->setColorEnabled();
540 if (! csd->exec()) { 542 if (! csd->exec()) {
541 delete csd; 543 delete csd;
542 return; 544 return;
543 } 545 }
544 QStringList catList = csd->selectedCategories(); 546 QStringList catList = csd->selectedCategories();
545 delete csd; 547 delete csd;
546 // if ( catList.count() == 0 ) 548 QPtrList<Incidence> delSel = getSelectedIncidences(); // all inc allowed;
547 // return; 549 Incidence* inc = delSel.first();
548 //catList.sort(); 550 while ( inc ) {
549 QString categoriesStr = catList.join(","); 551 if ( removeOld ) {
550 int i; 552 inc->setCategories( catList, false );
551 QStringList itemList; 553 } else {
552 QPtrList<KOListViewItem> sel ; 554 inc->addCategories( catList, false );
553 QListViewItem *qitem = mListView->firstChild (); 555 }
554 while ( qitem ) { 556 KOListViewItem* item = getItemForEvent(inc);
555 if ( qitem->isSelected() ) { 557 if (item) {
556 sel.append(((KOListViewItem *)qitem));
557 }
558 qitem = qitem->nextSibling();
559 }
560 KOListViewItem * item, *temp;
561 item = sel.first();
562 if( item ) {
563 Incidence* inc = item->data() ;
564 bool setSub = false;
565 if( inc->typeID() == todoID && sel.count() == 1 && inc->relations().count() > 0 ) {
566 int result = KMessageBox::warningYesNoCancel(this,
567 i18n("The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?").arg( inc->summary().left ( 25 ) ),
568 i18n("Todo has subtodos"),
569 i18n("Yes"),
570 i18n("No"));
571 if (result == KMessageBox::Cancel) item = 0;
572 if (result == KMessageBox::Yes) setSub = true;
573 }
574 while ( item ) {
575 inc = item->data();
576 if ( removeOld ) {
577 inc->setCategories( catList, setSub );
578 } else {
579 inc->addCategories( catList, setSub );
580 }
581 ListItemVisitor v(item, mStartDate ); 558 ListItemVisitor v(item, mStartDate );
582 inc->accept(v); 559 inc->accept(v);
583 item = sel.next();
584 } 560 }
561 inc = delSel.next();
585 } 562 }
586 QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); 563 QTimer::singleShot( 1, this, SLOT ( resetFocus() ) );
587} 564}
588 565
589void KOListView::beamSelected() 566void KOListView::beamSelected()
590{ 567{
591 QPtrList<Incidence> delSel = getSelectedIncidences() ; 568 QPtrList<Incidence> delSel = getSelectedIncidences() ;
592 int icount = delSel.count(); 569 if ( delSel.count() )
593 if ( icount ) {
594 emit beamIncidenceList( delSel ); 570 emit beamIncidenceList( delSel );
595 return;
596 QString fn ;
597 fn = QDir::homeDirPath()+"/kopitempbeamfile.vcs";
598 QString mes;
599 bool createbup = true;
600 if ( createbup ) {
601 QString description = "\n";
602 CalendarLocal* cal = new CalendarLocal();
603 cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
604 Incidence *incidence = delSel.first();
605 while ( incidence ) {
606 Incidence *in = incidence->clone();
607 description += in->summary() + "\n";
608 cal->addIncidence( in );
609 incidence = delSel.next();
610 }
611 FileStorage storage( cal, fn, new VCalFormat );
612 storage.save();
613 delete cal;
614 mes = i18n("KO/Pi: Ready for beaming");
615 topLevelWidget()->setCaption(mes);
616
617#ifndef DESKTOP_VERSION
618 Ir *ir = new Ir( this );
619 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) );
620 ir->send( fn, description, "text/x-vCalendar" );
621#endif
622 }
623 }
624}
625void KOListView::beamDone( Ir *ir )
626{
627#ifndef DESKTOP_VERSION
628 delete ir;
629#endif
630 topLevelWidget()->setCaption(i18n("KO/Pi:Beaming done"));
631} 571}
632 572
633void KOListView::saveDescriptionToFile() 573void KOListView::saveDescriptionToFile()
634{ 574{
635 575
636 int result = QMessageBox::warning( this, i18n("KO/Pi: Information!"), 576 int result = QMessageBox::warning( this, i18n("KO/Pi: Information!"),
637 i18n("This saves the text/details of selected\nJournals and Events/Todos\nto a text file."), 577 i18n("This saves the text/details of selected\nJournals and Events/Todos\nto a text file."),
638 i18n("Continue"), i18n("Cancel"), 0, 578 i18n("Continue"), i18n("Cancel"), 0,
639 0, 1 ); 579 0, 1 );
640 if ( result != 0 ) { 580 if ( result != 0 ) {
641 return; 581 return;
642 } 582 }
643 QPtrList<Incidence> delSel = getSelectedIncidences() ; 583 QPtrList<Incidence> delSel = getSelectedIncidences() ;
644 int icount = delSel.count(); 584 int icount = delSel.count();
645 if ( icount ) { 585 if ( icount ) {
646 QString fn = KOPrefs::instance()->mLastSaveFile; 586 QString fn = KOPrefs::instance()->mLastSaveFile;
647 fn = KFileDialog::getSaveFileName( fn, i18n("Save filename"), this ); 587 fn = KFileDialog::getSaveFileName( fn, i18n("Save filename"), this );
648 588
649 if ( fn == "" ) 589 if ( fn == "" )
650 return; 590 return;
651 QFileInfo info; 591 QFileInfo info;
652 info.setFile( fn ); 592 info.setFile( fn );
653 QString mes; 593 QString mes;
654 bool createbup = true; 594 bool createbup = true;
655 if ( info. exists() ) { 595 if ( info. exists() ) {
656 mes = i18n("File already exists!\nOld file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) ); 596 mes = i18n("File already exists!\nOld file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) );
657 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, 597 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes,
658 i18n("Overwrite!"), i18n("Cancel"), 0, 598 i18n("Overwrite!"), i18n("Cancel"), 0,
659 0, 1 ); 599 0, 1 );
660 if ( result != 0 ) { 600 if ( result != 0 ) {
661 createbup = false; 601 createbup = false;
662 } 602 }
663 } 603 }
664 if ( createbup ) { 604 if ( createbup ) {
665 QString text = i18n("KO/Pi Description/Journal save file.\nSave date: ") + 605 QString text = i18n("KO/Pi Description/Journal save file.\nSave date: ") +
666 KGlobal::locale()->formatDateTime(QDateTime::currentDateTime(), false); 606 KGlobal::locale()->formatDateTime(QDateTime::currentDateTime(), false);
667 Incidence *incidence = delSel.first(); 607 Incidence *incidence = delSel.first();
668 icount = 0; 608 icount = 0;
669 while ( incidence ) { 609 while ( incidence ) {
670 if ( incidence->typeID() == journalID ) { 610 if ( incidence->typeID() == journalID ) {
671 text += "\n************************************\n"; 611 text += "\n************************************\n";
672 if ( !incidence->summary().isEmpty() ) 612 if ( !incidence->summary().isEmpty() )
673 text += i18n("Journal: %1 from ").arg( incidence->summary() ) +incidence->dtStartDateStr( false ); 613 text += i18n("Journal: %1 from ").arg( incidence->summary() ) +incidence->dtStartDateStr( false );
674 else 614 else
675 text += i18n("Journal from: ") +incidence->dtStartDateStr( false ); 615 text += i18n("Journal from: ") +incidence->dtStartDateStr( false );
676 if ( !incidence->location().isEmpty() ) 616 if ( !incidence->location().isEmpty() )
677 text +="\n(" + i18n("Location: ") + incidence->location()+ ")"; 617 text +="\n(" + i18n("Location: ") + incidence->location()+ ")";
678 text +="\n" + i18n("Last modified: ") +KGlobal::locale()->formatDateTime(incidence->lastModified(), false); 618 text +="\n" + i18n("Last modified: ") +KGlobal::locale()->formatDateTime(incidence->lastModified(), false);
679 text +="\n" + i18n("Description: ") + "\n"+ incidence->description(); 619 text +="\n" + i18n("Description: ") + "\n"+ incidence->description();
680 ++icount; 620 ++icount;
681 621
682 } else { 622 } else {
683 if ( !incidence->description().isEmpty() ) { 623 if ( !incidence->description().isEmpty() ) {
684 text += "\n************************************\n"; 624 text += "\n************************************\n";
685 if ( incidence->typeID() == todoID ) 625 if ( incidence->typeID() == todoID )
686 text += i18n("To-Do: "); 626 text += i18n("To-Do: ");
687 text += incidence->summary(); 627 text += incidence->summary();
688 if ( !incidence->location().isEmpty() ) 628 if ( !incidence->location().isEmpty() )
689 text +="\n(" + i18n("Location: ") + incidence->location()+ ")"; 629 text +="\n(" + i18n("Location: ") + incidence->location()+ ")";
690 if ( incidence->hasStartDate() ) 630 if ( incidence->hasStartDate() )
691 text +="\n"+ i18n("Start Date: ") + incidence->dtStartStr( false ); 631 text +="\n"+ i18n("Start Date: ") + incidence->dtStartStr( false );
692 text +="\n"+ i18n("Last modified: ") +KGlobal::locale()->formatDateTime(incidence->lastModified(), false); 632 text +="\n"+ i18n("Last modified: ") +KGlobal::locale()->formatDateTime(incidence->lastModified(), false);
693 text += "\n" + i18n("Description: ") + "\n" + incidence->description(); 633 text += "\n" + i18n("Description: ") + "\n" + incidence->description();
694 ++icount; 634 ++icount;
@@ -1045,131 +985,130 @@ void KOListView::addTodos(QPtrList<Todo> eventList)
1045 if ( !mListView->currentItem() ){ 985 if ( !mListView->currentItem() ){
1046 updateView(); 986 updateView();
1047 } 987 }
1048} 988}
1049void KOListView::addJournals(QPtrList<Journal> eventList) 989void KOListView::addJournals(QPtrList<Journal> eventList)
1050{ 990{
1051 Journal *ev; 991 Journal *ev;
1052 for(ev = eventList.first(); ev; ev = eventList.next()) { 992 for(ev = eventList.first(); ev; ev = eventList.next()) {
1053 addIncidence(ev); 993 addIncidence(ev);
1054 } 994 }
1055 if ( !mListView->currentItem() ){ 995 if ( !mListView->currentItem() ){
1056 updateView(); 996 updateView();
1057 } 997 }
1058} 998}
1059 999
1060void KOListView::showCompletedTodos() 1000void KOListView::showCompletedTodos()
1061{ 1001{
1062 mForceShowCompletedTodos = true; 1002 mForceShowCompletedTodos = true;
1063} 1003}
1064void KOListView::addIncidence(Incidence *incidence) 1004void KOListView::addIncidence(Incidence *incidence)
1065{ 1005{
1066 if ( mUidDict.find( incidence->uid() ) ) return; 1006 if ( mUidDict.find( incidence->uid() ) ) return;
1067 1007
1068 // mListView->setFont ( KOPrefs::instance()->mListViewFont ); 1008 // mListView->setFont ( KOPrefs::instance()->mListViewFont );
1069 if ( incidence->typeID() == todoID ) { 1009 if ( incidence->typeID() == todoID ) {
1070 if ( ! mForceShowCompletedTodos ) { 1010 if ( ! mForceShowCompletedTodos ) {
1071 if ( !KOPrefs::instance()->mShowCompletedTodo && ((Todo*)incidence)->isCompleted() ) 1011 if ( !KOPrefs::instance()->mShowCompletedTodo && ((Todo*)incidence)->isCompleted() )
1072 return; 1012 return;
1073 } 1013 }
1074 } 1014 }
1075 mUidDict.insert( incidence->uid(), incidence ); 1015 mUidDict.insert( incidence->uid(), incidence );
1076 KOListViewItem *item = new KOListViewItem( incidence, mListView ); 1016 KOListViewItem *item = new KOListViewItem( incidence, mListView );
1077 ListItemVisitor v(item, mStartDate ); 1017 ListItemVisitor v(item, mStartDate );
1078 if (incidence->accept(v)) { 1018 if (incidence->accept(v)) {
1079 return; 1019 return;
1080 } 1020 }
1081 else delete item; 1021 else delete item;
1082} 1022}
1083 1023
1084void KOListView::showEvents(QPtrList<Event> eventList) 1024void KOListView::showEvents(QPtrList<Event> eventList)
1085{ 1025{
1086 clear(); 1026 clear();
1087 1027
1088 addEvents(eventList); 1028 addEvents(eventList);
1089 1029
1090 // After new creation of list view no events are selected. 1030 // After new creation of list view no events are selected.
1091 emit incidenceSelected( 0 ); 1031 emit incidenceSelected( 0 );
1092} 1032}
1093int KOListView::count() 1033int KOListView::count()
1094{ 1034{
1095 return mListView->childCount(); 1035 return mListView->childCount();
1096} 1036}
1097 1037
1098void KOListView::changeEventDisplay(Event *event, int action) 1038void KOListView::changeEventDisplay(Event *event, int action)
1099{ 1039{
1100 KOListViewItem *item; 1040 KOListViewItem *item;
1101 1041
1102 switch(action) { 1042 switch(action) {
1103 case KOGlobals::EVENTADDED: 1043 case KOGlobals::EVENTADDED:
1104 addIncidence( event ); 1044 addIncidence( event );
1105 break; 1045 break;
1106 case KOGlobals::EVENTEDITED: 1046 case KOGlobals::EVENTEDITED:
1107 item = getItemForEvent(event); 1047 item = getItemForEvent(event);
1108 if (item) { 1048 if (item) {
1109 mUidDict.remove( event->uid() ); 1049 ListItemVisitor v(item, mStartDate );
1110 delete item; 1050 ((Incidence*)event)->accept(v);
1111 addIncidence( event );
1112 } 1051 }
1113 break; 1052 break;
1114 case KOGlobals::EVENTDELETED: 1053 case KOGlobals::EVENTDELETED:
1115 item = getItemForEvent(event); 1054 item = getItemForEvent(event);
1116 if (item) { 1055 if (item) {
1117 mUidDict.remove( event->uid() ); 1056 mUidDict.remove( event->uid() );
1118 delete item; 1057 delete item;
1119 } 1058 }
1120 break; 1059 break;
1121 default: 1060 default:
1122 ; 1061 ;
1123 } 1062 }
1124} 1063}
1125 1064
1126KOListViewItem *KOListView::getItemForEvent(Incidence *event) 1065KOListViewItem *KOListView::getItemForEvent(Incidence *event)
1127{ 1066{
1128 KOListViewItem *item = (KOListViewItem *)mListView->firstChild(); 1067 KOListViewItem *item = (KOListViewItem *)mListView->firstChild();
1129 while (item) { 1068 while (item) {
1130 if (item->data() == event) return item; 1069 if (item->data() == event) return item;
1131 item = (KOListViewItem *)item->nextSibling(); 1070 item = (KOListViewItem *)item->nextSibling();
1132 } 1071 }
1133 return 0; 1072 return 0;
1134} 1073}
1135 1074
1136void KOListView::defaultItemAction(QListViewItem *i) 1075void KOListView::defaultItemAction(QListViewItem *i)
1137{ 1076{
1138 KOListViewItem *item = static_cast<KOListViewItem *>( i ); 1077 KOListViewItem *item = static_cast<KOListViewItem *>( i );
1139 if ( item ) defaultAction( item->data() ); 1078 if ( item ) defaultAction( item->data() );
1140 1079
1141} 1080}
1142 1081
1143void KOListView::popupMenu(QListViewItem *item,const QPoint &,int) 1082void KOListView::popupMenu(QListViewItem *item,const QPoint &,int)
1144{ 1083{
1145 mActiveItem = (KOListViewItem *)item; 1084 mActiveItem = (KOListViewItem *)item;
1146 if (mActiveItem) { 1085 if (mActiveItem) {
1147 Incidence *incidence = mActiveItem->data(); 1086 Incidence *incidence = mActiveItem->data();
1148 mPopupMenu->enableDefault( !mListView->hasMultiSelection( item ) ); 1087 mPopupMenu->enableDefault( !mListView->hasMultiSelection( item ) );
1149 mPopupMenu->showIncidencePopup(incidence); 1088 mPopupMenu->showIncidencePopup(incidence);
1150 1089
1151 /* 1090 /*
1152 if ( incidence && incidence->type() == "Event" ) { 1091 if ( incidence && incidence->type() == "Event" ) {
1153 Event *event = static_cast<Event *>( incidence ); 1092 Event *event = static_cast<Event *>( incidence );
1154 mPopupMenu->showEventPopup(event); 1093 mPopupMenu->showEventPopup(event);
1155 } 1094 }
1156 */ 1095 */
1157 } 1096 }
1158} 1097}
1159 1098
1160void KOListView::readSettings(KConfig *config, QString setting) 1099void KOListView::readSettings(KConfig *config, QString setting)
1161{ 1100{
1162 // qDebug("KOListView::readSettings "); 1101 // qDebug("KOListView::readSettings ");
1163 mListView->restoreLayout(config,setting); 1102 mListView->restoreLayout(config,setting);
1164} 1103}
1165 1104
1166void KOListView::writeSettings(KConfig *config, QString setting) 1105void KOListView::writeSettings(KConfig *config, QString setting)
1167{ 1106{
1168 // qDebug("KOListView::writeSettings "); 1107 // qDebug("KOListView::writeSettings ");
1169 mListView->saveLayout(config, setting); 1108 mListView->saveLayout(config, setting);
1170} 1109}
1171 1110
1172void KOListView::processSelectionChange(QListViewItem *) 1111void KOListView::processSelectionChange(QListViewItem *)
1173{ 1112{
1174 1113
1175 KOListViewItem *item = 1114 KOListViewItem *item =
diff --git a/korganizer/kolistview.h b/korganizer/kolistview.h
index bcef0f0..a54b550 100644
--- a/korganizer/kolistview.h
+++ b/korganizer/kolistview.h
@@ -1,101 +1,96 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 1999 Preston Brown 3 Copyright (c) 1999 Preston Brown
4 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 4 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or 8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version. 9 (at your option) any later version.
10 10
11 This program is distributed in the hope that it will be useful, 11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 19
20 As a special exception, permission is given to link this program 20 As a special exception, permission is given to link this program
21 with any edition of Qt, and distribute the resulting executable, 21 with any edition of Qt, and distribute the resulting executable,
22 without including the source code for Qt in the source distribution. 22 without including the source code for Qt in the source distribution.
23*/ 23*/
24#ifndef _KOLISTVIEW_H 24#ifndef _KOLISTVIEW_H
25#define _KOLISTVIEW_H 25#define _KOLISTVIEW_H
26 26
27#include <qlistview.h> 27#include <qlistview.h>
28#include <qmap.h> 28#include <qmap.h>
29#include <qdict.h> 29#include <qdict.h>
30 30
31#include <klistview.h> 31#include <klistview.h>
32 32
33#ifndef DESKTOP_VERSION
34#include <qtopia/ir.h>
35#else
36#define Ir char
37#endif
38#include <libkcal/incidence.h> 33#include <libkcal/incidence.h>
39 34
40#include "koeventview.h" 35#include "koeventview.h"
41#include "customlistviewitem.h" 36#include "customlistviewitem.h"
42 37
43using namespace KCal; 38using namespace KCal;
44 39
45class KOListViewWhatsThis; 40class KOListViewWhatsThis;
46 41
47#include <qpushbutton.h> 42#include <qpushbutton.h>
48#include <qlayout.h> 43#include <qlayout.h>
49#include <qdialog.h> 44#include <qdialog.h>
50#include <qtimer.h> 45#include <qtimer.h>
51#include <qcombobox.h> 46#include <qcombobox.h>
52#include <qspinbox.h> 47#include <qspinbox.h>
53#include <qtooltip.h> 48#include <qtooltip.h>
54#include <qcheckbox.h> 49#include <qcheckbox.h>
55#include <qhbox.h> 50#include <qhbox.h>
56#include <qlabel.h> 51#include <qlabel.h>
57#include <kiconloader.h> 52#include <kiconloader.h>
58#include "kfiledialog.h" 53#include "kfiledialog.h"
59#include "koprefs.h" 54#include "koprefs.h"
60class KOAlarmPrefs : public QDialog 55class KOAlarmPrefs : public QDialog
61{ 56{
62 Q_OBJECT 57 Q_OBJECT
63 public: 58 public:
64 KOAlarmPrefs( QWidget *par=0, const char *name=0 ) : 59 KOAlarmPrefs( QWidget *par=0, const char *name=0 ) :
65 QDialog( par, name, true ) 60 QDialog( par, name, true )
66 { 61 {
67 setCaption( i18n("Alarm Options") ); 62 setCaption( i18n("Alarm Options") );
68 QVBoxLayout* alarmLayout = new QVBoxLayout( this ); 63 QVBoxLayout* alarmLayout = new QVBoxLayout( this );
69 alarmLayout->setSpacing( 3 ); 64 alarmLayout->setSpacing( 3 );
70 alarmLayout->setMargin( 3 ); 65 alarmLayout->setMargin( 3 );
71 QWidget *parent = this; 66 QWidget *parent = this;
72 mAlarmButton = new QCheckBox(i18n("Set reminder ON with offset to:"),parent); 67 mAlarmButton = new QCheckBox(i18n("Set reminder ON with offset to:"),parent);
73 alarmLayout->addWidget(mAlarmButton); 68 alarmLayout->addWidget(mAlarmButton);
74 mAlarmTimeEdit = new QSpinBox ( 0, 9999, 1, parent, "mAlarmTimeEdit " ) ; 69 mAlarmTimeEdit = new QSpinBox ( 0, 9999, 1, parent, "mAlarmTimeEdit " ) ;
75 mAlarmTimeEdit->setValue( 15 ); 70 mAlarmTimeEdit->setValue( 15 );
76 alarmLayout->addWidget(mAlarmTimeEdit); 71 alarmLayout->addWidget(mAlarmTimeEdit);
77 mAlarmIncrCombo = new QComboBox(false, parent); 72 mAlarmIncrCombo = new QComboBox(false, parent);
78 mAlarmIncrCombo->insertItem(i18n("minute(s)")); 73 mAlarmIncrCombo->insertItem(i18n("minute(s)"));
79 mAlarmIncrCombo->insertItem(i18n("hour(s)")); 74 mAlarmIncrCombo->insertItem(i18n("hour(s)"));
80 mAlarmIncrCombo->insertItem(i18n("day(s)")); 75 mAlarmIncrCombo->insertItem(i18n("day(s)"));
81 alarmLayout->addWidget(mAlarmIncrCombo); 76 alarmLayout->addWidget(mAlarmIncrCombo);
82 QHBox * hb = new QHBox ( parent ); 77 QHBox * hb = new QHBox ( parent );
83 alarmLayout->addWidget(hb); 78 alarmLayout->addWidget(hb);
84 mAlarmSoundButton = new QPushButton(hb); 79 mAlarmSoundButton = new QPushButton(hb);
85 mAlarmSoundButton->setPixmap(SmallIcon("playsound")); 80 mAlarmSoundButton->setPixmap(SmallIcon("playsound"));
86 mAlarmSoundButton->setToggleButton(true); 81 mAlarmSoundButton->setToggleButton(true);
87 connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound())); 82 connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound()));
88 mAlarmProgramButton = new QPushButton(hb); 83 mAlarmProgramButton = new QPushButton(hb);
89 mAlarmProgramButton->setPixmap(SmallIcon("run")); 84 mAlarmProgramButton->setPixmap(SmallIcon("run"));
90 mAlarmProgramButton->setToggleButton(true); 85 mAlarmProgramButton->setToggleButton(true);
91 connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram())); 86 connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram()));
92 mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 ); 87 mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 );
93 mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 ); 88 mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 );
94 mAlarmLabel = new QLabel( this ); 89 mAlarmLabel = new QLabel( this );
95 alarmLayout->addWidget( mAlarmLabel ); 90 alarmLayout->addWidget( mAlarmLabel );
96 mAlarmLabel->setText( "..."+KOPrefs::instance()->mDefaultAlarmFile.right( 30 ) ); 91 mAlarmLabel->setText( "..."+KOPrefs::instance()->mDefaultAlarmFile.right( 30 ) );
97 mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile; 92 mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile;
98 mAlarmSoundButton->setOn( true ); 93 mAlarmSoundButton->setOn( true );
99 QPushButton * ok = new QPushButton( i18n("Set Alarm!"), this ); 94 QPushButton * ok = new QPushButton( i18n("Set Alarm!"), this );
100 alarmLayout->addWidget( ok ); 95 alarmLayout->addWidget( ok );
101 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 96 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
@@ -218,106 +213,104 @@ class KOListViewListView : public KListView
218 bool hasMultiSelection(QListViewItem*); 213 bool hasMultiSelection(QListViewItem*);
219 void printList(); 214 void printList();
220 signals: 215 signals:
221 void newEvent(); 216 void newEvent();
222 void showIncidence( Incidence* ); 217 void showIncidence( Incidence* );
223 public slots: 218 public slots:
224 void popupMenu(); 219 void popupMenu();
225 private: 220 private:
226 QPoint mEventPos; 221 QPoint mEventPos;
227 QPoint mEventGlobalPos; 222 QPoint mEventGlobalPos;
228 QTimer* mPopupTimer; 223 QTimer* mPopupTimer;
229 int mYMousePos; 224 int mYMousePos;
230 void keyPressEvent ( QKeyEvent * ) ; 225 void keyPressEvent ( QKeyEvent * ) ;
231 void contentsMouseDoubleClickEvent(QMouseEvent *e); 226 void contentsMouseDoubleClickEvent(QMouseEvent *e);
232 void contentsMousePressEvent(QMouseEvent *e); 227 void contentsMousePressEvent(QMouseEvent *e);
233 void contentsMouseReleaseEvent(QMouseEvent *e); 228 void contentsMouseReleaseEvent(QMouseEvent *e);
234 void contentsMouseMoveEvent(QMouseEvent *e); 229 void contentsMouseMoveEvent(QMouseEvent *e);
235 bool mMouseDown; 230 bool mMouseDown;
236}; 231};
237 232
238class KOListView : public KOEventView 233class KOListView : public KOEventView
239{ 234{
240 Q_OBJECT 235 Q_OBJECT
241 public: 236 public:
242 KOListView(Calendar *calendar, QWidget *parent = 0, 237 KOListView(Calendar *calendar, QWidget *parent = 0,
243 const char *name = 0); 238 const char *name = 0);
244 ~KOListView(); 239 ~KOListView();
245 240
246 virtual int maxDatesHint(); 241 virtual int maxDatesHint();
247 virtual int currentDateCount(); 242 virtual int currentDateCount();
248 virtual QPtrList<Incidence> selectedIncidences(); 243 virtual QPtrList<Incidence> selectedIncidences();
249 virtual DateList selectedDates(); 244 virtual DateList selectedDates();
250 245
251 void showDates(bool show); 246 void showDates(bool show);
252 Incidence* currentItem(); 247 Incidence* currentItem();
253 void addTodos(QPtrList<Todo> eventList); 248 void addTodos(QPtrList<Todo> eventList);
254 void addJournals(QPtrList<Journal> eventList); 249 void addJournals(QPtrList<Journal> eventList);
255 virtual void printPreview(CalPrinter *calPrinter, 250 virtual void printPreview(CalPrinter *calPrinter,
256 const QDate &, const QDate &); 251 const QDate &, const QDate &);
257 252
258 void readSettings(KConfig *config, QString setting = "KOListView Layout"); 253 void readSettings(KConfig *config, QString setting = "KOListView Layout");
259 void writeSettings(KConfig *config, QString setting = "KOListView Layout"); 254 void writeSettings(KConfig *config, QString setting = "KOListView Layout");
260 void updateList(); 255 void updateList();
261 void clearList(); 256 void clearList();
262 void setStartDate(const QDate &start); 257 void setStartDate(const QDate &start);
263 int count(); 258 int count();
264 QString getWhatsThisText(QPoint p); 259 QString getWhatsThisText(QPoint p);
265 QPtrList<Incidence> KOListView::getSelectedIncidences( bool includeEvents = true, bool includeTodos = true , bool includeJournals = true, bool onlyDueTodos = false ); 260 QPtrList<Incidence> KOListView::getSelectedIncidences( bool includeEvents = true, bool includeTodos = true , bool includeJournals = true, bool onlyDueTodos = false );
266 void showCompletedTodos(); 261 void showCompletedTodos();
267 signals: 262 signals:
268 void signalNewEvent(); 263 void signalNewEvent();
269 void beamIncidenceList(QPtrList<Incidence>); 264 void beamIncidenceList(QPtrList<Incidence>);
270 265
271 public slots: 266 public slots:
272 void hideAll(); 267 void hideAll();
273 void printList(); 268 void printList();
274 void resetFocus(); 269 void resetFocus();
275 virtual void updateView(); 270 virtual void updateView();
276 virtual void showDates(const QDate &start, const QDate &end); 271 virtual void showDates(const QDate &start, const QDate &end);
277 virtual void showEvents(QPtrList<Event> eventList); 272 virtual void showEvents(QPtrList<Event> eventList);
278 void clearSelection(); 273 void clearSelection();
279 void allSelection(); 274 void allSelection();
280 275
281 void clear(); 276 void clear();
282 void beamDone( Ir *ir );
283 void showDates(); 277 void showDates();
284 void hideDates(); 278 void hideDates();
285 void deleteAll(); 279 void deleteAll();
286 void saveToFile(); 280 void saveToFile();
287 void saveToFileVCS(); 281 void saveToFileVCS();
288 void saveDescriptionToFile(); 282 void saveDescriptionToFile();
289 void beamSelected(); 283 void beamSelected();
290 void updateConfig(); 284 void updateConfig();
291 void addCat();
292 void setCat(); 285 void setCat();
293 void setAlarm(); 286 void setAlarm();
294 void setCategories( bool removeOld ); 287 void setCategories( bool removeOld );
295 void changeEventDisplay(Event *, int); 288 void changeEventDisplay(Event *, int);
296 289
297 void defaultItemAction(QListViewItem *item); 290 void defaultItemAction(QListViewItem *item);
298 void popupMenu(QListViewItem *item,const QPoint &,int); 291 void popupMenu(QListViewItem *item,const QPoint &,int);
299 void setCalendar( int c ); 292 void setCalendar( int c );
300 void populateCalPopup(); 293 void populateCalPopup();
301 294
302 protected slots: 295 protected slots:
303 void processSelectionChange(QListViewItem *); 296 void processSelectionChange(QListViewItem *);
304 297
305 protected: 298 protected:
306 void writeToFile( bool iCal ); 299 void writeToFile( bool iCal );
307 void addEvents(QPtrList<Event> eventList); 300 void addEvents(QPtrList<Event> eventList);
308 void addIncidence(Incidence *); 301 void addIncidence(Incidence *);
309 KOListViewItem *getItemForEvent(Incidence *event); 302 KOListViewItem *getItemForEvent(Incidence *event);
310 303
311 private: 304 private:
312 bool mForceShowCompletedTodos; 305 bool mForceShowCompletedTodos;
313 QPopupMenu* mCalPopup; 306 QPopupMenu* mCalPopup;
314 KOListViewWhatsThis *mKOListViewWhatsThis; 307 KOListViewWhatsThis *mKOListViewWhatsThis;
315 KOListViewListView *mListView; 308 KOListViewListView *mListView;
316 KOEventPopupMenu *mPopupMenu; 309 KOEventPopupMenu *mPopupMenu;
317 KOListViewItem *mActiveItem; 310 KOListViewItem *mActiveItem;
318 QDict<Incidence> mUidDict; 311 QDict<Incidence> mUidDict;
319 QDate mStartDate; 312 QDate mStartDate;
320 void keyPressEvent ( QKeyEvent * ) ; 313 void keyPressEvent ( QKeyEvent * ) ;
321}; 314};
322 315
323#endif 316#endif
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index 02d7aae..6337ca5 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -168,129 +168,129 @@ KOPrefs::KOPrefs() :
168 KPrefs::setCurrentGroup("Fonts"); 168 KPrefs::setCurrentGroup("Fonts");
169 // qDebug(" KPrefs::setCurrentGroup(Fonts); "); 169 // qDebug(" KPrefs::setCurrentGroup(Fonts); ");
170 QFont fon = KGlobalSettings::generalFont(); 170 QFont fon = KGlobalSettings::generalFont();
171 addItemFont("TimeBar Font",&mTimeBarFont,fon ); 171 addItemFont("TimeBar Font",&mTimeBarFont,fon );
172 addItemFont("MonthView Font",&mMonthViewFont,fon); 172 addItemFont("MonthView Font",&mMonthViewFont,fon);
173 addItemFont("AgendaView Font",&mAgendaViewFont,fon); 173 addItemFont("AgendaView Font",&mAgendaViewFont,fon);
174 addItemFont("MarcusBains Font",&mMarcusBainsFont,fon); 174 addItemFont("MarcusBains Font",&mMarcusBainsFont,fon);
175 addItemFont("TimeLabels Font",&mTimeLabelsFont,fon); 175 addItemFont("TimeLabels Font",&mTimeLabelsFont,fon);
176 addItemFont("TodoView Font",&mTodoViewFont,fon); 176 addItemFont("TodoView Font",&mTodoViewFont,fon);
177 addItemFont("ListView Font",&mListViewFont,fon); 177 addItemFont("ListView Font",&mListViewFont,fon);
178 addItemFont("DateNavigator Font",&mDateNavigatorFont,fon); 178 addItemFont("DateNavigator Font",&mDateNavigatorFont,fon);
179 addItemFont("EditBox Font",&mEditBoxFont,fon); 179 addItemFont("EditBox Font",&mEditBoxFont,fon);
180 addItemFont("JournalView Font",&mJornalViewFont,fon); 180 addItemFont("JournalView Font",&mJornalViewFont,fon);
181 addItemFont("WhatsNextView Font",&mWhatsNextFont,fon); 181 addItemFont("WhatsNextView Font",&mWhatsNextFont,fon);
182 addItemFont("EventView Font",&mEventViewFont,fon); 182 addItemFont("EventView Font",&mEventViewFont,fon);
183 183
184 KPrefs::setCurrentGroup("RemoteSyncing"); 184 KPrefs::setCurrentGroup("RemoteSyncing");
185 addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" ); 185 addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" );
186 addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" ); 186 addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" );
187 addItemBool("ShowSyncEvents",&mShowSyncEvents,false); 187 addItemBool("ShowSyncEvents",&mShowSyncEvents,false);
188 addItemInt("LastSyncTime",&mLastSyncTime,0); 188 addItemInt("LastSyncTime",&mLastSyncTime,0);
189 189
190#ifdef _WIN32_ 190#ifdef _WIN32_
191 QString hdp= locateLocal("data","korganizer")+"\\\\"; 191 QString hdp= locateLocal("data","korganizer")+"\\\\";
192#else 192#else
193 QString hdp= locateLocal("data","korganizer")+"/"; 193 QString hdp= locateLocal("data","korganizer")+"/";
194#endif 194#endif
195 195
196 KPrefs::setCurrentGroup("LoadSaveFileNames"); 196 KPrefs::setCurrentGroup("LoadSaveFileNames");
197 197
198 addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" ); 198 addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" );
199 addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" ); 199 addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" );
200 addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" ); 200 addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" );
201 addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" ); 201 addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" );
202 202
203 203
204 KPrefs::setCurrentGroup("Locale"); 204 KPrefs::setCurrentGroup("Locale");
205 addItemBool("ShortDateInViewer",&mShortDateInViewer,false); 205 addItemBool("ShortDateInViewer",&mShortDateInViewer,false);
206 206
207 207
208 KPrefs::setCurrentGroup("Colors"); 208 KPrefs::setCurrentGroup("Colors");
209 addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor); 209 addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor);
210 addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor); 210 addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor);
211 addItemColor("Event Color",&mEventColor,mDefaultCategoryColor); 211 addItemColor("Event Color",&mEventColor,mDefaultCategoryColor);
212 addItemColor("Todo done Color",&mTodoDoneColor,QColor(111,255,115) ); 212 addItemColor("Todo done Color",&mTodoDoneColor,QColor(111,255,115) );
213 addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor); 213 addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor);
214 addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor); 214 addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor);
215 addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor); 215 addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor);
216 addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor); 216 addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor);
217 addItemColor("Todo running Color",&mTodoRunColor,defaultTodoRunColor); 217 addItemColor("Todo running Color",&mTodoRunColor,defaultTodoRunColor);
218 addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 )); 218 addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 ));
219 addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 )); 219 addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 ));
220 addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 )); 220 addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 ));
221 addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true); 221 addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true);
222 addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true); 222 addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true);
223 addItemBool("MonthViewWeek",&mMonthViewWeek,false); 223 addItemBool("MonthViewWeek",&mMonthViewWeek,false);
224 addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false); 224 addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false);
225 addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 )); 225 addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 ));
226 addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 )); 226 addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 ));
227 addItemBool("UseAppColors",&mUseAppColors,false); 227 addItemBool("UseAppColors",&mUseAppColors,false);
228 228
229 229
230 230
231 KPrefs::setCurrentGroup("Views"); 231 KPrefs::setCurrentGroup("Views");
232 addItemBool("Block Popup Menu",&mBlockPopupMenu,true); 232 addItemBool("Block Popup Menu",&mBlockPopupMenu,false);
233 addItemBool("Show Date Navigator",&mShowDateNavigator,true); 233 addItemBool("Show Date Navigator",&mShowDateNavigator,true);
234 addItemInt("Hour Size",&mHourSize,8); 234 addItemInt("Hour Size",&mHourSize,8);
235 addItemBool("Show Daily Recurrences",&mDailyRecur,true); 235 addItemBool("Show Daily Recurrences",&mDailyRecur,true);
236 addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true); 236 addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true);
237 addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true); 237 addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true);
238 addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true); 238 addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true);
239 addItemBool("ShowShortMonthName",&mMonthShowShort,false); 239 addItemBool("ShowShortMonthName",&mMonthShowShort,false);
240 addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true); 240 addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true);
241 addItemBool("ShowTimesInMonthCell",&mMonthShowTimes,true); 241 addItemBool("ShowTimesInMonthCell",&mMonthShowTimes,true);
242#ifdef DESKTOP_VERION 242#ifdef DESKTOP_VERION
243 addItemBool("Enable ToolTips",&mEnableToolTips,true); 243 addItemBool("Enable ToolTips",&mEnableToolTips,true);
244#else 244#else
245 addItemBool("Enable ToolTips",&mEnableToolTips,false); 245 addItemBool("Enable ToolTips",&mEnableToolTips,false);
246#endif 246#endif
247 addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false); 247 addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false);
248 addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false); 248 addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false);
249 addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true); 249 addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true);
250 addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true); 250 addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true);
251 addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true); 251 addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true);
252 addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false); 252 addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false);
253 addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false); 253 addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false);
254 addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true); 254 addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true);
255 addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true); 255 addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true);
256 addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);; 256 addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);;
257 addItemBool("WNViewShowsPast",&mWNViewShowsPast,true); 257 addItemBool("WNViewShowsPast",&mWNViewShowsPast,true);
258 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false); 258 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false);
259 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false); 259 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false);
260 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true); 260 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true);
261 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false); 261 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false);
262 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false); 262 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false);
263 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true); 263 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true);
264 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true); 264 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true);
265 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false); 265 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false);
266 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false); 266 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false);
267#ifdef DESKTOP_VERSION 267#ifdef DESKTOP_VERSION
268 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true); 268 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true);
269#else 269#else
270 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false); 270 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false);
271#endif 271#endif
272 addItemInt("Day Begins",&mDayBegins,7); 272 addItemInt("Day Begins",&mDayBegins,7);
273 addItemInt("Working Hours Start",&mWorkingHoursStart,8); 273 addItemInt("Working Hours Start",&mWorkingHoursStart,8);
274 addItemInt("Working Hours End",&mWorkingHoursEnd,17); 274 addItemInt("Working Hours End",&mWorkingHoursEnd,17);
275 addItemBool("Exclude Holidays",&mExcludeHolidays,true); 275 addItemBool("Exclude Holidays",&mExcludeHolidays,true);
276 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true); 276 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true);
277 277
278 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false); 278 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false);
279 addItemBool("Full View Month",&mFullViewMonth,true); 279 addItemBool("Full View Month",&mFullViewMonth,true);
280 addItemBool("Full View Todo",&mFullViewTodo,true); 280 addItemBool("Full View Todo",&mFullViewTodo,true);
281 addItemBool("Quick Todo",&mEnableQuickTodo,false); 281 addItemBool("Quick Todo",&mEnableQuickTodo,false);
282 282
283 addItemInt("Next X Days",&mNextXDays,3); 283 addItemInt("Next X Days",&mNextXDays,3);
284 284
285 KPrefs::setCurrentGroup("Printer"); 285 KPrefs::setCurrentGroup("Printer");
286 286
287 KPrefs::setCurrentGroup("Layout"); 287 KPrefs::setCurrentGroup("Layout");
288 288
289 addItemBool("CompactDialogs",&mCompactDialogs,false); 289 addItemBool("CompactDialogs",&mCompactDialogs,false);
290 addItemBool("VerticalScreen",&mVerticalScreen,true); 290 addItemBool("VerticalScreen",&mVerticalScreen,true);
291 291
292 KPrefs::setCurrentGroup("KOrganizer Plugins"); 292 KPrefs::setCurrentGroup("KOrganizer Plugins");
293 293
294 addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays"); 294 addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays");
295 295
296 KPrefs::setCurrentGroup("Group Scheduling"); 296 KPrefs::setCurrentGroup("Group Scheduling");
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index bd191d8..792a7b8 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -394,128 +394,130 @@ void KOViewManager::updateView(const QDate &start, const QDate &end)
394 if (mCurrentView) mCurrentView->showDates(start, end); 394 if (mCurrentView) mCurrentView->showDates(start, end);
395 395
396 if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView(); 396 if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView();
397} 397}
398 398
399 399
400void KOViewManager::updateWNview() 400void KOViewManager::updateWNview()
401{ 401{
402 if ( mCurrentView == mWhatsNextView && mWhatsNextView ) 402 if ( mCurrentView == mWhatsNextView && mWhatsNextView )
403 mWhatsNextView->updateView(); 403 mWhatsNextView->updateView();
404 if ( mCurrentView == mMonthView && mMonthView ) 404 if ( mCurrentView == mMonthView && mMonthView )
405 mMonthView->updateView(); 405 mMonthView->updateView();
406 406
407} 407}
408void KOViewManager::showWhatsNextView() 408void KOViewManager::showWhatsNextView()
409{ 409{
410 if (!mWhatsNextView) { 410 if (!mWhatsNextView) {
411 mWhatsNextView = new KOWhatsNextView(mMainView->calendar(),mMainView->viewStack(), 411 mWhatsNextView = new KOWhatsNextView(mMainView->calendar(),mMainView->viewStack(),
412 "KOViewManager::WhatsNextView"); 412 "KOViewManager::WhatsNextView");
413 mWhatsNextView->setEventViewer( mMainView->getEventViewerDialog()); 413 mWhatsNextView->setEventViewer( mMainView->getEventViewerDialog());
414 connect(mMainView, SIGNAL(configChanged()), mWhatsNextView, SLOT(updateConfig())); 414 connect(mMainView, SIGNAL(configChanged()), mWhatsNextView, SLOT(updateConfig()));
415 addView(mWhatsNextView); 415 addView(mWhatsNextView);
416 connect(this, SIGNAL( printWNV() ), 416 connect(this, SIGNAL( printWNV() ),
417 mWhatsNextView, SLOT( printMe() ) ); 417 mWhatsNextView, SLOT( printMe() ) );
418 } 418 }
419 globalFlagBlockAgenda = 1; 419 globalFlagBlockAgenda = 1;
420 KOPrefs::instance()->mCurrentDisplayedView = VIEW_WN_VIEW; 420 KOPrefs::instance()->mCurrentDisplayedView = VIEW_WN_VIEW;
421 showView(mWhatsNextView, true ); 421 showView(mWhatsNextView, true );
422 //mWhatsNextView->updateView(); 422 //mWhatsNextView->updateView();
423 KOPrefs::instance()->mCurrentDisplayedView = VIEW_WN_VIEW; 423 KOPrefs::instance()->mCurrentDisplayedView = VIEW_WN_VIEW;
424} 424}
425 425
426void KOViewManager::slotprintWNV() 426void KOViewManager::slotprintWNV()
427{ 427{
428 if (!mWhatsNextView) 428 if (!mWhatsNextView)
429 showWhatsNextView(); 429 showWhatsNextView();
430 emit printWNV(); 430 emit printWNV();
431 431
432} 432}
433void KOViewManager::showListView() 433void KOViewManager::showListView()
434{ 434{
435 if (!mListView) { 435 if (!mListView) {
436 mListView = new KOListView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::ListView"); 436 mListView = new KOListView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::ListView");
437 addView(mListView); 437 addView(mListView);
438 438
439 connect(mListView, SIGNAL(showIncidenceSignal(Incidence *)), 439 connect(mListView, SIGNAL(showIncidenceSignal(Incidence *)),
440 mMainView, SLOT(showIncidence(Incidence *))); 440 mMainView, SLOT(showIncidence(Incidence *)));
441 connect(mListView, SIGNAL(editIncidenceSignal(Incidence *)), 441 connect(mListView, SIGNAL(editIncidenceSignal(Incidence *)),
442 mMainView, SLOT(editIncidence(Incidence *))); 442 mMainView, SLOT(editIncidence(Incidence *)));
443 connect(mListView, SIGNAL(deleteIncidenceSignal(Incidence *)), 443 connect(mListView, SIGNAL(deleteIncidenceSignal(Incidence *)),
444 mMainView, SLOT(deleteIncidence(Incidence *))); 444 mMainView, SLOT(deleteIncidence(Incidence *)));
445 connect( mListView, SIGNAL( incidenceSelected( Incidence * ) ), 445 connect( mListView, SIGNAL( incidenceSelected( Incidence * ) ),
446 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 446 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
447 connect( mListView, SIGNAL( signalNewEvent() ), 447 connect( mListView, SIGNAL( signalNewEvent() ),
448 mMainView, SLOT( newEvent() ) ); 448 mMainView, SLOT( newEvent() ) );
449 connect(mMainView, SIGNAL(configChanged()), mListView, SLOT(updateConfig())); 449 connect(mMainView, SIGNAL(configChanged()), mListView, SLOT(updateConfig()));
450 connect( mListView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), 450 connect( mListView, SIGNAL( cloneIncidenceSignal( Incidence * ) ),
451 mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); 451 mMainView, SLOT ( cloneIncidence( Incidence * ) ) );
452 connect( mListView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), 452 connect( mListView, SIGNAL( cancelIncidenceSignal( Incidence * ) ),
453 mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); 453 mMainView, SLOT ( cancelIncidence( Incidence * ) ) );
454 connect( mListView, SIGNAL( moveIncidenceSignal( Incidence * ) ), 454 connect( mListView, SIGNAL( moveIncidenceSignal( Incidence * ) ),
455 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 455 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
456 connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ), 456 connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ),
457 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 457 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
458 connect( mListView, SIGNAL( beamIncidenceList( QPtrList<Incidence> ) ),
459 mMainView, SLOT ( beamIncidenceList( QPtrList<Incidence> ) ) );
458 } 460 }
459 // bool temp = mFlagShowNextxDays; 461 // bool temp = mFlagShowNextxDays;
460 //globalFlagBlockPainting = true; 462 //globalFlagBlockPainting = true;
461 globalFlagBlockAgenda = 1; 463 globalFlagBlockAgenda = 1;
462 if ( KOPrefs::instance()->mListViewMonthTimespan ) { 464 if ( KOPrefs::instance()->mListViewMonthTimespan ) {
463 mMainView->setBlockShowDates( true ); 465 mMainView->setBlockShowDates( true );
464 mMainView->dateNavigator()->selectMonth(); 466 mMainView->dateNavigator()->selectMonth();
465 mMainView->setBlockShowDates( false ); 467 mMainView->setBlockShowDates( false );
466 } 468 }
467 KOPrefs::instance()->mCurrentDisplayedView = VIEW_L_VIEW; 469 KOPrefs::instance()->mCurrentDisplayedView = VIEW_L_VIEW;
468 showView(mListView, KOPrefs::instance()->mFullViewTodo); 470 showView(mListView, KOPrefs::instance()->mFullViewTodo);
469 //mFlagShowNextxDays = temp; 471 //mFlagShowNextxDays = temp;
470 KOPrefs::instance()->mCurrentDisplayedView = VIEW_L_VIEW; 472 KOPrefs::instance()->mCurrentDisplayedView = VIEW_L_VIEW;
471 mMainView->setScrollBarStep( 7 ); 473 mMainView->setScrollBarStep( 7 );
472} 474}
473 475
474void KOViewManager::showAgendaView( bool fullScreen ) 476void KOViewManager::showAgendaView( bool fullScreen )
475{ 477{
476 478
477 mMainView->dialogManager()->hideSearchDialog(); 479 mMainView->dialogManager()->hideSearchDialog();
478 // qDebug("KOViewManager::showAgendaView "); 480 // qDebug("KOViewManager::showAgendaView ");
479 bool full; 481 bool full;
480 full = fullScreen; 482 full = fullScreen;
481 if (!mAgendaView) { 483 if (!mAgendaView) {
482 full = false; 484 full = false;
483 mAgendaView = new KOAgendaView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::AgendaView"); 485 mAgendaView = new KOAgendaView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::AgendaView");
484 addView(mAgendaView); 486 addView(mAgendaView);
485#ifndef DESKTOP_VERSION 487#ifndef DESKTOP_VERSION
486 QPEApplication::setStylusOperation( mAgendaView, QPEApplication::RightOnHold ); 488 QPEApplication::setStylusOperation( mAgendaView, QPEApplication::RightOnHold );
487#endif 489#endif
488 connect( mAgendaView, SIGNAL( incidenceChanged(Incidence *, int )), 490 connect( mAgendaView, SIGNAL( incidenceChanged(Incidence *, int )),
489 mMainView, SLOT( changeIncidenceDisplay( Incidence *, int ) )); 491 mMainView, SLOT( changeIncidenceDisplay( Incidence *, int ) ));
490 492
491 // SIGNALS/SLOTS FOR DAY/WEEK VIEW 493 // SIGNALS/SLOTS FOR DAY/WEEK VIEW
492 494
493 connect(mAgendaView,SIGNAL(showDateView( int, QDate )),SLOT(showDateView( int, QDate ))); 495 connect(mAgendaView,SIGNAL(showDateView( int, QDate )),SLOT(showDateView( int, QDate )));
494 496
495 connect(mAgendaView,SIGNAL(newTodoSignal(QDateTime,bool)), 497 connect(mAgendaView,SIGNAL(newTodoSignal(QDateTime,bool)),
496 mMainView, SLOT(newTodoDateTime(QDateTime,bool))); 498 mMainView, SLOT(newTodoDateTime(QDateTime,bool)));
497 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)), 499 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)),
498 mMainView, SLOT(newEvent(QDateTime))); 500 mMainView, SLOT(newEvent(QDateTime)));
499 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)), 501 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)),
500 mMainView, SLOT(newEvent(QDateTime,QDateTime))); 502 mMainView, SLOT(newEvent(QDateTime,QDateTime)));
501 connect(mAgendaView,SIGNAL(newEventSignal(QDate)), 503 connect(mAgendaView,SIGNAL(newEventSignal(QDate)),
502 mMainView, SLOT(newEvent(QDate))); 504 mMainView, SLOT(newEvent(QDate)));
503 505
504 connect(mAgendaView, SIGNAL(editIncidenceSignal(Incidence *)), 506 connect(mAgendaView, SIGNAL(editIncidenceSignal(Incidence *)),
505 mMainView, SLOT(editIncidence(Incidence *))); 507 mMainView, SLOT(editIncidence(Incidence *)));
506 connect(mAgendaView, SIGNAL(showIncidenceSignal(Incidence *)), 508 connect(mAgendaView, SIGNAL(showIncidenceSignal(Incidence *)),
507 mMainView, SLOT(showIncidence(Incidence *))); 509 mMainView, SLOT(showIncidence(Incidence *)));
508 connect(mAgendaView, SIGNAL(deleteIncidenceSignal(Incidence *)), 510 connect(mAgendaView, SIGNAL(deleteIncidenceSignal(Incidence *)),
509 mMainView, SLOT(deleteIncidence(Incidence *))); 511 mMainView, SLOT(deleteIncidence(Incidence *)));
510 512
511 connect( mAgendaView, SIGNAL( incidenceSelected( Incidence * ) ), 513 connect( mAgendaView, SIGNAL( incidenceSelected( Incidence * ) ),
512 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 514 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
513 515
514 connect(mAgendaView, SIGNAL( toggleExpand() ), 516 connect(mAgendaView, SIGNAL( toggleExpand() ),
515 mMainView, SLOT( toggleExpand() ) ); 517 mMainView, SLOT( toggleExpand() ) );
516 518
517 connect( mAgendaView, SIGNAL( cloneIncidenceSignal(Incidence *) ), 519 connect( mAgendaView, SIGNAL( cloneIncidenceSignal(Incidence *) ),
518 mMainView, SLOT(cloneIncidence(Incidence *) ) ) ; 520 mMainView, SLOT(cloneIncidence(Incidence *) ) ) ;
519 connect( mAgendaView, SIGNAL( cancelIncidenceSignal(Incidence *) ), 521 connect( mAgendaView, SIGNAL( cancelIncidenceSignal(Incidence *) ),
520 mMainView, SLOT(cancelIncidence(Incidence *) ) ) ; 522 mMainView, SLOT(cancelIncidence(Incidence *) ) ) ;
521 connect(mMainView, SIGNAL(configChanged()), mAgendaView, SLOT(updateConfig())); 523 connect(mMainView, SIGNAL(configChanged()), mAgendaView, SLOT(updateConfig()));