[Korganizer-devel] [Bug 111931] choose last weekday unavailable
Bram Schoenmakers
bramschoenmakers at kde.nl
Sun Nov 5 19:32:09 CET 2006
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=111931
bramschoenmakers kde nl changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From bramschoenmakers kde nl 2006-11-05 19:32 -------
SVN commit 602340 by bram:
o Make calendars in the left sidebar respect the First Day Of Week setting, defined in the control center
o Renaming some member variables and unused variable removed
BUG:111931
M +19 -25 kdatenavigator.cpp
M +2 -4 kdatenavigator.h
--- branches/KDE/3.5/kdepim/korganizer/kdatenavigator.cpp #602339:602340
@ -64,21 +64,21 @
// Set up the heading fields.
for( i = 0; i < 7; i++ ) {
- headings[i] = new QLabel( this );
- headings[i]->setFont( QFont( generalFont, 10, QFont::Bold ) );
- headings[i]->setAlignment( AlignCenter );
+ mHeadings[i] = new QLabel( this );
+ mHeadings[i]->setFont( QFont( generalFont, 10, QFont::Bold ) );
+ mHeadings[i]->setAlignment( AlignCenter );
- topLayout->addWidget( headings[i], 1, i + 1 );
+ topLayout->addWidget( mHeadings[i], 1, i + 1 );
}
// Create the weeknumber labels
for( i = 0; i < 6; i++ ) {
- weeknos[i] = new QLabel( this );
- weeknos[i]->setAlignment( AlignCenter );
- weeknos[i]->setFont( QFont( generalFont, 10 ) );
- weeknos[i]->installEventFilter( this );
+ mWeeknos[i] = new QLabel( this );
+ mWeeknos[i]->setAlignment( AlignCenter );
+ mWeeknos[i]->setFont( QFont( generalFont, 10 ) );
+ mWeeknos[i]->installEventFilter( this );
- topLayout->addWidget( weeknos[i], i + 2, 0 );
+ topLayout->addWidget( mWeeknos[i], i + 2, 0 );
}
mDayMatrix = new KODayMatrix( this, "KDateNavigator::dayMatrix" );
@ -147,15 +147,14 @
const KCalendarSystem *calsys = KOGlobals::self()->calendarSystem();
int m_fstDayOfWkCalsys = calsys->dayOfWeek( dayone );
+ int weekstart = KGlobal::locale()->weekStartDay();
// If month begins on Monday and Monday is first day of week,
// month should begin on second line. Sunday doesn't have this problem.
- int nextLine = ( ( m_fstDayOfWkCalsys == 1) &&
- ( KGlobal::locale()->weekStartDay() == 1 ) ) ? 7 : 0;
+ int nextLine = m_fstDayOfWkCalsys <= weekstart ? 7 : 0;
// update the matrix dates
- int index = ( KGlobal::locale()->weekStartDay() == 1 ? 1 : 0 ) -
- m_fstDayOfWkCalsys - nextLine;
+ int index = weekstart - m_fstDayOfWkCalsys - nextLine;
dayone = dayone.addDays( index );
@ -190,7 +189,7 @
} else {
weeknum.setNum( weeknumstart );
}
- weeknos[i]->setText( weeknum );
+ mWeeknos[i]->setText( weeknum );
}
// each updateDates is followed by an updateView -> repaint is issued there !
@ -215,18 +214,13 @
void KDateNavigator::updateConfig()
{
int day;
+ int weekstart = KGlobal::locale()->weekStartDay();
for( int i = 0; i < 7; i++ ) {
- // take the first letter of the day name to be the abbreviation
- if ( KGlobal::locale()->weekStartDay() == 1 ) {
- day = i + 1;
- } else {
- if ( i == 0 ) day = 7;
- else day = i;
- }
+ day = weekstart + i <= 7 ? weekstart + i : ( weekstart + i ) % 7;
QString dayName = KOGlobals::self()->calendarSystem()->weekDayName( day,
true );
if ( KOPrefs::instance()->mCompactDialogs ) dayName = dayName.left( 1 );
- headings[i]->setText( dayName );
+ mHeadings[i]->setText( dayName );
}
// FIXME: Use actual config setting here
@ -237,9 +231,9 @
{
for( int i = 0; i < 6; i++ ) {
if( enabled )
- weeknos[i]->show();
+ mWeeknos[i]->show();
else
- weeknos[i]->hide();
+ mWeeknos[i]->hide();
}
}
@ -270,7 +264,7 @
if ( e->type() == QEvent::MouseButtonPress ) {
int i;
for( i = 0; i < 6; ++i ) {
- if ( o == weeknos[ i ] ) {
+ if ( o == mWeeknos[ i ] ) {
QDate weekstart = mDayMatrix->getDate( i * 7 );
emit weekClicked( weekstart );
break;
--- branches/KDE/3.5/kdepim/korganizer/kdatenavigator.h #602339:602340
@ -99,16 +99,14 @
private:
NavigatorBar *mNavigatorBar;
- QLabel *headings[ 7 ];
- QLabel *weeknos[ 7 ];
+ QLabel *mHeadings[ 7 ];
+ QLabel *mWeeknos[ 7 ];
KODayMatrix *mDayMatrix;
KCal::DateList mSelectedDates;
QDate mBaseDate;
- const QString *curHeaders;
-
// Disabling copy constructor and assignment operator
KDateNavigator( const KDateNavigator & );
KDateNavigator &operator=( const KDateNavigator & );
More information about the Korganizer-devel
mailing list