File indexing completed on 2025-03-16 05:05:13
0001 /* 0002 SPDX-FileCopyrightText: 2018 Michail Vourlakos <mvourlakos@gmail.com> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef BACKGROUNDTRACKER_H 0007 #define BACKGROUNDTRACKER_H 0008 0009 // Qt 0010 #include <QObject> 0011 0012 // Plasma 0013 #include <Plasma> 0014 0015 namespace Latte{ 0016 0017 class BackgroundTracker: public QObject 0018 { 0019 Q_OBJECT 0020 0021 Q_PROPERTY(bool isBusy READ isBusy NOTIFY isBusyChanged) 0022 0023 Q_PROPERTY(int location READ location WRITE setLocation NOTIFY locationChanged) 0024 0025 Q_PROPERTY(float currentBrightness READ currentBrightness NOTIFY currentBrightnessChanged) 0026 0027 Q_PROPERTY(QString activity READ activity WRITE setActivity NOTIFY activityChanged) 0028 Q_PROPERTY(QString screenName READ screenName WRITE setScreenName NOTIFY screenNameChanged) 0029 0030 public: 0031 BackgroundTracker(QObject *parent = nullptr); 0032 virtual ~BackgroundTracker(); 0033 0034 bool isBusy() const; 0035 0036 int location() const; 0037 void setLocation(int location); 0038 0039 float currentBrightness() const; 0040 0041 QString activity() const; 0042 void setActivity(QString id); 0043 0044 QString screenName() const; 0045 void setScreenName(QString name); 0046 0047 signals: 0048 void activityChanged(); 0049 void currentBrightnessChanged(); 0050 void isBusyChanged(); 0051 void locationChanged(); 0052 void screenNameChanged(); 0053 0054 private slots: 0055 void backgroundChanged(const QString &activity, const QString &screenName); 0056 void update(); 0057 0058 private: 0059 // local 0060 bool m_busy{false}; 0061 float m_brightness{-1000}; 0062 0063 // Qt 0064 QString m_activity; 0065 QString m_screenName; 0066 0067 // Plasma 0068 Plasma::Types::Location m_location{Plasma::Types::BottomEdge}; 0069 0070 }; 0071 0072 } 0073 0074 #endif