summaryrefslogtreecommitdiff
path: root/core/pim/datebook/datebookweekheaderimpl.cpp
Side-by-side diff
Diffstat (limited to 'core/pim/datebook/datebookweekheaderimpl.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/datebookweekheaderimpl.cpp64
1 files changed, 59 insertions, 5 deletions
diff --git a/core/pim/datebook/datebookweekheaderimpl.cpp b/core/pim/datebook/datebookweekheaderimpl.cpp
index e7c7208..5f555d5 100644
--- a/core/pim/datebook/datebookweekheaderimpl.cpp
+++ b/core/pim/datebook/datebookweekheaderimpl.cpp
@@ -20,2 +20,4 @@
#include "datebookweekheaderimpl.h"
+#include "datebookweekheader.h"
+#include "datebookweek.h"
#include <qlabel.h>
@@ -23,2 +25,6 @@
#include <qdatetime.h>
+#include <qpe/resource.h>
+#include <qpe/datebookmonth.h>
+
+#include <qtoolbutton.h>
@@ -35,2 +41,9 @@ DateBookWeekHeader::DateBookWeekHeader( bool startOnMonday, QWidget* parent,
labelDate->setBackgroundMode( PaletteButton );
+
+ backmonth->setPixmap( Resource::loadPixmap("fastback") );
+ backweek->setPixmap( Resource::loadPixmap("back") );
+ forwardweek->setPixmap( Resource::loadPixmap("forward") );
+ forwardmonth->setPixmap( Resource::loadPixmap("fastforward") );
+ spinYear->hide();
+ spinWeek->hide();
}
@@ -45,2 +58,20 @@ DateBookWeekHeader::~DateBookWeekHeader()
+void DateBookWeekHeader::pickDate()
+{
+ static QPopupMenu *m1 = 0;
+ static DateBookMonth *picker = 0;
+ QDate currDate = dateFromWeek( week, year, bStartOnMonday );
+ if ( !m1 ) {
+ m1 = new QPopupMenu( this );
+ picker = new DateBookMonth( m1, 0, TRUE );
+ m1->insertItem( picker );
+ connect( picker, SIGNAL( dateClicked( int, int, int ) ),
+ this, SLOT( setDate( int, int, int ) ) );
+// connect( m1, SIGNAL( aboutToHide() ),
+// this, SLOT( gotHide() ) );
+ }
+ picker->setDate( currDate.year(), currDate.month(), currDate.day() );
+ m1->popup(mapToGlobal(labelDate->pos()+QPoint(0,labelDate->height())));
+ picker->setFocus();
+}
/*
@@ -52,2 +83,14 @@ void DateBookWeekHeader::yearChanged( int y )
}
+void DateBookWeekHeader::nextMonth()
+{
+ QDate mydate = dateFromWeek( week, year, bStartOnMonday ); // Get current week
+ calcWeek( mydate.addDays(28), week, year, bStartOnMonday ); // Add 4 weeks.
+ setDate( year, week ); // update view
+}
+void DateBookWeekHeader::prevMonth()
+{
+ QDate mydate = dateFromWeek( week, year, bStartOnMonday ); // Get current week
+ calcWeek( mydate.addDays(-28), week, year, bStartOnMonday ); // Subtract 4 weeks
+ setDate( year, week ); // update view
+}
/*
@@ -57,4 +100,6 @@ void DateBookWeekHeader::nextWeek()
{
- if ( week < 52 )
- week++;
+ QDate mydate = dateFromWeek( week, year, bStartOnMonday ); // Get current week
+ calcWeek( mydate.addDays(7), week, year, bStartOnMonday); // Add 1 week
+// if ( week < 52 )
+// week++;
setDate( year, week );
@@ -66,4 +111,6 @@ void DateBookWeekHeader::prevWeek()
{
- if ( week > 1 )
- week--;
+ QDate mydate = dateFromWeek( week, year, bStartOnMonday ); // Get current week
+ calcWeek( mydate.addDays(-7), week, year, bStartOnMonday); // Add 1 week
+// if ( week > 1 )
+// week--;
setDate( year, week );
@@ -78,2 +125,8 @@ void DateBookWeekHeader::weekChanged( int w )
+void DateBookWeekHeader::setDate( int y, int m, int d )
+{
+ calcWeek( QDate(y,m,d), week, year, bStartOnMonday );
+ setDate( year, week );
+}
+
void DateBookWeekHeader::setDate( int y, int w )
@@ -91,3 +144,4 @@ void DateBookWeekHeader::setDate( int y, int w )
s += QString::number( d.day() ) + ". " + d.monthName( d.month() );
- labelDate->setText( s );
+ s += " ("+tr("week")+":"+QString::number( w )+")";
+ labelDate->setText( s );