summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp3
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
626CalendarView::~CalendarView() 626CalendarView::~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}
638void CalendarView::checkAlarms() 638void 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}
688void CalendarView::showDay( QDate d ) 689void 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}
696void CalendarView::timerAlarm() 697void CalendarView::timerAlarm()
697{ 698{
698 //qDebug("CalendarView::timerAlarm() "); 699 //qDebug("CalendarView::timerAlarm() ");
699 computeAlarm(mAlarmNotification ); 700 computeAlarm(mAlarmNotification );
700} 701}
701 702
702void CalendarView::suspendAlarm() 703void CalendarView::suspendAlarm()
703{ 704{
704 //qDebug(" CalendarView::suspendAlarm() "); 705 //qDebug(" CalendarView::suspendAlarm() ");
705 computeAlarm(mSuspendAlarmNotification ); 706 computeAlarm(mSuspendAlarmNotification );
706 707
707} 708}
708 709
709void CalendarView::startAlarm( QString mess , QString filename) 710void 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
721void CalendarView::checkNextTimerAlarm() 722void CalendarView::checkNextTimerAlarm()
722{ 723{
723 mCalendar->checkAlarmForIncidence( 0, true ); 724 mCalendar->checkAlarmForIncidence( 0, true );
724} 725}
725 726
726void CalendarView::computeAlarm( QString msg ) 727void 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 {