Diffstat (limited to 'core/pim/datebook/datebookweek.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/datebook/datebookweek.cpp | 65 |
1 files changed, 27 insertions, 38 deletions
diff --git a/core/pim/datebook/datebookweek.cpp b/core/pim/datebook/datebookweek.cpp index 2ad7aa9..ab7e963 100644 --- a/core/pim/datebook/datebookweek.cpp +++ b/core/pim/datebook/datebookweek.cpp @@ -11,39 +11,32 @@ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #include "datebookweek.h" #include "datebookweekheaderimpl.h" -#include <qpe/calendar.h> #include <qpe/datebookdb.h> -#include <qpe/event.h> #include <qpe/qpeapplication.h> -#include <qpe/timestring.h> +#include <qpe/calendar.h> -#include <qdatetime.h> #include <qheader.h> #include <qlabel.h> #include <qlayout.h> -#include <qpainter.h> -#include <qpopupmenu.h> #include <qtimer.h> -#include <qspinbox.h> -#include <qstyle.h> //----------------------------------------------------------------- DateBookWeekItem::DateBookWeekItem( const EffectiveEvent e ) : ev( e ) { // with the current implementation change the color for all day events if ( ev.event().type() == Event::AllDay && !ev.event().hasAlarm() ) { c = Qt::green; } else { c = ev.event().hasAlarm() ? Qt::red : Qt::blue; @@ -80,62 +73,55 @@ DateBookWeekView::DateBookWeekView( bool ap, bool startOnMonday, QObject::connect(qApp, SIGNAL(clockChanged(bool)), this, SLOT(slotChangeClock(bool))); QFontMetrics fm( font() ); rowHeight = fm.height()+2; resizeContents( width(), 24*rowHeight ); } void DateBookWeekView::initNames() { +#warning Please review this ! (eilers) + + // Ok, I am Mr. Pedantic, but shouldn't we count until 6 instead of 7, if bOnMonday is false ? (eilers) + static bool bFirst = true; if ( bFirst ) { if ( bOnMonday ) { - header->addLabel( tr("Mo", "Monday" ) ); - header->addLabel( tr("Tu", "Tuesday") ); - header->addLabel( tr("We", "Wednesday" ) ); - header->addLabel( tr("Th", "Thursday" ) ); - header->addLabel( tr("Fr", "Friday" ) ); - header->addLabel( tr("Sa", "Saturday" ) ); - header->addLabel( tr("Su", "Sunday" ) ); + for ( int i = 1; i<=7; i++ ) { + header->addLabel( Calendar::nameOfDay( i ) ); + } + } else { - header->addLabel( tr("Su", "Sunday" ) ); - header->addLabel( tr("Mo", "Monday") ); - header->addLabel( tr("Tu", "Tuesday") ); - header->addLabel( tr("We", "Wednesday" ) ); - header->addLabel( tr("Th", "Thursday" ) ); - header->addLabel( tr("Fr", "Friday" ) ); - header->addLabel( tr("Sa", "Saturday" ) ); - } + header->addLabel( Calendar::nameOfDay( 7 ) ); + for ( int i = 1; i<7; i++ ) { + header->addLabel( Calendar::nameOfDay( i ) ); + } + } bFirst = false; } else { // we are change things... if ( bOnMonday ) { - header->setLabel( 1, tr("Mo", "Monday") ); - header->setLabel( 2, tr("Tu", "Tuesday") ); - header->setLabel( 3, tr("We", "Wednesday" ) ); - header->setLabel( 4, tr("Th", "Thursday" ) ); - header->setLabel( 5, tr("Fr", "Friday" ) ); - header->setLabel( 6, tr("Sa", "Saturday" ) ); - header->setLabel( 7, tr("Su", "Sunday" ) ); + for ( int i = 1; i<=7; i++ ) { + header->setLabel( i, Calendar::nameOfDay( i ) ); + } + } else { - header->setLabel( 1, tr("Su", "Sunday" ) ); - header->setLabel( 2, tr("Mo", "Monday") ); - header->setLabel( 3, tr("Tu", "Tuesday") ); - header->setLabel( 4, tr("We", "Wednesday" ) ); - header->setLabel( 5, tr("Th", "Thursday" ) ); - header->setLabel( 6, tr("Fr", "Friday" ) ); - header->setLabel( 7, tr("Sa", "Saturday" ) ); + header->setLabel( 1, Calendar::nameOfDay( 7 ) ); + for ( int i = 1; i<7; i++ ) { + header->setLabel( i+1, Calendar::nameOfDay( i ) ); + } + } } } void DateBookWeekView::showEvents( QValueList<EffectiveEvent> &ev ) { items.clear(); QValueListIterator<EffectiveEvent> it; for ( it = ev.begin(); it != ev.end(); ++it ) { DateBookWeekItem *i = new DateBookWeekItem( *it ); @@ -393,25 +379,26 @@ void DateBookWeek::keyPressEvent(QKeyEvent *e) setDate(date().addDays(7)); break; default: e->ignore(); } } void DateBookWeek::showDay( int day ) { QDate d=bdate; // Calculate offset to first day of week. - int dayoffset=d.dayOfWeek(); + int dayoffset=d.dayOfWeek() % 7; + if(bStartOnMonday) dayoffset--; day--; d=d.addDays(day-dayoffset); emit showDate( d.year(), d.month(), d.day() ); } void DateBookWeek::setDate( int y, int m, int d ) { setDate(QDate(y, m, d)); } @@ -566,24 +553,26 @@ void DateBookWeek::slotClockChanged( bool ap ) { ampm = ap; } // return the date at the beginning of the week... QDate DateBookWeek::weekDate() const { QDate d=bdate; // Calculate offset to first day of week. int dayoffset=d.dayOfWeek(); if(bStartOnMonday) dayoffset--; + else if( dayoffset == 7 ) + dayoffset = 0; return d.addDays(-dayoffset); } // this used to only be needed by datebook.cpp, but now we need it inside // week view since // we need to be able to figure out our total number of weeks on the fly... // this is probably the best place to put it.. // For Weeks that start on Monday... (EASY!) // At the moment we will use ISO 8601 method for computing // the week. Granted, other countries use other methods, |