00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef DATEEDITWIDGET_H
00023 #define DATEEDITWIDGET_H
00024
00025 #include <QtCore/QDate>
00026 #include <QtGui/QLabel>
00027 #include <QtGui/QWidget>
00028
00029 namespace KPIM
00030 {
00031 class KDatePickerPopup;
00032 }
00033
00034 class QContextMenuEvent;
00035 class QToolButton;
00036
00037 class DateView : public QLabel
00038 {
00039 Q_OBJECT
00040
00041 public:
00042 DateView( QWidget *parent = 0 );
00043
00044 Q_SIGNALS:
00045 void resetDate();
00046
00047 protected:
00048 virtual void contextMenuEvent( QContextMenuEvent* );
00049
00050 private Q_SLOTS:
00051 void emitSignal();
00052 };
00053
00054 class DateEditWidget : public QWidget
00055 {
00056 Q_OBJECT
00057
00058 public:
00059 enum Type {
00060 General,
00061 Birthday,
00062 Anniversary
00063 };
00064
00065 explicit DateEditWidget( Type type = General, QWidget *parent = 0 );
00066 ~DateEditWidget();
00067
00068 void setDate( const QDate &date );
00069 QDate date() const;
00070
00071 void setReadOnly( bool readOnly );
00072
00073 private Q_SLOTS:
00074 void dateSelected( const QDate& );
00075 void resetDate();
00076 void updateView();
00077
00078 private:
00079 QDate mDate;
00080 DateView *mView;
00081 QToolButton *mSelectButton;
00082 QToolButton *mClearButton;
00083 KPIM::KDatePickerPopup *mMenu;
00084 bool mReadOnly;
00085 };
00086
00087 #endif