summaryrefslogtreecommitdiffabout
path: root/korganizer/kolistview.cpp
Unidiff
Diffstat (limited to 'korganizer/kolistview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kolistview.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp
index d4d9c0f..d0dbb47 100644
--- a/korganizer/kolistview.cpp
+++ b/korganizer/kolistview.cpp
@@ -311,141 +311,146 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent,
311 this,SLOT(popupMenu(QListViewItem *,const QPoint &,int))); 311 this,SLOT(popupMenu(QListViewItem *,const QPoint &,int)));
312 QObject::connect(mListView,SIGNAL(currentChanged(QListViewItem *)), 312 QObject::connect(mListView,SIGNAL(currentChanged(QListViewItem *)),
313 SLOT(processSelectionChange(QListViewItem *))); 313 SLOT(processSelectionChange(QListViewItem *)));
314 QObject::connect(mListView,SIGNAL(showIncidence(Incidence *)), 314 QObject::connect(mListView,SIGNAL(showIncidence(Incidence *)),
315 SIGNAL(showIncidenceSignal(Incidence *)) ); 315 SIGNAL(showIncidenceSignal(Incidence *)) );
316 316
317 readSettings(KOGlobals::config(),"KOListView Layout"); 317 readSettings(KOGlobals::config(),"KOListView Layout");
318} 318}
319 319
320KOListView::~KOListView() 320KOListView::~KOListView()
321{ 321{
322 delete mPopupMenu; 322 delete mPopupMenu;
323} 323}
324QString KOListView::getWhatsThisText(QPoint p) 324QString KOListView::getWhatsThisText(QPoint p)
325{ 325{
326 KOListViewItem* item = ( KOListViewItem* ) mListView->itemAt( p ); 326 KOListViewItem* item = ( KOListViewItem* ) mListView->itemAt( p );
327 if ( item ) 327 if ( item )
328 return KIncidenceFormatter::instance()->getFormattedText( item->data() ); 328 return KIncidenceFormatter::instance()->getFormattedText( item->data() );
329 return i18n("That is the list view" ); 329 return i18n("That is the list view" );
330 330
331} 331}
332 332
333void KOListView::updateList() 333void KOListView::updateList()
334{ 334{
335 // qDebug(" KOListView::updateList() "); 335 // qDebug(" KOListView::updateList() ");
336 336
337} 337}
338 338
339void KOListView::addCat( ) 339void KOListView::addCat( )
340{ 340{
341 setCategories( false ); 341 setCategories( false );
342} 342}
343void KOListView::setCat() 343void KOListView::setCat()
344{ 344{
345 setCategories( true ); 345 setCategories( true );
346} 346}
347void KOListView::setAlarm() 347void KOListView::setAlarm()
348{ 348{
349 KOAlarmPrefs kap( this); 349 KOAlarmPrefs kap( this);
350 if ( !kap.exec() ) 350 if ( !kap.exec() )
351 return; 351 return;
352 352
353 353
354 QStringList itemList; 354 QStringList itemList;
355 QPtrList<KOListViewItem> sel ; 355 QPtrList<KOListViewItem> sel ;
356 QListViewItem *qitem = mListView->firstChild (); 356 QListViewItem *qitem = mListView->firstChild ();
357 while ( qitem ) { 357 while ( qitem ) {
358 if ( qitem->isSelected() ) { 358 if ( qitem->isSelected() ) {
359 sel.append(((KOListViewItem *)qitem)); 359 Incidence* inc = ((KOListViewItem *) qitem)->data();
360 if ( inc->type() != "Journal" ) {
361 if ( inc->type() == "Todo" ) {
362 if ( ((Todo*)inc)->hasDueDate() )
363 sel.append(((KOListViewItem *)qitem));
364 } else
365 sel.append(((KOListViewItem *)qitem));
366 }
360 } 367 }
361 qitem = qitem->nextSibling(); 368 qitem = qitem->nextSibling();
362 } 369 }
363 int count = 0; 370 int count = 0;
364 KOListViewItem * item, *temp; 371 KOListViewItem * item, *temp;
365 item = sel.first(); 372 item = sel.first();
366 Incidence* inc; 373 Incidence* inc;
367 while ( item ) { 374 while ( item ) {
368 inc = item->data(); 375 inc = item->data();
369 if ( inc->type() != "Journal" ) {
370 ++count; 376 ++count;
371 if (kap.mAlarmButton->isChecked()) { 377 if (kap.mAlarmButton->isChecked()) {
372 if (inc->alarms().count() == 0) 378 if (inc->alarms().count() == 0)
373 inc->newAlarm(); 379 inc->newAlarm();
374 QPtrList<Alarm> alarms = inc->alarms(); 380 QPtrList<Alarm> alarms = inc->alarms();
375 Alarm *alarm; 381 Alarm *alarm;
376 for (alarm = alarms.first(); alarm; alarm = alarms.next() ) { 382 for (alarm = alarms.first(); alarm; alarm = alarms.next() ) {
377 alarm->setEnabled(true); 383 alarm->setEnabled(true);
378 int j = kap.mAlarmTimeEdit->value()* -60; 384 int j = kap.mAlarmTimeEdit->value()* -60;
379 if (kap.mAlarmIncrCombo->currentItem() == 1) 385 if (kap.mAlarmIncrCombo->currentItem() == 1)
380 j = j * 60; 386 j = j * 60;
381 else if (kap.mAlarmIncrCombo->currentItem() == 2) 387 else if (kap.mAlarmIncrCombo->currentItem() == 2)
382 j = j * (60 * 24); 388 j = j * (60 * 24);
383 alarm->setStartOffset( j ); 389 alarm->setStartOffset( j );
384 390
385 if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) { 391 if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) {
386 alarm->setProcedureAlarm(kap.mAlarmProgram); 392 alarm->setProcedureAlarm(kap.mAlarmProgram);
387 } 393 }
388 else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn()) 394 else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn())
389 alarm->setAudioAlarm(kap.mAlarmSound); 395 alarm->setAudioAlarm(kap.mAlarmSound);
390 else 396 else
391 alarm->setType(Alarm::Invalid); 397 alarm->setType(Alarm::Invalid);
392 //alarm->setAudioAlarm("default"); 398 //alarm->setAudioAlarm("default");
393 // TODO: Deal with multiple alarms 399 // TODO: Deal with multiple alarms
394 break; // For now, stop after the first alarm 400 break; // For now, stop after the first alarm
395 } 401 }
396 } else { 402 } else {
397 Alarm* alarm = inc->alarms().first(); 403 Alarm* alarm = inc->alarms().first();
398 if ( alarm ) { 404 if ( alarm ) {
399 alarm->setEnabled(false); 405 alarm->setEnabled(false);
400 alarm->setType(Alarm::Invalid); 406 alarm->setType(Alarm::Invalid);
401 } 407 }
402 } 408 }
403 }
404 temp = item; 409 temp = item;
405 item = sel.next(); 410 item = sel.next();
406 mUidDict.remove( inc->uid() ); 411 mUidDict.remove( inc->uid() );
407 delete temp;; 412 delete temp;;
408 addIncidence( inc ); 413 addIncidence( inc );
409 } 414 }
410 topLevelWidget()->setCaption( i18n("Canged alarm for %1 items").arg( count ) ); 415 topLevelWidget()->setCaption( i18n("Canged alarm for %1 items").arg( count ) );
411 qDebug("KO: Set alarm for %d items", count); 416 qDebug("KO: Set alarm for %d items", count);
412 calendar()->reInitAlarmSettings(); 417 calendar()->reInitAlarmSettings();
413} 418}
414void KOListView::setCategories( bool removeOld ) 419void KOListView::setCategories( bool removeOld )
415{ 420{
416 421
417 KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); 422 KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 );
418 if (! csd->exec()) { 423 if (! csd->exec()) {
419 delete csd; 424 delete csd;
420 return; 425 return;
421 } 426 }
422 QStringList catList = csd->selectedCategories(); 427 QStringList catList = csd->selectedCategories();
423 delete csd; 428 delete csd;
424 // if ( catList.count() == 0 ) 429 // if ( catList.count() == 0 )
425 // return; 430 // return;
426 catList.sort(); 431 catList.sort();
427 QString categoriesStr = catList.join(","); 432 QString categoriesStr = catList.join(",");
428 int i; 433 int i;
429 QStringList itemList; 434 QStringList itemList;
430 QPtrList<KOListViewItem> sel ; 435 QPtrList<KOListViewItem> sel ;
431 QListViewItem *qitem = mListView->firstChild (); 436 QListViewItem *qitem = mListView->firstChild ();
432 while ( qitem ) { 437 while ( qitem ) {
433 if ( qitem->isSelected() ) { 438 if ( qitem->isSelected() ) {
434 sel.append(((KOListViewItem *)qitem)); 439 sel.append(((KOListViewItem *)qitem));
435 } 440 }
436 qitem = qitem->nextSibling(); 441 qitem = qitem->nextSibling();
437 } 442 }
438 KOListViewItem * item, *temp; 443 KOListViewItem * item, *temp;
439 item = sel.first(); 444 item = sel.first();
440 Incidence* inc; 445 Incidence* inc;
441 while ( item ) { 446 while ( item ) {
442 inc = item->data(); 447 inc = item->data();
443 if ( removeOld ) { 448 if ( removeOld ) {
444 inc->setCategories( categoriesStr ); 449 inc->setCategories( categoriesStr );
445 } else { 450 } else {
446 itemList = QStringList::split (",", inc->categoriesStr() ); 451 itemList = QStringList::split (",", inc->categoriesStr() );
447 for( i = 0; i< catList.count(); ++i ) { 452 for( i = 0; i< catList.count(); ++i ) {
448 if ( !itemList.contains (catList[i])) 453 if ( !itemList.contains (catList[i]))
449 itemList.append( catList[i] ); 454 itemList.append( catList[i] );
450 } 455 }
451 itemList.sort(); 456 itemList.sort();