#include "daynavigatorwidget.h"
+#include <QPainter>
+#include <QFontMetrics>
+#include <QLabel>
+
#include <QDebug>
DayNavigatorWidget::DayNavigatorWidget(QWidget *aParent)
setupUi(this);
connect(prevDayButton, SIGNAL(clicked()), SLOT(prevDayButtonClicked()));
connect(nextDayButton, SIGNAL(clicked()), SLOT(nextDayButtonClicked()));
+
+ mFontMetrics = new QFontMetrics(QLabel().font());
}
void DayNavigatorWidget::setDates(const QDate &aStartDate, const QDate &aEndDate)
mEndDate = aEndDate;
mCurDate = aStartDate;
- currentDateLabel->setText(mCurDate.toString());
+ QRect rect = mFontMetrics->boundingRect(mCurDate.toString("MMM dd yyyy"));
+ qDebug() << mCurDate.toString();
+
if(mStartDate==mEndDate) // only one day conference
{
prevDayButton->setDisabled(true);
if(mCurDate>mStartDate)
{
mCurDate = mCurDate.addDays(-1);
- currentDateLabel->setText(mCurDate.toString());
// check start date
if(mCurDate==mStartDate || mStartDate==mEndDate)
prevDayButton->setDisabled(true);
nextDayButton->setDisabled(false);
emit(dateChanged(mCurDate));
+ selectedDate->update();
}
}
if(mCurDate<mEndDate)
{
mCurDate = mCurDate.addDays(1);
- currentDateLabel->setText(mCurDate.toString());
// check start date
if(mCurDate==mStartDate || mStartDate==mEndDate)
prevDayButton->setDisabled(true);
nextDayButton->setDisabled(false);
emit(dateChanged(mCurDate));
+ selectedDate->update();
}
}
return mCurDate;
}
+void DayNavigatorWidget::paintEvent(QPaintEvent *aEvent)
+{
+ QString selectedDateStr = mCurDate.toString("MMM dd yyyy");
+
+ QPainter painter(this);
+ painter.save();
+ QRect r = selectedDate->geometry();
+ QRect s = mFontMetrics->boundingRect(selectedDateStr);
+ QPoint p = QPoint(
+ r.x() + r.width()/2 - s.height()/2 - mFontMetrics->descent(),
+ - 130
+ );
+
+ painter.translate(r.width()/2, r.height()/2);
+ painter.rotate(270);
+ painter.drawText(p.y(), p.x(), selectedDateStr); // y,x,string
+ painter.restore();
+}
+