summaryrefslogtreecommitdiff
path: root/core/pim/datebook
authoralwin <alwin>2005-03-17 14:01:23 (UTC)
committer alwin <alwin>2005-03-17 14:01:23 (UTC)
commit8752141a5341877369f89a42fa1f0b5d08f56dbd (patch) (unidiff)
tree63dc48ee207a4e9fbb6b9e8abddb239ec724c155 /core/pim/datebook
parentafee05f4b4c1e8dab8463e3423fcfc8f9d45aa8b (diff)
downloadopie-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.
Diffstat (limited to 'core/pim/datebook') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/datebook/datebook.cpp45
-rw-r--r--core/pim/datebook/datebook.h37
-rw-r--r--core/pim/datebook/datebookday.cpp5
-rw-r--r--core/pim/datebook/datebookday.h6
-rw-r--r--core/pim/datebook/datebookdayallday.cpp12
-rw-r--r--core/pim/datebook/datebooktypes.h59
-rw-r--r--core/pim/datebook/datebookweek.cpp3
-rw-r--r--core/pim/datebook/datebookweek.h5
-rw-r--r--core/pim/datebook/datebookweeklst.cpp9
-rw-r--r--core/pim/datebook/datebookweeklst.h5
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
1147QStringList DateBookHoliday::holidaylist(unsigned year, unsigned month, unsigned day) 1148QStringList 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
1153QValueList<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
1164QValueList<EffectiveEvent> DateBookDBHoliday::getEffectiveEventsNoHoliday(const QDate &from,const QDate &to )
1165{
1166 return DateBookDBHack::getEffectiveEvents(from,to);
1167}
1168
1169QValueList<EffectiveEvent> DateBookDBHoliday::getEffectiveEventsNoHoliday(const QDateTime &start)
1170{
1171 return DateBookDBHack::getEffectiveEvents(start);
1172}
1173
1174QValueList<EffectiveEvent> DateBookHoliday::getEffectiveEvents(const QDateTime &start)
1175{
1176 return getEffectiveEvents(start.date(),start.date());
1177}
1178
1179QValueList<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
1190QValueList<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
27enum { DAY=1,WEEK,WEEKLST,MONTH }; // defaultView values 29enum { DAY=1,WEEK,WEEKLST,MONTH }; // defaultView values
28enum { NONE=0,NORMAL,EXTENDED }; // WeekLstView's modes. 30enum { NONE=0,NORMAL,EXTENDED }; // WeekLstView's modes.
29 31
30class QAction; 32class QAction;
31class QWidgetStack; 33class QWidgetStack;
32class DateBookDay; 34class DateBookDay;
33class DateBookWeek; 35class DateBookWeek;
34class DateBookWeekLst; 36class DateBookWeekLst;
35class DateBookMonth; 37class DateBookMonth;
36class Event; 38class Event;
37class QDate; 39class QDate;
38class Ir; 40class Ir;
39class QLibrary;
40
41namespace Opie {
42namespace Datebook {
43 class HolidayPlugin;
44 class HolidayPluginIf;
45}
46}
47
48class DateBookDBHack : public DateBookDB {
49 public:
50 Event eventByUID(int id);
51};
52
53class DateBookHoliday
54{
55public:
56 DateBookHoliday();
57 virtual ~DateBookHoliday();
58
59 QStringList holidaylist(const QDate&);
60 QStringList holidaylist(unsigned year, unsigned month, unsigned day);
61protected:
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
73class DateBook : public QMainWindow 42class DateBook : public QMainWindow
74{ 43{
75 Q_OBJECT 44 Q_OBJECT
76 45
77public: 46public:
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
82signals: 51signals:
83 void newEvent(); 52 void newEvent();
@@ -128,25 +97,25 @@ private slots:
128 void beamDone( Ir *ir ); 97 void beamDone( Ir *ir );
129 98
130private: 99private:
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
139private: 108private:
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}
219void DateBookDayViewQuickLineEdit::finallyCallClose() { 220void DateBookDayViewQuickLineEdit::finallyCallClose() {
220 close(true); // also deletes this widget... 221 close(true); // also deletes this widget...
221} 222}
222 223
223void DateBookDayViewQuickLineEdit::focusOutEvent ( QFocusEvent* /* e */) 224void 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
230DateBookDay::DateBookDay( bool ampm, bool startOnMonday, DateBookDB *newDb, DateBookHoliday*newHdb, QWidget *parent, const char *name ) 231DateBookDay::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
33class DateBookDayHeader; 34class DateBookDayHeader;
34class DateBookDB; 35class DateBookDB;
36class DateBookDBHoliday;
35class DatebookdayAllday; 37class DatebookdayAllday;
36class QDateTime; 38class QDateTime;
37class QMouseEvent; 39class QMouseEvent;
38class QPaintEvent; 40class QPaintEvent;
39class QResizeEvent; 41class QResizeEvent;
40 42
41class DateBookDayViewQuickLineEdit : public QLineEdit 43class DateBookDayViewQuickLineEdit : public QLineEdit
42{ 44{
43 Q_OBJECT 45 Q_OBJECT
44public: 46public:
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);
46protected: 48protected:
@@ -171,25 +173,25 @@ class WidgetListClass : public QList<DateBookDayWidget>
171 } 173 }
172 } 174 }
173 175
174 176
175}; 177};
176 178
177class DateBookDay : public QVBox 179class 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
182public: 184public:
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:
216private slots: 218private 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
220private: 222private:
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 */
22DatebookdayAllday::DatebookdayAllday(DateBookDB* db, QWidget* parent, const char* name, WFlags ) 22DatebookdayAllday::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
105DatebookAlldayDisp::DatebookAlldayDisp(const QString&aholiday,QWidget* parent,const char* name, WFlags fl) 106DatebookAlldayDisp::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("<"),"&#60;"); 110 strDesc = strDesc.replace(QRegExp("<"),"&#60;");
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
124DatebookAlldayDisp::~DatebookAlldayDisp() 130DatebookAlldayDisp::~DatebookAlldayDisp()
125{ 131{
126} 132}
127 133
128void DatebookAlldayDisp::beam_single_event() 134void 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
9namespace Opie {
10namespace Datebook {
11 class HolidayPlugin;
12 class HolidayPluginIf;
13}
14}
15
16class QLibrary;
17
18class DateBookDBHack : virtual public DateBookDB {
19 public:
20 virtual ~DateBookDBHack(){}
21 Event eventByUID(int id);
22};
23
24class DateBookHoliday
25{
26public:
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
35protected:
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
47class DateBookDBHoliday:virtual public DateBookDBHack {
48public:
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
335void DateBookWeekView::setStartOfWeek( bool bStartOnMonday ) 336void DateBookWeekView::setStartOfWeek( bool bStartOnMonday )
336{ 337{
337 bOnMonday = bStartOnMonday; 338 bOnMonday = bStartOnMonday;
338 initNames(); 339 initNames();
339} 340}
340 341
341//------------------------------------------------------------------- 342//-------------------------------------------------------------------
342 343
343DateBookWeek::DateBookWeek( bool ap, bool startOnMonday, DateBookDB *newDB, 344DateBookWeek::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
30class DateBookDB; 30class DateBookDB;
31class DateBookDBHoliday;
31class DateBookWeekHeader; 32class DateBookWeekHeader;
32class QDate; 33class QDate;
33class QLabel; 34class QLabel;
34class QResizeEvent; 35class QResizeEvent;
35class QSpinBox; 36class QSpinBox;
36class QTimer; 37class QTimer;
37class QHeader; 38class QHeader;
38 39
39class DateBookWeekItem 40class DateBookWeekItem
40{ 41{
41public: 42public:
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
98class DateBookWeek : public QWidget 99class DateBookWeek : public QWidget
99{ 100{
100 Q_OBJECT 101 Q_OBJECT
101 102
102public: 103public:
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
114public slots: 115public 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
165bool calcWeek( const QDate &d, int &week, int &year, bool startOnMonday = false ); 166bool 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
320DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, 321DateBookWeekLst::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
384void DateBookWeekLst::getEvents() { 385void 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
15class QDateTime; 15class QDateTime;
16class DateBookDB; 16class DateBookDB;
17class DateBookDBHoliday;
17 18
18class DateBookWeekLstHeader: public DateBookWeekLstHeaderBase 19class DateBookWeekLstHeader: public DateBookWeekLstHeaderBase
19{ 20{
20 Q_OBJECT 21 Q_OBJECT
21public: 22public:
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
27public slots: 28public 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
128class DateBookWeekLst : public QWidget 129class DateBookWeekLst : public QWidget
129{ 130{
130 Q_OBJECT 131 Q_OBJECT
131 132
132public: 133public:
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
143public slots: 144public 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
151signals: 152signals:
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
160private: 161private:
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();