File indexing completed on 2024-04-28 04:40:43

0001 /*
0002 ​ *  SPDX-FileCopyrightText: 2020 Nicolas Fella <nicolas.fella@gmx.de>
0003 ​ *  SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
0004 ​ *
0005 ​ *  SPDX-License-Identifier: LGPL-2.0-or-later
0006 ​ */
0007 
0008 #ifndef KIRIGAMIADDONSDATEANDTIME_ANDROIDINTEGRATION_H
0009 #define KIRIGAMIADDONSDATEANDTIME_ANDROIDINTEGRATION_H
0010 
0011 #include "kirigamidateandtime_export.h"
0012 
0013 #include <QDateTime>
0014 #include <QObject>
0015 
0016 namespace KirigamiAddonsDateAndTime {
0017 
0018 /** Interface to native Android date/time pickers.
0019  *  @internal
0020  */
0021 class KIRIGAMIDATEANDTIME_EXPORT AndroidIntegration : public QObject
0022 {
0023     Q_OBJECT
0024 public:
0025     Q_INVOKABLE void showDatePicker(qint64 initialDate);
0026     Q_INVOKABLE void showTimePicker(qint64 initialTime);
0027 
0028     void _timeSelected(int hours, int minutes);
0029     void _timeCancelled();
0030 
0031     static AndroidIntegration &instance();
0032 
0033 Q_SIGNALS:
0034     void datePickerFinished(bool accepted, const QDateTime &date);
0035     void timePickerFinished(bool accepted, const QDateTime &time);
0036 
0037 private:
0038     static AndroidIntegration *s_instance;
0039 };
0040 
0041 }
0042 
0043 #endif // KIRIGAMIADDONSDATEANDTIME_ANDROIDINTEGRATION_H