kalarm/lib
timespinbox.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef TIMESPINBOX_H
00022 #define TIMESPINBOX_H
00023
00024 #include <qdatetime.h>
00025 #include "spinbox2.h"
00026
00027
00045 class TimeSpinBox : public SpinBox2
00046 {
00047 Q_OBJECT
00048 public:
00055 explicit TimeSpinBox(bool use24hour, QWidget* parent = 0, const char* name = 0);
00062 TimeSpinBox(int minMinute, int maxMinute, QWidget* parent = 0, const char* name = 0);
00066 bool isValid() const;
00071 void setValid(bool);
00075 QTime time() const;
00079 virtual void setMinValue(int minutes);
00083 virtual void setMaxValue(int minutes) { SpinBox2::setMaxValue(minutes); }
00085 void setMaxValue(const QTime& t) { SpinBox2::setMaxValue(t.hour()*60 + t.minute()); }
00087 QTime maxTime() const { int mv = maxValue(); return QTime(mv/60, mv%60); }
00091 static QString shiftWhatsThis();
00092
00093 virtual QSize sizeHint() const;
00094 virtual QSize minimumSizeHint() const;
00095
00096 public slots:
00100 virtual void setValue(int minutes);
00102 void setValue(const QTime& t) { setValue(t.hour()*60 + t.minute()); }
00106 virtual void stepUp();
00110 virtual void stepDown();
00111
00112 protected:
00113 virtual QString mapValueToText(int v);
00114 virtual int mapTextToValue(bool* ok);
00115 private slots:
00116 void slotValueChanged(int value);
00117 private:
00118 class TimeValidator;
00119 TimeValidator* mValidator;
00120 int mMinimumValue;
00121 bool m12Hour;
00122 bool mPm;
00123 bool mInvalid;
00124 bool mEnteredSetValue;
00125 };
00126
00127 #endif // TIMESPINBOX_H
|