author | zautrix <zautrix> | 2005-10-26 09:10:50 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-10-26 09:10:50 (UTC) |
commit | 15b9123c6c1f9096a4b1a7729c323433d408c8d7 (patch) (unidiff) | |
tree | 3d9a8a521df355641642172ab1200a0f75529910 /korganizer/calendarview.cpp | |
parent | f696b904526567d45cd01a5b607644f8aa3bfe6b (diff) | |
download | kdepimpi-15b9123c6c1f9096a4b1a7729c323433d408c8d7.zip kdepimpi-15b9123c6c1f9096a4b1a7729c323433d408c8d7.tar.gz kdepimpi-15b9123c6c1f9096a4b1a7729c323433d408c8d7.tar.bz2 |
fix
-rw-r--r-- | korganizer/calendarview.cpp | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 28b17a5..31e103d 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -345,48 +345,53 @@ CalendarView::CalendarView( CalendarResources *calendar, | |||
345 | mCalendar( calendar ), | 345 | mCalendar( calendar ), |
346 | mResourceManager( calendar->resourceManager() ) | 346 | mResourceManager( calendar->resourceManager() ) |
347 | { | 347 | { |
348 | 348 | ||
349 | mEventEditor = 0; | 349 | mEventEditor = 0; |
350 | mTodoEditor = 0; | 350 | mTodoEditor = 0; |
351 | 351 | ||
352 | init(); | 352 | init(); |
353 | } | 353 | } |
354 | 354 | ||
355 | CalendarView::CalendarView( Calendar *calendar, | 355 | CalendarView::CalendarView( Calendar *calendar, |
356 | QWidget *parent, const char *name ) | 356 | QWidget *parent, const char *name ) |
357 | : CalendarViewBase( parent, name ), | 357 | : CalendarViewBase( parent, name ), |
358 | mCalendar( calendar ), | 358 | mCalendar( calendar ), |
359 | mResourceManager( 0 ) | 359 | mResourceManager( 0 ) |
360 | { | 360 | { |
361 | 361 | ||
362 | mEventEditor = 0; | 362 | mEventEditor = 0; |
363 | mTodoEditor = 0; | 363 | mTodoEditor = 0; |
364 | init(); | 364 | init(); |
365 | } | 365 | } |
366 | 366 | ||
367 | void CalendarView::init() | 367 | void CalendarView::init() |
368 | { | 368 | { |
369 | flag_blockConflict = false; | ||
370 | flag_blockScrollBar = false; | ||
371 | flag_checkFileFirsttime = true; | ||
372 | flag_clearallviewsEventDisplay = false; | ||
373 | flag_clearallviewsupdateView = false; | ||
369 | mNextAlarmDateTime = QDateTime::currentDateTime(); | 374 | mNextAlarmDateTime = QDateTime::currentDateTime(); |
370 | setFocusPolicy (NoFocus ); | 375 | setFocusPolicy (NoFocus ); |
371 | mViewerCallerIsSearchDialog = false; | 376 | mViewerCallerIsSearchDialog = false; |
372 | mBlockShowDates = false; | 377 | mBlockShowDates = false; |
373 | mConflictingEvent = 0; | 378 | mConflictingEvent = 0; |
374 | mDatePickerMode = 0; | 379 | mDatePickerMode = 0; |
375 | mCurrentSyncDevice = ""; | 380 | mCurrentSyncDevice = ""; |
376 | mViewManager = new KOViewManager( this ); | 381 | mViewManager = new KOViewManager( this ); |
377 | mDialogManager = new KODialogManager( this ); | 382 | mDialogManager = new KODialogManager( this ); |
378 | mEventViewerDialog = 0; | 383 | mEventViewerDialog = 0; |
379 | mModified = false; | 384 | mModified = false; |
380 | mReadOnly = false; | 385 | mReadOnly = false; |
381 | mSelectedIncidence = 0; | 386 | mSelectedIncidence = 0; |
382 | mCalPrinter = 0; | 387 | mCalPrinter = 0; |
383 | mFilters.setAutoDelete(true); | 388 | mFilters.setAutoDelete(true); |
384 | 389 | ||
385 | mCalendar->registerObserver( this ); | 390 | mCalendar->registerObserver( this ); |
386 | // TODO: Make sure that view is updated, when calendar is changed. | 391 | // TODO: Make sure that view is updated, when calendar is changed. |
387 | 392 | ||
388 | mStorage = new FileStorage( mCalendar ); | 393 | mStorage = new FileStorage( mCalendar ); |
389 | mNavigator = new DateNavigator( this, "datevav", mViewManager ); | 394 | mNavigator = new DateNavigator( this, "datevav", mViewManager ); |
390 | 395 | ||
391 | QBoxLayout *topLayout = (QBoxLayout*)layout(); | 396 | QBoxLayout *topLayout = (QBoxLayout*)layout(); |
392 | #ifndef KORG_NOSPLITTER | 397 | #ifndef KORG_NOSPLITTER |
@@ -640,51 +645,50 @@ void CalendarView::init() | |||
640 | #ifndef DESKTOP_VERSION | 645 | #ifndef DESKTOP_VERSION |
641 | //US listen for arriving address resultsets | 646 | //US listen for arriving address resultsets |
642 | connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), | 647 | connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), |
643 | this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); | 648 | this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); |
644 | #endif | 649 | #endif |
645 | mDateNavigator->setCalendar( mCalendar ); | 650 | mDateNavigator->setCalendar( mCalendar ); |
646 | } | 651 | } |
647 | 652 | ||
648 | 653 | ||
649 | CalendarView::~CalendarView() | 654 | CalendarView::~CalendarView() |
650 | { | 655 | { |
651 | // kdDebug() << "~CalendarView()" << endl; | 656 | // kdDebug() << "~CalendarView()" << endl; |
652 | //qDebug("CalendarView::~CalendarView() "); | 657 | //qDebug("CalendarView::~CalendarView() "); |
653 | delete mDialogManager; | 658 | delete mDialogManager; |
654 | delete mViewManager; | 659 | delete mViewManager; |
655 | delete mStorage; | 660 | delete mStorage; |
656 | delete mDateFrame ; | 661 | delete mDateFrame ; |
657 | delete mEventViewerDialog; | 662 | delete mEventViewerDialog; |
658 | //kdDebug() << "~CalendarView() done" << endl; | 663 | //kdDebug() << "~CalendarView() done" << endl; |
659 | } | 664 | } |
660 | 665 | ||
661 | 666 | ||
662 | void CalendarView::nextConflict( bool all, bool allday ) | 667 | void CalendarView::nextConflict( bool all, bool allday ) |
663 | { | 668 | { |
664 | static bool block = false; | 669 | if ( flag_blockConflict ) return; |
665 | if ( block ) return; | 670 | flag_blockConflict = true; |
666 | block = true; | ||
667 | QPtrList<Event> testlist = mCalendar->events(); | 671 | QPtrList<Event> testlist = mCalendar->events(); |
668 | Event * test = testlist.first(); | 672 | Event * test = testlist.first(); |
669 | while ( test ) { | 673 | while ( test ) { |
670 | test->setTagged( false ); | 674 | test->setTagged( false ); |
671 | test = testlist.next(); | 675 | test = testlist.next(); |
672 | } | 676 | } |
673 | QTime st ( 0,0,0); | 677 | QTime st ( 0,0,0); |
674 | if ( mViewManager->currentView() == mViewManager->agendaView() ) | 678 | if ( mViewManager->currentView() == mViewManager->agendaView() ) |
675 | st = mViewManager->agendaView()->agenda()->getEndTime(); | 679 | st = mViewManager->agendaView()->agenda()->getEndTime(); |
676 | //qDebug("time %s ", st.toString().latin1()); | 680 | //qDebug("time %s ", st.toString().latin1()); |
677 | QDateTime startDT = QDateTime (mNavigator->selectedDates().first(),st); | 681 | QDateTime startDT = QDateTime (mNavigator->selectedDates().first(),st); |
678 | QDateTime conflict; | 682 | QDateTime conflict; |
679 | QDateTime retVal; | 683 | QDateTime retVal; |
680 | bool found = false; | 684 | bool found = false; |
681 | Event * cE = 0; | 685 | Event * cE = 0; |
682 | Event * cE2 = 0; | 686 | Event * cE2 = 0; |
683 | QPtrList<Event> testlist2 = testlist; | 687 | QPtrList<Event> testlist2 = testlist; |
684 | test = testlist.first(); | 688 | test = testlist.first(); |
685 | bool skip = false; | 689 | bool skip = false; |
686 | topLevelWidget()->setCaption( i18n("Checking conflicts ... please wait") ); | 690 | topLevelWidget()->setCaption( i18n("Checking conflicts ... please wait") ); |
687 | //QTime tm; | 691 | //QTime tm; |
688 | //tm.start(); | 692 | //tm.start(); |
689 | while ( test ) { | 693 | while ( test ) { |
690 | qApp->processEvents(); | 694 | qApp->processEvents(); |
@@ -719,150 +723,148 @@ void CalendarView::nextConflict( bool all, bool allday ) | |||
719 | } | 723 | } |
720 | } else { | 724 | } else { |
721 | if ( retVal >= startDT && retVal < conflict ) { | 725 | if ( retVal >= startDT && retVal < conflict ) { |
722 | conflict = retVal; | 726 | conflict = retVal; |
723 | cE = test; | 727 | cE = test; |
724 | cE2 = test2; | 728 | cE2 = test2; |
725 | } | 729 | } |
726 | } | 730 | } |
727 | } | 731 | } |
728 | } | 732 | } |
729 | test2 = testlist2.next(); | 733 | test2 = testlist2.next(); |
730 | } | 734 | } |
731 | } | 735 | } |
732 | test->setTagged( true ); | 736 | test->setTagged( true ); |
733 | test = testlist.next(); | 737 | test = testlist.next(); |
734 | } | 738 | } |
735 | //qDebug("Search time : %d", tm.elapsed()); | 739 | //qDebug("Search time : %d", tm.elapsed()); |
736 | if ( found ) { | 740 | if ( found ) { |
737 | if ( mViewManager->currentView() != mViewManager->agendaView() || mNavigator->selectedDates().count() > 1 ) | 741 | if ( mViewManager->currentView() != mViewManager->agendaView() || mNavigator->selectedDates().count() > 1 ) |
738 | mViewManager->showDayView(); | 742 | mViewManager->showDayView(); |
739 | mNavigator->slotDaySelect( conflict.date() ); | 743 | mNavigator->slotDaySelect( conflict.date() ); |
740 | int hour = conflict.time().hour(); | 744 | int hour = conflict.time().hour(); |
741 | mViewManager->agendaView()->setStartHour( hour ); | 745 | mViewManager->agendaView()->setStartHour( hour ); |
742 | topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( cE->summary().left( 20 ) ).arg( cE2->summary().left( 20 ) ) ); | 746 | topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( cE->summary().left( 20 ) ).arg( cE2->summary().left( 20 ) ) ); |
743 | block = false; | 747 | flag_blockConflict = false; |
744 | return; | 748 | return; |
745 | } | 749 | } |
746 | 750 | ||
747 | topLevelWidget()->setCaption( i18n("No conflict found") ); | 751 | topLevelWidget()->setCaption( i18n("No conflict found") ); |
748 | //qDebug("No conflict found "); | 752 | //qDebug("No conflict found "); |
749 | block = false; | 753 | flag_blockConflict = false; |
750 | return; | 754 | return; |
751 | } | 755 | } |
752 | 756 | ||
753 | void CalendarView::conflictAll() | 757 | void CalendarView::conflictAll() |
754 | { | 758 | { |
755 | nextConflict ( true, true ); | 759 | nextConflict ( true, true ); |
756 | } | 760 | } |
757 | void CalendarView::conflictAllday() | 761 | void CalendarView::conflictAllday() |
758 | { | 762 | { |
759 | nextConflict ( false, true ); | 763 | nextConflict ( false, true ); |
760 | } | 764 | } |
761 | void CalendarView::conflictNotAll() | 765 | void CalendarView::conflictNotAll() |
762 | { | 766 | { |
763 | nextConflict ( false, false ); | 767 | nextConflict ( false, false ); |
764 | } | 768 | } |
765 | 769 | ||
766 | void CalendarView::setCalReadOnly( int id, bool readO ) | 770 | void CalendarView::setCalReadOnly( int id, bool readO ) |
767 | { | 771 | { |
768 | if ( readO ) { | 772 | if ( readO ) { |
769 | emit save(); | 773 | emit save(); |
770 | } | 774 | } |
771 | mCalendar->setReadOnly( id, readO ); | 775 | mCalendar->setReadOnly( id, readO ); |
772 | } | 776 | } |
773 | void CalendarView::setScrollBarStep(int val ) | 777 | void CalendarView::setScrollBarStep(int val ) |
774 | { | 778 | { |
775 | #ifdef DESKTOP_VERSION | 779 | #ifdef DESKTOP_VERSION |
776 | mDateScrollBar->setLineStep ( val ); | 780 | mDateScrollBar->setLineStep ( val ); |
777 | #endif | 781 | #endif |
778 | } | 782 | } |
779 | void CalendarView::scrollBarValue(int val ) | 783 | void CalendarView::scrollBarValue(int val ) |
780 | { | 784 | { |
781 | #ifdef DESKTOP_VERSION | 785 | #ifdef DESKTOP_VERSION |
782 | if ( QApplication::desktop()->width() < 800 ) return; | 786 | if ( QApplication::desktop()->width() < 800 ) return; |
783 | static bool block = false; | 787 | if ( flag_blockScrollBar ) return; |
784 | if ( block ) return; | 788 | flag_blockScrollBar = true; |
785 | block = true; | ||
786 | int count = mNavigator->selectedDates().count(); | 789 | int count = mNavigator->selectedDates().count(); |
787 | int day = mNavigator->selectedDates().first().dayOfYear(); | 790 | int day = mNavigator->selectedDates().first().dayOfYear(); |
788 | int stepdays = val; | 791 | int stepdays = val; |
789 | if ( mDateScrollBar->lineStep () <= count ) { | 792 | if ( mDateScrollBar->lineStep () <= count ) { |
790 | //val = val/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep(); | 793 | //val = val/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep(); |
791 | //qDebug("VAL %d ",val ); | 794 | //qDebug("VAL %d ",val ); |
792 | stepdays = (val-day)/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep(); | 795 | stepdays = (val-day)/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep(); |
793 | stepdays = day+stepdays; | 796 | stepdays = day+stepdays; |
794 | if ( stepdays < 0 ) stepdays = 0; | 797 | if ( stepdays < 0 ) stepdays = 0; |
795 | } | 798 | } |
796 | if ( stepdays == day ) { | 799 | if ( stepdays == day ) { |
797 | block = false; | 800 | flag_blockScrollBar = false; |
798 | return; | 801 | return; |
799 | } | 802 | } |
800 | int year = mNavigator->selectedDates().first().year(); | 803 | int year = mNavigator->selectedDates().first().year(); |
801 | QDate d ( year,1,1 ); | 804 | QDate d ( year,1,1 ); |
802 | mNavigator->selectDates( d.addDays( stepdays-1) , count ); | 805 | mNavigator->selectDates( d.addDays( stepdays-1) , count ); |
803 | block = false; | 806 | flag_blockScrollBar = false; |
804 | #endif | 807 | #endif |
805 | 808 | ||
806 | } | 809 | } |
807 | void CalendarView::updateView(const QDate &start, const QDate &end) | 810 | void CalendarView::updateView(const QDate &start, const QDate &end) |
808 | { | 811 | { |
809 | #ifdef DESKTOP_VERSION | 812 | #ifdef DESKTOP_VERSION |
810 | if ( ! mDateScrollBar->draggingSlider () ) { | 813 | if ( ! mDateScrollBar->draggingSlider () ) { |
811 | int dof = start.dayOfYear(); | 814 | int dof = start.dayOfYear(); |
812 | //qDebug("dof %d day %d val %d ", dof, start.dayOfYear(),mDateScrollBar->value() ); | 815 | //qDebug("dof %d day %d val %d ", dof, start.dayOfYear(),mDateScrollBar->value() ); |
813 | if ( dof != mDateScrollBar->value() ) { | 816 | if ( dof != mDateScrollBar->value() ) { |
814 | mDateScrollBar->blockSignals( true ); | 817 | mDateScrollBar->blockSignals( true ); |
815 | mDateScrollBar->setValue( start.dayOfYear()); | 818 | mDateScrollBar->setValue( start.dayOfYear()); |
816 | mDateScrollBar->blockSignals( false ); | 819 | mDateScrollBar->blockSignals( false ); |
817 | } | 820 | } |
818 | } | 821 | } |
819 | #endif | 822 | #endif |
820 | mTodoList->updateView(); | 823 | mTodoList->updateView(); |
821 | mViewManager->updateView(start, end); | 824 | mViewManager->updateView(start, end); |
822 | //mDateNavigator->updateView(); | 825 | //mDateNavigator->updateView(); |
823 | } | 826 | } |
824 | 827 | ||
825 | 828 | ||
826 | 829 | ||
827 | void CalendarView::checkFiles() | 830 | void CalendarView::checkFiles() |
828 | { | 831 | { |
829 | QString message; | 832 | QString message; |
830 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; | 833 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; |
831 | KopiCalendarFile * cal = calendars.first(); | 834 | KopiCalendarFile * cal = calendars.first(); |
832 | while ( cal ) { | 835 | while ( cal ) { |
833 | if ( cal->mErrorOnLoad ) { | 836 | if ( cal->mErrorOnLoad ) { |
834 | message += cal->mName +"\n"+KGlobal::formatMessage ( "(" +i18n( "Filepath: ")+ cal->mFileName+")" ,0 )+"\n"; | 837 | message += cal->mName +"\n"+KGlobal::formatMessage ( "(" +i18n( "Filepath: ")+ cal->mFileName+")" ,0 )+"\n"; |
835 | } | 838 | } |
836 | cal = calendars.next(); | 839 | cal = calendars.next(); |
837 | } | 840 | } |
838 | if ( !message.isEmpty() ) { | 841 | if ( !message.isEmpty() ) { |
839 | message = KGlobal::formatMessage( i18n("Calendar(s) not loaded:"),0 )+"\n" + message +KGlobal::formatMessage(i18n("You can try to reload the calendar in the Resource View!"),0); | 842 | message = KGlobal::formatMessage( i18n("Calendar(s) not loaded:"),0 )+"\n" + message +KGlobal::formatMessage(i18n("You can try to reload the calendar in the Resource View!"),0); |
840 | KMessageBox::error(this,message, i18n("Loading of calendar(s) failed")); | 843 | KMessageBox::error(this,message, i18n("Loading of calendar(s) failed")); |
841 | } | 844 | } |
842 | static bool firstTime = true; | 845 | if ( flag_checkFileFirsttime ) { |
843 | if ( firstTime ) { | 846 | flag_checkFileFirsttime = false; |
844 | firstTime = false; | ||
845 | QTimer::singleShot( 2000, this, SLOT ( checkAlarms() )); | 847 | QTimer::singleShot( 2000, this, SLOT ( checkAlarms() )); |
846 | } | 848 | } |
847 | } | 849 | } |
848 | void CalendarView::checkAlarms() | 850 | void CalendarView::checkAlarms() |
849 | { | 851 | { |
850 | KConfig *config = KOGlobals::config(); | 852 | KConfig *config = KOGlobals::config(); |
851 | config->setGroup( "AppRun" ); | 853 | config->setGroup( "AppRun" ); |
852 | QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); | 854 | QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); |
853 | int daysto = dt.daysTo( QDate::currentDate() ); | 855 | int daysto = dt.daysTo( QDate::currentDate() ); |
854 | int days = config->readNumEntry( "LatestProgramStopDays" , daysto); | 856 | int days = config->readNumEntry( "LatestProgramStopDays" , daysto); |
855 | dt = dt.addDays( days ); | 857 | dt = dt.addDays( days ); |
856 | int secto = dt.secsTo( QDateTime::currentDateTime() ); | 858 | int secto = dt.secsTo( QDateTime::currentDateTime() ); |
857 | int secs = config->readNumEntry( "LatestProgramStopSecs" , secto) - 30; | 859 | int secs = config->readNumEntry( "LatestProgramStopSecs" , secto) - 30; |
858 | //qDebug("KO: Reading program stop %d ", secs); | 860 | //qDebug("KO: Reading program stop %d ", secs); |
859 | //secs -= ( 3600 * 24*3 ); // debug only | 861 | //secs -= ( 3600 * 24*3 ); // debug only |
860 | QDateTime latest = dt.addSecs ( secs ); | 862 | QDateTime latest = dt.addSecs ( secs ); |
861 | qDebug("KO: Last termination on %s ", latest.toString().latin1()); | 863 | qDebug("KO: Last termination on %s ", latest.toString().latin1()); |
862 | //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() ); | 864 | //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() ); |
863 | QPtrList<Incidence> el = mCalendar->rawIncidences(); | 865 | QPtrList<Incidence> el = mCalendar->rawIncidences(); |
864 | QPtrList<Incidence> al; | 866 | QPtrList<Incidence> al; |
865 | Incidence* inL = el.first(); | 867 | Incidence* inL = el.first(); |
866 | QDateTime cur = QDateTime::currentDateTime().addSecs(-59); | 868 | QDateTime cur = QDateTime::currentDateTime().addSecs(-59); |
867 | qDebug("KO: Checking alarm until %s ", cur.toString().latin1()); | 869 | qDebug("KO: Checking alarm until %s ", cur.toString().latin1()); |
868 | while ( inL ) { | 870 | while ( inL ) { |
@@ -2995,57 +2997,56 @@ void CalendarView::changeTodoDisplay(Todo *which, int action) | |||
2995 | //mTodoList->updateView(); | 2997 | //mTodoList->updateView(); |
2996 | } | 2998 | } |
2997 | 2999 | ||
2998 | } | 3000 | } |
2999 | 3001 | ||
3000 | void CalendarView::changeIncidenceDisplay(Incidence *which, int action) | 3002 | void CalendarView::changeIncidenceDisplay(Incidence *which, int action) |
3001 | { | 3003 | { |
3002 | updateUnmanagedViews(); | 3004 | updateUnmanagedViews(); |
3003 | //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action ); | 3005 | //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action ); |
3004 | if ( action == KOGlobals::EVENTDELETED ) { //delete | 3006 | if ( action == KOGlobals::EVENTDELETED ) { //delete |
3005 | mCalendar->checkAlarmForIncidence( 0, true ); | 3007 | mCalendar->checkAlarmForIncidence( 0, true ); |
3006 | if ( mEventViewerDialog ) | 3008 | if ( mEventViewerDialog ) |
3007 | mEventViewerDialog->hide(); | 3009 | mEventViewerDialog->hide(); |
3008 | } | 3010 | } |
3009 | else | 3011 | else |
3010 | mCalendar->checkAlarmForIncidence( which , false ); | 3012 | mCalendar->checkAlarmForIncidence( which , false ); |
3011 | } | 3013 | } |
3012 | 3014 | ||
3013 | // most of the changeEventDisplays() right now just call the view's | 3015 | // most of the changeEventDisplays() right now just call the view's |
3014 | // total update mode, but they SHOULD be recoded to be more refresh-efficient. | 3016 | // total update mode, but they SHOULD be recoded to be more refresh-efficient. |
3015 | void CalendarView::changeEventDisplay(Event *which, int action) | 3017 | void CalendarView::changeEventDisplay(Event *which, int action) |
3016 | { | 3018 | { |
3017 | // kdDebug() << "CalendarView::changeEventDisplay" << endl; | 3019 | // kdDebug() << "CalendarView::changeEventDisplay" << endl; |
3018 | changeIncidenceDisplay((Incidence *)which, action); | 3020 | changeIncidenceDisplay((Incidence *)which, action); |
3019 | static bool clearallviews = false; | ||
3020 | if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { | 3021 | if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { |
3021 | if ( clearallviews ) { | 3022 | if ( flag_clearallviewsEventDisplay ) { |
3022 | clearAllViews(); | 3023 | clearAllViews(); |
3023 | clearallviews = false; | 3024 | flag_clearallviewsEventDisplay = false; |
3024 | } | 3025 | } |
3025 | return; | 3026 | return; |
3026 | } | 3027 | } |
3027 | clearallviews = true; | 3028 | flag_clearallviewsEventDisplay = true; |
3028 | mDateNavigator->updateView(); | 3029 | mDateNavigator->updateView(); |
3029 | //mDialogManager->updateSearchDialog(); | 3030 | //mDialogManager->updateSearchDialog(); |
3030 | if (which) { | 3031 | if (which) { |
3031 | // If there is an event view visible update the display | 3032 | // If there is an event view visible update the display |
3032 | mViewManager->currentView()->changeEventDisplay(which,action); | 3033 | mViewManager->currentView()->changeEventDisplay(which,action); |
3033 | // TODO: check, if update needed | 3034 | // TODO: check, if update needed |
3034 | // if (which->getTodoStatus()) { | 3035 | // if (which->getTodoStatus()) { |
3035 | mTodoList->updateView(); | 3036 | mTodoList->updateView(); |
3036 | if ( action != KOGlobals::EVENTDELETED && KOPrefs::instance()->mDetectConflicts ) { | 3037 | if ( action != KOGlobals::EVENTDELETED && KOPrefs::instance()->mDetectConflicts ) { |
3037 | mConflictingEvent = which ; | 3038 | mConflictingEvent = which ; |
3038 | int time = 1000; | 3039 | int time = 1000; |
3039 | #ifdef DESKTOP_VERSION | 3040 | #ifdef DESKTOP_VERSION |
3040 | time = 500; | 3041 | time = 500; |
3041 | #endif | 3042 | #endif |
3042 | bool checkC = false; | 3043 | bool checkC = false; |
3043 | if ( mConflictingEvent->doesFloat() ) { | 3044 | if ( mConflictingEvent->doesFloat() ) { |
3044 | checkC = KOPrefs::instance()->mCheckConflictsAllDayAllDay | 3045 | checkC = KOPrefs::instance()->mCheckConflictsAllDayAllDay |
3045 | || KOPrefs::instance()->mCheckConflictsAllDayNonAD; | 3046 | || KOPrefs::instance()->mCheckConflictsAllDayNonAD; |
3046 | } else { | 3047 | } else { |
3047 | checkC = KOPrefs::instance()->mCheckConflictsNonADAllDay | 3048 | checkC = KOPrefs::instance()->mCheckConflictsNonADAllDay |
3048 | || KOPrefs::instance()->mCheckConflictsNonADNonAD; | 3049 | || KOPrefs::instance()->mCheckConflictsNonADNonAD; |
3049 | } | 3050 | } |
3050 | if ( !KOPrefs::instance()->mIncludeFree && mConflictingEvent->transparency() == KCal::Event::Transparent ) | 3051 | if ( !KOPrefs::instance()->mIncludeFree && mConflictingEvent->transparency() == KCal::Event::Transparent ) |
3051 | checkC = false; | 3052 | checkC = false; |
@@ -3156,57 +3157,56 @@ void CalendarView::checkConflictForEvent() | |||
3156 | } | 3157 | } |
3157 | 3158 | ||
3158 | void CalendarView::updateTodoViews() | 3159 | void CalendarView::updateTodoViews() |
3159 | { | 3160 | { |
3160 | mTodoList->updateView(); | 3161 | mTodoList->updateView(); |
3161 | mViewManager->currentView()->updateView(); | 3162 | mViewManager->currentView()->updateView(); |
3162 | 3163 | ||
3163 | } | 3164 | } |
3164 | 3165 | ||
3165 | 3166 | ||
3166 | 3167 | ||
3167 | void CalendarView::clearAllViews() | 3168 | void CalendarView::clearAllViews() |
3168 | { | 3169 | { |
3169 | mTodoList->clearList(); | 3170 | mTodoList->clearList(); |
3170 | mViewManager->clearAllViews(); | 3171 | mViewManager->clearAllViews(); |
3171 | SearchDialog * sd = mDialogManager->getSearchDialog(); | 3172 | SearchDialog * sd = mDialogManager->getSearchDialog(); |
3172 | if ( sd ) { | 3173 | if ( sd ) { |
3173 | KOListView* kol = sd->listview(); | 3174 | KOListView* kol = sd->listview(); |
3174 | if ( kol ) | 3175 | if ( kol ) |
3175 | kol->clearList(); | 3176 | kol->clearList(); |
3176 | } | 3177 | } |
3177 | } | 3178 | } |
3178 | void CalendarView::updateView() | 3179 | void CalendarView::updateView() |
3179 | { | 3180 | { |
3180 | static bool clearallviews = false; | ||
3181 | if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { | 3181 | if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { |
3182 | if ( clearallviews ) { | 3182 | if ( flag_clearallviewsupdateView ) { |
3183 | clearAllViews(); | 3183 | clearAllViews(); |
3184 | clearallviews = false; | 3184 | flag_clearallviewsupdateView = false; |
3185 | } | 3185 | } |
3186 | return; | 3186 | return; |
3187 | } | 3187 | } |
3188 | clearallviews = true; | 3188 | flag_clearallviewsupdateView = true; |
3189 | DateList tmpList = mNavigator->selectedDates(); | 3189 | DateList tmpList = mNavigator->selectedDates(); |
3190 | 3190 | ||
3191 | if ( KOPrefs::instance()->mHideNonStartedTodos ) | 3191 | if ( KOPrefs::instance()->mHideNonStartedTodos ) |
3192 | mTodoList->updateView(); | 3192 | mTodoList->updateView(); |
3193 | // We assume that the navigator only selects consecutive days. | 3193 | // We assume that the navigator only selects consecutive days. |
3194 | updateView( tmpList.first(), tmpList.last() ); | 3194 | updateView( tmpList.first(), tmpList.last() ); |
3195 | } | 3195 | } |
3196 | 3196 | ||
3197 | void CalendarView::updateUnmanagedViews() | 3197 | void CalendarView::updateUnmanagedViews() |
3198 | { | 3198 | { |
3199 | mDateNavigator->updateDayMatrix(); | 3199 | mDateNavigator->updateDayMatrix(); |
3200 | } | 3200 | } |
3201 | 3201 | ||
3202 | int CalendarView::msgItemDelete(const QString name) | 3202 | int CalendarView::msgItemDelete(const QString name) |
3203 | { | 3203 | { |
3204 | return KMessageBox::warningContinueCancel(this,name +"\n\n"+ | 3204 | return KMessageBox::warningContinueCancel(this,name +"\n\n"+ |
3205 | i18n("This item will be\npermanently deleted."), | 3205 | i18n("This item will be\npermanently deleted."), |
3206 | i18n("KO/Pi Confirmation"),i18n("Delete")); | 3206 | i18n("KO/Pi Confirmation"),i18n("Delete")); |
3207 | } | 3207 | } |
3208 | 3208 | ||
3209 | 3209 | ||
3210 | void CalendarView::edit_cut() | 3210 | void CalendarView::edit_cut() |
3211 | { | 3211 | { |
3212 | Event *anEvent=0; | 3212 | Event *anEvent=0; |