author | hakan <hakan> | 2002-03-09 14:19:20 (UTC) |
---|---|---|
committer | hakan <hakan> | 2002-03-09 14:19:20 (UTC) |
commit | 307ecafa73a7902aeadfeec9b5c2c064b68aed37 (patch) (unidiff) | |
tree | c8b82b8b13aab55ede1763da27809e5cd9efa661 | |
parent | 62c21e8bdbb365a64f05dd363a98abd7fc1f0558 (diff) | |
download | opie-307ecafa73a7902aeadfeec9b5c2c064b68aed37.zip opie-307ecafa73a7902aeadfeec9b5c2c064b68aed37.tar.gz opie-307ecafa73a7902aeadfeec9b5c2c064b68aed37.tar.bz2 |
WeekLst extended to view two weeks at a time (opitonal)
-rw-r--r-- | core/pim/datebook/datebookweeklst.cpp | 67 | ||||
-rw-r--r-- | core/pim/datebook/datebookweeklst.h | 44 | ||||
-rw-r--r-- | core/pim/datebook/datebookweeklstheader.ui | 99 |
3 files changed, 185 insertions, 25 deletions
diff --git a/core/pim/datebook/datebookweeklst.cpp b/core/pim/datebook/datebookweeklst.cpp index dc141c0..7083bc5 100644 --- a/core/pim/datebook/datebookweeklst.cpp +++ b/core/pim/datebook/datebookweeklst.cpp | |||
@@ -1,69 +1,71 @@ | |||
1 | #include "datebookweeklst.h" | 1 | #include "datebookweeklst.h" |
2 | 2 | ||
3 | #include "datebookweekheaderimpl.h" | 3 | #include "datebookweekheaderimpl.h" |
4 | 4 | ||
5 | #include <qpe/calendar.h> | 5 | #include <qpe/calendar.h> |
6 | #include <qpe/datebookdb.h> | 6 | #include <qpe/datebookdb.h> |
7 | #include <qpe/event.h> | 7 | #include <qpe/event.h> |
8 | #include <qpe/qpeapplication.h> | 8 | #include <qpe/qpeapplication.h> |
9 | #include <qpe/timestring.h> | 9 | #include <qpe/timestring.h> |
10 | #include <qpe/datebookmonth.h> | 10 | #include <qpe/datebookmonth.h> |
11 | #include <qpe/config.h> | ||
11 | 12 | ||
12 | #include <qdatetime.h> | 13 | #include <qdatetime.h> |
13 | #include <qheader.h> | 14 | #include <qheader.h> |
14 | #include <qlabel.h> | 15 | #include <qlabel.h> |
15 | #include <qlayout.h> | 16 | #include <qlayout.h> |
16 | #include <qpainter.h> | 17 | #include <qpainter.h> |
17 | #include <qpopupmenu.h> | 18 | #include <qpopupmenu.h> |
18 | #include <qtimer.h> | 19 | #include <qtimer.h> |
19 | #include <qstyle.h> | 20 | #include <qstyle.h> |
20 | #include <qtoolbutton.h> | 21 | #include <qtoolbutton.h> |
21 | #include <qvbox.h> | 22 | #include <qvbox.h> |
22 | #include <qsizepolicy.h> | 23 | #include <qsizepolicy.h> |
23 | #include <qabstractlayout.h> | 24 | #include <qabstractlayout.h> |
24 | #include <qtl.h> | 25 | #include <qtl.h> |
25 | 26 | ||
26 | bool calcWeek(const QDate &d, int &week, int &year, | 27 | bool calcWeek(const QDate &d, int &week, int &year, |
27 | bool startOnMonday = false); | 28 | bool startOnMonday = false); |
28 | 29 | ||
29 | DateBookWeekLstHeader::DateBookWeekLstHeader(bool onM, QWidget* parent, | 30 | DateBookWeekLstHeader::DateBookWeekLstHeader(bool onM, QWidget* parent, |
30 | const char* name, WFlags fl) | 31 | const char* name, WFlags fl) |
31 | : DateBookWeekLstHeaderBase(parent, name, fl) | 32 | : DateBookWeekLstHeaderBase(parent, name, fl) |
32 | { | 33 | { |
33 | setBackgroundMode( PaletteButton ); | 34 | setBackgroundMode( PaletteButton ); |
34 | labelDate->setBackgroundMode( PaletteButton ); | 35 | labelDate->setBackgroundMode( PaletteButton ); |
35 | labelWeek->setBackgroundMode( PaletteButton ); | 36 | labelWeek->setBackgroundMode( PaletteButton ); |
36 | forward->setBackgroundMode( PaletteButton ); | 37 | forward->setBackgroundMode( PaletteButton ); |
37 | back->setBackgroundMode( PaletteButton ); | 38 | back->setBackgroundMode( PaletteButton ); |
38 | DateBookWeekLstHeaderBaseLayout->setSpacing(0); | 39 | DateBookWeekLstHeaderBaseLayout->setSpacing(0); |
39 | DateBookWeekLstHeaderBaseLayout->setMargin(0); | 40 | DateBookWeekLstHeaderBaseLayout->setMargin(0); |
40 | //setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding)); | 41 | //setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding)); |
41 | setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed)); | 42 | setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed)); |
42 | 43 | ||
43 | connect(back, SIGNAL(clicked()), this, SLOT(prevWeek())); | 44 | connect(back, SIGNAL(clicked()), this, SLOT(prevWeek())); |
44 | connect(forward, SIGNAL(clicked()), this, SLOT(nextWeek())); | 45 | connect(forward, SIGNAL(clicked()), this, SLOT(nextWeek())); |
45 | connect(labelWeek, SIGNAL(clicked()), this, SLOT(pickDate())); | 46 | connect(labelWeek, SIGNAL(clicked()), this, SLOT(pickDate())); |
47 | connect(dbl, SIGNAL(toggled(bool)), this, SIGNAL(setDbl(bool))); | ||
46 | onMonday=onM; | 48 | onMonday=onM; |
47 | } | 49 | } |
48 | DateBookWeekLstHeader::~DateBookWeekLstHeader(){} | 50 | DateBookWeekLstHeader::~DateBookWeekLstHeader(){} |
49 | void DateBookWeekLstHeader::setDate(const QDate &d) { | 51 | void DateBookWeekLstHeader::setDate(const QDate &d) { |
50 | date=d; | 52 | date=d; |
51 | 53 | ||
52 | int year,week; | 54 | int year,week; |
53 | calcWeek(d,week,year,onMonday); | 55 | calcWeek(d,week,year,onMonday); |
54 | labelWeek->setText("W: " + QString::number(week)); | 56 | labelWeek->setText("W: " + QString::number(week)); |
55 | 57 | ||
56 | QDate start=date; | 58 | QDate start=date; |
57 | QDate stop=start.addDays(6); | 59 | QDate stop=start.addDays(6); |
58 | labelDate->setText( QString::number(start.day()) + " " + | 60 | labelDate->setText( QString::number(start.day()) + " " + |
59 | start.monthName(start.month()) + " - " + | 61 | start.monthName(start.month()) + " - " + |
60 | QString::number(stop.day()) + " " + | 62 | QString::number(stop.day()) + " " + |
61 | start.monthName(stop.month()) ); | 63 | start.monthName(stop.month()) ); |
62 | emit dateChanged(year,week); | 64 | emit dateChanged(year,week); |
63 | } | 65 | } |
64 | void DateBookWeekLstHeader::pickDate() { | 66 | void DateBookWeekLstHeader::pickDate() { |
65 | static QPopupMenu *m1 = 0; | 67 | static QPopupMenu *m1 = 0; |
66 | static DateBookMonth *picker = 0; | 68 | static DateBookMonth *picker = 0; |
67 | if ( !m1 ) { | 69 | if ( !m1 ) { |
68 | m1 = new QPopupMenu( this ); | 70 | m1 = new QPopupMenu( this ); |
69 | picker = new DateBookMonth( m1, 0, TRUE ); | 71 | picker = new DateBookMonth( m1, 0, TRUE ); |
@@ -135,56 +137,57 @@ void DateBookWeekLstDayHdr::newEvent() { | |||
135 | start.setTime(QTime(10,0)); | 137 | start.setTime(QTime(10,0)); |
136 | stop.setTime(QTime(12,0)); | 138 | stop.setTime(QTime(12,0)); |
137 | 139 | ||
138 | emit addEvent(start,stop,""); | 140 | emit addEvent(start,stop,""); |
139 | } | 141 | } |
140 | DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev, | 142 | DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev, |
141 | QWidget* parent = 0, | 143 | QWidget* parent = 0, |
142 | const char* name = 0, | 144 | const char* name = 0, |
143 | WFlags fl = 0) : | 145 | WFlags fl = 0) : |
144 | ClickableLabel(parent,name,fl), | 146 | ClickableLabel(parent,name,fl), |
145 | event(ev) | 147 | event(ev) |
146 | { | 148 | { |
147 | char s[10]; | 149 | char s[10]; |
148 | if ( ev.startDate() != ev.date() ) { // multiday event (not first day) | 150 | if ( ev.startDate() != ev.date() ) { // multiday event (not first day) |
149 | if ( ev.endDate() == ev.date() ) { // last day | 151 | if ( ev.endDate() == ev.date() ) { // last day |
150 | strcpy(s, "__|__"); | 152 | strcpy(s, "__|__"); |
151 | } else { | 153 | } else { |
152 | strcpy(s, " |---"); | 154 | strcpy(s, " |---"); |
153 | } | 155 | } |
154 | } else { | 156 | } else { |
155 | sprintf(s,"%.2d:%.2d",ev.start().hour(),ev.start().minute()); | 157 | sprintf(s,"%.2d:%.2d",ev.start().hour(),ev.start().minute()); |
156 | } | 158 | } |
157 | setText(QString(s) + " " + ev.description()); | 159 | setText(QString(s) + " " + ev.description()); |
158 | connect(this, SIGNAL(clicked()), this, SLOT(editMe())); | 160 | connect(this, SIGNAL(clicked()), this, SLOT(editMe())); |
161 | setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) ); | ||
159 | } | 162 | } |
160 | void DateBookWeekLstEvent::editMe() { | 163 | void DateBookWeekLstEvent::editMe() { |
161 | emit editEvent(event.event()); | 164 | emit editEvent(event.event()); |
162 | } | 165 | } |
163 | 166 | ||
164 | 167 | ||
165 | DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, | 168 | DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, |
166 | QDate &d, bool onM, | 169 | const QDate &d, bool onM, |
167 | QWidget* parent, | 170 | QWidget* parent, |
168 | const char* name, WFlags fl) | 171 | const char* name, WFlags fl) |
169 | : QWidget( parent, name, fl ) | 172 | : QWidget( parent, name, fl ) |
170 | { | 173 | { |
171 | onMonday=onM; | 174 | onMonday=onM; |
172 | setPalette(white); | 175 | setPalette(white); |
173 | setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding)); | 176 | setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding)); |
174 | 177 | ||
175 | QVBoxLayout *layout = new QVBoxLayout( this ); | 178 | QVBoxLayout *layout = new QVBoxLayout( this ); |
176 | 179 | ||
177 | qBubbleSort(ev); | 180 | qBubbleSort(ev); |
178 | QValueListIterator<EffectiveEvent> it; | 181 | QValueListIterator<EffectiveEvent> it; |
179 | it=ev.begin(); | 182 | it=ev.begin(); |
180 | 183 | ||
181 | int dayOrder[7]; | 184 | int dayOrder[7]; |
182 | if (onMonday) | 185 | if (onMonday) |
183 | for (int d=0; d<7; d++) dayOrder[d]=d+1; | 186 | for (int d=0; d<7; d++) dayOrder[d]=d+1; |
184 | else { | 187 | else { |
185 | for (int d=0; d<7; d++) dayOrder[d]=d; | 188 | for (int d=0; d<7; d++) dayOrder[d]=d; |
186 | dayOrder[0]=7; | 189 | dayOrder[0]=7; |
187 | } | 190 | } |
188 | 191 | ||
189 | for (int i=0; i<7; i++) { | 192 | for (int i=0; i<7; i++) { |
190 | // Header | 193 | // Header |
@@ -194,104 +197,160 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, | |||
194 | this, SIGNAL(showDate(int,int,int))); | 197 | this, SIGNAL(showDate(int,int,int))); |
195 | connect(hdr, SIGNAL(addEvent(const QDateTime &, | 198 | connect(hdr, SIGNAL(addEvent(const QDateTime &, |
196 | const QDateTime &, | 199 | const QDateTime &, |
197 | const QString &)), | 200 | const QString &)), |
198 | this, SIGNAL(addEvent(const QDateTime &, | 201 | this, SIGNAL(addEvent(const QDateTime &, |
199 | const QDateTime &, | 202 | const QDateTime &, |
200 | const QString &))); | 203 | const QString &))); |
201 | layout->addWidget(hdr); | 204 | layout->addWidget(hdr); |
202 | 205 | ||
203 | // Events | 206 | // Events |
204 | while ( (*it).date().dayOfWeek() == dayOrder[i] && it!=ev.end() ) { | 207 | while ( (*it).date().dayOfWeek() == dayOrder[i] && it!=ev.end() ) { |
205 | DateBookWeekLstEvent *l=new DateBookWeekLstEvent(*it,this); | 208 | DateBookWeekLstEvent *l=new DateBookWeekLstEvent(*it,this); |
206 | layout->addWidget(l); | 209 | layout->addWidget(l); |
207 | connect (l, SIGNAL(editEvent(const Event &)), | 210 | connect (l, SIGNAL(editEvent(const Event &)), |
208 | this, SIGNAL(editEvent(const Event &))); | 211 | this, SIGNAL(editEvent(const Event &))); |
209 | it++; | 212 | it++; |
210 | } | 213 | } |
211 | 214 | ||
212 | layout->addItem(new QSpacerItem(1,1, QSizePolicy::Minimum, QSizePolicy::Expanding)); | 215 | layout->addItem(new QSpacerItem(1,1, QSizePolicy::Minimum, QSizePolicy::Expanding)); |
213 | } | 216 | } |
214 | } | 217 | } |
215 | DateBookWeekLstView::~DateBookWeekLstView(){} | 218 | DateBookWeekLstView::~DateBookWeekLstView(){} |
216 | void DateBookWeekLstView::keyPressEvent(QKeyEvent *e) {e->ignore();} | 219 | void DateBookWeekLstView::keyPressEvent(QKeyEvent *e) {e->ignore();} |
217 | 220 | ||
221 | DateBookWeekLstDblView::DateBookWeekLstDblView(QValueList<EffectiveEvent> &ev1, | ||
222 | QValueList<EffectiveEvent> &ev2, | ||
223 | QDate &d, bool onM, | ||
224 | QWidget* parent, | ||
225 | const char* name, WFlags fl) | ||
226 | : QWidget( parent, name, fl ) | ||
227 | { | ||
228 | QHBoxLayout *layout = new QHBoxLayout( this ); | ||
229 | |||
230 | DateBookWeekLstView *w=new DateBookWeekLstView(ev1,d,onM,this); | ||
231 | layout->addWidget(w); | ||
232 | connect (w, SIGNAL(editEvent(const Event &)), | ||
233 | this, SIGNAL(editEvent(const Event &))); | ||
234 | connect (w, SIGNAL(showDate(int,int,int)), | ||
235 | this, SIGNAL(showDate(int,int,int))); | ||
236 | connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | ||
237 | const QString &)), | ||
238 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | ||
239 | const QString &))); | ||
240 | |||
241 | |||
242 | w=new DateBookWeekLstView(ev2,d.addDays(7),onM,this); | ||
243 | layout->addWidget(w); | ||
244 | connect (w, SIGNAL(editEvent(const Event &)), | ||
245 | this, SIGNAL(editEvent(const Event &))); | ||
246 | connect (w, SIGNAL(showDate(int,int,int)), | ||
247 | this, SIGNAL(showDate(int,int,int))); | ||
248 | connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | ||
249 | const QString &)), | ||
250 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | ||
251 | const QString &))); | ||
252 | } | ||
253 | |||
218 | DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, | 254 | DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, |
219 | QWidget *parent, | 255 | QWidget *parent, |
220 | const char *name ) | 256 | const char *name ) |
221 | : QWidget( parent, name ), | 257 | : QWidget( parent, name ), |
222 | db( newDB ), | 258 | db( newDB ), |
223 | startTime( 0 ), | 259 | startTime( 0 ), |
224 | ampm( ap ), | 260 | ampm( ap ), |
225 | onMonday(onM) | 261 | onMonday(onM) |
226 | { | 262 | { |
227 | setFocusPolicy(StrongFocus); | 263 | setFocusPolicy(StrongFocus); |
228 | layout = new QVBoxLayout( this ); | 264 | layout = new QVBoxLayout( this ); |
229 | layout->setMargin(0); | 265 | layout->setMargin(0); |
230 | 266 | ||
231 | header=new DateBookWeekLstHeader(onM, this); | 267 | header=new DateBookWeekLstHeader(onM, this); |
232 | layout->addWidget( header ); | 268 | layout->addWidget( header ); |
233 | connect(header, SIGNAL(dateChanged(int,int)), this, SLOT(dateChanged(int,int))); | 269 | connect(header, SIGNAL(dateChanged(int,int)), |
270 | this, SLOT(dateChanged(int,int))); | ||
271 | connect(header, SIGNAL(setDbl(bool)), | ||
272 | this, SLOT(setDbl(bool))); | ||
234 | 273 | ||
235 | scroll=new QScrollView(this); | 274 | scroll=new QScrollView(this); |
236 | //scroll->setVScrollBarMode(QScrollView::AlwaysOn); | 275 | //scroll->setVScrollBarMode(QScrollView::AlwaysOn); |
237 | //scroll->setHScrollBarMode(QScrollView::AlwaysOff); | 276 | //scroll->setHScrollBarMode(QScrollView::AlwaysOff); |
238 | scroll->setResizePolicy(QScrollView::AutoOneFit); | 277 | scroll->setResizePolicy(QScrollView::AutoOneFit); |
239 | layout->addWidget(scroll); | 278 | layout->addWidget(scroll); |
240 | 279 | ||
241 | view=NULL; | 280 | view=NULL; |
281 | Config config("DateBook"); | ||
282 | config.setGroup("Main"); | ||
283 | dbl=config.readBoolEntry("weeklst_dbl", false); | ||
284 | header->dbl->setOn(dbl); | ||
285 | } | ||
286 | DateBookWeekLst::~DateBookWeekLst(){ | ||
287 | Config config("DateBook"); | ||
288 | config.setGroup("Main"); | ||
289 | config.writeEntry("weeklst_dbl", dbl); | ||
242 | } | 290 | } |
243 | |||
244 | 291 | ||
245 | void DateBookWeekLst::setDate(const QDate &d) { | 292 | void DateBookWeekLst::setDate(const QDate &d) { |
246 | int w,y; | 293 | int w,y; |
247 | calcWeek(d,w,y,onMonday); | 294 | calcWeek(d,w,y,onMonday); |
248 | year=y; | 295 | year=y; |
249 | _week=w; | 296 | _week=w; |
250 | header->setDate(date()); | 297 | header->setDate(date()); |
251 | } | 298 | } |
299 | void DateBookWeekLst::setDbl(bool on) { | ||
300 | dbl=on; | ||
301 | redraw(); | ||
302 | } | ||
252 | void DateBookWeekLst::redraw() {getEvents();} | 303 | void DateBookWeekLst::redraw() {getEvents();} |
253 | 304 | ||
254 | QDate DateBookWeekLst::date() const { | 305 | QDate DateBookWeekLst::date() const { |
255 | QDate d; | 306 | QDate d; |
256 | d.setYMD(year,1,1); | 307 | d.setYMD(year,1,1); |
257 | 308 | ||
258 | int dow= d.dayOfWeek(); | 309 | int dow= d.dayOfWeek(); |
259 | if (!onMonday) | 310 | if (!onMonday) |
260 | if (dow==7) dow=1; | 311 | if (dow==7) dow=1; |
261 | else dow++; | 312 | else dow++; |
262 | 313 | ||
263 | d=d.addDays( (_week-1)*7 - dow + 1 ); | 314 | d=d.addDays( (_week-1)*7 - dow + 1 ); |
264 | return d; | 315 | return d; |
265 | } | 316 | } |
266 | 317 | ||
267 | void DateBookWeekLst::getEvents() { | 318 | void DateBookWeekLst::getEvents() { |
268 | QDate start = date(); | 319 | QDate start = date(); |
269 | QDate stop = start.addDays(6); | 320 | QDate stop = start.addDays(6); |
270 | QValueList<EffectiveEvent> el = db->getEffectiveEvents(start, stop); | 321 | QValueList<EffectiveEvent> el = db->getEffectiveEvents(start, stop); |
271 | 322 | ||
272 | if (view) delete view; | 323 | if (view) delete view; |
273 | view=new DateBookWeekLstView(el,start,onMonday,scroll); | 324 | if (dbl) { |
325 | QDate start2=start.addDays(7); | ||
326 | stop=start2.addDays(6); | ||
327 | QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop); | ||
328 | |||
329 | view=new DateBookWeekLstDblView(el,el2,start,onMonday,scroll); | ||
330 | } else { | ||
331 | view=new DateBookWeekLstView(el,start,onMonday,scroll); | ||
332 | } | ||
274 | 333 | ||
275 | connect (view, SIGNAL(editEvent(const Event &)), | 334 | connect (view, SIGNAL(editEvent(const Event &)), |
276 | this, SIGNAL(editEvent(const Event &))); | 335 | this, SIGNAL(editEvent(const Event &))); |
277 | connect (view, SIGNAL(showDate(int,int,int)), | 336 | connect (view, SIGNAL(showDate(int,int,int)), |
278 | this, SIGNAL(showDate(int,int,int))); | 337 | this, SIGNAL(showDate(int,int,int))); |
279 | connect (view, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | 338 | connect (view, SIGNAL(addEvent(const QDateTime &, const QDateTime &, |
280 | const QString &)), | 339 | const QString &)), |
281 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | 340 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, |
282 | const QString &))); | 341 | const QString &))); |
283 | 342 | ||
284 | scroll->addChild(view); | 343 | scroll->addChild(view); |
285 | view->show(); | 344 | view->show(); |
286 | scroll->updateScrollBars(); | 345 | scroll->updateScrollBars(); |
287 | } | 346 | } |
288 | 347 | ||
289 | void DateBookWeekLst::dateChanged(int y, int w) { | 348 | void DateBookWeekLst::dateChanged(int y, int w) { |
290 | year=y; | 349 | year=y; |
291 | _week=w; | 350 | _week=w; |
292 | getEvents(); | 351 | getEvents(); |
293 | } | 352 | } |
294 | 353 | ||
295 | void DateBookWeekLst::keyPressEvent(QKeyEvent *e) | 354 | void DateBookWeekLst::keyPressEvent(QKeyEvent *e) |
296 | { | 355 | { |
297 | switch(e->key()) { | 356 | switch(e->key()) { |
diff --git a/core/pim/datebook/datebookweeklst.h b/core/pim/datebook/datebookweeklst.h index 39c956d..b0b0417 100644 --- a/core/pim/datebook/datebookweeklst.h +++ b/core/pim/datebook/datebookweeklst.h | |||
@@ -10,122 +10,142 @@ | |||
10 | #include "datebookweeklstheader.h" | 10 | #include "datebookweeklstheader.h" |
11 | #include "datebookweeklstdayhdr.h" | 11 | #include "datebookweeklstdayhdr.h" |
12 | 12 | ||
13 | #include "clickablelabel.h" | 13 | #include "clickablelabel.h" |
14 | 14 | ||
15 | class QDateTime; | 15 | class QDateTime; |
16 | class DateBookDB; | 16 | class DateBookDB; |
17 | 17 | ||
18 | class DateBookWeekLstHeader: public DateBookWeekLstHeaderBase | 18 | class DateBookWeekLstHeader: public DateBookWeekLstHeaderBase |
19 | { | 19 | { |
20 | Q_OBJECT | 20 | Q_OBJECT |
21 | public: | 21 | public: |
22 | DateBookWeekLstHeader(bool onM, QWidget* parent = 0, const char* name = 0, | 22 | DateBookWeekLstHeader(bool onM, QWidget* parent = 0, const char* name = 0, |
23 | WFlags fl = 0 ); | 23 | WFlags fl = 0 ); |
24 | ~DateBookWeekLstHeader(); | 24 | ~DateBookWeekLstHeader(); |
25 | void setDate(const QDate &d); | 25 | void setDate(const QDate &d); |
26 | 26 | ||
27 | public slots: | 27 | public slots: |
28 | void nextWeek(); | 28 | void nextWeek(); |
29 | void prevWeek(); | 29 | void prevWeek(); |
30 | void pickDate(); | 30 | void pickDate(); |
31 | void setDate(int y, int m, int d); | 31 | void setDate(int y, int m, int d); |
32 | signals: | 32 | signals: |
33 | void dateChanged(int y, int w); | 33 | void dateChanged(int y, int w); |
34 | void setDbl(bool on); | ||
34 | private: | 35 | private: |
35 | QDate date; | 36 | QDate date; |
36 | bool onMonday; | 37 | bool onMonday; |
37 | }; | 38 | }; |
38 | 39 | ||
39 | class DateBookWeekLstDayHdr: public DateBookWeekLstDayHdrBase | 40 | class DateBookWeekLstDayHdr: public DateBookWeekLstDayHdrBase |
40 | { | 41 | { |
41 | Q_OBJECT | 42 | Q_OBJECT |
42 | public: | 43 | public: |
43 | DateBookWeekLstDayHdr(const QDate &d, bool onM, | 44 | DateBookWeekLstDayHdr(const QDate &d, bool onM, |
44 | QWidget* parent = 0, const char* name = 0, | 45 | QWidget* parent = 0, const char* name = 0, |
45 | WFlags fl = 0 ); | 46 | WFlags fl = 0 ); |
46 | public slots: | 47 | public slots: |
47 | void showDay(); | 48 | void showDay(); |
48 | void newEvent(); | 49 | void newEvent(); |
49 | signals: | 50 | signals: |
50 | void showDate(int y, int m, int d); | 51 | void showDate(int y, int m, int d); |
51 | void addEvent(const QDateTime &start, const QDateTime &stop, | 52 | void addEvent(const QDateTime &start, const QDateTime &stop, |
52 | const QString &str); | 53 | const QString &str); |
53 | private: | 54 | private: |
54 | QDate date; | 55 | QDate date; |
55 | }; | 56 | }; |
56 | 57 | ||
57 | class DateBookWeekLstEvent: public ClickableLabel | 58 | class DateBookWeekLstEvent: public ClickableLabel |
58 | { | 59 | { |
59 | Q_OBJECT | 60 | Q_OBJECT |
60 | public: | 61 | public: |
61 | DateBookWeekLstEvent(const EffectiveEvent &ev, | 62 | DateBookWeekLstEvent(const EffectiveEvent &ev, |
62 | QWidget* parent = 0, const char* name = 0, | 63 | QWidget* parent = 0, const char* name = 0, |
63 | WFlags fl = 0); | 64 | WFlags fl = 0); |
64 | signals: | 65 | signals: |
65 | void editEvent(const Event &e); | 66 | void editEvent(const Event &e); |
66 | private slots: | 67 | private slots: |
67 | void editMe(); | 68 | void editMe(); |
68 | private: | 69 | private: |
69 | const EffectiveEvent event; | 70 | const EffectiveEvent event; |
70 | }; | 71 | }; |
71 | 72 | ||
72 | class DateBookWeekLstView: public QWidget | 73 | class DateBookWeekLstView: public QWidget |
73 | { | 74 | { |
74 | Q_OBJECT | 75 | Q_OBJECT |
75 | public: | 76 | public: |
76 | DateBookWeekLstView(QValueList<EffectiveEvent> &ev, QDate &d, bool onM, | 77 | DateBookWeekLstView(QValueList<EffectiveEvent> &ev, const QDate &d, bool onM, |
77 | QWidget* parent = 0, const char* name = 0, | 78 | QWidget* parent = 0, const char* name = 0, |
78 | WFlags fl = 0 ); | 79 | WFlags fl = 0 ); |
79 | ~DateBookWeekLstView(); | 80 | ~DateBookWeekLstView(); |
80 | signals: | 81 | signals: |
81 | void editEvent(const Event &e); | 82 | void editEvent(const Event &e); |
82 | void showDate(int y, int m, int d); | 83 | void showDate(int y, int m, int d); |
83 | void addEvent(const QDateTime &start, const QDateTime &stop, | 84 | void addEvent(const QDateTime &start, const QDateTime &stop, |
84 | const QString &str); | 85 | const QString &str); |
85 | private: | 86 | private: |
86 | bool onMonday; | 87 | bool onMonday; |
87 | protected slots: | 88 | protected slots: |
88 | void keyPressEvent(QKeyEvent *); | 89 | void keyPressEvent(QKeyEvent *); |
89 | }; | 90 | }; |
90 | 91 | ||
92 | class DateBookWeekLstDblView: public QWidget { | ||
93 | Q_OBJECT | ||
94 | public: | ||
95 | DateBookWeekLstDblView(QValueList<EffectiveEvent> &ev1, | ||
96 | QValueList<EffectiveEvent> &ev2, | ||
97 | QDate &d, bool onM, | ||
98 | QWidget* parent = 0, const char* name = 0, | ||
99 | WFlags fl = 0 ); | ||
100 | signals: | ||
101 | void editEvent(const Event &e); | ||
102 | void showDate(int y, int m, int d); | ||
103 | void addEvent(const QDateTime &start, const QDateTime &stop, | ||
104 | const QString &str); | ||
105 | }; | ||
106 | |||
91 | class DateBookWeekLst : public QWidget | 107 | class DateBookWeekLst : public QWidget |
92 | { | 108 | { |
93 | Q_OBJECT | 109 | Q_OBJECT |
94 | 110 | ||
95 | public: | 111 | public: |
96 | DateBookWeekLst( bool ampm, bool onM, DateBookDB *newDB, | 112 | DateBookWeekLst( bool ampm, bool onM, DateBookDB *newDB, |
97 | QWidget *parent = 0, | 113 | QWidget *parent = 0, |
98 | const char *name = 0 ); | 114 | const char *name = 0 ); |
115 | ~DateBookWeekLst(); | ||
99 | void setDate( int y, int w ); | 116 | void setDate( int y, int w ); |
100 | void setDate(const QDate &d ); | 117 | void setDate(const QDate &d ); |
101 | int week() const { return _week; }; | 118 | int week() const { return _week; }; |
102 | QDate date() const; | 119 | QDate date() const; |
103 | 120 | ||
104 | public slots: | 121 | public slots: |
105 | void redraw(); | 122 | void redraw(); |
106 | void dateChanged(int y, int w); | 123 | void dateChanged(int y, int w); |
124 | |||
107 | protected slots: | 125 | protected slots: |
108 | void keyPressEvent(QKeyEvent *); | 126 | void keyPressEvent(QKeyEvent *); |
127 | void setDbl(bool on); | ||
109 | 128 | ||
110 | signals: | 129 | signals: |
111 | void showDate(int y, int m, int d); | 130 | void showDate(int y, int m, int d); |
112 | void addEvent(const QDateTime &start, const QDateTime &stop, | 131 | void addEvent(const QDateTime &start, const QDateTime &stop, |
113 | const QString &str); | 132 | const QString &str); |
114 | void editEvent(const Event &e); | 133 | void editEvent(const Event &e); |
115 | 134 | ||
116 | private: | 135 | private: |
117 | DateBookDB *db; | 136 | DateBookDB *db; |
118 | int startTime; | 137 | int startTime; |
119 | bool ampm; | 138 | bool ampm; |
120 | bool onMonday; | 139 | bool onMonday; |
121 | int year, _week; | 140 | bool dbl; |
122 | DateBookWeekLstHeader *header; | 141 | int year, _week; |
123 | DateBookWeekLstView *view; | 142 | DateBookWeekLstHeader *header; |
124 | QVBoxLayout *layout; | 143 | QWidget *view; |
125 | QScrollView *scroll; | 144 | QVBoxLayout *layout; |
126 | 145 | QScrollView *scroll; | |
127 | void getEvents(); | 146 | |
147 | void getEvents(); | ||
128 | }; | 148 | }; |
129 | 149 | ||
130 | #endif | 150 | #endif |
131 | 151 | ||
diff --git a/core/pim/datebook/datebookweeklstheader.ui b/core/pim/datebook/datebookweeklstheader.ui index 666e896..9de64ae 100644 --- a/core/pim/datebook/datebookweeklstheader.ui +++ b/core/pim/datebook/datebookweeklstheader.ui | |||
@@ -1,194 +1,275 @@ | |||
1 | <!DOCTYPE UI><UI> | 1 | <!DOCTYPE UI><UI> |
2 | <class>DateBookWeekLstHeaderBase</class> | 2 | <class>DateBookWeekLstHeaderBase</class> |
3 | <widget> | 3 | <widget> |
4 | <class>QWidget</class> | 4 | <class>QWidget</class> |
5 | <property stdset="1"> | 5 | <property stdset="1"> |
6 | <name>name</name> | 6 | <name>name</name> |
7 | <cstring>DateBookWeekLstHeaderBase</cstring> | 7 | <cstring>DateBookWeekLstHeaderBase</cstring> |
8 | </property> | 8 | </property> |
9 | <property stdset="1"> | 9 | <property stdset="1"> |
10 | <name>geometry</name> | 10 | <name>geometry</name> |
11 | <rect> | 11 | <rect> |
12 | <x>0</x> | 12 | <x>0</x> |
13 | <y>51</y> | 13 | <y>183</y> |
14 | <width>535</width> | 14 | <width>447</width> |
15 | <height>25</height> | 15 | <height>45</height> |
16 | </rect> | 16 | </rect> |
17 | </property> | 17 | </property> |
18 | <property stdset="1"> | 18 | <property stdset="1"> |
19 | <name>sizePolicy</name> | 19 | <name>sizePolicy</name> |
20 | <sizepolicy> | 20 | <sizepolicy> |
21 | <hsizetype>7</hsizetype> | 21 | <hsizetype>7</hsizetype> |
22 | <vsizetype>0</vsizetype> | 22 | <vsizetype>0</vsizetype> |
23 | </sizepolicy> | 23 | </sizepolicy> |
24 | </property> | 24 | </property> |
25 | <property stdset="1"> | 25 | <property stdset="1"> |
26 | <name>caption</name> | 26 | <name>caption</name> |
27 | <string>Form2</string> | 27 | <string>Form2</string> |
28 | </property> | 28 | </property> |
29 | <property> | 29 | <property> |
30 | <name>layoutMargin</name> | 30 | <name>layoutMargin</name> |
31 | </property> | 31 | </property> |
32 | <property> | 32 | <property> |
33 | <name>layoutSpacing</name> | 33 | <name>layoutSpacing</name> |
34 | </property> | 34 | </property> |
35 | <hbox> | 35 | <hbox> |
36 | <property stdset="1"> | 36 | <property stdset="1"> |
37 | <name>margin</name> | 37 | <name>margin</name> |
38 | <number>0</number> | 38 | <number>11</number> |
39 | </property> | 39 | </property> |
40 | <property stdset="1"> | 40 | <property stdset="1"> |
41 | <name>spacing</name> | 41 | <name>spacing</name> |
42 | <number>6</number> | 42 | <number>6</number> |
43 | </property> | 43 | </property> |
44 | <widget> | 44 | <widget> |
45 | <class>QToolButton</class> | 45 | <class>QToolButton</class> |
46 | <property stdset="1"> | 46 | <property stdset="1"> |
47 | <name>name</name> | 47 | <name>name</name> |
48 | <cstring>back</cstring> | 48 | <cstring>back</cstring> |
49 | </property> | 49 | </property> |
50 | <property stdset="1"> | 50 | <property stdset="1"> |
51 | <name>sizePolicy</name> | 51 | <name>sizePolicy</name> |
52 | <sizepolicy> | 52 | <sizepolicy> |
53 | <hsizetype>1</hsizetype> | 53 | <hsizetype>7</hsizetype> |
54 | <vsizetype>0</vsizetype> | 54 | <vsizetype>0</vsizetype> |
55 | </sizepolicy> | 55 | </sizepolicy> |
56 | </property> | 56 | </property> |
57 | <property stdset="1"> | 57 | <property stdset="1"> |
58 | <name>text</name> | 58 | <name>text</name> |
59 | <string></string> | 59 | <string></string> |
60 | </property> | 60 | </property> |
61 | <property stdset="1"> | 61 | <property stdset="1"> |
62 | <name>pixmap</name> | 62 | <name>pixmap</name> |
63 | <pixmap>image0</pixmap> | 63 | <pixmap>image0</pixmap> |
64 | </property> | 64 | </property> |
65 | <property stdset="1"> | 65 | <property stdset="1"> |
66 | <name>toggleButton</name> | ||
67 | <bool>false</bool> | ||
68 | </property> | ||
69 | <property stdset="1"> | ||
66 | <name>autoRepeat</name> | 70 | <name>autoRepeat</name> |
67 | <bool>true</bool> | 71 | <bool>true</bool> |
68 | </property> | 72 | </property> |
69 | <property stdset="1"> | 73 | <property stdset="1"> |
70 | <name>autoRaise</name> | 74 | <name>autoRaise</name> |
71 | <bool>true</bool> | 75 | <bool>true</bool> |
72 | </property> | 76 | </property> |
77 | <property stdset="1"> | ||
78 | <name>toggleButton</name> | ||
79 | <bool>false</bool> | ||
80 | </property> | ||
81 | <property> | ||
82 | <name>toolTip</name> | ||
83 | <string></string> | ||
84 | </property> | ||
73 | </widget> | 85 | </widget> |
74 | <spacer> | 86 | <spacer> |
75 | <property> | 87 | <property> |
76 | <name>name</name> | 88 | <name>name</name> |
77 | <cstring>Spacer1_3</cstring> | 89 | <cstring>Spacer1_3</cstring> |
78 | </property> | 90 | </property> |
79 | <property stdset="1"> | 91 | <property stdset="1"> |
80 | <name>orientation</name> | 92 | <name>orientation</name> |
81 | <enum>Horizontal</enum> | 93 | <enum>Horizontal</enum> |
82 | </property> | 94 | </property> |
83 | <property stdset="1"> | 95 | <property stdset="1"> |
84 | <name>sizeType</name> | 96 | <name>sizeType</name> |
85 | <enum>Expanding</enum> | 97 | <enum>Expanding</enum> |
86 | </property> | 98 | </property> |
87 | <property> | 99 | <property> |
88 | <name>sizeHint</name> | 100 | <name>sizeHint</name> |
89 | <size> | 101 | <size> |
90 | <width>20</width> | 102 | <width>20</width> |
91 | <height>20</height> | 103 | <height>20</height> |
92 | </size> | 104 | </size> |
93 | </property> | 105 | </property> |
94 | </spacer> | 106 | </spacer> |
95 | <widget> | 107 | <widget> |
96 | <class>QToolButton</class> | 108 | <class>QToolButton</class> |
97 | <property stdset="1"> | 109 | <property stdset="1"> |
98 | <name>name</name> | 110 | <name>name</name> |
99 | <cstring>labelWeek</cstring> | 111 | <cstring>labelWeek</cstring> |
100 | </property> | 112 | </property> |
101 | <property stdset="1"> | 113 | <property stdset="1"> |
102 | <name>sizePolicy</name> | 114 | <name>sizePolicy</name> |
103 | <sizepolicy> | 115 | <sizepolicy> |
104 | <hsizetype>7</hsizetype> | 116 | <hsizetype>7</hsizetype> |
105 | <vsizetype>0</vsizetype> | 117 | <vsizetype>0</vsizetype> |
106 | </sizepolicy> | 118 | </sizepolicy> |
107 | </property> | 119 | </property> |
108 | <property stdset="1"> | 120 | <property stdset="1"> |
109 | <name>font</name> | 121 | <name>font</name> |
110 | <font> | 122 | <font> |
111 | <bold>1</bold> | 123 | <bold>1</bold> |
112 | </font> | 124 | </font> |
113 | </property> | 125 | </property> |
114 | <property stdset="1"> | 126 | <property stdset="1"> |
115 | <name>text</name> | 127 | <name>text</name> |
116 | <string>W: 00,00</string> | 128 | <string>W: 00,00</string> |
117 | </property> | 129 | </property> |
118 | <property stdset="1"> | 130 | <property stdset="1"> |
131 | <name>toggleButton</name> | ||
132 | <bool>false</bool> | ||
133 | </property> | ||
134 | <property stdset="1"> | ||
119 | <name>autoRaise</name> | 135 | <name>autoRaise</name> |
120 | <bool>false</bool> | 136 | <bool>false</bool> |
121 | </property> | 137 | </property> |
138 | <property stdset="1"> | ||
139 | <name>toggleButton</name> | ||
140 | <bool>false</bool> | ||
141 | </property> | ||
142 | <property> | ||
143 | <name>toolTip</name> | ||
144 | <string></string> | ||
145 | </property> | ||
122 | </widget> | 146 | </widget> |
123 | <spacer> | 147 | <spacer> |
124 | <property> | 148 | <property> |
125 | <name>name</name> | 149 | <name>name</name> |
126 | <cstring>Spacer1</cstring> | 150 | <cstring>Spacer1</cstring> |
127 | </property> | 151 | </property> |
128 | <property stdset="1"> | 152 | <property stdset="1"> |
129 | <name>orientation</name> | 153 | <name>orientation</name> |
130 | <enum>Horizontal</enum> | 154 | <enum>Horizontal</enum> |
131 | </property> | 155 | </property> |
132 | <property stdset="1"> | 156 | <property stdset="1"> |
133 | <name>sizeType</name> | 157 | <name>sizeType</name> |
134 | <enum>Expanding</enum> | 158 | <enum>Expanding</enum> |
135 | </property> | 159 | </property> |
136 | <property> | 160 | <property> |
137 | <name>sizeHint</name> | 161 | <name>sizeHint</name> |
138 | <size> | 162 | <size> |
139 | <width>20</width> | 163 | <width>20</width> |
140 | <height>20</height> | 164 | <height>20</height> |
141 | </size> | 165 | </size> |
142 | </property> | 166 | </property> |
143 | </spacer> | 167 | </spacer> |
144 | <widget> | 168 | <widget> |
169 | <class>QToolButton</class> | ||
170 | <property stdset="1"> | ||
171 | <name>name</name> | ||
172 | <cstring>dbl</cstring> | ||
173 | </property> | ||
174 | <property stdset="1"> | ||
175 | <name>sizePolicy</name> | ||
176 | <sizepolicy> | ||
177 | <hsizetype>3</hsizetype> | ||
178 | <vsizetype>0</vsizetype> | ||
179 | </sizepolicy> | ||
180 | </property> | ||
181 | <property stdset="1"> | ||
182 | <name>font</name> | ||
183 | <font> | ||
184 | <bold>1</bold> | ||
185 | </font> | ||
186 | </property> | ||
187 | <property stdset="1"> | ||
188 | <name>text</name> | ||
189 | <string>2</string> | ||
190 | </property> | ||
191 | <property stdset="1"> | ||
192 | <name>toggleButton</name> | ||
193 | <bool>true</bool> | ||
194 | </property> | ||
195 | <property stdset="1"> | ||
196 | <name>autoRaise</name> | ||
197 | <bool>false</bool> | ||
198 | </property> | ||
199 | <property stdset="1"> | ||
200 | <name>toggleButton</name> | ||
201 | <bool>true</bool> | ||
202 | </property> | ||
203 | <property> | ||
204 | <name>toolTip</name> | ||
205 | <string></string> | ||
206 | </property> | ||
207 | </widget> | ||
208 | <spacer> | ||
209 | <property> | ||
210 | <name>name</name> | ||
211 | <cstring>Spacer1_3_2</cstring> | ||
212 | </property> | ||
213 | <property stdset="1"> | ||
214 | <name>orientation</name> | ||
215 | <enum>Horizontal</enum> | ||
216 | </property> | ||
217 | <property stdset="1"> | ||
218 | <name>sizeType</name> | ||
219 | <enum>Expanding</enum> | ||
220 | </property> | ||
221 | <property> | ||
222 | <name>sizeHint</name> | ||
223 | <size> | ||
224 | <width>20</width> | ||
225 | <height>20</height> | ||
226 | </size> | ||
227 | </property> | ||
228 | </spacer> | ||
229 | <widget> | ||
145 | <class>QLabel</class> | 230 | <class>QLabel</class> |
146 | <property stdset="1"> | 231 | <property stdset="1"> |
147 | <name>name</name> | 232 | <name>name</name> |
148 | <cstring>labelDate</cstring> | 233 | <cstring>labelDate</cstring> |
149 | </property> | 234 | </property> |
150 | <property stdset="1"> | 235 | <property stdset="1"> |
151 | <name>sizePolicy</name> | 236 | <name>sizePolicy</name> |
152 | <sizepolicy> | 237 | <sizepolicy> |
153 | <hsizetype>3</hsizetype> | 238 | <hsizetype>3</hsizetype> |
154 | <vsizetype>7</vsizetype> | 239 | <vsizetype>7</vsizetype> |
155 | </sizepolicy> | 240 | </sizepolicy> |
156 | </property> | 241 | </property> |
157 | <property stdset="1"> | 242 | <property stdset="1"> |
158 | <name>font</name> | 243 | <name>font</name> |
159 | <font> | 244 | <font> |
160 | <bold>1</bold> | 245 | <bold>1</bold> |
161 | </font> | 246 | </font> |
162 | </property> | 247 | </property> |
163 | <property stdset="1"> | 248 | <property stdset="1"> |
164 | <name>text</name> | 249 | <name>text</name> |
165 | <string>00 Jan-00 Jan</string> | 250 | <string>00 Jan-00 Jan</string> |
166 | </property> | 251 | </property> |
167 | <property stdset="1"> | ||
168 | <name>alignment</name> | ||
169 | <set>AlignCenter</set> | ||
170 | </property> | ||
171 | <property> | 252 | <property> |
172 | <name>hAlign</name> | 253 | <name>hAlign</name> |
173 | </property> | 254 | </property> |
174 | </widget> | 255 | </widget> |
175 | <spacer> | 256 | <spacer> |
176 | <property> | 257 | <property> |
177 | <name>name</name> | 258 | <name>name</name> |
178 | <cstring>Spacer1_2</cstring> | 259 | <cstring>Spacer1_2</cstring> |
179 | </property> | 260 | </property> |
180 | <property stdset="1"> | 261 | <property stdset="1"> |
181 | <name>orientation</name> | 262 | <name>orientation</name> |
182 | <enum>Horizontal</enum> | 263 | <enum>Horizontal</enum> |
183 | </property> | 264 | </property> |
184 | <property stdset="1"> | 265 | <property stdset="1"> |
185 | <name>sizeType</name> | 266 | <name>sizeType</name> |
186 | <enum>Expanding</enum> | 267 | <enum>Expanding</enum> |
187 | </property> | 268 | </property> |
188 | <property> | 269 | <property> |
189 | <name>sizeHint</name> | 270 | <name>sizeHint</name> |
190 | <size> | 271 | <size> |
191 | <width>20</width> | 272 | <width>20</width> |
192 | <height>20</height> | 273 | <height>20</height> |
193 | </size> | 274 | </size> |
194 | </property> | 275 | </property> |