X-Git-Url: https://git.toastfreeware.priv.at/toast/confclerk.git/blobdiff_plain/6df32f20316aab78c979f50ff17798cc6dd7e9e0..4523005a364fb3d39485daf4bf65d3a2197dd3f3:/src/gui/daynavigatorwidget.h diff --git a/src/gui/daynavigatorwidget.h b/src/gui/daynavigatorwidget.h index 53c9ffa..9277962 100644 --- a/src/gui/daynavigatorwidget.h +++ b/src/gui/daynavigatorwidget.h @@ -1,5 +1,6 @@ /* * Copyright (C) 2010 Ixonos Plc. + * Copyright (C) 2011-2021 Philipp Spitzer, gregor herrmann, Stefan Stahl * * This file is part of ConfClerk. * @@ -23,61 +24,24 @@ #include #include -/*#include */ -/*#include */ - -/*class QFontMetrics;*/ - -/*class VerticalLabel : public QWidget*/ -/*{*/ - -/*public:*/ -/*VerticalLabel(QWidget *aParent = NULL)*/ -/*: QWidget(aParent)*/ -/*, mText("")*/ -/*{*/ -/*mFont = QLabel().font();*/ -/*} */ - -/*void paintEvent(QPaintEvent *)*/ -/*{ */ -/*QPainter p(this);*/ -/*drawRotatedText(&p, 270, width()/2, height()/2, mText);*/ -/*} */ - -/*void drawRotatedText(QPainter *aPainter, qreal aDegrees, int x, int y, const QString &aText)*/ -/*{ */ - -/*aPainter->save();*/ -/*aPainter->setFont(mFont);*/ -/*aPainter->translate(x, y); */ -/*aPainter->rotate(aDegrees);*/ -/*QFontMetrics fm(mFont);*/ -/*QRect r = fm.boundingRect(aText);*/ -/*aPainter->drawText(-r.width()/2, fm.descent()/2, aText);*/ -/*aPainter->restore();*/ -/*} */ - -/*void setText(const QString &aText)*/ -/*{*/ -/*mText = aText;*/ -/*update();*/ -/*}*/ - -/*private:*/ -/*QString mText;*/ -/*QFont mFont;*/ -/*};*/ - -class DayNavigatorWidget : public QWidget, private Ui::DayNavigatorWidget -{ +/** The DayNavigator widget manages three dates, the startDate, curDate and endDate. +Either startDate, curDate and endDate all have to be valid and startDate <= curDate <= endDate, +OR all three dates are invalid (representing "no date range", e.g. no conference). */ +class DayNavigatorWidget : public QWidget, private Ui::DayNavigatorWidget { Q_OBJECT public: DayNavigatorWidget(QWidget *aParent = NULL); ~DayNavigatorWidget() {} void setDates(const QDate &aStartDate, const QDate &aEndDate); + void setCurDate(const QDate& curDate); + QDate startDate() const {return mStartDate;} + QDate curDate() const {return mCurDate;} + QDate endDate() const {return mEndDate;} + void unsetDates(); + virtual QSize minimumSizeHint() const override; protected: - void paintEvent(QPaintEvent *); + virtual void paintEvent(QPaintEvent *) override; + void configureNavigation(); private slots: void prevDayButtonClicked(); void nextDayButtonClicked(); @@ -87,7 +51,6 @@ class DayNavigatorWidget : public QWidget, private Ui::DayNavigatorWidget QDate mStartDate; QDate mEndDate; QDate mCurDate; - QFontMetrics *mFontMetrics; }; #endif /* DAYNAVIGATORWIDGET_H */