summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
6c85b24)
TODO: date is not centered between prev/next arrows anymore.
Cf. #29
+* Add "jump to today" button to date navigator.
+ Thanks to Michael Schutte for the patch.
Version 0.5.2, 2011-07-23
* Show close button in conference dialog also if there are no conferences
Version 0.5.2, 2011-07-23
* Show close button in conference dialog also if there are no conferences
setupUi(this);
connect(prevDayButton, SIGNAL(clicked()), SLOT(prevDayButtonClicked()));
connect(nextDayButton, SIGNAL(clicked()), SLOT(nextDayButtonClicked()));
setupUi(this);
connect(prevDayButton, SIGNAL(clicked()), SLOT(prevDayButtonClicked()));
connect(nextDayButton, SIGNAL(clicked()), SLOT(nextDayButtonClicked()));
+ connect(todayButton, SIGNAL(clicked()), SLOT(todayButtonClicked()));
mFontMetrics = new QFontMetrics(QLabel().font());
}
mFontMetrics = new QFontMetrics(QLabel().font());
}
+void DayNavigatorWidget::configureNavigation()
+{
+ // check start date
+ if(mCurDate==mStartDate || mStartDate==mEndDate)
+ prevDayButton->setDisabled(true);
+ else
+ prevDayButton->setDisabled(false);
+ // check end date
+ if(mCurDate==mEndDate || mStartDate==mEndDate)
+ nextDayButton->setDisabled(true);
+ else
+ nextDayButton->setDisabled(false);
+}
+
void DayNavigatorWidget::prevDayButtonClicked()
{
if(mCurDate>mStartDate)
{
mCurDate = mCurDate.addDays(-1);
void DayNavigatorWidget::prevDayButtonClicked()
{
if(mCurDate>mStartDate)
{
mCurDate = mCurDate.addDays(-1);
- // check start date
- if(mCurDate==mStartDate || mStartDate==mEndDate)
- prevDayButton->setDisabled(true);
- else
- prevDayButton->setDisabled(false);
- // check end date
- if(mCurDate==mEndDate || mStartDate==mEndDate)
- nextDayButton->setDisabled(true);
- else
- nextDayButton->setDisabled(false);
-
emit(dateChanged(mCurDate));
selectedDate->update();
}
emit(dateChanged(mCurDate));
selectedDate->update();
}
if(mCurDate<mEndDate)
{
mCurDate = mCurDate.addDays(1);
if(mCurDate<mEndDate)
{
mCurDate = mCurDate.addDays(1);
- // check start date
- if(mCurDate==mStartDate || mStartDate==mEndDate)
- prevDayButton->setDisabled(true);
- else
- prevDayButton->setDisabled(false);
- // check end date
- if(mCurDate==mEndDate || mStartDate==mEndDate)
- nextDayButton->setDisabled(true);
- else
- nextDayButton->setDisabled(false);
+ configureNavigation();
+ emit(dateChanged(mCurDate));
+ selectedDate->update();
+ }
+}
+void DayNavigatorWidget::todayButtonClicked()
+{
+ QDate targetDate = QDate::currentDate();
+ if (targetDate>mStartDate && targetDate<mEndDate)
+ {
+ mCurDate = targetDate;
+ configureNavigation();
emit(dateChanged(mCurDate));
selectedDate->update();
}
emit(dateChanged(mCurDate));
selectedDate->update();
}
void setDates(const QDate &aStartDate, const QDate &aEndDate);
protected:
void paintEvent(QPaintEvent *);
void setDates(const QDate &aStartDate, const QDate &aEndDate);
protected:
void paintEvent(QPaintEvent *);
+ void configureNavigation();
+ void todayButtonClicked();
void prevDayButtonClicked();
void nextDayButtonClicked();
signals:
void prevDayButtonClicked();
void nextDayButtonClicked();
signals:
</property>
</widget>
</item>
</property>
</widget>
</item>
+ <item>
+ <widget class="QToolButton" name="todayButton">
+ <property name="text">
+ <string>...</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../icons.qrc">
+ <normaloff>:/icons/today.png</normaloff>:/icons/today.png</iconset>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
</layout>
</item>
</layout>
</widget>
</layout>
</item>
</layout>
</widget>
+ <resources>
+ <include location="../icons.qrc"/>
+ </resources>
<connections/>
<slots>
<slot>prevDayButtonClicked()</slot>
<slot>nextDayButtonClicked()</slot>
<connections/>
<slots>
<slot>prevDayButtonClicked()</slot>
<slot>nextDayButtonClicked()</slot>
+ <slot>todayButtonClicked()</slot>
<file>icons/emblem-new.png</file>
<file>icons/dialog-warning.png</file>
<file>icons/search.png</file>
<file>icons/emblem-new.png</file>
<file>icons/dialog-warning.png</file>
<file>icons/search.png</file>
+ <file>icons/today.png</file>