summaryrefslogtreecommitdiff
path: root/core/pim/datebook/datebookweekheaderimpl.cpp
authorumopapisdn <umopapisdn>2003-03-25 23:44:32 (UTC)
committer umopapisdn <umopapisdn>2003-03-25 23:44:32 (UTC)
commitc98faafefdf2e9b9e16dcf2b1d57525f38282296 (patch) (side-by-side diff)
tree75a6bc72f13ee81b86c368517aba3496b2c7e800 /core/pim/datebook/datebookweekheaderimpl.cpp
parentaca404f0c049c5b1bace7e842e7e64b987f04616 (diff)
downloadopie-c98faafefdf2e9b9e16dcf2b1d57525f38282296.zip
opie-c98faafefdf2e9b9e16dcf2b1d57525f38282296.tar.gz
opie-c98faafefdf2e9b9e16dcf2b1d57525f38282296.tar.bz2
Revamped the userinterface of the header for weekview to look more like the other views.
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
@@ -18,9 +18,15 @@
**
**********************************************************************/
#include "datebookweekheaderimpl.h"
+#include "datebookweekheader.h"
+#include "datebookweek.h"
#include <qlabel.h>
#include <qspinbox.h>
#include <qdatetime.h>
+#include <qpe/resource.h>
+#include <qpe/datebookmonth.h>
+
+#include <qtoolbutton.h>
/*
* Constructs a DateBookWeekHeader which is a child of 'parent', with the
@@ -33,6 +39,13 @@ DateBookWeekHeader::DateBookWeekHeader( bool startOnMonday, QWidget* parent,
{
setBackgroundMode( PaletteButton );
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();
}
/*
@@ -43,6 +56,24 @@ DateBookWeekHeader::~DateBookWeekHeader()
// no need to delete child widgets, Qt does it all for us
}
+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();
+}
/*
* public slot
*/
@@ -50,13 +81,27 @@ void DateBookWeekHeader::yearChanged( int y )
{
setDate( y, week );
}
+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
+}
/*
* public slot
*/
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 );
}
/*
@@ -64,8 +109,10 @@ void DateBookWeekHeader::nextWeek()
*/
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 );
}
/*
@@ -76,6 +123,12 @@ void DateBookWeekHeader::weekChanged( int w )
setDate( year, 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 )
{
year = y;
@@ -89,7 +142,8 @@ void DateBookWeekHeader::setDate( int y, int w )
+ "-";
d = d.addDays( 6 );
s += QString::number( d.day() ) + ". " + d.monthName( d.month() );
- labelDate->setText( s );
+ s += " ("+tr("week")+":"+QString::number( w )+")";
+ labelDate->setText( s );
emit dateChanged( y, w );
}