author | alwin <alwin> | 2005-03-17 14:01:23 (UTC) |
---|---|---|
committer | alwin <alwin> | 2005-03-17 14:01:23 (UTC) |
commit | 8752141a5341877369f89a42fa1f0b5d08f56dbd (patch) (unidiff) | |
tree | 63dc48ee207a4e9fbb6b9e8abddb239ec724c155 /core | |
parent | afee05f4b4c1e8dab8463e3423fcfc8f9d45aa8b (diff) | |
download | opie-8752141a5341877369f89a42fa1f0b5d08f56dbd.zip opie-8752141a5341877369f89a42fa1f0b5d08f56dbd.tar.gz opie-8752141a5341877369f89a42fa1f0b5d08f56dbd.tar.bz2 |
1. datebookweeklist - a week has SEVEN days, not SIX. I'm wondering why
events on sunday never showed there ;)
2. extra file datebooktypes contains some special classes used by datebook
so other classes must not include the big mainheader file.
3. added support for holiday-plugins to week-views. Month view is a little
bit more tricky 'cause TT has never heard about virtual methods and so
I have the choice between complete copy the monthview and make the modifications
or changing the interface of datebookdb-class to virtual. both isn't nice.
-rw-r--r-- | core/pim/datebook/datebook.cpp | 45 | ||||
-rw-r--r-- | core/pim/datebook/datebook.h | 37 | ||||
-rw-r--r-- | core/pim/datebook/datebookday.cpp | 5 | ||||
-rw-r--r-- | core/pim/datebook/datebookday.h | 6 | ||||
-rw-r--r-- | core/pim/datebook/datebookdayallday.cpp | 12 | ||||
-rw-r--r-- | core/pim/datebook/datebooktypes.h | 59 | ||||
-rw-r--r-- | core/pim/datebook/datebookweek.cpp | 3 | ||||
-rw-r--r-- | core/pim/datebook/datebookweek.h | 5 | ||||
-rw-r--r-- | core/pim/datebook/datebookweeklst.cpp | 9 | ||||
-rw-r--r-- | core/pim/datebook/datebookweeklst.h | 5 |
10 files changed, 135 insertions, 51 deletions
diff --git a/core/pim/datebook/datebook.cpp b/core/pim/datebook/datebook.cpp index f6aab0c..36c4bd7 100644 --- a/core/pim/datebook/datebook.cpp +++ b/core/pim/datebook/datebook.cpp | |||
@@ -66,27 +66,28 @@ DateBook::DateBook( QWidget *parent, const char *, WFlags f ) | |||
66 | aPreset( FALSE ), | 66 | aPreset( FALSE ), |
67 | presetTime( -1 ), | 67 | presetTime( -1 ), |
68 | startTime( 8 ), // an acceptable default | 68 | startTime( 8 ), // an acceptable default |
69 | rowStyle( 0 ), | 69 | rowStyle( 0 ), |
70 | bJumpToCurTime(FALSE), | 70 | bJumpToCurTime(FALSE), |
71 | syncing(FALSE), | 71 | syncing(FALSE), |
72 | inSearch(FALSE), | 72 | inSearch(FALSE), |
73 | alarmCounter(0) | 73 | alarmCounter(0) |
74 | { | 74 | { |
75 | bool needEvilHack= false; // if we need an Evil Hack | 75 | bool needEvilHack= false; // if we need an Evil Hack |
76 | QTime t; | 76 | QTime t; |
77 | t.start(); | 77 | t.start(); |
78 | db = new DateBookDBHack; | 78 | db = new DateBookDBHoliday; |
79 | odebug << "loading db t=" << t.elapsed() << oendl; | 79 | odebug << "loading db t=" << t.elapsed() << oendl; |
80 | db_holiday = new DateBookHoliday(); | 80 | db_holiday = new DateBookHoliday(); |
81 | db->db_holiday=db_holiday; | ||
81 | 82 | ||
82 | loadSettings(); | 83 | loadSettings(); |
83 | setCaption( tr("Calendar") ); | 84 | setCaption( tr("Calendar") ); |
84 | setIcon( Resource::loadPixmap( "datebook_icon" ) ); | 85 | setIcon( Resource::loadPixmap( "datebook_icon" ) ); |
85 | 86 | ||
86 | setToolBarsMovable( FALSE ); | 87 | setToolBarsMovable( FALSE ); |
87 | 88 | ||
88 | views = new QWidgetStack( this ); | 89 | views = new QWidgetStack( this ); |
89 | setCentralWidget( views ); | 90 | setCentralWidget( views ); |
90 | 91 | ||
91 | dayView = 0; | 92 | dayView = 0; |
92 | weekView = 0; | 93 | weekView = 0; |
@@ -1140,12 +1141,54 @@ QStringList DateBookHoliday::holidaylist(const QDate&aDate) | |||
1140 | for (it=_pluginlist.begin();it!=_pluginlist.end();++it) { | 1141 | for (it=_pluginlist.begin();it!=_pluginlist.end();++it) { |
1141 | HPlugin*_pl = *it; | 1142 | HPlugin*_pl = *it; |
1142 | ret+=_pl->_plugin->entries(aDate); | 1143 | ret+=_pl->_plugin->entries(aDate); |
1143 | } | 1144 | } |
1144 | return ret; | 1145 | return ret; |
1145 | } | 1146 | } |
1146 | 1147 | ||
1147 | QStringList DateBookHoliday::holidaylist(unsigned year, unsigned month, unsigned day) | 1148 | QStringList DateBookHoliday::holidaylist(unsigned year, unsigned month, unsigned day) |
1148 | { | 1149 | { |
1149 | return holidaylist(QDate(year,month,day)); | 1150 | return holidaylist(QDate(year,month,day)); |
1150 | } | 1151 | } |
1151 | 1152 | ||
1153 | QValueList<EffectiveEvent> DateBookHoliday::getEffectiveEvents(const QDate &from,const QDate &to ) | ||
1154 | { | ||
1155 | QValueList<EffectiveEvent> ret; | ||
1156 | QValueList<HPlugin*>::Iterator it; | ||
1157 | for (it=_pluginlist.begin();it!=_pluginlist.end();++it) { | ||
1158 | HPlugin*_pl = *it; | ||
1159 | ret+=_pl->_plugin->events(from,to); | ||
1160 | } | ||
1161 | return ret; | ||
1162 | } | ||
1163 | |||
1164 | QValueList<EffectiveEvent> DateBookDBHoliday::getEffectiveEventsNoHoliday(const QDate &from,const QDate &to ) | ||
1165 | { | ||
1166 | return DateBookDBHack::getEffectiveEvents(from,to); | ||
1167 | } | ||
1168 | |||
1169 | QValueList<EffectiveEvent> DateBookDBHoliday::getEffectiveEventsNoHoliday(const QDateTime &start) | ||
1170 | { | ||
1171 | return DateBookDBHack::getEffectiveEvents(start); | ||
1172 | } | ||
1173 | |||
1174 | QValueList<EffectiveEvent> DateBookHoliday::getEffectiveEvents(const QDateTime &start) | ||
1175 | { | ||
1176 | return getEffectiveEvents(start.date(),start.date()); | ||
1177 | } | ||
1178 | |||
1179 | QValueList<EffectiveEvent> DateBookDBHoliday::getEffectiveEvents(const QDate &from,const QDate &to ) | ||
1180 | { | ||
1181 | QValueList<EffectiveEvent> ret; | ||
1182 | odebug << "Ueberlagert 1" << oendl; | ||
1183 | if (db_holiday) { | ||
1184 | ret+=db_holiday->getEffectiveEvents(from,to); | ||
1185 | } | ||
1186 | ret+=getEffectiveEventsNoHoliday(from,to); | ||
1187 | return ret; | ||
1188 | } | ||
1189 | |||
1190 | QValueList<EffectiveEvent> DateBookDBHoliday::getEffectiveEvents( const QDateTime &start) | ||
1191 | { | ||
1192 | odebug << "Ueberlagert 2" << oendl; | ||
1193 | return DateBookDBHack::getEffectiveEvents(start); | ||
1194 | } | ||
diff --git a/core/pim/datebook/datebook.h b/core/pim/datebook/datebook.h index 54ffcfb..3d7f5b5 100644 --- a/core/pim/datebook/datebook.h +++ b/core/pim/datebook/datebook.h | |||
@@ -11,73 +11,42 @@ | |||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | #ifndef DATEBOOK_H | 20 | #ifndef DATEBOOK_H |
21 | #define DATEBOOK_H | 21 | #define DATEBOOK_H |
22 | 22 | ||
23 | #include "datebooktypes.h" | ||
24 | |||
23 | #include <qpe/datebookdb.h> | 25 | #include <qpe/datebookdb.h> |
24 | 26 | ||
25 | #include <qmainwindow.h> | 27 | #include <qmainwindow.h> |
26 | 28 | ||
27 | enum { DAY=1,WEEK,WEEKLST,MONTH }; // defaultView values | 29 | enum { DAY=1,WEEK,WEEKLST,MONTH }; // defaultView values |
28 | enum { NONE=0,NORMAL,EXTENDED }; // WeekLstView's modes. | 30 | enum { NONE=0,NORMAL,EXTENDED }; // WeekLstView's modes. |
29 | 31 | ||
30 | class QAction; | 32 | class QAction; |
31 | class QWidgetStack; | 33 | class QWidgetStack; |
32 | class DateBookDay; | 34 | class DateBookDay; |
33 | class DateBookWeek; | 35 | class DateBookWeek; |
34 | class DateBookWeekLst; | 36 | class DateBookWeekLst; |
35 | class DateBookMonth; | 37 | class DateBookMonth; |
36 | class Event; | 38 | class Event; |
37 | class QDate; | 39 | class QDate; |
38 | class Ir; | 40 | class Ir; |
39 | class QLibrary; | ||
40 | |||
41 | namespace Opie { | ||
42 | namespace Datebook { | ||
43 | class HolidayPlugin; | ||
44 | class HolidayPluginIf; | ||
45 | } | ||
46 | } | ||
47 | |||
48 | class DateBookDBHack : public DateBookDB { | ||
49 | public: | ||
50 | Event eventByUID(int id); | ||
51 | }; | ||
52 | |||
53 | class DateBookHoliday | ||
54 | { | ||
55 | public: | ||
56 | DateBookHoliday(); | ||
57 | virtual ~DateBookHoliday(); | ||
58 | |||
59 | QStringList holidaylist(const QDate&); | ||
60 | QStringList holidaylist(unsigned year, unsigned month, unsigned day); | ||
61 | protected: | ||
62 | void init(); | ||
63 | void deinit(); | ||
64 | |||
65 | struct HPlugin { | ||
66 | Opie::Datebook::HolidayPlugin*_plugin; | ||
67 | QLibrary*_lib; | ||
68 | Opie::Datebook::HolidayPluginIf*_if; | ||
69 | }; | ||
70 | QValueList<HPlugin*>_pluginlist; | ||
71 | }; | ||
72 | 41 | ||
73 | class DateBook : public QMainWindow | 42 | class DateBook : public QMainWindow |
74 | { | 43 | { |
75 | Q_OBJECT | 44 | Q_OBJECT |
76 | 45 | ||
77 | public: | 46 | public: |
78 | static QString appName() { return QString::fromLatin1("datebook"); } | 47 | static QString appName() { return QString::fromLatin1("datebook"); } |
79 | DateBook( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); | 48 | DateBook( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); |
80 | ~DateBook(); | 49 | ~DateBook(); |
81 | 50 | ||
82 | signals: | 51 | signals: |
83 | void newEvent(); | 52 | void newEvent(); |
@@ -128,25 +97,25 @@ private slots: | |||
128 | void beamDone( Ir *ir ); | 97 | void beamDone( Ir *ir ); |
129 | 98 | ||
130 | private: | 99 | private: |
131 | void addEvent( const Event &e ); | 100 | void addEvent( const Event &e ); |
132 | void initDay(); | 101 | void initDay(); |
133 | void initWeek(); | 102 | void initWeek(); |
134 | void initWeekLst(); | 103 | void initWeekLst(); |
135 | void initMonth(); | 104 | void initMonth(); |
136 | void loadSettings(); | 105 | void loadSettings(); |
137 | void saveSettings(); | 106 | void saveSettings(); |
138 | 107 | ||
139 | private: | 108 | private: |
140 | DateBookDBHack *db; | 109 | DateBookDBHoliday *db; |
141 | DateBookHoliday*db_holiday; | 110 | DateBookHoliday*db_holiday; |
142 | QWidgetStack *views; | 111 | QWidgetStack *views; |
143 | DateBookDay *dayView; | 112 | DateBookDay *dayView; |
144 | DateBookWeek *weekView; | 113 | DateBookWeek *weekView; |
145 | DateBookMonth *monthView; | 114 | DateBookMonth *monthView; |
146 | DateBookWeekLst *weekLstView; | 115 | DateBookWeekLst *weekLstView; |
147 | QAction *dayAction, *weekAction, *weekLstAction, *monthAction; | 116 | QAction *dayAction, *weekAction, *weekLstAction, *monthAction; |
148 | int weeklistviewconfig; | 117 | int weeklistviewconfig; |
149 | bool aPreset; // have everything set to alarm? | 118 | bool aPreset; // have everything set to alarm? |
150 | int presetTime; // the standard time for the alarm | 119 | int presetTime; // the standard time for the alarm |
151 | int startTime; | 120 | int startTime; |
152 | int rowStyle; | 121 | int rowStyle; |
diff --git a/core/pim/datebook/datebookday.cpp b/core/pim/datebook/datebookday.cpp index dfe39e5..00ddd05 100644 --- a/core/pim/datebook/datebookday.cpp +++ b/core/pim/datebook/datebookday.cpp | |||
@@ -10,24 +10,25 @@ | |||
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #include "datebookday.h" | 21 | #include "datebookday.h" |
22 | #include "datebooktypes.h" | ||
22 | #include "datebookdayheaderimpl.h" | 23 | #include "datebookdayheaderimpl.h" |
23 | #include "datebookdayallday.h" | 24 | #include "datebookdayallday.h" |
24 | 25 | ||
25 | #include <opie2/oholidayplugin.h> | 26 | #include <opie2/oholidayplugin.h> |
26 | #include <qpe/resource.h> | 27 | #include <qpe/resource.h> |
27 | #include <qpe/qpeapplication.h> | 28 | #include <qpe/qpeapplication.h> |
28 | #include <qpe/ir.h> | 29 | #include <qpe/ir.h> |
29 | 30 | ||
30 | #include <qsimplerichtext.h> | 31 | #include <qsimplerichtext.h> |
31 | #include <qpopupmenu.h> | 32 | #include <qpopupmenu.h> |
32 | 33 | ||
33 | 34 | ||
@@ -218,25 +219,25 @@ void DateBookDayViewQuickLineEdit::slotReturnPressed() | |||
218 | } | 219 | } |
219 | void DateBookDayViewQuickLineEdit::finallyCallClose() { | 220 | void DateBookDayViewQuickLineEdit::finallyCallClose() { |
220 | close(true); // also deletes this widget... | 221 | close(true); // also deletes this widget... |
221 | } | 222 | } |
222 | 223 | ||
223 | void DateBookDayViewQuickLineEdit::focusOutEvent ( QFocusEvent* /* e */) | 224 | void DateBookDayViewQuickLineEdit::focusOutEvent ( QFocusEvent* /* e */) |
224 | { | 225 | { |
225 | slotReturnPressed(); // Reuse code to add event and close this widget. | 226 | slotReturnPressed(); // Reuse code to add event and close this widget. |
226 | } | 227 | } |
227 | 228 | ||
228 | //=========================================================================== | 229 | //=========================================================================== |
229 | 230 | ||
230 | DateBookDay::DateBookDay( bool ampm, bool startOnMonday, DateBookDB *newDb, DateBookHoliday*newHdb, QWidget *parent, const char *name ) | 231 | DateBookDay::DateBookDay( bool ampm, bool startOnMonday, DateBookDBHoliday *newDb, DateBookHoliday*newHdb, QWidget *parent, const char *name ) |
231 | : QVBox( parent, name ), currDate( QDate::currentDate() ), db( newDb ), startTime( 0 ) | 232 | : QVBox( parent, name ), currDate( QDate::currentDate() ), db( newDb ), startTime( 0 ) |
232 | { | 233 | { |
233 | widgetList.setAutoDelete( true ); | 234 | widgetList.setAutoDelete( true ); |
234 | _holiday_db = newHdb; | 235 | _holiday_db = newHdb; |
235 | header = new DateBookDayHeader( startOnMonday, this, "day header" ); | 236 | header = new DateBookDayHeader( startOnMonday, this, "day header" ); |
236 | header->setDate( currDate.year(), currDate.month(), currDate.day() ); | 237 | header->setDate( currDate.year(), currDate.month(), currDate.day() ); |
237 | 238 | ||
238 | m_allDays = new DatebookdayAllday(newDb, this, "all day event list" ); | 239 | m_allDays = new DatebookdayAllday(newDb, this, "all day event list" ); |
239 | m_allDays->hide(); | 240 | m_allDays->hide(); |
240 | 241 | ||
241 | view = new DateBookDayView( ampm, this, "day view" ); | 242 | view = new DateBookDayView( ampm, this, "day view" ); |
242 | 243 | ||
@@ -358,25 +359,25 @@ void DateBookDay::getEvents() | |||
358 | /* clear the AllDay List */ | 359 | /* clear the AllDay List */ |
359 | m_allDays->hide(); // just in case | 360 | m_allDays->hide(); // just in case |
360 | m_allDays->removeAllEvents(); | 361 | m_allDays->removeAllEvents(); |
361 | 362 | ||
362 | QStringList hdays = _holiday_db->holidaylist(currDate); | 363 | QStringList hdays = _holiday_db->holidaylist(currDate); |
363 | QStringList::Iterator sit; | 364 | QStringList::Iterator sit; |
364 | QObject* object = 0; | 365 | QObject* object = 0; |
365 | for (sit=hdays.begin();sit!=hdays.end();++sit) { | 366 | for (sit=hdays.begin();sit!=hdays.end();++sit) { |
366 | object = m_allDays->addHoliday(*sit); | 367 | object = m_allDays->addHoliday(*sit); |
367 | if (!object) continue; | 368 | if (!object) continue; |
368 | /* not to do something with it */ | 369 | /* not to do something with it */ |
369 | } | 370 | } |
370 | QValueList<EffectiveEvent> eventList = db->getEffectiveEvents( currDate, currDate ); | 371 | QValueList<EffectiveEvent> eventList = db->getEffectiveEventsNoHoliday( currDate, currDate ); |
371 | QValueListIterator<EffectiveEvent> it; | 372 | QValueListIterator<EffectiveEvent> it; |
372 | 373 | ||
373 | for ( it = eventList.begin(); it != eventList.end(); ++it ) { | 374 | for ( it = eventList.begin(); it != eventList.end(); ++it ) { |
374 | EffectiveEvent ev=*it; | 375 | EffectiveEvent ev=*it; |
375 | if(!((ev.end().hour()==0) && (ev.end().minute()==0) && (ev.startDate()!=ev.date()))) { // Skip events ending at 00:00 starting at another day. | 376 | if(!((ev.end().hour()==0) && (ev.end().minute()==0) && (ev.startDate()!=ev.date()))) { // Skip events ending at 00:00 starting at another day. |
376 | if (ev.event().type() == Event::AllDay ) { | 377 | if (ev.event().type() == Event::AllDay ) { |
377 | object = m_allDays->addEvent( ev ); | 378 | object = m_allDays->addEvent( ev ); |
378 | if (!object) | 379 | if (!object) |
379 | continue; | 380 | continue; |
380 | }else { | 381 | }else { |
381 | DateBookDayWidget* w = new DateBookDayWidget( *it, this ); | 382 | DateBookDayWidget* w = new DateBookDayWidget( *it, this ); |
382 | widgetList.append( w ); | 383 | widgetList.append( w ); |
diff --git a/core/pim/datebook/datebookday.h b/core/pim/datebook/datebookday.h index 3e44364..3b75eba 100644 --- a/core/pim/datebook/datebookday.h +++ b/core/pim/datebook/datebookday.h | |||
@@ -19,28 +19,30 @@ | |||
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | #ifndef DATEBOOKDAY_H | 20 | #ifndef DATEBOOKDAY_H |
21 | #define DATEBOOKDAY_H | 21 | #define DATEBOOKDAY_H |
22 | 22 | ||
23 | #include <qpe/event.h> | 23 | #include <qpe/event.h> |
24 | 24 | ||
25 | #include <qdatetime.h> | 25 | #include <qdatetime.h> |
26 | #include <qtable.h> | 26 | #include <qtable.h> |
27 | #include <qvbox.h> | 27 | #include <qvbox.h> |
28 | #include <qlist.h> | 28 | #include <qlist.h> |
29 | 29 | ||
30 | #include "datebook.h" | 30 | #include "datebook.h" |
31 | #include "datebooktypes.h" | ||
31 | #include <qlineedit.h> | 32 | #include <qlineedit.h> |
32 | 33 | ||
33 | class DateBookDayHeader; | 34 | class DateBookDayHeader; |
34 | class DateBookDB; | 35 | class DateBookDB; |
36 | class DateBookDBHoliday; | ||
35 | class DatebookdayAllday; | 37 | class DatebookdayAllday; |
36 | class QDateTime; | 38 | class QDateTime; |
37 | class QMouseEvent; | 39 | class QMouseEvent; |
38 | class QPaintEvent; | 40 | class QPaintEvent; |
39 | class QResizeEvent; | 41 | class QResizeEvent; |
40 | 42 | ||
41 | class DateBookDayViewQuickLineEdit : public QLineEdit | 43 | class DateBookDayViewQuickLineEdit : public QLineEdit |
42 | { | 44 | { |
43 | Q_OBJECT | 45 | Q_OBJECT |
44 | public: | 46 | public: |
45 | DateBookDayViewQuickLineEdit(const QDateTime &start, const QDateTime &end,QWidget * parent, const char *name=0); | 47 | DateBookDayViewQuickLineEdit(const QDateTime &start, const QDateTime &end,QWidget * parent, const char *name=0); |
46 | protected: | 48 | protected: |
@@ -171,25 +173,25 @@ class WidgetListClass : public QList<DateBookDayWidget> | |||
171 | } | 173 | } |
172 | } | 174 | } |
173 | 175 | ||
174 | 176 | ||
175 | }; | 177 | }; |
176 | 178 | ||
177 | class DateBookDay : public QVBox | 179 | class DateBookDay : public QVBox |
178 | { | 180 | { |
179 | Q_OBJECT | 181 | Q_OBJECT |
180 | 182 | ||
181 | friend class DateBookDayWidget; // for beam this occurence and access to DateBookDB | 183 | friend class DateBookDayWidget; // for beam this occurence and access to DateBookDB |
182 | public: | 184 | public: |
183 | DateBookDay( bool ampm, bool startOnMonday, DateBookDB *newDb,DateBookHoliday*newHdb, | 185 | DateBookDay( bool ampm, bool startOnMonday, DateBookDBHoliday *newDb,DateBookHoliday*newHdb, |
184 | QWidget *parent, const char *name ); | 186 | QWidget *parent, const char *name ); |
185 | void selectedDates( QDateTime &start, QDateTime &end ); | 187 | void selectedDates( QDateTime &start, QDateTime &end ); |
186 | 188 | ||
187 | QDate date() const; | 189 | QDate date() const; |
188 | DateBookDayView *dayView() const { return view; } | 190 | DateBookDayView *dayView() const { return view; } |
189 | void setStartViewTime( int startHere ); | 191 | void setStartViewTime( int startHere ); |
190 | int startViewTime() const; | 192 | int startViewTime() const; |
191 | void setSelectedWidget( DateBookDayWidget * ); | 193 | void setSelectedWidget( DateBookDayWidget * ); |
192 | DateBookDayWidget * getSelectedWidget( void ); | 194 | DateBookDayWidget * getSelectedWidget( void ); |
193 | void setJumpToCurTime( bool bJump ); | 195 | void setJumpToCurTime( bool bJump ); |
194 | void setRowStyle( int style ); | 196 | void setRowStyle( int style ); |
195 | static QDate findRealStart( int uid, const QDate& isIncluded, | 197 | static QDate findRealStart( int uid, const QDate& isIncluded, |
@@ -216,23 +218,23 @@ protected slots: | |||
216 | private slots: | 218 | private slots: |
217 | void dateChanged( int y, int m, int d ); | 219 | void dateChanged( int y, int m, int d ); |
218 | void slotColWidthChanged() { relayoutPage(); }; | 220 | void slotColWidthChanged() { relayoutPage(); }; |
219 | 221 | ||
220 | private: | 222 | private: |
221 | void getEvents(); | 223 | void getEvents(); |
222 | void relayoutPage( bool fromResize = false ); | 224 | void relayoutPage( bool fromResize = false ); |
223 | DateBookDayWidget *intersects( const DateBookDayWidget *item, const QRect &geom ); | 225 | DateBookDayWidget *intersects( const DateBookDayWidget *item, const QRect &geom ); |
224 | QDate currDate; | 226 | QDate currDate; |
225 | DateBookDayView *view; | 227 | DateBookDayView *view; |
226 | DateBookDayHeader *header; | 228 | DateBookDayHeader *header; |
227 | DatebookdayAllday *m_allDays; | 229 | DatebookdayAllday *m_allDays; |
228 | DateBookDB *db; | 230 | DateBookDBHoliday *db; |
229 | WidgetListClass widgetList; //reimplemented QList for sorting widgets by height | 231 | WidgetListClass widgetList; //reimplemented QList for sorting widgets by height |
230 | int startTime; | 232 | int startTime; |
231 | bool jumpToCurTime; //should we jump to current time in dayview? | 233 | bool jumpToCurTime; //should we jump to current time in dayview? |
232 | int rowStyle; | 234 | int rowStyle; |
233 | DateBookDayWidget *selectedWidget; //actual selected widget (obviously) | 235 | DateBookDayWidget *selectedWidget; //actual selected widget (obviously) |
234 | DateBookDayTimeMarker *timeMarker; //marker for current time | 236 | DateBookDayTimeMarker *timeMarker; //marker for current time |
235 | DateBookHoliday*_holiday_db; | 237 | DateBookHoliday*_holiday_db; |
236 | }; | 238 | }; |
237 | 239 | ||
238 | #endif | 240 | #endif |
diff --git a/core/pim/datebook/datebookdayallday.cpp b/core/pim/datebook/datebookdayallday.cpp index 3c3f482..5b40246 100644 --- a/core/pim/datebook/datebookdayallday.cpp +++ b/core/pim/datebook/datebookdayallday.cpp | |||
@@ -21,25 +21,26 @@ | |||
21 | */ | 21 | */ |
22 | DatebookdayAllday::DatebookdayAllday(DateBookDB* db, QWidget* parent, const char* name, WFlags ) | 22 | DatebookdayAllday::DatebookdayAllday(DateBookDB* db, QWidget* parent, const char* name, WFlags ) |
23 | : QScrollView( parent, name ),item_count(0),dateBook(db) | 23 | : QScrollView( parent, name ),item_count(0),dateBook(db) |
24 | { | 24 | { |
25 | if ( !name ) | 25 | if ( !name ) |
26 | setName( "DatebookdayAllday" ); | 26 | setName( "DatebookdayAllday" ); |
27 | setMinimumSize( QSize( 0, 0 ) ); | 27 | setMinimumSize( QSize( 0, 0 ) ); |
28 | setMaximumHeight(3* (QFontMetrics(font()).height()+4) ); | 28 | setMaximumHeight(3* (QFontMetrics(font()).height()+4) ); |
29 | 29 | ||
30 | m_MainFrame = new QFrame(viewport()); | 30 | m_MainFrame = new QFrame(viewport()); |
31 | m_MainFrame->setFrameStyle(QFrame::NoFrame|QFrame::Plain); | 31 | m_MainFrame->setFrameStyle(QFrame::NoFrame|QFrame::Plain); |
32 | setFrameStyle(QFrame::NoFrame|QFrame::Plain); | 32 | setFrameStyle(QFrame::NoFrame|QFrame::Plain); |
33 | setResizePolicy( QScrollView::Default ); | 33 | //setResizePolicy( QScrollView::Default ); |
34 | setResizePolicy(QScrollView::AutoOneFit); | ||
34 | setHScrollBarMode( AlwaysOff ); | 35 | setHScrollBarMode( AlwaysOff ); |
35 | addChild(m_MainFrame); | 36 | addChild(m_MainFrame); |
36 | 37 | ||
37 | datebookdayalldayLayout = new QVBoxLayout( m_MainFrame ); | 38 | datebookdayalldayLayout = new QVBoxLayout( m_MainFrame ); |
38 | datebookdayalldayLayout->setSpacing( 0 ); | 39 | datebookdayalldayLayout->setSpacing( 0 ); |
39 | datebookdayalldayLayout->setMargin( 0 ); | 40 | datebookdayalldayLayout->setMargin( 0 ); |
40 | 41 | ||
41 | lblDesc = new DatebookEventDesc(parent->parentWidget(),""); | 42 | lblDesc = new DatebookEventDesc(parent->parentWidget(),""); |
42 | lblDesc->setBackgroundColor(Qt::yellow); | 43 | lblDesc->setBackgroundColor(Qt::yellow); |
43 | lblDesc->hide(); | 44 | lblDesc->hide(); |
44 | subWidgets.setAutoDelete(true); | 45 | subWidgets.setAutoDelete(true); |
45 | } | 46 | } |
@@ -102,31 +103,36 @@ DatebookAlldayDisp::DatebookAlldayDisp(DateBookDB *db,const EffectiveEvent& ev, | |||
102 | m_holiday = false; | 103 | m_holiday = false; |
103 | } | 104 | } |
104 | 105 | ||
105 | DatebookAlldayDisp::DatebookAlldayDisp(const QString&aholiday,QWidget* parent,const char* name, WFlags fl) | 106 | DatebookAlldayDisp::DatebookAlldayDisp(const QString&aholiday,QWidget* parent,const char* name, WFlags fl) |
106 | : QLabel(parent,name,fl),m_Ev(),dateBook(0) | 107 | : QLabel(parent,name,fl),m_Ev(),dateBook(0) |
107 | { | 108 | { |
108 | QString strDesc = aholiday; | 109 | QString strDesc = aholiday; |
109 | strDesc = strDesc.replace(QRegExp("<"),"<"); | 110 | strDesc = strDesc.replace(QRegExp("<"),"<"); |
110 | Event ev; | 111 | Event ev; |
111 | ev.setDescription(strDesc); | 112 | ev.setDescription(strDesc); |
112 | ev.setAllDay(true); | 113 | ev.setAllDay(true); |
113 | m_Ev.setEvent(ev); | 114 | m_Ev.setEvent(ev); |
114 | setBackgroundColor(yellow); | ||
115 | setText(strDesc); | 115 | setText(strDesc); |
116 | setFrameStyle(QFrame::Raised|QFrame::Panel); | 116 | |
117 | setAlignment(AlignHCenter); | ||
118 | setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Minimum)); | ||
119 | |||
120 | //setFrameStyle(QFrame::Raised|QFrame::Panel); | ||
121 | //setBackgroundColor(yellow); | ||
117 | 122 | ||
118 | int s = QFontMetrics(font()).height()+4; | 123 | int s = QFontMetrics(font()).height()+4; |
119 | setMaximumHeight( s ); | 124 | setMaximumHeight( s ); |
120 | setMinimumSize( QSize( 0, s ) ); | 125 | setMinimumSize( QSize( 0, s ) ); |
126 | |||
121 | m_holiday = true; | 127 | m_holiday = true; |
122 | } | 128 | } |
123 | 129 | ||
124 | DatebookAlldayDisp::~DatebookAlldayDisp() | 130 | DatebookAlldayDisp::~DatebookAlldayDisp() |
125 | { | 131 | { |
126 | } | 132 | } |
127 | 133 | ||
128 | void DatebookAlldayDisp::beam_single_event() | 134 | void DatebookAlldayDisp::beam_single_event() |
129 | { | 135 | { |
130 | if (m_holiday) return; | 136 | if (m_holiday) return; |
131 | // create an Event and beam it... | 137 | // create an Event and beam it... |
132 | /* | 138 | /* |
diff --git a/core/pim/datebook/datebooktypes.h b/core/pim/datebook/datebooktypes.h new file mode 100644 index 0000000..9eb7e89 --- a/dev/null +++ b/core/pim/datebook/datebooktypes.h | |||
@@ -0,0 +1,59 @@ | |||
1 | #ifndef _DATEBOOK_TYPES_H | ||
2 | #define _DATEBOOK_TYPES_H | ||
3 | |||
4 | #include <qpe/datebookdb.h> | ||
5 | |||
6 | #include <qvaluelist.h> | ||
7 | #include <qstringlist.h> | ||
8 | |||
9 | namespace Opie { | ||
10 | namespace Datebook { | ||
11 | class HolidayPlugin; | ||
12 | class HolidayPluginIf; | ||
13 | } | ||
14 | } | ||
15 | |||
16 | class QLibrary; | ||
17 | |||
18 | class DateBookDBHack : virtual public DateBookDB { | ||
19 | public: | ||
20 | virtual ~DateBookDBHack(){} | ||
21 | Event eventByUID(int id); | ||
22 | }; | ||
23 | |||
24 | class DateBookHoliday | ||
25 | { | ||
26 | public: | ||
27 | DateBookHoliday(); | ||
28 | virtual ~DateBookHoliday(); | ||
29 | |||
30 | QStringList holidaylist(const QDate&); | ||
31 | QStringList holidaylist(unsigned year, unsigned month, unsigned day); | ||
32 | virtual QValueList<EffectiveEvent> getEffectiveEvents(const QDate &from,const QDate &to ); | ||
33 | virtual QValueList<EffectiveEvent> getEffectiveEvents(const QDateTime &start); | ||
34 | |||
35 | protected: | ||
36 | void init(); | ||
37 | void deinit(); | ||
38 | |||
39 | struct HPlugin { | ||
40 | Opie::Datebook::HolidayPlugin*_plugin; | ||
41 | QLibrary*_lib; | ||
42 | Opie::Datebook::HolidayPluginIf*_if; | ||
43 | }; | ||
44 | QValueList<HPlugin*>_pluginlist; | ||
45 | }; | ||
46 | |||
47 | class DateBookDBHoliday:virtual public DateBookDBHack { | ||
48 | public: | ||
49 | DateBookDBHoliday():DateBookDBHack(){db_holiday=0;} | ||
50 | virtual ~DateBookDBHoliday(){} | ||
51 | virtual QValueList<EffectiveEvent> getEffectiveEvents(const QDate &from,const QDate &to ); | ||
52 | virtual QValueList<EffectiveEvent> getEffectiveEvents(const QDateTime &start); | ||
53 | virtual QValueList<EffectiveEvent> getEffectiveEventsNoHoliday(const QDate &from,const QDate &to ); | ||
54 | virtual QValueList<EffectiveEvent> getEffectiveEventsNoHoliday(const QDateTime &start); | ||
55 | |||
56 | DateBookHoliday*db_holiday; | ||
57 | }; | ||
58 | |||
59 | #endif | ||
diff --git a/core/pim/datebook/datebookweek.cpp b/core/pim/datebook/datebookweek.cpp index 7503751..a509d89 100644 --- a/core/pim/datebook/datebookweek.cpp +++ b/core/pim/datebook/datebookweek.cpp | |||
@@ -10,24 +10,25 @@ | |||
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | #include "datebookweek.h" | 20 | #include "datebookweek.h" |
21 | #include "datebookweekheaderimpl.h" | 21 | #include "datebookweekheaderimpl.h" |
22 | #include "datebooktypes.h" | ||
22 | 23 | ||
23 | #include <qpe/datebookdb.h> | 24 | #include <qpe/datebookdb.h> |
24 | #include <qpe/qpeapplication.h> | 25 | #include <qpe/qpeapplication.h> |
25 | #include <qpe/calendar.h> | 26 | #include <qpe/calendar.h> |
26 | 27 | ||
27 | #include <qheader.h> | 28 | #include <qheader.h> |
28 | #include <qlabel.h> | 29 | #include <qlabel.h> |
29 | #include <qlayout.h> | 30 | #include <qlayout.h> |
30 | #include <qtimer.h> | 31 | #include <qtimer.h> |
31 | 32 | ||
32 | //----------------------------------------------------------------- | 33 | //----------------------------------------------------------------- |
33 | 34 | ||
@@ -331,25 +332,25 @@ void DateBookWeekView::resizeEvent( QResizeEvent *e ) | |||
331 | header->resizeSection( i, sw ); | 332 | header->resizeSection( i, sw ); |
332 | header->resizeSection( 7, avail - hourWidth - sw*6 ); | 333 | header->resizeSection( 7, avail - hourWidth - sw*6 ); |
333 | } | 334 | } |
334 | 335 | ||
335 | void DateBookWeekView::setStartOfWeek( bool bStartOnMonday ) | 336 | void DateBookWeekView::setStartOfWeek( bool bStartOnMonday ) |
336 | { | 337 | { |
337 | bOnMonday = bStartOnMonday; | 338 | bOnMonday = bStartOnMonday; |
338 | initNames(); | 339 | initNames(); |
339 | } | 340 | } |
340 | 341 | ||
341 | //------------------------------------------------------------------- | 342 | //------------------------------------------------------------------- |
342 | 343 | ||
343 | DateBookWeek::DateBookWeek( bool ap, bool startOnMonday, DateBookDB *newDB, | 344 | DateBookWeek::DateBookWeek( bool ap, bool startOnMonday, DateBookDBHoliday *newDB, |
344 | QWidget *parent, const char *name ) | 345 | QWidget *parent, const char *name ) |
345 | : QWidget( parent, name ), | 346 | : QWidget( parent, name ), |
346 | db( newDB ), | 347 | db( newDB ), |
347 | startTime( 0 ), | 348 | startTime( 0 ), |
348 | ampm( ap ), | 349 | ampm( ap ), |
349 | bStartOnMonday( startOnMonday ) | 350 | bStartOnMonday( startOnMonday ) |
350 | { | 351 | { |
351 | setFocusPolicy(StrongFocus); | 352 | setFocusPolicy(StrongFocus); |
352 | QVBoxLayout *vb = new QVBoxLayout( this ); | 353 | QVBoxLayout *vb = new QVBoxLayout( this ); |
353 | header = new DateBookWeekHeader( bStartOnMonday, this ); | 354 | header = new DateBookWeekHeader( bStartOnMonday, this ); |
354 | view = new DateBookWeekView( ampm, startOnMonday, this ); | 355 | view = new DateBookWeekView( ampm, startOnMonday, this ); |
355 | vb->addWidget( header ); | 356 | vb->addWidget( header ); |
diff --git a/core/pim/datebook/datebookweek.h b/core/pim/datebook/datebookweek.h index c273e30..ddf54ed 100644 --- a/core/pim/datebook/datebookweek.h +++ b/core/pim/datebook/datebookweek.h | |||
@@ -19,24 +19,25 @@ | |||
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | #ifndef DATEBOOKWEEK | 20 | #ifndef DATEBOOKWEEK |
21 | #define DATEBOOKWEEK | 21 | #define DATEBOOKWEEK |
22 | 22 | ||
23 | #include <qpe/event.h> | 23 | #include <qpe/event.h> |
24 | 24 | ||
25 | #include <qlist.h> | 25 | #include <qlist.h> |
26 | #include <qscrollview.h> | 26 | #include <qscrollview.h> |
27 | #include <qstring.h> | 27 | #include <qstring.h> |
28 | #include <qvaluelist.h> | 28 | #include <qvaluelist.h> |
29 | 29 | ||
30 | class DateBookDB; | 30 | class DateBookDB; |
31 | class DateBookDBHoliday; | ||
31 | class DateBookWeekHeader; | 32 | class DateBookWeekHeader; |
32 | class QDate; | 33 | class QDate; |
33 | class QLabel; | 34 | class QLabel; |
34 | class QResizeEvent; | 35 | class QResizeEvent; |
35 | class QSpinBox; | 36 | class QSpinBox; |
36 | class QTimer; | 37 | class QTimer; |
37 | class QHeader; | 38 | class QHeader; |
38 | 39 | ||
39 | class DateBookWeekItem | 40 | class DateBookWeekItem |
40 | { | 41 | { |
41 | public: | 42 | public: |
42 | DateBookWeekItem( const EffectiveEvent e ); | 43 | DateBookWeekItem( const EffectiveEvent e ); |
@@ -91,25 +92,25 @@ private: | |||
91 | bool bOnMonday; | 92 | bool bOnMonday; |
92 | QHeader *header; | 93 | QHeader *header; |
93 | QList<DateBookWeekItem> items; | 94 | QList<DateBookWeekItem> items; |
94 | int rowHeight; | 95 | int rowHeight; |
95 | bool showingEvent; | 96 | bool showingEvent; |
96 | }; | 97 | }; |
97 | 98 | ||
98 | class DateBookWeek : public QWidget | 99 | class DateBookWeek : public QWidget |
99 | { | 100 | { |
100 | Q_OBJECT | 101 | Q_OBJECT |
101 | 102 | ||
102 | public: | 103 | public: |
103 | DateBookWeek( bool ampm, bool weekOnMonday, DateBookDB *newDB, | 104 | DateBookWeek( bool ampm, bool weekOnMonday, DateBookDBHoliday *newDB, |
104 | QWidget *parent = 0, const char *name = 0 ); | 105 | QWidget *parent = 0, const char *name = 0 ); |
105 | void setDate( int y, int m, int d ); | 106 | void setDate( int y, int m, int d ); |
106 | void setDate( QDate d ); | 107 | void setDate( QDate d ); |
107 | QDate date() const; | 108 | QDate date() const; |
108 | DateBookWeekView *weekView() const { return view; } | 109 | DateBookWeekView *weekView() const { return view; } |
109 | void setStartViewTime( int startHere ); | 110 | void setStartViewTime( int startHere ); |
110 | int startViewTime() const; | 111 | int startViewTime() const; |
111 | int week() const { return _week; }; | 112 | int week() const { return _week; }; |
112 | QDate weekDate() const; | 113 | QDate weekDate() const; |
113 | 114 | ||
114 | public slots: | 115 | public slots: |
115 | void redraw(); | 116 | void redraw(); |
@@ -144,23 +145,23 @@ private: | |||
144 | /** | 145 | /** |
145 | * This will add the times to the text | 146 | * This will add the times to the text |
146 | * It will be shown in the Tooltip bubble | 147 | * It will be shown in the Tooltip bubble |
147 | */ | 148 | */ |
148 | void generateNormalTooltext( QString& text, | 149 | void generateNormalTooltext( QString& text, |
149 | const EffectiveEvent &ev); | 150 | const EffectiveEvent &ev); |
150 | int year; | 151 | int year; |
151 | int _week; | 152 | int _week; |
152 | int dow; | 153 | int dow; |
153 | QDate bdate; | 154 | QDate bdate; |
154 | DateBookWeekHeader *header; | 155 | DateBookWeekHeader *header; |
155 | DateBookWeekView *view; | 156 | DateBookWeekView *view; |
156 | DateBookDB *db; | 157 | DateBookDBHoliday *db; |
157 | QLabel *lblDesc; | 158 | QLabel *lblDesc; |
158 | QTimer *tHide; | 159 | QTimer *tHide; |
159 | int startTime; | 160 | int startTime; |
160 | bool ampm; | 161 | bool ampm; |
161 | bool bStartOnMonday; | 162 | bool bStartOnMonday; |
162 | }; | 163 | }; |
163 | 164 | ||
164 | 165 | ||
165 | bool calcWeek( const QDate &d, int &week, int &year, bool startOnMonday = false ); | 166 | bool calcWeek( const QDate &d, int &week, int &year, bool startOnMonday = false ); |
166 | #endif | 167 | #endif |
diff --git a/core/pim/datebook/datebookweeklst.cpp b/core/pim/datebook/datebookweeklst.cpp index 771aa00..0555bc7 100644 --- a/core/pim/datebook/datebookweeklst.cpp +++ b/core/pim/datebook/datebookweeklst.cpp | |||
@@ -1,16 +1,17 @@ | |||
1 | #include "namespace_hack.h" | 1 | #include "namespace_hack.h" |
2 | #include "datebookweeklst.h" | 2 | #include "datebookweeklst.h" |
3 | 3 | ||
4 | #include "datebook.h" | 4 | #include "datebook.h" |
5 | #include "datebooktypes.h" | ||
5 | 6 | ||
6 | #include <opie2/odebug.h> | 7 | #include <opie2/odebug.h> |
7 | 8 | ||
8 | #include <qpe/datebookmonth.h> | 9 | #include <qpe/datebookmonth.h> |
9 | #include <qpe/config.h> | 10 | #include <qpe/config.h> |
10 | #include <qpe/ir.h> | 11 | #include <qpe/ir.h> |
11 | #include <qpe/resource.h> | 12 | #include <qpe/resource.h> |
12 | 13 | ||
13 | #include <qlayout.h> | 14 | #include <qlayout.h> |
14 | #include <qtoolbutton.h> | 15 | #include <qtoolbutton.h> |
15 | #include <qtl.h> | 16 | #include <qtl.h> |
16 | 17 | ||
@@ -308,25 +309,25 @@ DateBookWeekLstDblView::DateBookWeekLstDblView(QValueList<EffectiveEvent> &ev1, | |||
308 | w=new DateBookWeekLstView(ev2,d.addDays(7),onM,this); | 309 | w=new DateBookWeekLstView(ev2,d.addDays(7),onM,this); |
309 | layout->addWidget(w); | 310 | layout->addWidget(w); |
310 | connect (w, SIGNAL(editEvent(const Event&)), this, SIGNAL(editEvent(const Event&))); | 311 | connect (w, SIGNAL(editEvent(const Event&)), this, SIGNAL(editEvent(const Event&))); |
311 | connect (w, SIGNAL(duplicateEvent(const Event &)), this, SIGNAL(duplicateEvent(const Event &))); | 312 | connect (w, SIGNAL(duplicateEvent(const Event &)), this, SIGNAL(duplicateEvent(const Event &))); |
312 | connect (w, SIGNAL(removeEvent(const Event &)), this, SIGNAL(removeEvent(const Event &))); | 313 | connect (w, SIGNAL(removeEvent(const Event &)), this, SIGNAL(removeEvent(const Event &))); |
313 | connect (w, SIGNAL(beamEvent(const Event &)), this, SIGNAL(beamEvent(const Event &))); | 314 | connect (w, SIGNAL(beamEvent(const Event &)), this, SIGNAL(beamEvent(const Event &))); |
314 | connect (w, SIGNAL(redraw()), this, SIGNAL(redraw())); | 315 | connect (w, SIGNAL(redraw()), this, SIGNAL(redraw())); |
315 | connect (w, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); | 316 | connect (w, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); |
316 | connect (w, SIGNAL(addEvent(const QDateTime&,const QDateTime&,const QString&,const QString&)), | 317 | connect (w, SIGNAL(addEvent(const QDateTime&,const QDateTime&,const QString&,const QString&)), |
317 | this, SIGNAL(addEvent(const QDateTime&,const QDateTime&,const QString&,const QString&))); | 318 | this, SIGNAL(addEvent(const QDateTime&,const QDateTime&,const QString&,const QString&))); |
318 | } | 319 | } |
319 | 320 | ||
320 | DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, | 321 | DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDBHoliday *newDB, |
321 | QWidget *parent, | 322 | QWidget *parent, |
322 | const char *name ) | 323 | const char *name ) |
323 | : QWidget( parent, name ), | 324 | : QWidget( parent, name ), |
324 | db( newDB ), | 325 | db( newDB ), |
325 | startTime( 0 ), | 326 | startTime( 0 ), |
326 | ampm( ap ), | 327 | ampm( ap ), |
327 | bStartOnMonday(onM) | 328 | bStartOnMonday(onM) |
328 | { | 329 | { |
329 | setFocusPolicy(StrongFocus); | 330 | setFocusPolicy(StrongFocus); |
330 | layout = new QVBoxLayout( this ); | 331 | layout = new QVBoxLayout( this ); |
331 | layout->setMargin(0); | 332 | layout->setMargin(0); |
332 | 333 | ||
@@ -374,31 +375,31 @@ QDate DateBookWeekLst::weekDate() const | |||
374 | 375 | ||
375 | // Calculate offset to first day of week. | 376 | // Calculate offset to first day of week. |
376 | int dayoffset=d.dayOfWeek(); | 377 | int dayoffset=d.dayOfWeek(); |
377 | if(bStartOnMonday) dayoffset--; | 378 | if(bStartOnMonday) dayoffset--; |
378 | else if( dayoffset == 7 ) | 379 | else if( dayoffset == 7 ) |
379 | dayoffset = 0; | 380 | dayoffset = 0; |
380 | 381 | ||
381 | return d.addDays(-dayoffset); | 382 | return d.addDays(-dayoffset); |
382 | } | 383 | } |
383 | 384 | ||
384 | void DateBookWeekLst::getEvents() { | 385 | void DateBookWeekLst::getEvents() { |
385 | QDate start = weekDate(); //date(); | 386 | QDate start = weekDate(); //date(); |
386 | QDate stop = start.addDays(6); | 387 | QDate stop = start.addDays(7); |
387 | QValueList<EffectiveEvent> el = db->getEffectiveEvents(start, stop); | 388 | QValueList<EffectiveEvent> el = db->getEffectiveEvents(start, stop); |
388 | 389 | ||
389 | if (view) delete view; | 390 | if (view) delete view; |
390 | if (dbl) { | 391 | if (dbl) { |
391 | QDate start2=start.addDays(7); | 392 | QDate start2=start.addDays(8); |
392 | stop=start2.addDays(6); | 393 | stop=start2.addDays(7); |
393 | QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop); | 394 | QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop); |
394 | view=new DateBookWeekLstDblView(el,el2,start,bStartOnMonday,scroll); | 395 | view=new DateBookWeekLstDblView(el,el2,start,bStartOnMonday,scroll); |
395 | } else { | 396 | } else { |
396 | view=new DateBookWeekLstView(el,start,bStartOnMonday,scroll); | 397 | view=new DateBookWeekLstView(el,start,bStartOnMonday,scroll); |
397 | } | 398 | } |
398 | 399 | ||
399 | connect (view, SIGNAL(editEvent(const Event&)), this, SIGNAL(editEvent(const Event&))); | 400 | connect (view, SIGNAL(editEvent(const Event&)), this, SIGNAL(editEvent(const Event&))); |
400 | connect (view, SIGNAL(duplicateEvent(const Event &)), this, SIGNAL(duplicateEvent(const Event &))); | 401 | connect (view, SIGNAL(duplicateEvent(const Event &)), this, SIGNAL(duplicateEvent(const Event &))); |
401 | connect (view, SIGNAL(removeEvent(const Event &)), this, SIGNAL(removeEvent(const Event &))); | 402 | connect (view, SIGNAL(removeEvent(const Event &)), this, SIGNAL(removeEvent(const Event &))); |
402 | connect (view, SIGNAL(beamEvent(const Event &)), this, SIGNAL(beamEvent(const Event &))); | 403 | connect (view, SIGNAL(beamEvent(const Event &)), this, SIGNAL(beamEvent(const Event &))); |
403 | connect (view, SIGNAL(redraw()), this, SLOT(redraw())); | 404 | connect (view, SIGNAL(redraw()), this, SLOT(redraw())); |
404 | connect (view, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); | 405 | connect (view, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); |
diff --git a/core/pim/datebook/datebookweeklst.h b/core/pim/datebook/datebookweeklst.h index 3bc7f2f..38d7777 100644 --- a/core/pim/datebook/datebookweeklst.h +++ b/core/pim/datebook/datebookweeklst.h | |||
@@ -5,24 +5,25 @@ | |||
5 | #include <qdatetime.h> | 5 | #include <qdatetime.h> |
6 | #include <qpe/event.h> | 6 | #include <qpe/event.h> |
7 | #include <qlabel.h> | 7 | #include <qlabel.h> |
8 | #include <qscrollview.h> | 8 | #include <qscrollview.h> |
9 | 9 | ||
10 | #include "datebookweeklstheader.h" | 10 | #include "datebookweeklstheader.h" |
11 | #include "datebookweeklstdayhdr.h" | 11 | #include "datebookweeklstdayhdr.h" |
12 | 12 | ||
13 | #include <opie2/oclickablelabel.h> | 13 | #include <opie2/oclickablelabel.h> |
14 | 14 | ||
15 | class QDateTime; | 15 | class QDateTime; |
16 | class DateBookDB; | 16 | class DateBookDB; |
17 | class DateBookDBHoliday; | ||
17 | 18 | ||
18 | class DateBookWeekLstHeader: public DateBookWeekLstHeaderBase | 19 | class DateBookWeekLstHeader: public DateBookWeekLstHeaderBase |
19 | { | 20 | { |
20 | Q_OBJECT | 21 | Q_OBJECT |
21 | public: | 22 | public: |
22 | DateBookWeekLstHeader(bool onM, QWidget* parent = 0, const char* name = 0, | 23 | DateBookWeekLstHeader(bool onM, QWidget* parent = 0, const char* name = 0, |
23 | WFlags fl = 0 ); | 24 | WFlags fl = 0 ); |
24 | ~DateBookWeekLstHeader(); | 25 | ~DateBookWeekLstHeader(); |
25 | void setDate(const QDate &d); | 26 | void setDate(const QDate &d); |
26 | 27 | ||
27 | public slots: | 28 | public slots: |
28 | void nextWeek(); | 29 | void nextWeek(); |
@@ -121,25 +122,25 @@ signals: | |||
121 | void beamEvent(const Event &e); | 122 | void beamEvent(const Event &e); |
122 | void redraw(); | 123 | void redraw(); |
123 | void showDate(int y, int m, int d); | 124 | void showDate(int y, int m, int d); |
124 | void addEvent(const QDateTime &start, const QDateTime &stop, | 125 | void addEvent(const QDateTime &start, const QDateTime &stop, |
125 | const QString &str, const QString &location); | 126 | const QString &str, const QString &location); |
126 | }; | 127 | }; |
127 | 128 | ||
128 | class DateBookWeekLst : public QWidget | 129 | class DateBookWeekLst : public QWidget |
129 | { | 130 | { |
130 | Q_OBJECT | 131 | Q_OBJECT |
131 | 132 | ||
132 | public: | 133 | public: |
133 | DateBookWeekLst( bool ampm, bool onM, DateBookDB *newDB, | 134 | DateBookWeekLst( bool ampm, bool onM, DateBookDBHoliday *newDB, |
134 | QWidget *parent = 0, | 135 | QWidget *parent = 0, |
135 | const char *name = 0 ); | 136 | const char *name = 0 ); |
136 | ~DateBookWeekLst(); | 137 | ~DateBookWeekLst(); |
137 | void setDate( int y, int w ); | 138 | void setDate( int y, int w ); |
138 | void setDate(const QDate &d ); | 139 | void setDate(const QDate &d ); |
139 | int week() const { return _week; }; | 140 | int week() const { return _week; }; |
140 | QDate date(); | 141 | QDate date(); |
141 | QDate weekDate() const; | 142 | QDate weekDate() const; |
142 | 143 | ||
143 | public slots: | 144 | public slots: |
144 | void redraw(); | 145 | void redraw(); |
145 | void dateChanged(QDate &date); | 146 | void dateChanged(QDate &date); |
@@ -149,25 +150,25 @@ protected slots: | |||
149 | void setDbl(bool on); | 150 | void setDbl(bool on); |
150 | 151 | ||
151 | signals: | 152 | signals: |
152 | void showDate(int y, int m, int d); | 153 | void showDate(int y, int m, int d); |
153 | void addEvent(const QDateTime &start, const QDateTime &stop, | 154 | void addEvent(const QDateTime &start, const QDateTime &stop, |
154 | const QString &str, const QString &location); | 155 | const QString &str, const QString &location); |
155 | void editEvent(const Event &e); | 156 | void editEvent(const Event &e); |
156 | void duplicateEvent(const Event &e); | 157 | void duplicateEvent(const Event &e); |
157 | void removeEvent(const Event &e); | 158 | void removeEvent(const Event &e); |
158 | void beamEvent(const Event &e); | 159 | void beamEvent(const Event &e); |
159 | 160 | ||
160 | private: | 161 | private: |
161 | DateBookDB *db; | 162 | DateBookDBHoliday *db; |
162 | int startTime; | 163 | int startTime; |
163 | bool ampm; | 164 | bool ampm; |
164 | bool bStartOnMonday; | 165 | bool bStartOnMonday; |
165 | bool dbl; | 166 | bool dbl; |
166 | QDate bdate; | 167 | QDate bdate; |
167 | int year, _week,dow; | 168 | int year, _week,dow; |
168 | DateBookWeekLstHeader *header; | 169 | DateBookWeekLstHeader *header; |
169 | QWidget *view; | 170 | QWidget *view; |
170 | QVBoxLayout *layout; | 171 | QVBoxLayout *layout; |
171 | QScrollView *scroll; | 172 | QScrollView *scroll; |
172 | 173 | ||
173 | void getEvents(); | 174 | void getEvents(); |