summaryrefslogtreecommitdiff
path: root/core/pim/datebook/datebookweeklst.h
authorhakan <hakan>2002-03-09 11:39:21 (UTC)
committer hakan <hakan>2002-03-09 11:39:21 (UTC)
commit603e969bb8cef91534a1785e27106ba71eb03ba6 (patch) (side-by-side diff)
tree20642ed29acb08ab0cecc1dffd1d63baa8914ae2 /core/pim/datebook/datebookweeklst.h
parent3d03d0e3f679578080bbbf7d8b7f9eba1b9560db (diff)
downloadopie-603e969bb8cef91534a1785e27106ba71eb03ba6.zip
opie-603e969bb8cef91534a1785e27106ba71eb03ba6.tar.gz
opie-603e969bb8cef91534a1785e27106ba71eb03ba6.tar.bz2
Added a WeekLst view showing an entire week and appointment descriptions and made default view configurable
Diffstat (limited to 'core/pim/datebook/datebookweeklst.h') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/datebookweeklst.h131
1 files changed, 131 insertions, 0 deletions
diff --git a/core/pim/datebook/datebookweeklst.h b/core/pim/datebook/datebookweeklst.h
new file mode 100644
index 0000000..d2a07cc
--- a/dev/null
+++ b/core/pim/datebook/datebookweeklst.h
@@ -0,0 +1,131 @@
+#ifndef DATEBOOKWEEKLST
+#define DATEBOOKWEEKLST
+
+#include <qwidget.h>
+#include <qdatetime.h>
+#include <qpe/event.h>
+#include <qlabel.h>
+#include <qscrollview.h>
+
+#include "datebookweeklstheader.h"
+#include "datebookweeklstdayhdr.h"
+
+#include "clickablelabel.h"
+
+class QDateTime;
+class DateBookDB;
+
+class DateBookWeekLstHeader: public DateBookWeekLstHeaderBase
+{
+ Q_OBJECT
+public:
+ DateBookWeekLstHeader(bool onM, QWidget* parent = 0, const char* name = 0,
+ WFlags fl = 0 );
+ ~DateBookWeekLstHeader();
+ void setDate(QDate d);
+
+public slots:
+ void nextWeek();
+ void prevWeek();
+ void pickDate();
+ void setDate(int y, int m, int d);
+signals:
+ void dateChanged(int y, int w);
+private:
+ QDate date;
+ bool onMonday;
+};
+
+class DateBookWeekLstDayHdr: public DateBookWeekLstDayHdrBase
+{
+ Q_OBJECT
+public:
+ DateBookWeekLstDayHdr(const QDate &d, bool onM,
+ QWidget* parent = 0, const char* name = 0,
+ WFlags fl = 0 );
+public slots:
+ void showDay();
+ void newEvent();
+signals:
+ void showDate(int y, int m, int d);
+ void addEvent(const QDateTime &start, const QDateTime &stop,
+ const QString &str);
+private:
+ QDate date;
+};
+
+class DateBookWeekLstEvent: public ClickableLabel
+{
+ Q_OBJECT
+public:
+ DateBookWeekLstEvent(const EffectiveEvent &ev,
+ QWidget* parent = 0, const char* name = 0,
+ WFlags fl = 0);
+signals:
+ void editEvent(const Event &e);
+private slots:
+ void editMe();
+private:
+ const EffectiveEvent event;
+};
+
+class DateBookWeekLstView: public QWidget
+{
+ Q_OBJECT
+public:
+ DateBookWeekLstView(QValueList<EffectiveEvent> &ev, QDate &d, bool onM,
+ QWidget* parent = 0, const char* name = 0,
+ WFlags fl = 0 );
+ ~DateBookWeekLstView();
+signals:
+ void editEvent(const Event &e);
+ void showDate(int y, int m, int d);
+ void addEvent(const QDateTime &start, const QDateTime &stop,
+ const QString &str);
+private:
+ bool onMonday;
+protected slots:
+ void keyPressEvent(QKeyEvent *);
+};
+
+class DateBookWeekLst : public QWidget
+{
+ Q_OBJECT
+
+public:
+ DateBookWeekLst( bool ampm, bool onM, DateBookDB *newDB,
+ QWidget *parent = 0,
+ const char *name = 0 );
+ void setDate( int y, int w );
+ void setDate( QDate &d );
+ int week() const { return _week; };
+ QDate date() const;
+
+public slots:
+ void redraw();
+ void dateChanged(int y, int w);
+protected slots:
+ void keyPressEvent(QKeyEvent *);
+
+signals:
+ void showDate(int y, int m, int d);
+ void addEvent(const QDateTime &start, const QDateTime &stop,
+ const QString &str);
+ void editEvent(const Event &e);
+
+private:
+ DateBookDB *db;
+ int startTime;
+ bool ampm;
+ bool onMonday;
+ int year, _week;
+ DateBookWeekLstHeader *header;
+ DateBookWeekLstView *view;
+ QVBoxLayout *layout;
+ QScrollView *scroll;
+
+ void getEvents();
+};
+
+#endif
+