author | zautrix <zautrix> | 2005-08-24 18:38:31 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-08-24 18:38:31 (UTC) |
commit | 2cde25d8061acd536bccd698722952ce8555f5db (patch) (side-by-side diff) | |
tree | 70f905e5de57b44c3503883b2f98925d9c92ef8b /korganizer | |
parent | 645ceb7a95dce4716eb87a1b9191d3f3c1657be3 (diff) | |
download | kdepimpi-2cde25d8061acd536bccd698722952ce8555f5db.zip kdepimpi-2cde25d8061acd536bccd698722952ce8555f5db.tar.gz kdepimpi-2cde25d8061acd536bccd698722952ce8555f5db.tar.bz2 |
conflict res fix
-rw-r--r-- | korganizer/calendarview.cpp | 7 | ||||
-rw-r--r-- | korganizer/kodaymatrix.cpp | 6 | ||||
-rw-r--r-- | korganizer/koprefs.cpp | 2 | ||||
-rw-r--r-- | korganizer/koprefs.h | 2 | ||||
-rw-r--r-- | korganizer/koprefsdialog.cpp | 13 |
5 files changed, 28 insertions, 2 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 9928b48..14094bb 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -3043,8 +3043,10 @@ void CalendarView::changeEventDisplay(Event *which, int action) } else { checkC = KOPrefs::instance()->mCheckConflictsNonADAllDay || KOPrefs::instance()->mCheckConflictsNonADNonAD; } + if ( !KOPrefs::instance()->mIncludeFree && mConflictingEvent->transparency() == KCal::Event::Transparent ) + checkC = false; if ( checkC ) QTimer::singleShot( time, this, SLOT ( checkConflictForEvent() ) ); } // } @@ -3094,8 +3096,13 @@ void CalendarView::checkConflictForEvent() topLevelWidget()->setCaption( i18n("Checking conflicts ... please wait") ); while ( test ) { qApp->processEvents(); bool skip = ( test->doesFloat() && !chAD ) || ( !test->doesFloat() && !chNad ); + + if ( !skip ) { + if ( !KOPrefs::instance()->mIncludeFree && test->transparency() == KCal::Event::Transparent ) + skip = true; + } if ( !skip ) { if ( filterALL ) { if ( !filterALL->filterCalendarItem( test ) ) { skip = true; diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp index 057df0d..7076e05 100644 --- a/korganizer/kodaymatrix.cpp +++ b/korganizer/kodaymatrix.cpp @@ -457,8 +457,11 @@ void KODayMatrix::updateViewTimed() if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) || (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) { continue; } + if ( !KOPrefs::instance()->mLongAllday && event->doesFloat()&& event->isMultiDay() ) { + continue; + } if ( event->doesRecur() ) { bool last; QDateTime incidenceStart = event->recurrence()->getPreviousDateTime( QDateTime( mStartDate ) , &last ); QDateTime incidenceEnd; @@ -683,8 +686,11 @@ void KODayMatrix::updateEvents() ( recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur ) ) { numEvents--; } + if ( !KOPrefs::instance()->mLongAllday && event->doesFloat()&& event->isMultiDay() ) { + numEvents--; + } } if ( numEvents ) eDays.setBit(i); else diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp index 571ca11..1b0e5f4 100644 --- a/korganizer/koprefs.cpp +++ b/korganizer/koprefs.cpp @@ -231,8 +231,9 @@ KOPrefs::KOPrefs() : KPrefs::setCurrentGroup("Conflicts"); addItemBool("EnableAutoDetect",&mDetectConflicts,true); + addItemBool("CheckConflictsFree",&mIncludeFree,true); addItemBool("CheckConflictsAllDayAllDay",&mCheckConflictsAllDayAllDay,false); addItemBool("CheckConflictsAllDayNonAD",&mCheckConflictsAllDayNonAD,false); addItemBool("CheckConflictsNonADAllDay",&mCheckConflictsNonADAllDay,false); addItemBool("CheckConflictsNonADNonAD",&mCheckConflictsNonADNonAD,true); @@ -243,8 +244,9 @@ KOPrefs::KOPrefs() : addItemBool("Block Popup Menu",&mBlockPopupMenu,false); addItemBool("Show Date Navigator",&mShowDateNavigator,true); addItemInt("Hour Size",&mHourSize,8); addItemBool("Show Daily Recurrences",&mDailyRecur,true); + addItemBool("ShowLongAllday",&mLongAllday,true); addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true); addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true); addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true); addItemBool("ShowShortMonthName",&mMonthShowShort,false); diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h index 576edf9..bac8010 100644 --- a/korganizer/koprefs.h +++ b/korganizer/koprefs.h @@ -193,8 +193,9 @@ class KOPrefs : public KPimPrefs int mAllDaySize; bool mShowFullMenu; bool mDailyRecur; bool mWeeklyRecur; + bool mLongAllday; bool mMonthDailyRecur; bool mMonthWeeklyRecur; bool mMonthShowIcons; bool mMonthShowTimes; @@ -350,8 +351,9 @@ class KOPrefs : public KPimPrefs bool mGlobalUpdateDisabled; bool mDetectConflicts; + bool mIncludeFree; bool mCheckConflictsAllDayAllDay; bool mCheckConflictsAllDayNonAD; bool mCheckConflictsNonADAllDay; bool mCheckConflictsNonADNonAD; diff --git a/korganizer/koprefsdialog.cpp b/korganizer/koprefsdialog.cpp index bbdf508..f1a6c3d 100644 --- a/korganizer/koprefsdialog.cpp +++ b/korganizer/koprefsdialog.cpp @@ -577,8 +577,13 @@ void KOPrefsDialog::setupViewsTab() addWidBool(i18n("Show ev. that recur weekly in date nav."), &(KOPrefs::instance()->mWeeklyRecur),topFrame); topLayout->addWidget(weeklyRecur->checkBox(),ii++,0); + weeklyRecur = + addWidBool(i18n("Show multiday allday ev. in date nav."), + &(KOPrefs::instance()->mLongAllday),topFrame); + topLayout->addWidget(weeklyRecur->checkBox(),ii++,0); + #ifdef DESKTOP_VERSION KPrefsDialogWidBool *enableToolTips = addWidBool(i18n("Enable tooltips displaying summary of ev."), &(KOPrefs::instance()->mEnableToolTips),topFrame); @@ -934,13 +939,17 @@ dummy = topFrame = new QFrame( topFrame ); topLayout->addWidget(topFrame ,ii++,0); topLayout = new QGridLayout(topFrame,4,1); connect ( dummy->checkBox(), SIGNAL( toggled( bool ) ), topFrame, SLOT ( setEnabled( bool ) ) ); - topLayout->addWidget( new QLabel ( i18n("Conflict detection checks an <b>edited event</b> with other <b>existing events</b> for overlapping. You can define which events are checked:"), topFrame ) , ii++,0); + dummy = addWidBool(i18n("Include events which \"show as free\""), + &(KOPrefs::instance()->mIncludeFree),topFrame); + topLayout->addWidget(dummy->checkBox(), ii++,0); + topLayout->addWidget( new QLabel ( i18n("Conflict detection checks an <b>edited event</b> with <b>other events</b> for overlapping."), topFrame ) , ii++,0); + topLayout->addWidget( new QLabel ( i18n("Filter for the edited event"), topFrame ) , ii++,0); mFilterEditItem = new QComboBox( topFrame ); topLayout->addWidget(mFilterEditItem,ii++,0); - topLayout->addWidget( new QLabel ( i18n("Filter for other existing events"), topFrame ) , ii++,0); + topLayout->addWidget( new QLabel ( i18n("Filter for other events"), topFrame ) , ii++,0); mFilterAllItem = new QComboBox( topFrame ); topLayout->addWidget(mFilterAllItem,ii++,0); dummy = addWidBool(i18n("Check Allday with Allday"), &(KOPrefs::instance()->mCheckConflictsAllDayAllDay),topFrame); |