From e006544cf2eb82b503b3ef979a2159b5de93037e Mon Sep 17 00:00:00 2001 From: alwin Date: Sun, 20 Mar 2005 10:51:54 +0000 Subject: maed a straight copy of the origin datebookmonthview class so we can display the holidays inside. needs a little bit finishing I think but it works. --- (limited to 'core/pim/datebook/modules/monthview/odatebookmonth.h') diff --git a/core/pim/datebook/modules/monthview/odatebookmonth.h b/core/pim/datebook/modules/monthview/odatebookmonth.h new file mode 100644 index 0000000..e967abe --- a/dev/null +++ b/core/pim/datebook/modules/monthview/odatebookmonth.h @@ -0,0 +1,132 @@ +/* this is a straight copy of datemonthview. We can not make child of + * it 'cause the origin view isn't virtual in any form. + */ +/********************************************************************** +** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** +** This file is part of the Qtopia Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ +#ifndef ODATEBOOKMONTH +#define ODATEBOOKMONTH + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +class QToolButton; +class QComboBox; +class QSpinBox; +class Event; +class DateBookDB; +class DateBookDBHoliday; + +class ODateBookMonthTablePrivate; +class ODateBookMonthTable : public QTable +{ + Q_OBJECT + +public: + ODateBookMonthTable( QWidget *parent = 0, const char *name = 0, + DateBookDBHoliday *newDb = 0 ); + virtual ~ODateBookMonthTable(); + void setDate( int y, int m, int d ); + void redraw(); + + QSize minimumSizeHint() const { return sizeHint(); } + QSize minimumSize() const { return sizeHint(); } + void getDate( int& y, int &m, int &d ) const {y=selYear;m=selMonth;d=selDay;} + void setWeekStart( bool onMonday ); +signals: + void dateClicked( int year, int month, int day ); + +protected: + virtual void viewportMouseReleaseEvent( QMouseEvent * ); + +protected slots: + + virtual void keyPressEvent(QKeyEvent *e ) { + e->ignore(); + } + +private slots: + void dayClicked( int row, int col ); + void dragDay( int row, int col ); + +private: + void setupTable(); + void setupLabels(); + + void findDay( int day, int &row, int &col ); + void getEvents(); + void changeDaySelection( int row, int col ); + + int year, month, day; + int selYear, selMonth, selDay; + QValueList monthsEvents; // not used anymore... + DateBookDBHoliday *db; + ODateBookMonthTablePrivate *d; +}; + +class ODateBookMonthPrivate; +class ODateBookMonth : public QVBox +{ + Q_OBJECT + +public: + /* ac = Auto Close */ + ODateBookMonth( QWidget *parent = 0, const char *name = 0, bool ac = FALSE, + DateBookDBHoliday *data = 0 ); + virtual ~ODateBookMonth(); + QDate selectedDate() const; + +signals: + /* ### FIXME add a signal with QDate -zecke */ + void dateClicked( int year, int month, int day ); + +public slots: + void setDate( int y, int m ); + void setDate( int y, int m, int d ); + void setDate( QDate ); + void redraw(); + void slotWeekChange( bool ); + +protected slots: + virtual void keyPressEvent(QKeyEvent *e); + +private slots: + void forwardDateClicked( int y, int m, int d ) { emit dateClicked( y, m, d ); } + void finalDate(int, int, int); + +private: + DateBookMonthHeader *header; + ODateBookMonthTable *table; + int year, month, day; + bool autoClose; + class ODateBookMonthPrivate *d; +}; + +#endif -- cgit v0.9.0.2