[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