-rw-r--r-- | korganizer/calendarview.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index e13d0be..720ad78 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -547,193 +547,194 @@ void CalendarView::init() | |||
547 | connect( mTodoList, SIGNAL( purgeCompletedSignal() ), | 547 | connect( mTodoList, SIGNAL( purgeCompletedSignal() ), |
548 | SLOT( purgeCompleted() ) ); | 548 | SLOT( purgeCompleted() ) ); |
549 | connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ), | 549 | connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ), |
550 | SIGNAL( todoModified( Todo *, int ) ) ); | 550 | SIGNAL( todoModified( Todo *, int ) ) ); |
551 | 551 | ||
552 | connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ), | 552 | connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ), |
553 | this, SLOT ( cloneIncidence( Incidence * ) ) ); | 553 | this, SLOT ( cloneIncidence( Incidence * ) ) ); |
554 | connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ), | 554 | connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ), |
555 | this, SLOT (cancelIncidence( Incidence * ) ) ); | 555 | this, SLOT (cancelIncidence( Incidence * ) ) ); |
556 | 556 | ||
557 | connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ), | 557 | connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ), |
558 | this, SLOT ( moveIncidence( Incidence * ) ) ); | 558 | this, SLOT ( moveIncidence( Incidence * ) ) ); |
559 | connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ), | 559 | connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ), |
560 | this, SLOT ( beamIncidence( Incidence * ) ) ); | 560 | this, SLOT ( beamIncidence( Incidence * ) ) ); |
561 | 561 | ||
562 | connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ), | 562 | connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ), |
563 | this, SLOT ( todo_unsub( Todo * ) ) ); | 563 | this, SLOT ( todo_unsub( Todo * ) ) ); |
564 | 564 | ||
565 | connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), | 565 | connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), |
566 | this, SLOT ( todo_resub( Todo *,Todo * ) ) ); | 566 | this, SLOT ( todo_resub( Todo *,Todo * ) ) ); |
567 | connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList, | 567 | connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList, |
568 | SLOT( updateTodo( Todo *, int ) ) ); | 568 | SLOT( updateTodo( Todo *, int ) ) ); |
569 | connect( this, SIGNAL( todoModified( Todo *, int )), this, | 569 | connect( this, SIGNAL( todoModified( Todo *, int )), this, |
570 | SLOT( changeTodoDisplay( Todo *, int ) ) ); | 570 | SLOT( changeTodoDisplay( Todo *, int ) ) ); |
571 | 571 | ||
572 | 572 | ||
573 | connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) ); | 573 | connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) ); |
574 | connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) ); | 574 | connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) ); |
575 | connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) ); | 575 | connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) ); |
576 | connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) ); | 576 | connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) ); |
577 | 577 | ||
578 | 578 | ||
579 | 579 | ||
580 | 580 | ||
581 | 581 | ||
582 | connect(QApplication::clipboard(),SIGNAL(dataChanged()), | 582 | connect(QApplication::clipboard(),SIGNAL(dataChanged()), |
583 | SLOT(checkClipboard())); | 583 | SLOT(checkClipboard())); |
584 | connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ), | 584 | connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ), |
585 | SLOT( processTodoListSelection( Incidence * ) ) ); | 585 | SLOT( processTodoListSelection( Incidence * ) ) ); |
586 | connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool))); | 586 | connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool))); |
587 | 587 | ||
588 | // kdDebug() << "CalendarView::CalendarView() done" << endl; | 588 | // kdDebug() << "CalendarView::CalendarView() done" << endl; |
589 | 589 | ||
590 | mDateFrame = new QVBox(0,0,WType_Popup); | 590 | mDateFrame = new QVBox(0,0,WType_Popup); |
591 | //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised); | 591 | //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised); |
592 | mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised ); | 592 | mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised ); |
593 | mDateFrame->setLineWidth(3); | 593 | mDateFrame->setLineWidth(3); |
594 | mDateFrame->hide(); | 594 | mDateFrame->hide(); |
595 | mDateFrame->setCaption( i18n( "Pick a date to display")); | 595 | mDateFrame->setCaption( i18n( "Pick a date to display")); |
596 | mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() ); | 596 | mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() ); |
597 | 597 | ||
598 | connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate))); | 598 | connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate))); |
599 | 599 | ||
600 | mEventEditor = mDialogManager->getEventEditor(); | 600 | mEventEditor = mDialogManager->getEventEditor(); |
601 | mTodoEditor = mDialogManager->getTodoEditor(); | 601 | mTodoEditor = mDialogManager->getTodoEditor(); |
602 | 602 | ||
603 | mFlagEditDescription = false; | 603 | mFlagEditDescription = false; |
604 | 604 | ||
605 | mSuspendTimer = new QTimer( this ); | 605 | mSuspendTimer = new QTimer( this ); |
606 | mAlarmTimer = new QTimer( this ); | 606 | mAlarmTimer = new QTimer( this ); |
607 | mRecheckAlarmTimer = new QTimer( this ); | 607 | mRecheckAlarmTimer = new QTimer( this ); |
608 | connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) ); | 608 | connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) ); |
609 | connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) ); | 609 | connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) ); |
610 | connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) ); | 610 | connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) ); |
611 | mAlarmDialog = new AlarmDialog( this ); | 611 | mAlarmDialog = new AlarmDialog( this ); |
612 | connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) ); | 612 | connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) ); |
613 | mAlarmDialog->setServerNotification( false ); | 613 | mAlarmDialog->setServerNotification( false ); |
614 | mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime ); | 614 | mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime ); |
615 | 615 | ||
616 | 616 | ||
617 | #ifndef DESKTOP_VERSION | 617 | #ifndef DESKTOP_VERSION |
618 | //US listen for arriving address resultsets | 618 | //US listen for arriving address resultsets |
619 | connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), | 619 | connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), |
620 | this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); | 620 | this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); |
621 | #endif | 621 | #endif |
622 | mDateNavigator->setCalendar( mCalendar ); | 622 | mDateNavigator->setCalendar( mCalendar ); |
623 | } | 623 | } |
624 | 624 | ||
625 | 625 | ||
626 | CalendarView::~CalendarView() | 626 | CalendarView::~CalendarView() |
627 | { | 627 | { |
628 | // kdDebug() << "~CalendarView()" << endl; | 628 | // kdDebug() << "~CalendarView()" << endl; |
629 | //qDebug("CalendarView::~CalendarView() "); | 629 | //qDebug("CalendarView::~CalendarView() "); |
630 | delete mDialogManager; | 630 | delete mDialogManager; |
631 | delete mViewManager; | 631 | delete mViewManager; |
632 | delete mStorage; | 632 | delete mStorage; |
633 | delete mDateFrame ; | 633 | delete mDateFrame ; |
634 | delete beamDialog; | 634 | delete beamDialog; |
635 | delete mEventViewerDialog; | 635 | delete mEventViewerDialog; |
636 | //kdDebug() << "~CalendarView() done" << endl; | 636 | //kdDebug() << "~CalendarView() done" << endl; |
637 | } | 637 | } |
638 | void CalendarView::checkAlarms() | 638 | void CalendarView::checkAlarms() |
639 | { | 639 | { |
640 | KConfig *config = KOGlobals::config(); | 640 | KConfig *config = KOGlobals::config(); |
641 | config->setGroup( "AppRun" ); | 641 | config->setGroup( "AppRun" ); |
642 | QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); | 642 | QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); |
643 | int secs = config->readNumEntry( "LatestProgramStop" ) - 30; | 643 | int secto = dt.secsTo( QDateTime::currentDateTime() ); |
644 | int secs = config->readNumEntry( "LatestProgramStop" , secto) - 30; | ||
644 | //secs -= ( 3600 * 24*3 ); // debug only | 645 | //secs -= ( 3600 * 24*3 ); // debug only |
645 | QDateTime latest = dt.addSecs ( secs ); | 646 | QDateTime latest = dt.addSecs ( secs ); |
646 | qDebug("KO: Last termination on %s ", latest.toString().latin1()); | 647 | qDebug("KO: Last termination on %s ", latest.toString().latin1()); |
647 | QPtrList<Incidence> el = mCalendar->rawIncidences(); | 648 | QPtrList<Incidence> el = mCalendar->rawIncidences(); |
648 | QPtrList<Incidence> al; | 649 | QPtrList<Incidence> al; |
649 | Incidence* inL = el.first(); | 650 | Incidence* inL = el.first(); |
650 | while ( inL ) { | 651 | while ( inL ) { |
651 | bool ok = false; | 652 | bool ok = false; |
652 | int offset = 0; | 653 | int offset = 0; |
653 | QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ; | 654 | QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ; |
654 | if ( ok ) { | 655 | if ( ok ) { |
655 | //qDebug("OK %s",next.toString().latin1()); | 656 | //qDebug("OK %s",next.toString().latin1()); |
656 | if ( next < QDateTime::currentDateTime() ) { | 657 | if ( next < QDateTime::currentDateTime() ) { |
657 | al.append( inL ); | 658 | al.append( inL ); |
658 | //qDebug("found missed alarm: %s ", inL->summary().latin1() ); | 659 | //qDebug("found missed alarm: %s ", inL->summary().latin1() ); |
659 | } | 660 | } |
660 | } | 661 | } |
661 | inL = el.next(); | 662 | inL = el.next(); |
662 | } | 663 | } |
663 | if ( al.count() ) { | 664 | if ( al.count() ) { |
664 | QDialog* dia = new QDialog( this, "huhu", false, WDestructiveClose | WStyle_StaysOnTop ); | 665 | QDialog* dia = new QDialog( this, "huhu", false, WDestructiveClose | WStyle_StaysOnTop ); |
665 | dia->setCaption( i18n("KO/Pi: Missing alarms!") ); | 666 | dia->setCaption( i18n("KO/Pi: Missing alarms!") ); |
666 | QVBoxLayout* lay = new QVBoxLayout( dia ); | 667 | QVBoxLayout* lay = new QVBoxLayout( dia ); |
667 | lay->setSpacing( 0 ); | 668 | lay->setSpacing( 0 ); |
668 | lay->setMargin( 0 ); | 669 | lay->setMargin( 0 ); |
669 | MissedAlarmTextBrowser* matb = new MissedAlarmTextBrowser ( dia, al, latest ); | 670 | MissedAlarmTextBrowser* matb = new MissedAlarmTextBrowser ( dia, al, latest ); |
670 | connect( matb, SIGNAL( showIncidence( QString ) ),SLOT( showIncidence( QString ) )); | 671 | connect( matb, SIGNAL( showIncidence( QString ) ),SLOT( showIncidence( QString ) )); |
671 | lay->addWidget( matb ); | 672 | lay->addWidget( matb ); |
672 | if ( QApplication::desktop()->width() == 480 || QApplication::desktop()->width() == 640 ) { | 673 | if ( QApplication::desktop()->width() == 480 || QApplication::desktop()->width() == 640 ) { |
673 | int wid = 210; | 674 | int wid = 210; |
674 | int x = QApplication::desktop()->width() - wid - 7; | 675 | int x = QApplication::desktop()->width() - wid - 7; |
675 | int y = QApplication::desktop()->height() - wid - 70; | 676 | int y = QApplication::desktop()->height() - wid - 70; |
676 | dia->setGeometry ( x,y,wid,wid); | 677 | dia->setGeometry ( x,y,wid,wid); |
677 | } else { | 678 | } else { |
678 | int si = 220; | 679 | int si = 220; |
679 | if ( QApplication::desktop()->width() > 470 ) | 680 | if ( QApplication::desktop()->width() > 470 ) |
680 | si = 400; | 681 | si = 400; |
681 | dia->resize(si,si/2); | 682 | dia->resize(si,si/2); |
682 | } | 683 | } |
683 | dia->setBackgroundColor( QColor( 255, 255, 255 ) ); | 684 | dia->setBackgroundColor( QColor( 255, 255, 255 ) ); |
684 | dia->show(); | 685 | dia->show(); |
685 | 686 | ||
686 | } | 687 | } |
687 | } | 688 | } |
688 | void CalendarView::showDay( QDate d ) | 689 | void CalendarView::showDay( QDate d ) |
689 | { | 690 | { |
690 | dateNavigator()->blockSignals( true ); | 691 | dateNavigator()->blockSignals( true ); |
691 | dateNavigator()->selectDate( d ); | 692 | dateNavigator()->selectDate( d ); |
692 | dateNavigator()->blockSignals( false ); | 693 | dateNavigator()->blockSignals( false ); |
693 | mViewManager->showDayView(); | 694 | mViewManager->showDayView(); |
694 | //dateNavigator()->selectDate( d ); | 695 | //dateNavigator()->selectDate( d ); |
695 | } | 696 | } |
696 | void CalendarView::timerAlarm() | 697 | void CalendarView::timerAlarm() |
697 | { | 698 | { |
698 | //qDebug("CalendarView::timerAlarm() "); | 699 | //qDebug("CalendarView::timerAlarm() "); |
699 | computeAlarm(mAlarmNotification ); | 700 | computeAlarm(mAlarmNotification ); |
700 | } | 701 | } |
701 | 702 | ||
702 | void CalendarView::suspendAlarm() | 703 | void CalendarView::suspendAlarm() |
703 | { | 704 | { |
704 | //qDebug(" CalendarView::suspendAlarm() "); | 705 | //qDebug(" CalendarView::suspendAlarm() "); |
705 | computeAlarm(mSuspendAlarmNotification ); | 706 | computeAlarm(mSuspendAlarmNotification ); |
706 | 707 | ||
707 | } | 708 | } |
708 | 709 | ||
709 | void CalendarView::startAlarm( QString mess , QString filename) | 710 | void CalendarView::startAlarm( QString mess , QString filename) |
710 | { | 711 | { |
711 | 712 | ||
712 | topLevelWidget()->showNormal(); | 713 | topLevelWidget()->showNormal(); |
713 | topLevelWidget()->setActiveWindow(); | 714 | topLevelWidget()->setActiveWindow(); |
714 | topLevelWidget()->raise(); | 715 | topLevelWidget()->raise(); |
715 | 716 | ||
716 | mAlarmDialog->eventNotification( mess, KOPrefs::instance()->mAlarmPlayBeeps, filename, true,KOPrefs::instance()->mAlarmBeepInterval ,KOPrefs::instance()->mAlarmSuspendCount ); | 717 | mAlarmDialog->eventNotification( mess, KOPrefs::instance()->mAlarmPlayBeeps, filename, true,KOPrefs::instance()->mAlarmBeepInterval ,KOPrefs::instance()->mAlarmSuspendCount ); |
717 | QTimer::singleShot( 3000, this, SLOT( checkNextTimerAlarm() ) ); | 718 | QTimer::singleShot( 3000, this, SLOT( checkNextTimerAlarm() ) ); |
718 | 719 | ||
719 | } | 720 | } |
720 | 721 | ||
721 | void CalendarView::checkNextTimerAlarm() | 722 | void CalendarView::checkNextTimerAlarm() |
722 | { | 723 | { |
723 | mCalendar->checkAlarmForIncidence( 0, true ); | 724 | mCalendar->checkAlarmForIncidence( 0, true ); |
724 | } | 725 | } |
725 | 726 | ||
726 | void CalendarView::computeAlarm( QString msg ) | 727 | void CalendarView::computeAlarm( QString msg ) |
727 | { | 728 | { |
728 | 729 | ||
729 | QString mess = msg; | 730 | QString mess = msg; |
730 | QString mAlarmMessage = mess.mid( 9 ); | 731 | QString mAlarmMessage = mess.mid( 9 ); |
731 | QString filename = MainWindow::resourcePath(); | 732 | QString filename = MainWindow::resourcePath(); |
732 | filename += "koalarm.wav"; | 733 | filename += "koalarm.wav"; |
733 | QString tempfilename; | 734 | QString tempfilename; |
734 | if ( mess.left( 13 ) == "suspend_alarm") { | 735 | if ( mess.left( 13 ) == "suspend_alarm") { |
735 | bool error = false; | 736 | bool error = false; |
736 | int len = mess.mid( 13 ).find("+++"); | 737 | int len = mess.mid( 13 ).find("+++"); |
737 | if ( len < 2 ) | 738 | if ( len < 2 ) |
738 | error = true; | 739 | error = true; |
739 | else { | 740 | else { |