File indexing completed on 2024-05-12 05:36:17
0001 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0002 // SPDX-FileCopyrightText: 2020 Tomaz Canabrava <tcanabrava@kde.org> 0003 0004 #pragma once 0005 0006 #include "batterymodel.h" 0007 0008 #include <KQuickConfigModule> 0009 #include <KSharedConfig> 0010 #include <memory> 0011 0012 class MobilePower : public KQuickConfigModule 0013 { 0014 Q_OBJECT 0015 Q_PROPERTY(BatteryModel *batteries READ batteries CONSTANT) 0016 Q_PROPERTY(int dimScreenIdx READ dimScreenIdx WRITE setDimScreenIdx NOTIFY dimScreenIdxChanged) 0017 Q_PROPERTY(int screenOffIdx READ screenOffIdx WRITE setScreenOffIdx NOTIFY screenOffIdxChanged) 0018 Q_PROPERTY(int suspendSessionIdx READ suspendSessionIdx WRITE setSuspendSessionIdx NOTIFY suspendSessionIdxChanged) 0019 0020 public: 0021 MobilePower(QObject *parent, const KPluginMetaData &metaData); 0022 0023 Q_INVOKABLE QStringList timeOptions() const; 0024 0025 void setDimScreenIdx(int idx); 0026 void setScreenOffIdx(int idx); 0027 void setSuspendSessionIdx(int idx); 0028 int dimScreenIdx(); 0029 int screenOffIdx(); 0030 int suspendSessionIdx(); 0031 0032 BatteryModel *batteries(); 0033 0034 Q_SIGNAL void dimScreenIdxChanged(); 0035 Q_SIGNAL void screenOffIdxChanged(); 0036 Q_SIGNAL void suspendSessionIdxChanged(); 0037 0038 QString stringForValue(int value); 0039 0040 void load() override; 0041 void save() override; 0042 0043 private: 0044 BatteryModel *m_batteries; 0045 KSharedConfig::Ptr m_profilesConfig; 0046 0047 int m_suspendSessionTime; 0048 int m_dimScreenTime; 0049 bool m_dimScreen; 0050 int m_screenOffTime; 0051 bool m_screenOff; 0052 };