File indexing completed on 2024-04-28 13:44:15
0001 /* 0002 * SPDX-FileCopyrightText: 2020 David Barchiesi <david@barchie.si> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 #ifndef SETTINGS_CONTROLLER_H 0008 #define SETTINGS_CONTROLLER_H 0009 0010 #include <QObject> 0011 #include <QQmlEngine> 0012 0013 class AlarmChecker; 0014 0015 class SettingsController : public QObject 0016 { 0017 Q_OBJECT 0018 0019 Q_PROPERTY(bool displayInLocalTimezone READ displayInLocalTimezone WRITE setDisplayInLocalTimezone NOTIFY displayInLocalTimezoneChanged) 0020 Q_PROPERTY(bool remindFavorites READ remindFavorites WRITE setRemindFavorites NOTIFY remindFavoritesChanged) 0021 Q_PROPERTY(int remindBeforeStart READ remindBeforeStart WRITE setRemindBeforeStart NOTIFY remindBeforeStartChanged) 0022 Q_PROPERTY(bool canAddReminder READ canAddReminder NOTIFY canAddReminderChanged) 0023 0024 public: 0025 explicit SettingsController(QObject *parent = nullptr); 0026 0027 static QObject *qmlInstance(QQmlEngine *engine, QJSEngine *scriptEngine); 0028 0029 bool displayInLocalTimezone() const; 0030 void setDisplayInLocalTimezone(const bool displayInLocalTimezone); 0031 0032 bool remindFavorites() const; 0033 void setRemindFavorites(const bool remind); 0034 0035 int remindBeforeStart() const; 0036 void setRemindBeforeStart(const int remindBeforeStart); 0037 0038 bool canAddReminder() const; 0039 0040 Q_SIGNALS: 0041 void displayInLocalTimezoneChanged(); 0042 void remindFavoritesChanged(); 0043 void remindBeforeStartChanged(); 0044 void canAddReminderChanged(); 0045 0046 private: 0047 class Private; 0048 Private *d; 0049 0050 AlarmChecker *m_alarm_checker; 0051 }; 0052 0053 #endif