summaryrefslogtreecommitdiff
path: root/core/pim/datebook/datebookweeklst.cpp
authorumopapisdn <umopapisdn>2003-05-05 21:44:39 (UTC)
committer umopapisdn <umopapisdn>2003-05-05 21:44:39 (UTC)
commit3b193b852133a82b5c1708b68a7e460c63629768 (patch) (side-by-side diff)
tree8cd0ff3adc14f0b937d24ab99fca327fb3f16875 /core/pim/datebook/datebookweeklst.cpp
parent12a700f8903eedeba03d3aba7990b9d660410045 (diff)
downloadopie-3b193b852133a82b5c1708b68a7e460c63629768.zip
opie-3b193b852133a82b5c1708b68a7e460c63629768.tar.gz
opie-3b193b852133a82b5c1708b68a7e460c63629768.tar.bz2
UI and code cleanup. Both UI and code is now more consistent. Also removed menus in favor of toolbuttons. (why were they even available as menus in the first place?)
Diffstat (limited to 'core/pim/datebook/datebookweeklst.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/datebook/datebookweeklst.cpp90
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
@@ -27,47 +27,54 @@
#include <qabstractlayout.h>
#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);
//setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding));
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;
static DateBookMonth *picker = 0;
@@ -75,18 +82,16 @@ void DateBookWeekLstHeader::pickDate() {
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( 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));
}
void DateBookWeekLstHeader::nextWeek() {
@@ -95,6 +100,14 @@ void DateBookWeekLstHeader::nextWeek() {
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*/,
QWidget* parent,
@@ -107,8 +120,7 @@ DateBookWeekLstDayHdr::DateBookWeekLstDayHdr(const QDate &d, bool /*onM*/,
static const char *wdays={"MTWTFSS"};
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("+");
if (d == QDate::currentDate()) {
@@ -128,7 +140,6 @@ DateBookWeekLstDayHdr::DateBookWeekLstDayHdr(const QDate &d, bool /*onM*/,
label->setPalette(pal);
}
-
connect (label, SIGNAL(clicked()), this, SLOT(showDay()));
connect (add, SIGNAL(clicked()), this, SLOT(newEvent()));
}
@@ -136,6 +147,7 @@ DateBookWeekLstDayHdr::DateBookWeekLstDayHdr(const QDate &d, bool /*onM*/,
void DateBookWeekLstDayHdr::showDay() {
emit showDate(date.year(), date.month(), date.day());
}
+
void DateBookWeekLstDayHdr::newEvent() {
QDateTime start, stop;
start=stop=date;
@@ -204,7 +216,7 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev,
int weeklistviewconfig=config.readNumEntry("weeklistviewconfig", NORMAL);
qDebug("Read weeklistviewconfig: %d",weeklistviewconfig);
- onMonday=onM;
+ bStartOnMonday=onM;
setPalette(white);
setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding));
@@ -215,7 +227,7 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev,
it=ev.begin();
int dayOrder[7];
- if (onMonday) {
+ if (bStartOnMonday) {
for (int d=0; d<7; d++) dayOrder[d]=d+1;
} else {
for (int d=0; d<7; d++) dayOrder[d]=d;
@@ -224,9 +236,8 @@ 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 &)));
layout->addWidget(hdr);
@@ -279,7 +290,7 @@ DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB,
db( newDB ),
startTime( 0 ),
ampm( ap ),
- onMonday(onM)
+ bStartOnMonday(onM)
{
setFocusPolicy(StrongFocus);
layout = new QVBoxLayout( this );
@@ -291,8 +302,6 @@ DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB,
connect(header, SIGNAL(setDbl(bool)), this, SLOT(setDbl(bool)));
scroll=new QScrollView(this);
- //scroll->setVScrollBarMode(QScrollView::AlwaysOn);
- //scroll->setHScrollBarMode(QScrollView::AlwaysOff);
scroll->setResizePolicy(QScrollView::AutoOneFit);
layout->addWidget(scroll);
@@ -310,7 +319,7 @@ 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;
header->setDate(date());
@@ -326,7 +335,7 @@ QDate DateBookWeekLst::date() const {
d.setYMD(year,1,1);
int dow= d.dayOfWeek();
- if (!onMonday)
+ if (!bStartOnMonday)
if (dow==7) {
dow=1;
} else {
@@ -347,9 +356,9 @@ void DateBookWeekLst::getEvents() {
QDate start2=start.addDays(7);
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);
}
connect (view, SIGNAL(editEvent(const Event &)), this, SIGNAL(editEvent(const Event &)));
@@ -387,4 +396,3 @@ void DateBookWeekLst::keyPressEvent(QKeyEvent *e)
e->ignore();
}
}
-