File indexing completed on 2024-04-14 05:43:45
0001 /* 0002 * SPDX-FileCopyrightText: 2020 David Barchiesi <david@barchie.si> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 #include "settingscontroller.h" 0008 #include "alarmchecker.h" 0009 #include <KConfig> 0010 #include <KConfigGroup> 0011 0012 class SettingsController::Private 0013 { 0014 public: 0015 Private() 0016 : config("kongressrc") 0017 {}; 0018 KConfig config; 0019 }; 0020 0021 SettingsController::SettingsController(QObject *parent) 0022 : QObject {parent}, d {new Private}, m_alarm_checker {new AlarmChecker {this}} 0023 { 0024 } 0025 0026 QObject *SettingsController::qmlInstance(QQmlEngine *engine, QJSEngine *scriptEngine) 0027 { 0028 Q_UNUSED(engine); 0029 Q_UNUSED(scriptEngine); 0030 0031 return new SettingsController; 0032 } 0033 0034 bool SettingsController::displayInLocalTimezone() const 0035 { 0036 return d->config.group("general").readEntry("displayInLocalTimezone", false); 0037 } 0038 0039 void SettingsController::setDisplayInLocalTimezone(const bool displayInLocalTimezone) 0040 { 0041 d->config.group("general").writeEntry("displayInLocalTimezone", displayInLocalTimezone); 0042 d->config.sync(); 0043 0044 Q_EMIT displayInLocalTimezoneChanged(); 0045 } 0046 0047 bool SettingsController::remindFavorites() const 0048 { 0049 return d->config.group("notifications").readEntry("remindFavorites", true); 0050 } 0051 0052 void SettingsController::setRemindFavorites(const bool remind) 0053 { 0054 d->config.group("notifications").writeEntry("remindFavorites", remind); 0055 d->config.sync(); 0056 0057 Q_EMIT remindFavoritesChanged(); 0058 } 0059 0060 int SettingsController::remindBeforeStart() const 0061 { 0062 return d->config.group("notifications").readEntry("remindBeforeStart", 5); 0063 } 0064 0065 void SettingsController::setRemindBeforeStart(const int remindBeforeStart) 0066 { 0067 d->config.group("notifications").writeEntry("remindBeforeStart", remindBeforeStart); 0068 d->config.sync(); 0069 0070 Q_EMIT remindBeforeStartChanged(); 0071 } 0072 0073 bool SettingsController::canAddReminder() const 0074 { 0075 if (m_alarm_checker != nullptr) { 0076 return m_alarm_checker->active(); 0077 } 0078 0079 return false; 0080 } 0081 0082 #include "moc_settingscontroller.cpp"