-rw-r--r-- | korganizer/kolistview.cpp | 11 |
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 | ||
320 | KOListView::~KOListView() | 320 | KOListView::~KOListView() |
321 | { | 321 | { |
322 | delete mPopupMenu; | 322 | delete mPopupMenu; |
323 | } | 323 | } |
324 | QString KOListView::getWhatsThisText(QPoint p) | 324 | QString 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 | ||
333 | void KOListView::updateList() | 333 | void KOListView::updateList() |
334 | { | 334 | { |
335 | // qDebug(" KOListView::updateList() "); | 335 | // qDebug(" KOListView::updateList() "); |
336 | 336 | ||
337 | } | 337 | } |
338 | 338 | ||
339 | void KOListView::addCat( ) | 339 | void KOListView::addCat( ) |
340 | { | 340 | { |
341 | setCategories( false ); | 341 | setCategories( false ); |
342 | } | 342 | } |
343 | void KOListView::setCat() | 343 | void KOListView::setCat() |
344 | { | 344 | { |
345 | setCategories( true ); | 345 | setCategories( true ); |
346 | } | 346 | } |
347 | void KOListView::setAlarm() | 347 | void 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 | } |
414 | void KOListView::setCategories( bool removeOld ) | 419 | void 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(); |