author | umopapisdn <umopapisdn> | 2003-05-05 21:44:39 (UTC) |
---|---|---|
committer | umopapisdn <umopapisdn> | 2003-05-05 21:44:39 (UTC) |
commit | 3b193b852133a82b5c1708b68a7e460c63629768 (patch) (unidiff) | |
tree | 8cd0ff3adc14f0b937d24ab99fca327fb3f16875 /core/pim/datebook/datebookweeklst.cpp | |
parent | 12a700f8903eedeba03d3aba7990b9d660410045 (diff) | |
download | opie-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) (ignore whitespace changes)
-rw-r--r-- | core/pim/datebook/datebookweeklst.cpp | 212 |
1 files changed, 110 insertions, 102 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 | |||
@@ -29,62 +29,67 @@ | |||
29 | 29 | ||
30 | bool calcWeek(const QDate &d, int &week, int &year, | 30 | bool calcWeek(const QDate &d, int &week, int &year,bool startOnMonday = false); |
31 | bool startOnMonday = false); | ||
32 | 31 | ||
33 | DateBookWeekLstHeader::DateBookWeekLstHeader(bool onM, QWidget* parent, | 32 | DateBookWeekLstHeader::DateBookWeekLstHeader(bool onM, QWidget* parent, const char* name, WFlags fl) |
34 | const char* name, WFlags fl) | ||
35 | : DateBookWeekLstHeaderBase(parent, name, fl) | 33 | : DateBookWeekLstHeaderBase(parent, name, fl) |
36 | { | 34 | { |
37 | setBackgroundMode( PaletteButton ); | 35 | setBackgroundMode( PaletteButton ); |
38 | labelDate->setBackgroundMode( PaletteButton ); | 36 | labelDate->setBackgroundMode( PaletteButton ); |
39 | labelWeek->setBackgroundMode( PaletteButton ); | 37 | forwardweek->setBackgroundMode( PaletteButton ); |
40 | forward->setBackgroundMode( PaletteButton ); | 38 | forwardweek->setPixmap( Resource::loadPixmap("forward") ); |
41 | forward->setPixmap( Resource::loadPixmap("forward") ); | 39 | forwardmonth->setBackgroundMode( PaletteButton ); |
42 | back->setBackgroundMode( PaletteButton ); | 40 | forwardmonth->setPixmap( Resource::loadPixmap("fastforward") ); |
43 | back->setPixmap( Resource::loadPixmap("back") ); | 41 | backweek->setBackgroundMode( PaletteButton ); |
44 | DateBookWeekLstHeaderBaseLayout->setSpacing(0); | 42 | backweek->setPixmap( Resource::loadPixmap("back") ); |
45 | DateBookWeekLstHeaderBaseLayout->setMargin(0); | 43 | backmonth->setBackgroundMode( PaletteButton ); |
46 | //setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding)); | 44 | backmonth->setPixmap( Resource::loadPixmap("fastback") ); |
47 | setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed)); | 45 | DateBookWeekLstHeaderBaseLayout->setSpacing(0); |
48 | 46 | DateBookWeekLstHeaderBaseLayout->setMargin(0); | |
49 | connect(back, SIGNAL(clicked()), this, SLOT(prevWeek())); | 47 | //setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding)); |
50 | connect(forward, SIGNAL(clicked()), this, SLOT(nextWeek())); | 48 | setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed)); |
51 | connect(labelWeek, SIGNAL(clicked()), this, SLOT(pickDate())); | 49 | |
52 | connect(dbl, SIGNAL(toggled(bool)), this, SIGNAL(setDbl(bool))); | 50 | connect(backmonth, SIGNAL(clicked()), this, SLOT(prevMonth())); |
53 | onMonday=onM; | 51 | connect(backweek, SIGNAL(clicked()), this, SLOT(prevWeek())); |
52 | connect(forwardweek, SIGNAL(clicked()), this, SLOT(nextWeek())); | ||
53 | connect(forwardmonth, SIGNAL(clicked()), this, SLOT(nextMonth())); | ||
54 | connect(labelDate, SIGNAL(clicked()), this, SLOT(pickDate())); | ||
55 | connect(dbl, SIGNAL(toggled(bool)), this, SIGNAL(setDbl(bool))); | ||
56 | bStartOnMonday=onM; | ||
54 | } | 57 | } |
55 | DateBookWeekLstHeader::~DateBookWeekLstHeader(){} | 58 | DateBookWeekLstHeader::~DateBookWeekLstHeader(){} |
59 | |||
56 | void DateBookWeekLstHeader::setDate(const QDate &d) { | 60 | void DateBookWeekLstHeader::setDate(const QDate &d) { |
57 | date=d; | 61 | int year,week,dayofweek; |
58 | 62 | date=d; | |
59 | int year,week; | 63 | dayofweek=d.dayOfWeek(); |
60 | calcWeek(d,week,year,onMonday); | 64 | if(bStartOnMonday) dayofweek--; |
61 | labelWeek->setText(tr( "W: %1" ).arg( ( QString::number(week)) ) ); | 65 | date=date.addDays(-dayofweek); |
62 | 66 | ||
63 | QDate start=date; | 67 | calcWeek(date,week,year,bStartOnMonday); |
64 | QDate stop=start.addDays(6); | 68 | QDate start=date; |
65 | labelDate->setText( QString::number(start.day()) + " " + | 69 | QDate stop=start.addDays(6); |
66 | start.monthName(start.month()) + " - " + | 70 | labelDate->setText( QString::number(start.day()) + "." + |
67 | QString::number(stop.day()) + " " + | 71 | start.monthName(start.month()) + "-" + |
68 | start.monthName(stop.month()) ); | 72 | QString::number(stop.day()) + "." + |
69 | emit dateChanged(year,week); | 73 | start.monthName(stop.month()) +" ("+ |
74 | tr("w")+":"+QString::number( week ) +")"); | ||
75 | emit dateChanged(year,week); | ||
70 | } | 76 | } |
77 | |||
71 | void DateBookWeekLstHeader::pickDate() { | 78 | void DateBookWeekLstHeader::pickDate() { |
72 | static QPopupMenu *m1 = 0; | 79 | static QPopupMenu *m1 = 0; |
73 | static DateBookMonth *picker = 0; | 80 | static DateBookMonth *picker = 0; |
74 | if ( !m1 ) { | 81 | if ( !m1 ) { |
75 | m1 = new QPopupMenu( this ); | 82 | m1 = new QPopupMenu( this ); |
76 | picker = new DateBookMonth( m1, 0, TRUE ); | 83 | picker = new DateBookMonth( m1, 0, TRUE ); |
77 | m1->insertItem( picker ); | 84 | m1->insertItem( picker ); |
78 | connect( picker, SIGNAL( dateClicked( int, int, int ) ), | 85 | connect( picker, SIGNAL( dateClicked( int, int, int ) ),this, SLOT( setDate( int, int, int ) ) ); |
79 | this, SLOT( setDate( int, int, int ) ) ); | 86 | //connect( m1, SIGNAL( aboutToHide() ), |
80 | //connect( m1, SIGNAL( aboutToHide() ), | 87 | //this, SLOT( gotHide() ) ); |
81 | //this, SLOT( gotHide() ) ); | 88 | } |
82 | } | 89 | picker->setDate( date.year(), date.month(), date.day() ); |
83 | picker->setDate( date.year(), date.month(), date.day() ); | 90 | m1->popup(mapToGlobal(labelDate->pos()+QPoint(0,labelDate->height()))); |
84 | m1->popup(mapToGlobal(labelWeek->pos()+QPoint(0,labelWeek->height()))); | 91 | picker->setFocus(); |
85 | picker->setFocus(); | ||
86 | } | 92 | } |
87 | void DateBookWeekLstHeader::setDate(int y, int m, int d) { | 93 | void DateBookWeekLstHeader::setDate(int y, int m, int d) { |
88 | QDate new_date(y,m,d); | 94 | setDate(QDate(y,m,d)); |
89 | setDate(new_date); | ||
90 | } | 95 | } |
@@ -92,6 +97,14 @@ void DateBookWeekLstHeader::setDate(int y, int m, int d) { | |||
92 | void DateBookWeekLstHeader::nextWeek() { | 97 | void DateBookWeekLstHeader::nextWeek() { |
93 | setDate(date.addDays(7)); | 98 | setDate(date.addDays(7)); |
94 | } | 99 | } |
95 | void DateBookWeekLstHeader::prevWeek() { | 100 | void DateBookWeekLstHeader::prevWeek() { |
96 | setDate(date.addDays(-7)); | 101 | setDate(date.addDays(-7)); |
102 | } | ||
103 | void DateBookWeekLstHeader::nextMonth() | ||
104 | { | ||
105 | setDate(date.addDays(28)); | ||
106 | } | ||
107 | void DateBookWeekLstHeader::prevMonth() | ||
108 | { | ||
109 | setDate(date.addDays(-28)); | ||
97 | } | 110 | } |
@@ -104,31 +117,29 @@ DateBookWeekLstDayHdr::DateBookWeekLstDayHdr(const QDate &d, bool /*onM*/, | |||
104 | 117 | ||
105 | date=d; | 118 | date=d; |
106 | 119 | ||
107 | static const char *wdays={"MTWTFSS"}; | 120 | static const char *wdays={"MTWTFSS"}; |
108 | char day=wdays[d.dayOfWeek()-1]; | 121 | char day=wdays[d.dayOfWeek()-1]; |
109 | 122 | ||
110 | label->setText( QString(QObject::tr(QString(QChar(day)))) + " " + | 123 | label->setText( QString(QObject::tr(QString(QChar(day)))) + " " +QString::number(d.day()) ); |
111 | QString::number(d.day()) ); | 124 | add->setText("+"); |
112 | add->setText("+"); | 125 | |
113 | 126 | if (d == QDate::currentDate()) { | |
114 | if (d == QDate::currentDate()) { | 127 | QPalette pal=label->palette(); |
115 | QPalette pal=label->palette(); | 128 | pal.setColor(QColorGroup::Foreground, QColor(0,0,255)); |
116 | pal.setColor(QColorGroup::Foreground, QColor(0,0,255)); | 129 | label->setPalette(pal); |
117 | label->setPalette(pal); | 130 | |
118 | 131 | /* | |
119 | /* | 132 | QFont f=label->font(); |
120 | QFont f=label->font(); | 133 | f.setItalic(true); |
121 | f.setItalic(true); | 134 | label->setFont(f); |
122 | label->setFont(f); | 135 | label->setPalette(QPalette(QColor(0,0,255),label->backgroundColor())); |
123 | label->setPalette(QPalette(QColor(0,0,255),label->backgroundColor())); | 136 | */ |
124 | */ | 137 | } else if (d.dayOfWeek() == 7) { // FIXME: Match any holiday |
125 | } else if (d.dayOfWeek() == 7) { // FIXME: Match any holiday | 138 | QPalette pal=label->palette(); |
126 | QPalette pal=label->palette(); | 139 | pal.setColor(QColorGroup::Foreground, QColor(255,0,0)); |
127 | pal.setColor(QColorGroup::Foreground, QColor(255,0,0)); | 140 | label->setPalette(pal); |
128 | label->setPalette(pal); | 141 | } |
129 | } | ||
130 | |||
131 | 142 | ||
132 | connect (label, SIGNAL(clicked()), this, SLOT(showDay())); | 143 | connect (label, SIGNAL(clicked()), this, SLOT(showDay())); |
133 | connect (add, SIGNAL(clicked()), this, SLOT(newEvent())); | 144 | connect (add, SIGNAL(clicked()), this, SLOT(newEvent())); |
134 | } | 145 | } |
@@ -136,4 +147,5 @@ DateBookWeekLstDayHdr::DateBookWeekLstDayHdr(const QDate &d, bool /*onM*/, | |||
136 | void DateBookWeekLstDayHdr::showDay() { | 147 | void DateBookWeekLstDayHdr::showDay() { |
137 | emit showDate(date.year(), date.month(), date.day()); | 148 | emit showDate(date.year(), date.month(), date.day()); |
138 | } | 149 | } |
150 | |||
139 | void DateBookWeekLstDayHdr::newEvent() { | 151 | void DateBookWeekLstDayHdr::newEvent() { |
@@ -206,3 +218,3 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, | |||
206 | 218 | ||
207 | onMonday=onM; | 219 | bStartOnMonday=onM; |
208 | setPalette(white); | 220 | setPalette(white); |
@@ -217,3 +229,3 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, | |||
217 | int dayOrder[7]; | 229 | int dayOrder[7]; |
218 | if (onMonday) { | 230 | if (bStartOnMonday) { |
219 | for (int d=0; d<7; d++) dayOrder[d]=d+1; | 231 | for (int d=0; d<7; d++) dayOrder[d]=d+1; |
@@ -226,5 +238,4 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, | |||
226 | // Header | 238 | // Header |
227 | DateBookWeekLstDayHdr *hdr=new DateBookWeekLstDayHdr(d.addDays(i), onMonday,this); | 239 | DateBookWeekLstDayHdr *hdr=new DateBookWeekLstDayHdr(d.addDays(i), bStartOnMonday,this); |
228 | connect(hdr, SIGNAL(showDate(int,int,int)), | 240 | connect(hdr, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); |
229 | this, SIGNAL(showDate(int,int,int))); | ||
230 | connect(hdr, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &)), | 241 | connect(hdr, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &)), |
@@ -281,16 +292,14 @@ DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, | |||
281 | ampm( ap ), | 292 | ampm( ap ), |
282 | onMonday(onM) | 293 | bStartOnMonday(onM) |
283 | { | 294 | { |
284 | setFocusPolicy(StrongFocus); | 295 | setFocusPolicy(StrongFocus); |
285 | layout = new QVBoxLayout( this ); | 296 | layout = new QVBoxLayout( this ); |
286 | layout->setMargin(0); | 297 | layout->setMargin(0); |
287 | 298 | ||
288 | header=new DateBookWeekLstHeader(onM, this); | 299 | header=new DateBookWeekLstHeader(onM, this); |
289 | layout->addWidget( header ); | 300 | layout->addWidget( header ); |
290 | connect(header, SIGNAL(dateChanged(int,int)), this, SLOT(dateChanged(int,int))); | 301 | connect(header, SIGNAL(dateChanged(int,int)), this, SLOT(dateChanged(int,int))); |
291 | connect(header, SIGNAL(setDbl(bool)), this, SLOT(setDbl(bool))); | 302 | connect(header, SIGNAL(setDbl(bool)), this, SLOT(setDbl(bool))); |
292 | 303 | ||
293 | scroll=new QScrollView(this); | 304 | scroll=new QScrollView(this); |
294 | //scroll->setVScrollBarMode(QScrollView::AlwaysOn); | ||
295 | //scroll->setHScrollBarMode(QScrollView::AlwaysOff); | ||
296 | scroll->setResizePolicy(QScrollView::AutoOneFit); | 305 | scroll->setResizePolicy(QScrollView::AutoOneFit); |
@@ -312,3 +321,3 @@ void DateBookWeekLst::setDate(const QDate &d) { | |||
312 | int w,y; | 321 | int w,y; |
313 | calcWeek(d,w,y,onMonday); | 322 | calcWeek(d,w,y,bStartOnMonday); |
314 | year=y; | 323 | year=y; |
@@ -328,3 +337,3 @@ QDate DateBookWeekLst::date() const { | |||
328 | int dow= d.dayOfWeek(); | 337 | int dow= d.dayOfWeek(); |
329 | if (!onMonday) | 338 | if (!bStartOnMonday) |
330 | if (dow==7) { | 339 | if (dow==7) { |
@@ -349,5 +358,5 @@ void DateBookWeekLst::getEvents() { | |||
349 | QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop); | 358 | QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop); |
350 | view=new DateBookWeekLstDblView(el,el2,start,onMonday,scroll); | 359 | view=new DateBookWeekLstDblView(el,el2,start,bStartOnMonday,scroll); |
351 | } else { | 360 | } else { |
352 | view=new DateBookWeekLstView(el,start,onMonday,scroll); | 361 | view=new DateBookWeekLstView(el,start,bStartOnMonday,scroll); |
353 | } | 362 | } |
@@ -388,3 +397,2 @@ void DateBookWeekLst::keyPressEvent(QKeyEvent *e) | |||
388 | } | 397 | } |
389 | } | 398 | } \ No newline at end of file |
390 | |||