Diffstat (limited to 'core/pim/datebook/datebookweeklst.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/pim/datebook/datebookweeklst.cpp | 90 |
1 files changed, 49 insertions, 41 deletions
diff --git a/core/pim/datebook/datebookweeklst.cpp b/core/pim/datebook/datebookweeklst.cpp index 3c8fc89..a39ff40 100644 --- a/core/pim/datebook/datebookweeklst.cpp +++ b/core/pim/datebook/datebookweeklst.cpp @@ -28,18 +28,19 @@ #include <qtl.h> -bool calcWeek(const QDate &d, int &week, int &year, - bool startOnMonday = false); +bool calcWeek(const QDate &d, int &week, int &year,bool startOnMonday = false); -DateBookWeekLstHeader::DateBookWeekLstHeader(bool onM, QWidget* parent, - const char* name, WFlags fl) +DateBookWeekLstHeader::DateBookWeekLstHeader(bool onM, QWidget* parent, const char* name, WFlags fl) : DateBookWeekLstHeaderBase(parent, name, fl) { setBackgroundMode( PaletteButton ); labelDate->setBackgroundMode( PaletteButton ); - labelWeek->setBackgroundMode( PaletteButton ); - forward->setBackgroundMode( PaletteButton ); - forward->setPixmap( Resource::loadPixmap("forward") ); - back->setBackgroundMode( PaletteButton ); - back->setPixmap( Resource::loadPixmap("back") ); + forwardweek->setBackgroundMode( PaletteButton ); + forwardweek->setPixmap( Resource::loadPixmap("forward") ); + forwardmonth->setBackgroundMode( PaletteButton ); + forwardmonth->setPixmap( Resource::loadPixmap("fastforward") ); + backweek->setBackgroundMode( PaletteButton ); + backweek->setPixmap( Resource::loadPixmap("back") ); + backmonth->setBackgroundMode( PaletteButton ); + backmonth->setPixmap( Resource::loadPixmap("fastback") ); DateBookWeekLstHeaderBaseLayout->setSpacing(0); DateBookWeekLstHeaderBaseLayout->setMargin(0); @@ -47,26 +48,32 @@ DateBookWeekLstHeader::DateBookWeekLstHeader(bool onM, QWidget* parent, setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed)); - connect(back, SIGNAL(clicked()), this, SLOT(prevWeek())); - connect(forward, SIGNAL(clicked()), this, SLOT(nextWeek())); - connect(labelWeek, SIGNAL(clicked()), this, SLOT(pickDate())); + connect(backmonth, SIGNAL(clicked()), this, SLOT(prevMonth())); + connect(backweek, SIGNAL(clicked()), this, SLOT(prevWeek())); + connect(forwardweek, SIGNAL(clicked()), this, SLOT(nextWeek())); + connect(forwardmonth, SIGNAL(clicked()), this, SLOT(nextMonth())); + connect(labelDate, SIGNAL(clicked()), this, SLOT(pickDate())); connect(dbl, SIGNAL(toggled(bool)), this, SIGNAL(setDbl(bool))); - onMonday=onM; + bStartOnMonday=onM; } DateBookWeekLstHeader::~DateBookWeekLstHeader(){} + void DateBookWeekLstHeader::setDate(const QDate &d) { + int year,week,dayofweek; date=d; + dayofweek=d.dayOfWeek(); + if(bStartOnMonday) dayofweek--; + date=date.addDays(-dayofweek); - int year,week; - calcWeek(d,week,year,onMonday); - labelWeek->setText(tr( "W: %1" ).arg( ( QString::number(week)) ) ); - + calcWeek(date,week,year,bStartOnMonday); QDate start=date; QDate stop=start.addDays(6); - labelDate->setText( QString::number(start.day()) + " " + + labelDate->setText( QString::number(start.day()) + "." + start.monthName(start.month()) + " - " + - QString::number(stop.day()) + " " + - start.monthName(stop.month()) ); + QString::number(stop.day()) + "." + + start.monthName(stop.month()) +" ("+ + tr("w")+":"+QString::number( week ) +")"); emit dateChanged(year,week); } + void DateBookWeekLstHeader::pickDate() { static QPopupMenu *m1 = 0; @@ -76,16 +83,14 @@ void DateBookWeekLstHeader::pickDate() { picker = new DateBookMonth( m1, 0, TRUE ); m1->insertItem( picker ); - connect( picker, SIGNAL( dateClicked( int, int, int ) ), - this, SLOT( setDate( int, int, int ) ) ); + connect( picker, SIGNAL( dateClicked( int, int, int ) ),this, SLOT( setDate( int, int, int ) ) ); //connect( m1, SIGNAL( aboutToHide() ), //this, SLOT( gotHide() ) ); } picker->setDate( date.year(), date.month(), date.day() ); - m1->popup(mapToGlobal(labelWeek->pos()+QPoint(0,labelWeek->height()))); + m1->popup(mapToGlobal(labelDate->pos()+QPoint(0,labelDate->height()))); picker->setFocus(); } void DateBookWeekLstHeader::setDate(int y, int m, int d) { - QDate new_date(y,m,d); - setDate(new_date); + setDate(QDate(y,m,d)); } @@ -96,4 +101,12 @@ void DateBookWeekLstHeader::prevWeek() { setDate(date.addDays(-7)); } +void DateBookWeekLstHeader::nextMonth() +{ + setDate(date.addDays(28)); +} +void DateBookWeekLstHeader::prevMonth() +{ + setDate(date.addDays(-28)); +} DateBookWeekLstDayHdr::DateBookWeekLstDayHdr(const QDate &d, bool /*onM*/, @@ -108,6 +121,5 @@ DateBookWeekLstDayHdr::DateBookWeekLstDayHdr(const QDate &d, bool /*onM*/, char day=wdays[d.dayOfWeek()-1]; - label->setText( QString(QObject::tr(QString(QChar(day)))) + " " + - QString::number(d.day()) ); + label->setText( QString(QObject::tr(QString(QChar(day)))) + " " +QString::number(d.day()) ); add->setText("+"); @@ -129,5 +141,4 @@ DateBookWeekLstDayHdr::DateBookWeekLstDayHdr(const QDate &d, bool /*onM*/, } - connect (label, SIGNAL(clicked()), this, SLOT(showDay())); connect (add, SIGNAL(clicked()), this, SLOT(newEvent())); @@ -137,4 +148,5 @@ void DateBookWeekLstDayHdr::showDay() { emit showDate(date.year(), date.month(), date.day()); } + void DateBookWeekLstDayHdr::newEvent() { QDateTime start, stop; @@ -205,5 +217,5 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, qDebug("Read weeklistviewconfig: %d",weeklistviewconfig); - onMonday=onM; + bStartOnMonday=onM; setPalette(white); setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding)); @@ -216,5 +228,5 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, int dayOrder[7]; - if (onMonday) { + if (bStartOnMonday) { for (int d=0; d<7; d++) dayOrder[d]=d+1; } else { @@ -225,7 +237,6 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, for (int i=0; i<7; i++) { // Header - DateBookWeekLstDayHdr *hdr=new DateBookWeekLstDayHdr(d.addDays(i), onMonday,this); - connect(hdr, SIGNAL(showDate(int,int,int)), - this, SIGNAL(showDate(int,int,int))); + DateBookWeekLstDayHdr *hdr=new DateBookWeekLstDayHdr(d.addDays(i), bStartOnMonday,this); + connect(hdr, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); connect(hdr, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &)), this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &))); @@ -280,5 +291,5 @@ DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, startTime( 0 ), ampm( ap ), - onMonday(onM) + bStartOnMonday(onM) { setFocusPolicy(StrongFocus); @@ -292,6 +303,4 @@ DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, scroll=new QScrollView(this); - //scroll->setVScrollBarMode(QScrollView::AlwaysOn); - //scroll->setHScrollBarMode(QScrollView::AlwaysOff); scroll->setResizePolicy(QScrollView::AutoOneFit); layout->addWidget(scroll); @@ -311,5 +320,5 @@ DateBookWeekLst::~DateBookWeekLst(){ void DateBookWeekLst::setDate(const QDate &d) { int w,y; - calcWeek(d,w,y,onMonday); + calcWeek(d,w,y,bStartOnMonday); year=y; _week=w; @@ -327,5 +336,5 @@ QDate DateBookWeekLst::date() const { int dow= d.dayOfWeek(); - if (!onMonday) + if (!bStartOnMonday) if (dow==7) { dow=1; @@ -348,7 +357,7 @@ void DateBookWeekLst::getEvents() { stop=start2.addDays(6); QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop); - view=new DateBookWeekLstDblView(el,el2,start,onMonday,scroll); + view=new DateBookWeekLstDblView(el,el2,start,bStartOnMonday,scroll); } else { - view=new DateBookWeekLstView(el,start,onMonday,scroll); + view=new DateBookWeekLstView(el,start,bStartOnMonday,scroll); } @@ -388,3 +397,2 @@ void DateBookWeekLst::keyPressEvent(QKeyEvent *e) } } - |