author | umopapisdn <umopapisdn> | 2003-03-24 10:09:47 (UTC) |
---|---|---|
committer | umopapisdn <umopapisdn> | 2003-03-24 10:09:47 (UTC) |
commit | 4ddc90a51f8a4d248ece9a86d01ef636fe8c95e2 (patch) (unidiff) | |
tree | 3342092adf744b90b0da3be25bd35267d0610044 | |
parent | 90eeb65c389f3c5deab32e3cc9ee084e89770563 (diff) | |
download | opie-4ddc90a51f8a4d248ece9a86d01ef636fe8c95e2.zip opie-4ddc90a51f8a4d248ece9a86d01ef636fe8c95e2.tar.gz opie-4ddc90a51f8a4d248ece9a86d01ef636fe8c95e2.tar.bz2 |
Bugfix: Duplicating events introduced a bug making it impossible to add events Week List view. This fixes it.
-rw-r--r-- | core/pim/datebook/datebookweeklst.cpp | 18 | ||||
-rw-r--r-- | core/pim/datebook/datebookweeklst.h | 8 |
2 files changed, 13 insertions, 13 deletions
diff --git a/core/pim/datebook/datebookweeklst.cpp b/core/pim/datebook/datebookweeklst.cpp index e8e12ba..5334a16 100644 --- a/core/pim/datebook/datebookweeklst.cpp +++ b/core/pim/datebook/datebookweeklst.cpp | |||
@@ -128,25 +128,25 @@ DateBookWeekLstDayHdr::DateBookWeekLstDayHdr(const QDate &d, bool /*onM*/, | |||
128 | connect (add, SIGNAL(clicked()), this, SLOT(newEvent())); | 128 | connect (add, SIGNAL(clicked()), this, SLOT(newEvent())); |
129 | } | 129 | } |
130 | 130 | ||
131 | void DateBookWeekLstDayHdr::showDay() { | 131 | void DateBookWeekLstDayHdr::showDay() { |
132 | emit showDate(date.year(), date.month(), date.day()); | 132 | emit showDate(date.year(), date.month(), date.day()); |
133 | } | 133 | } |
134 | void DateBookWeekLstDayHdr::newEvent() { | 134 | void DateBookWeekLstDayHdr::newEvent() { |
135 | QDateTime start, stop; | 135 | QDateTime start, stop; |
136 | start=stop=date; | 136 | start=stop=date; |
137 | start.setTime(QTime(10,0)); | 137 | start.setTime(QTime(10,0)); |
138 | stop.setTime(QTime(12,0)); | 138 | stop.setTime(QTime(12,0)); |
139 | 139 | ||
140 | emit addEvent(start,stop,""); | 140 | emit addEvent(start,stop,"",0); |
141 | } | 141 | } |
142 | DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev, | 142 | DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev, |
143 | QWidget* parent, | 143 | QWidget* parent, |
144 | const char* name, | 144 | const char* name, |
145 | WFlags fl) : | 145 | WFlags fl) : |
146 | OClickableLabel(parent,name,fl), | 146 | OClickableLabel(parent,name,fl), |
147 | event(ev) | 147 | event(ev) |
148 | { | 148 | { |
149 | char s[10]; | 149 | char s[10]; |
150 | if ( ev.startDate() != ev.date() ) { // multiday event (not first day) | 150 | if ( ev.startDate() != ev.date() ) { // multiday event (not first day) |
151 | if ( ev.endDate() == ev.date() ) { // last day | 151 | if ( ev.endDate() == ev.date() ) { // last day |
152 | strcpy(s, "__|__"); | 152 | strcpy(s, "__|__"); |
@@ -191,28 +191,28 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, | |||
191 | for (int d=0; d<7; d++) dayOrder[d]=d; | 191 | for (int d=0; d<7; d++) dayOrder[d]=d; |
192 | dayOrder[0]=7; | 192 | dayOrder[0]=7; |
193 | } | 193 | } |
194 | 194 | ||
195 | for (int i=0; i<7; i++) { | 195 | for (int i=0; i<7; i++) { |
196 | // Header | 196 | // Header |
197 | DateBookWeekLstDayHdr *hdr=new DateBookWeekLstDayHdr(d.addDays(i), | 197 | DateBookWeekLstDayHdr *hdr=new DateBookWeekLstDayHdr(d.addDays(i), |
198 | onMonday,this); | 198 | onMonday,this); |
199 | connect(hdr, SIGNAL(showDate(int,int,int)), | 199 | connect(hdr, SIGNAL(showDate(int,int,int)), |
200 | this, SIGNAL(showDate(int,int,int))); | 200 | this, SIGNAL(showDate(int,int,int))); |
201 | connect(hdr, SIGNAL(addEvent(const QDateTime &, | 201 | connect(hdr, SIGNAL(addEvent(const QDateTime &, |
202 | const QDateTime &, | 202 | const QDateTime &, |
203 | const QString &)), | 203 | const QString &, const QString &)), |
204 | this, SIGNAL(addEvent(const QDateTime &, | 204 | this, SIGNAL(addEvent(const QDateTime &, |
205 | const QDateTime &, | 205 | const QDateTime &, |
206 | const QString &))); | 206 | const QString &, const QString &))); |
207 | layout->addWidget(hdr); | 207 | layout->addWidget(hdr); |
208 | 208 | ||
209 | // Events | 209 | // Events |
210 | while ( (*it).date().dayOfWeek() == dayOrder[i] && it!=ev.end() ) { | 210 | while ( (*it).date().dayOfWeek() == dayOrder[i] && it!=ev.end() ) { |
211 | if(!((*it).end().hour()==(*it).start().hour() && (*it).end().minute()==(*it).start().minute())) {// Skip effective events with no duration. (i.e ending at 00:00) | 211 | if(!((*it).end().hour()==(*it).start().hour() && (*it).end().minute()==(*it).start().minute())) {// Skip effective events with no duration. (i.e ending at 00:00) |
212 | DateBookWeekLstEvent *l=new DateBookWeekLstEvent(*it,this); | 212 | DateBookWeekLstEvent *l=new DateBookWeekLstEvent(*it,this); |
213 | layout->addWidget(l); | 213 | layout->addWidget(l); |
214 | connect (l, SIGNAL(editEvent(const Event &)), | 214 | connect (l, SIGNAL(editEvent(const Event &)), |
215 | this, SIGNAL(editEvent(const Event &))); | 215 | this, SIGNAL(editEvent(const Event &))); |
216 | } | 216 | } |
217 | it++; | 217 | it++; |
218 | } | 218 | } |
@@ -230,39 +230,39 @@ DateBookWeekLstDblView::DateBookWeekLstDblView(QValueList<EffectiveEvent> &ev1, | |||
230 | const char* name, WFlags fl) | 230 | const char* name, WFlags fl) |
231 | : QWidget( parent, name, fl ) | 231 | : QWidget( parent, name, fl ) |
232 | { | 232 | { |
233 | QHBoxLayout *layout = new QHBoxLayout( this ); | 233 | QHBoxLayout *layout = new QHBoxLayout( this ); |
234 | 234 | ||
235 | DateBookWeekLstView *w=new DateBookWeekLstView(ev1,d,onM,this); | 235 | DateBookWeekLstView *w=new DateBookWeekLstView(ev1,d,onM,this); |
236 | layout->addWidget(w); | 236 | layout->addWidget(w); |
237 | connect (w, SIGNAL(editEvent(const Event &)), | 237 | connect (w, SIGNAL(editEvent(const Event &)), |
238 | this, SIGNAL(editEvent(const Event &))); | 238 | this, SIGNAL(editEvent(const Event &))); |
239 | connect (w, SIGNAL(showDate(int,int,int)), | 239 | connect (w, SIGNAL(showDate(int,int,int)), |
240 | this, SIGNAL(showDate(int,int,int))); | 240 | this, SIGNAL(showDate(int,int,int))); |
241 | connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | 241 | connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, |
242 | const QString &)), | 242 | const QString &,const QString &)), |
243 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | 243 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, |
244 | const QString &))); | 244 | const QString &, const QString &))); |
245 | 245 | ||
246 | 246 | ||
247 | w=new DateBookWeekLstView(ev2,d.addDays(7),onM,this); | 247 | w=new DateBookWeekLstView(ev2,d.addDays(7),onM,this); |
248 | layout->addWidget(w); | 248 | layout->addWidget(w); |
249 | connect (w, SIGNAL(editEvent(const Event &)), | 249 | connect (w, SIGNAL(editEvent(const Event &)), |
250 | this, SIGNAL(editEvent(const Event &))); | 250 | this, SIGNAL(editEvent(const Event &))); |
251 | connect (w, SIGNAL(showDate(int,int,int)), | 251 | connect (w, SIGNAL(showDate(int,int,int)), |
252 | this, SIGNAL(showDate(int,int,int))); | 252 | this, SIGNAL(showDate(int,int,int))); |
253 | connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | 253 | connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, |
254 | const QString &)), | 254 | const QString &, const QString &)), |
255 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | 255 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, |
256 | const QString &))); | 256 | const QString &, const QString &))); |
257 | } | 257 | } |
258 | 258 | ||
259 | DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, | 259 | DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, |
260 | QWidget *parent, | 260 | QWidget *parent, |
261 | const char *name ) | 261 | const char *name ) |
262 | : QWidget( parent, name ), | 262 | : QWidget( parent, name ), |
263 | db( newDB ), | 263 | db( newDB ), |
264 | startTime( 0 ), | 264 | startTime( 0 ), |
265 | ampm( ap ), | 265 | ampm( ap ), |
266 | onMonday(onM) | 266 | onMonday(onM) |
267 | { | 267 | { |
268 | setFocusPolicy(StrongFocus); | 268 | setFocusPolicy(StrongFocus); |
@@ -332,27 +332,27 @@ void DateBookWeekLst::getEvents() { | |||
332 | QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop); | 332 | QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop); |
333 | 333 | ||
334 | view=new DateBookWeekLstDblView(el,el2,start,onMonday,scroll); | 334 | view=new DateBookWeekLstDblView(el,el2,start,onMonday,scroll); |
335 | } else { | 335 | } else { |
336 | view=new DateBookWeekLstView(el,start,onMonday,scroll); | 336 | view=new DateBookWeekLstView(el,start,onMonday,scroll); |
337 | } | 337 | } |
338 | 338 | ||
339 | connect (view, SIGNAL(editEvent(const Event &)), | 339 | connect (view, SIGNAL(editEvent(const Event &)), |
340 | this, SIGNAL(editEvent(const Event &))); | 340 | this, SIGNAL(editEvent(const Event &))); |
341 | connect (view, SIGNAL(showDate(int,int,int)), | 341 | connect (view, SIGNAL(showDate(int,int,int)), |
342 | this, SIGNAL(showDate(int,int,int))); | 342 | this, SIGNAL(showDate(int,int,int))); |
343 | connect (view, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | 343 | connect (view, SIGNAL(addEvent(const QDateTime &, const QDateTime &, |
344 | const QString &)), | 344 | const QString &, const QString &)), |
345 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | 345 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, |
346 | const QString &))); | 346 | const QString &, const QString &))); |
347 | 347 | ||
348 | scroll->addChild(view); | 348 | scroll->addChild(view); |
349 | view->show(); | 349 | view->show(); |
350 | scroll->updateScrollBars(); | 350 | scroll->updateScrollBars(); |
351 | } | 351 | } |
352 | 352 | ||
353 | void DateBookWeekLst::dateChanged(int y, int w) { | 353 | void DateBookWeekLst::dateChanged(int y, int w) { |
354 | year=y; | 354 | year=y; |
355 | _week=w; | 355 | _week=w; |
356 | getEvents(); | 356 | getEvents(); |
357 | } | 357 | } |
358 | 358 | ||
diff --git a/core/pim/datebook/datebookweeklst.h b/core/pim/datebook/datebookweeklst.h index 24f6c83..ea88f20 100644 --- a/core/pim/datebook/datebookweeklst.h +++ b/core/pim/datebook/datebookweeklst.h | |||
@@ -41,25 +41,25 @@ class DateBookWeekLstDayHdr: public DateBookWeekLstDayHdrBase | |||
41 | { | 41 | { |
42 | Q_OBJECT | 42 | Q_OBJECT |
43 | public: | 43 | public: |
44 | DateBookWeekLstDayHdr(const QDate &d, bool onM, | 44 | DateBookWeekLstDayHdr(const QDate &d, bool onM, |
45 | QWidget* parent = 0, const char* name = 0, | 45 | QWidget* parent = 0, const char* name = 0, |
46 | WFlags fl = 0 ); | 46 | WFlags fl = 0 ); |
47 | public slots: | 47 | public slots: |
48 | void showDay(); | 48 | void showDay(); |
49 | void newEvent(); | 49 | void newEvent(); |
50 | signals: | 50 | signals: |
51 | void showDate(int y, int m, int d); | 51 | void showDate(int y, int m, int d); |
52 | void addEvent(const QDateTime &start, const QDateTime &stop, | 52 | void addEvent(const QDateTime &start, const QDateTime &stop, |
53 | const QString &str); | 53 | const QString &str, const QString &location); |
54 | private: | 54 | private: |
55 | QDate date; | 55 | QDate date; |
56 | }; | 56 | }; |
57 | 57 | ||
58 | class DateBookWeekLstEvent: public OClickableLabel | 58 | class DateBookWeekLstEvent: public OClickableLabel |
59 | { | 59 | { |
60 | Q_OBJECT | 60 | Q_OBJECT |
61 | public: | 61 | public: |
62 | DateBookWeekLstEvent(const EffectiveEvent &ev, | 62 | DateBookWeekLstEvent(const EffectiveEvent &ev, |
63 | QWidget* parent = 0, const char* name = 0, | 63 | QWidget* parent = 0, const char* name = 0, |
64 | WFlags fl = 0); | 64 | WFlags fl = 0); |
65 | signals: | 65 | signals: |
@@ -73,44 +73,44 @@ private: | |||
73 | class DateBookWeekLstView: public QWidget | 73 | class DateBookWeekLstView: public QWidget |
74 | { | 74 | { |
75 | Q_OBJECT | 75 | Q_OBJECT |
76 | public: | 76 | public: |
77 | DateBookWeekLstView(QValueList<EffectiveEvent> &ev, const QDate &d, bool onM, | 77 | DateBookWeekLstView(QValueList<EffectiveEvent> &ev, const QDate &d, bool onM, |
78 | QWidget* parent = 0, const char* name = 0, | 78 | QWidget* parent = 0, const char* name = 0, |
79 | WFlags fl = 0 ); | 79 | WFlags fl = 0 ); |
80 | ~DateBookWeekLstView(); | 80 | ~DateBookWeekLstView(); |
81 | signals: | 81 | signals: |
82 | void editEvent(const Event &e); | 82 | void editEvent(const Event &e); |
83 | void showDate(int y, int m, int d); | 83 | void showDate(int y, int m, int d); |
84 | void addEvent(const QDateTime &start, const QDateTime &stop, | 84 | void addEvent(const QDateTime &start, const QDateTime &stop, |
85 | const QString &str); | 85 | const QString &str, const QString &location); |
86 | private: | 86 | private: |
87 | bool onMonday; | 87 | bool onMonday; |
88 | protected slots: | 88 | protected slots: |
89 | void keyPressEvent(QKeyEvent *); | 89 | void keyPressEvent(QKeyEvent *); |
90 | }; | 90 | }; |
91 | 91 | ||
92 | class DateBookWeekLstDblView: public QWidget { | 92 | class DateBookWeekLstDblView: public QWidget { |
93 | Q_OBJECT | 93 | Q_OBJECT |
94 | public: | 94 | public: |
95 | DateBookWeekLstDblView(QValueList<EffectiveEvent> &ev1, | 95 | DateBookWeekLstDblView(QValueList<EffectiveEvent> &ev1, |
96 | QValueList<EffectiveEvent> &ev2, | 96 | QValueList<EffectiveEvent> &ev2, |
97 | QDate &d, bool onM, | 97 | QDate &d, bool onM, |
98 | QWidget* parent = 0, const char* name = 0, | 98 | QWidget* parent = 0, const char* name = 0, |
99 | WFlags fl = 0 ); | 99 | WFlags fl = 0 ); |
100 | signals: | 100 | signals: |
101 | void editEvent(const Event &e); | 101 | void editEvent(const Event &e); |
102 | void showDate(int y, int m, int d); | 102 | void showDate(int y, int m, int d); |
103 | void addEvent(const QDateTime &start, const QDateTime &stop, | 103 | void addEvent(const QDateTime &start, const QDateTime &stop, |
104 | const QString &str); | 104 | const QString &str, const QString &location); |
105 | }; | 105 | }; |
106 | 106 | ||
107 | class DateBookWeekLst : public QWidget | 107 | class DateBookWeekLst : public QWidget |
108 | { | 108 | { |
109 | Q_OBJECT | 109 | Q_OBJECT |
110 | 110 | ||
111 | public: | 111 | public: |
112 | DateBookWeekLst( bool ampm, bool onM, DateBookDB *newDB, | 112 | DateBookWeekLst( bool ampm, bool onM, DateBookDB *newDB, |
113 | QWidget *parent = 0, | 113 | QWidget *parent = 0, |
114 | const char *name = 0 ); | 114 | const char *name = 0 ); |
115 | ~DateBookWeekLst(); | 115 | ~DateBookWeekLst(); |
116 | void setDate( int y, int w ); | 116 | void setDate( int y, int w ); |
@@ -120,25 +120,25 @@ public: | |||
120 | 120 | ||
121 | public slots: | 121 | public slots: |
122 | void redraw(); | 122 | void redraw(); |
123 | void dateChanged(int y, int w); | 123 | void dateChanged(int y, int w); |
124 | 124 | ||
125 | protected slots: | 125 | protected slots: |
126 | void keyPressEvent(QKeyEvent *); | 126 | void keyPressEvent(QKeyEvent *); |
127 | void setDbl(bool on); | 127 | void setDbl(bool on); |
128 | 128 | ||
129 | signals: | 129 | signals: |
130 | void showDate(int y, int m, int d); | 130 | void showDate(int y, int m, int d); |
131 | void addEvent(const QDateTime &start, const QDateTime &stop, | 131 | void addEvent(const QDateTime &start, const QDateTime &stop, |
132 | const QString &str); | 132 | const QString &str, const QString &location); |
133 | void editEvent(const Event &e); | 133 | void editEvent(const Event &e); |
134 | 134 | ||
135 | private: | 135 | private: |
136 | DateBookDB *db; | 136 | DateBookDB *db; |
137 | int startTime; | 137 | int startTime; |
138 | bool ampm; | 138 | bool ampm; |
139 | bool onMonday; | 139 | bool onMonday; |
140 | bool dbl; | 140 | bool dbl; |
141 | int year, _week; | 141 | int year, _week; |
142 | DateBookWeekLstHeader *header; | 142 | DateBookWeekLstHeader *header; |
143 | QWidget *view; | 143 | QWidget *view; |
144 | QVBoxLayout *layout; | 144 | QVBoxLayout *layout; |