summaryrefslogtreecommitdiff
path: root/library/datebookmonth.h
Unidiff
Diffstat (limited to 'library/datebookmonth.h') (more/less context) (ignore whitespace changes)
-rw-r--r--library/datebookmonth.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/library/datebookmonth.h b/library/datebookmonth.h
index a7647ae..3c57c19 100644
--- a/library/datebookmonth.h
+++ b/library/datebookmonth.h
@@ -1,211 +1,213 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
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#ifndef DATEBOOKMONTH 20#ifndef DATEBOOKMONTH
21#define DATEBOOKMONTH 21#define DATEBOOKMONTH
22 22
23#include <qpe/event.h> 23#include <qtopia/private/event.h>
24 24
25#include <qvbox.h> 25#include <qvbox.h>
26#include <qhbox.h> 26#include <qhbox.h>
27#include <qdatetime.h> 27#include <qdatetime.h>
28#include <qvaluelist.h> 28#include <qvaluelist.h>
29#include <qtable.h> 29#include <qtable.h>
30#include <qpushbutton.h> 30#include <qpushbutton.h>
31 31
32#include "calendar.h" 32#include "calendar.h"
33#include "timestring.h" 33#include "timestring.h"
34 34
35class QToolButton; 35class QToolButton;
36class QComboBox; 36class QComboBox;
37class QSpinBox; 37class QSpinBox;
38class Event; 38class Event;
39class DateBookDB; 39class DateBookDB;
40 40
41class DateBookMonthHeaderPrivate; 41class DateBookMonthHeaderPrivate;
42class DateBookMonthHeader : public QHBox 42class DateBookMonthHeader : public QHBox
43{ 43{
44 Q_OBJECT 44 Q_OBJECT
45 45
46public: 46public:
47 DateBookMonthHeader( QWidget *parent = 0, const char *name = 0 ); 47 DateBookMonthHeader( QWidget *parent = 0, const char *name = 0 );
48 ~DateBookMonthHeader(); 48 ~DateBookMonthHeader();
49 void setDate( int year, int month ); 49 void setDate( int year, int month );
50 50
51signals: 51signals:
52 void dateChanged( int year, int month ); 52 void dateChanged( int year, int month );
53 53
54protected slots: 54protected slots:
55 void keyPressEvent(QKeyEvent *e ) { 55 void keyPressEvent(QKeyEvent *e ) {
56 e->ignore(); 56 e->ignore();
57 } 57 }
58 58
59private slots: 59private slots:
60 void updateDate(); 60 void updateDate();
61 void firstMonth(); 61 void firstMonth();
62 void lastMonth(); 62 void lastMonth();
63 void monthBack(); 63 void monthBack();
64 void monthForward(); 64 void monthForward();
65 65
66private: 66private:
67 QToolButton *begin, *back, *next, *end; 67 QToolButton *begin, *back, *next, *end;
68 QComboBox *month; 68 QComboBox *month;
69 QSpinBox *year; 69 QSpinBox *year;
70 DateBookMonthHeaderPrivate *d; 70 DateBookMonthHeaderPrivate *d;
71 int focus; 71 int focus;
72}; 72};
73 73
74class DayItemMonthPrivate; 74class DayItemMonthPrivate;
75class DayItemMonth : public QTableItem 75class DayItemMonth : public QTableItem
76{ 76{
77public: 77public:
78 DayItemMonth( QTable *table, EditType et, const QString &t ); 78 DayItemMonth( QTable *table, EditType et, const QString &t );
79 ~DayItemMonth(); 79 ~DayItemMonth();
80 void paint( QPainter *p, const QColorGroup &cg, const QRect &cr, bool selected ); 80 void paint( QPainter *p, const QColorGroup &cg, const QRect &cr, bool selected );
81 void setDay( int d ) { dy = d; } 81 void setDay( int d ) { dy = d; }
82 void setEvents( const QValueList<Event> &events ) { daysEvents = events; }; 82 void setEvents( const QValueList<Event> &events ) { daysEvents = events; };
83 void setEvents( const QValueList<EffectiveEvent> &effEvents ); 83 void setEvents( const QValueList<EffectiveEvent> &effEvents );
84 void clearEvents() { daysEvents.clear(); }; 84 void clearEvents() { daysEvents.clear(); };
85 void clearEffEvents(); 85 void clearEffEvents();
86 int day() const { return dy; } 86 int day() const { return dy; }
87 void setType( Calendar::Day::Type t ); 87 void setType( Calendar::Day::Type t );
88 Calendar::Day::Type type() const { return typ; } 88 Calendar::Day::Type type() const { return typ; }
89 89
90private: 90private:
91 QBrush back; 91 QBrush back;
92 QColor forg; 92 QColor forg;
93 int dy; 93 int dy;
94 Calendar::Day::Type typ; 94 Calendar::Day::Type typ;
95 QValueList<Event> daysEvents; // not used anymore... 95 QValueList<Event> daysEvents; // not used anymore...
96 DayItemMonthPrivate *d; 96 DayItemMonthPrivate *d;
97}; 97};
98 98
99class DateBookMonthTablePrivate; 99class DateBookMonthTablePrivate;
100class DateBookMonthTable : public QTable 100class DateBookMonthTable : public QTable
101{ 101{
102 Q_OBJECT 102 Q_OBJECT
103 103
104public: 104public:
105 DateBookMonthTable( QWidget *parent = 0, const char *name = 0, 105 DateBookMonthTable( QWidget *parent = 0, const char *name = 0,
106 DateBookDB *newDb = 0 ); 106 DateBookDB *newDb = 0 );
107 ~DateBookMonthTable(); 107 ~DateBookMonthTable();
108 void setDate( int y, int m, int d ); 108 void setDate( int y, int m, int d );
109 void redraw(); 109 void redraw();
110 110
111 QSize minimumSizeHint() const { return sizeHint(); } 111 QSize minimumSizeHint() const { return sizeHint(); }
112 QSize minimumSize() const { return sizeHint(); } 112 QSize minimumSize() const { return sizeHint(); }
113 void getDate( int& y, int &m, int &d ) const {y=selYear;m=selMonth;d=selDay;} 113 void getDate( int& y, int &m, int &d ) const {y=selYear;m=selMonth;d=selDay;}
114 void setWeekStart( bool onMonday ); 114 void setWeekStart( bool onMonday );
115signals: 115signals:
116 void dateClicked( int year, int month, int day ); 116 void dateClicked( int year, int month, int day );
117 117
118protected: 118protected:
119 void viewportMouseReleaseEvent( QMouseEvent * ); 119 void viewportMouseReleaseEvent( QMouseEvent * );
120 120
121protected slots: 121protected slots:
122 122
123 void keyPressEvent(QKeyEvent *e ) { 123 void keyPressEvent(QKeyEvent *e ) {
124 e->ignore(); 124 e->ignore();
125 } 125 }
126 126
127private slots: 127private slots:
128 void dayClicked( int row, int col ); 128 void dayClicked( int row, int col );
129 void dragDay( int row, int col ); 129 void dragDay( int row, int col );
130 130
131private: 131private:
132 void setupTable(); 132 void setupTable();
133 void setupLabels(); 133 void setupLabels();
134 134
135 void findDay( int day, int &row, int &col ); 135 void findDay( int day, int &row, int &col );
136 void getEvents(); 136 void getEvents();
137 void changeDaySelection( int row, int col ); 137 void changeDaySelection( int row, int col );
138 138
139 int year, month, day; 139 int year, month, day;
140 int selYear, selMonth, selDay; 140 int selYear, selMonth, selDay;
141 QValueList<Event> monthsEvents; // not used anymore... 141 QValueList<Event> monthsEvents; // not used anymore...
142 DateBookDB *db; 142 DateBookDB *db;
143 DateBookMonthTablePrivate *d; 143 DateBookMonthTablePrivate *d;
144}; 144};
145 145
146class DateBookMonthPrivate; 146class DateBookMonthPrivate;
147class DateBookMonth : public QVBox 147class DateBookMonth : public QVBox
148{ 148{
149 Q_OBJECT 149 Q_OBJECT
150 150
151public: 151public:
152 DateBookMonth( QWidget *parent = 0, const char *name = 0, bool ac = FALSE, 152 DateBookMonth( QWidget *parent = 0, const char *name = 0, bool ac = FALSE,
153 DateBookDB *data = 0 ); 153 DateBookDB *data = 0 );
154 ~DateBookMonth(); 154 ~DateBookMonth();
155 QDate selectedDate() const; 155 QDate selectedDate() const;
156 156
157signals: 157signals:
158 void dateClicked( int year, int month, int day ); 158 void dateClicked( int year, int month, int day );
159 159
160public slots: 160public slots:
161 void setDate( int y, int m ); 161 void setDate( int y, int m );
162 void setDate( int y, int m, int d ); 162 void setDate( int y, int m, int d );
163 void setDate( QDate ); 163 void setDate( QDate );
164 void redraw(); 164 void redraw();
165 void slotWeekChange( bool ); 165 void slotWeekChange( bool );
166 166
167protected slots: 167protected slots:
168 virtual void keyPressEvent(QKeyEvent *e); 168 virtual void keyPressEvent(QKeyEvent *e);
169 169
170private slots: 170private slots:
171 void forwardDateClicked( int y, int m, int d ) { emit dateClicked( y, m, d ); } 171 void forwardDateClicked( int y, int m, int d ) { emit dateClicked( y, m, d ); }
172 void finalDate(int, int, int); 172 void finalDate(int, int, int);
173 173
174private: 174private:
175 DateBookMonthHeader *header; 175 DateBookMonthHeader *header;
176 DateBookMonthTable *table; 176 DateBookMonthTable *table;
177 int year, month, day; 177 int year, month, day;
178 bool autoClose; 178 bool autoClose;
179 class DateBookMonthPrivate *d; 179 class DateBookMonthPrivate *d;
180}; 180};
181 181
182class DateButton : public QPushButton 182class DateButton : public QPushButton
183{ 183{
184 Q_OBJECT 184 Q_OBJECT
185 185
186public: 186public:
187 DateButton( bool longDate, QWidget *parent, const char * name = 0 ); 187 DateButton( bool longDate, QWidget *parent, const char * name = 0 );
188 QDate date() const { return currDate; } 188 QDate date() const { return currDate; }
189 189
190 bool customWhatsThis() const;
191
190signals: 192signals:
191 void dateSelected( int year, int month, int day ); 193 void dateSelected( int year, int month, int day );
192 194
193public slots: 195public slots:
194 void setDate( int y, int m, int d ); 196 void setDate( int y, int m, int d );
195 void setDate( QDate ); 197 void setDate( QDate );
196 void setWeekStartsMonday( int ); 198 void setWeekStartsMonday( int );
197 void setDateFormat( DateFormat ); 199 void setDateFormat( DateFormat );
198 200
199private slots: 201private slots:
200 void pickDate(); 202 void pickDate();
201 void gotHide(); 203 void gotHide();
202 204
203private: 205private:
204 bool longFormat; 206 bool longFormat;
205 bool weekStartsMonday; 207 bool weekStartsMonday;
206 QDate currDate; 208 QDate currDate;
207 DateFormat df; 209 DateFormat df;
208}; 210};
209 211
210 212
211#endif 213#endif