QDate QtopiaInputDialog::getDate(QWidget *parent, const QString &title, const QString &label, const QDate &date, const QDate &minDate, const QDate &maxDate, bool *ok) { #ifdef CALENDAR_FOR_DATE QCalendarWidget *cal = new QCalendarWidget(); cal->setSelectedDate(date); cal->setMinimumDate(minDate); cal->setMaximumDate(maxDate); cal->setVerticalHeaderFormat(QCalendarWidget::NoVerticalHeader); QTextCharFormat headerFormat = cal->headerTextFormat(); headerFormat.setBackground(QApplication::palette().window()); headerFormat.setForeground(QApplication::palette().windowText()); cal->setHeaderTextFormat(headerFormat); QWidget *navBar = cal->findChild<QWidget*>("qt_calendar_navigationbar"); if (navBar) navBar->setBackgroundRole(QPalette::Window); QtopiaInputDialog dlg(parent, title, label, cal); bool accepted = (QtopiaApplication::execDialog(&dlg) == QDialog::Accepted); if (ok) *ok = accepted; return cal->selectedDate(); #else QDateEdit *de = new QDateEdit(date); de->setMinimumDate(minDate); de->setMaximumDate(maxDate); QtopiaInputDialog dlg(parent, title, label, de); bool accepted = (QtopiaApplication::execDialog(&dlg) == QDialog::Accepted); if (ok) *ok = accepted; return de->date(); #endif }
int main(int argc, char **argv) { QApplication app(argc, argv); QCalendarWidget calendar; calendar.setSelectedDate(calendar.selectedDate().addDays(3)); calendar.setGridVisible(true); calendar.show(); QCalendarWidget calendarMin; calendarMin.setMinimumDate(calendarMin.selectedDate().addDays(-7)); calendarMin.setGridVisible(true); calendarMin.show(); QCalendarWidget calendarMax; calendarMax.setMaximumDate(calendarMax.selectedDate().addDays(7)); calendarMax.setGridVisible(true); calendarMax.show(); return app.exec(); }