File indexing completed on 2024-04-21 15:05:24

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 }