author | zautrix <zautrix> | 2005-02-07 21:52:19 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-02-07 21:52:19 (UTC) |
commit | d7a005e6c1a27d1084f30b940d54291a8d660f0e (patch) (side-by-side diff) | |
tree | c6ce04abf039acde589431f104bbb066ba4917a1 /korganizer/datenavigator.cpp | |
parent | edaad9a9d7ede1b4bc50b9e758eaf32a5fbb547e (diff) | |
download | kdepimpi-d7a005e6c1a27d1084f30b940d54291a8d660f0e.zip kdepimpi-d7a005e6c1a27d1084f30b940d54291a8d660f0e.tar.gz kdepimpi-d7a005e6c1a27d1084f30b940d54291a8d660f0e.tar.bz2 |
fixes
-rw-r--r-- | korganizer/datenavigator.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/korganizer/datenavigator.cpp b/korganizer/datenavigator.cpp index d2824de..8b7c993 100644 --- a/korganizer/datenavigator.cpp +++ b/korganizer/datenavigator.cpp @@ -126,64 +126,72 @@ void DateNavigator::selectDates( int count ) void DateNavigator::selectDates( const QDate &d, int count ) { DateList dates; int i; for( i = 0; i < count; ++i ) { dates.append( d.addDays( i ) ); } mSelectedDates = dates; emitSelected(); } void DateNavigator::selectWeekByDay( int weekDay, const QDate &d ) { // qDebug("selectWeekByDay( %d %s ", weekDay, d.toString().latin1()); int dateCount = mSelectedDates.count(); bool weekStart = ( weekDay == KGlobal::locale()->weekStartDay() ); if ( weekDay == 1 && dateCount == 5 ) selectWorkWeek( d ); else if ( weekStart && dateCount == 7 ) selectWeek( d ); else selectDates( d, dateCount ); } void DateNavigator::selectWeek() { QDate d = mSelectedDates.first(); selectWeek( d ); } void DateNavigator::selectWeek( int num ) { int year = mSelectedDates.first().year(); + QDate d = QDate ( year, 1,1); + while ( d.dayOfWeek() != 4 ) + d = d.addDays( 1 ); + selectWeek( d.addDays ( (num-1) *7 ) ); +} +void DateNavigator::selectWeekFromMonthView( int num ) +{ + int year = mSelectedDates.first().year(); if ( mSelectedDates.first().dayOfYear() > 300 && num < 10 ) ++year; if ( mSelectedDates.first().dayOfYear() < 70 && num > 40 ) --year; QDate d = QDate ( year, 1,1); while ( d.dayOfWeek() != 4 ) d = d.addDays( 1 ); selectWeek( d.addDays ( (num-1) *7 ) ); } void DateNavigator::selectWeek( const QDate &d ) { int dayOfWeek = KOGlobals::self()->calendarSystem()->dayOfWeek( d ); int weekStart = KGlobal::locale()->weekStartDay(); QDate firstDate = d.addDays( weekStart - dayOfWeek ); if ( weekStart != 1 && dayOfWeek < weekStart ) { firstDate = firstDate.addDays(-7 ); } selectDates( firstDate, 7 ); } void DateNavigator::selectWorkWeek() { QDate d = mSelectedDates.first(); selectWorkWeek( d ); } void DateNavigator::selectWorkWeek( const QDate &d ) { |