SVN commit 1068335 by winterz: in agenda view, show the timezone name not the timezone country. then adjust the width of the timelabels accordingly to so the timezone names fit nicely. part of kolab/issue3493 MERGE: trunk M +20 -3 koagendaview.cpp M +2 -2 koagendaview.h M +1 -1 multiagendaview.cpp M +1 -8 timelabels.cpp --- branches/kdepim/enterprise4/kdepim/korganizer/koagendaview.cpp #1068334:1068335 @@ -766,9 +766,10 @@ mTimeBarHeaders.clear(); foreach ( TimeLabels *timeLabel, mTimeLabelsZone->timeLabels() ) { - QLabel *label = new QLabel( i18n( "All Day" ), mTimeBarHeaderFrame ); - label->setText( timeLabel->header() ); - label->setAlignment( Qt::AlignBottom | Qt::AlignHCenter ); + QLabel *label = new QLabel( timeLabel->header().replace( '/', "/ " ), + mTimeBarHeaderFrame ); + label->setAlignment( Qt::AlignBottom | Qt::AlignLeft ); + label->setMargin( 2 ); label->setWordWrap( true ); label->setToolTip( timeLabel->headerToolTip() ); mTimeBarHeaders.append( label ); @@ -779,8 +780,24 @@ { createTimeBarHeaders(); + QFontMetrics fm( font() ); + + int num = 0; int width = mTimeLabelsZone->timeLabelsWidth(); + foreach( QLabel *l, mTimeBarHeaders ) { + num++; + foreach( const QString &word, l->text().split( ' ' ) ) { + width = qMax( width, fm.width( word ) ); + } + } + if ( num > 0 ) { + width += ( num * 2 ) + 2; + if ( num > 1 ) { + width += ( num * fm.averageCharWidth() ); + } + } + mTimeBarHeaderFrame->setFixedWidth( width ); mTimeLabelsZone->setTimeLabelsWidth( width ); } --- branches/kdepim/enterprise4/kdepim/korganizer/koagendaview.h #1068334:1068335 @@ -183,7 +183,7 @@ void clearTimeSpanSelection(); - /** Notifies agenda that there are pending changes */ + /** Notifies agenda that there are pending changes */ void setUpdateNeeded(); // Used by the timelabelszone @@ -252,7 +252,7 @@ QWidget *mTimeBarHeaderFrame; QGridLayout *mAgendaLayout; QSplitter *mSplitterAgenda; - QList mTimeBarHeaders; + QList mTimeBarHeaders; KOAgenda *mAllDayAgenda; KOAgenda *mAgenda; --- branches/kdepim/enterprise4/kdepim/korganizer/multiagendaview.cpp #1068334:1068335 @@ -44,7 +44,7 @@ topLevelLayout->setMargin( 0 ); QFontMetrics fm( font() ); - int topLabelHeight = 2 * fm.lineSpacing() + 6; // 3 * 2: spacing in the KOAgendaView + int topLabelHeight = 2 * fm.height() + fm.lineSpacing(); KVBox *topSideBox = new KVBox( this ); QWidget *topSideSpacer = new QWidget( topSideBox ); --- branches/kdepim/enterprise4/kdepim/korganizer/timelabels.cpp #1068334:1068335 @@ -374,14 +374,7 @@ QString TimeLabels::header() const { - KTimeZone tz = mSpec.timeZone(); - - QString header = tz.countryCode(); - if ( header.isEmpty() ) { - header = tz.name(); - } - - return header; + return mSpec.timeZone().name(); } QString TimeLabels::headerToolTip() const