File indexing completed on 2025-02-16 13:11:53
0001 /* 0002 SPDX-FileCopyrightText: 2022 g10 Code GmbH 0003 SPDX-FileContributor: Ingo Klöcker <dev@ingo-kloecker.de> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "kdatecombobox.h" 0009 #include <QApplication> 0010 #include <QCommandLineParser> 0011 #include <QDate> 0012 #include <QDebug> 0013 0014 int main(int argc, char **argv) 0015 { 0016 QApplication::setApplicationName(QStringLiteral("test")); 0017 QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true); 0018 QApplication app{argc, argv}; 0019 0020 QCommandLineParser parser; 0021 parser.addHelpOption(); 0022 parser.addOption({QStringLiteral("min-date"), QStringLiteral("Minimum date in ISO 8601 format, e.g. 2020-02-02"), QStringLiteral("min-date")}); 0023 parser.addOption({QStringLiteral("max-date"), QStringLiteral("Maximum date in ISO 8601 format, e.g. 2121-12-12"), QStringLiteral("max-date")}); 0024 parser.process(app.arguments()); 0025 0026 const auto minDate = QDate::fromString(parser.value(QStringLiteral("min-date")), Qt::ISODate); 0027 const auto maxDate = QDate::fromString(parser.value(QStringLiteral("max-date")), Qt::ISODate); 0028 0029 KDateComboBox dateComboBox; 0030 dateComboBox.setOptions(KDateComboBox::EditDate | KDateComboBox::SelectDate | KDateComboBox::DatePicker | KDateComboBox::DateKeywords 0031 | KDateComboBox::WarnOnInvalid); 0032 dateComboBox.setMinimumDate(minDate); 0033 dateComboBox.setMaximumDate(maxDate); 0034 QObject::connect(&dateComboBox, &KDateComboBox::dateEntered, [](const QDate &d) { 0035 qDebug() << "dateEntered" << d; 0036 }); 0037 QObject::connect(&dateComboBox, &KDateComboBox::dateChanged, [](const QDate &d) { 0038 qDebug() << "dateChanged" << d; 0039 }); 0040 QObject::connect(&dateComboBox, &KDateComboBox::dateEdited, [](const QDate &d) { 0041 qDebug() << "dateEdited" << d; 0042 }); 0043 dateComboBox.resize(200, dateComboBox.sizeHint().height()); 0044 dateComboBox.show(); 0045 // dateComboBox.setEnabled(false); 0046 return app.exec(); 0047 }