Compare commits
13 Commits
a477fb2e22
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 82518006c3 | |||
| 9cefdf509c | |||
| 27924aca37 | |||
| b4716d25c0 | |||
| d8f047dbc9 | |||
| 91b50b312d | |||
| 3e933a8b78 | |||
| e127928126 | |||
| 94f2cf076c | |||
| 9168b6e893 | |||
| 6586cc2788 | |||
| 0be98a64ac | |||
| d246ba1800 |
@@ -69,14 +69,17 @@ Item {
|
||||
root.singleGestureTriggered = false;
|
||||
}
|
||||
onCentroidChanged: {
|
||||
if (root.singleGestureTriggered)
|
||||
return;
|
||||
|
||||
const x = centroid.position.x;
|
||||
const y = centroid.position.y;
|
||||
const dragX = x - centroid.pressPosition.x;
|
||||
const dragY = y - centroid.pressPosition.y;
|
||||
|
||||
if (centroid.pressPosition.y >= root.screen.height - Config.barConfig.border && dragY < -200)
|
||||
root.visibilities.launcher = true;
|
||||
|
||||
if (root.singleGestureTriggered)
|
||||
return;
|
||||
|
||||
if (centroid.pressPosition.y < root.bar.implicitHeight) {
|
||||
if (dragY > 20) {
|
||||
root.visibilities.settings = true;
|
||||
|
||||
+11
-59
@@ -2,12 +2,13 @@ pragma Singleton
|
||||
|
||||
import Quickshell
|
||||
import QtQuick
|
||||
import ZShell.Services
|
||||
import qs.Config
|
||||
|
||||
Singleton {
|
||||
id: root
|
||||
|
||||
property bool enabled
|
||||
readonly property bool enabled: service.enabled
|
||||
readonly property int end: Config.general.color.scheduleHyprsunsetEnd
|
||||
property bool manualToggle: false
|
||||
readonly property int start: Config.general.color.scheduleHyprsunsetStart
|
||||
@@ -17,69 +18,20 @@ Singleton {
|
||||
if (!Config.general.color.scheduleHyprsunset)
|
||||
return;
|
||||
|
||||
var now = new Date();
|
||||
if (now.getHours() >= root.start || now.getHours() < root.end) {
|
||||
root.startNightLight(root.temp);
|
||||
} else {
|
||||
root.stopNightLight();
|
||||
}
|
||||
}
|
||||
|
||||
function startNightLight(temp: int): void {
|
||||
Quickshell.execDetached(["hyprctl", "hyprsunset", "temperature", `${temp}`]);
|
||||
root.enabled = true;
|
||||
}
|
||||
|
||||
function stopNightLight(): void {
|
||||
Quickshell.execDetached(["hyprctl", "hyprsunset", "identity"]);
|
||||
root.enabled = false;
|
||||
service.apply();
|
||||
}
|
||||
|
||||
function toggleNightLight(): void {
|
||||
if (enabled)
|
||||
stopNightLight();
|
||||
else
|
||||
startNightLight(temp);
|
||||
service.manualToggle = true;
|
||||
service.toggle();
|
||||
}
|
||||
|
||||
onManualToggleChanged: {
|
||||
if (root.manualToggle)
|
||||
manualTimer.start();
|
||||
}
|
||||
HyprsunsetManager {
|
||||
id: service
|
||||
|
||||
Timer {
|
||||
id: manualTimer
|
||||
|
||||
interval: 60000 * 60
|
||||
repeat: false
|
||||
running: false
|
||||
|
||||
onTriggered: {
|
||||
root.manualToggle = false;
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
interval: 5000
|
||||
repeat: true
|
||||
running: true
|
||||
triggeredOnStart: true
|
||||
|
||||
onTriggered: {
|
||||
if (!Config.general.color.scheduleHyprsunset)
|
||||
return;
|
||||
|
||||
if (root.manualToggle)
|
||||
return;
|
||||
|
||||
var now = new Date();
|
||||
if (now.getHours() >= root.start || now.getHours() < root.end) {
|
||||
if (!root.enabled)
|
||||
root.startNightLight(root.temp);
|
||||
} else {
|
||||
if (root.enabled)
|
||||
root.stopNightLight();
|
||||
}
|
||||
}
|
||||
activeAuto: Config.general.color.scheduleHyprsunset
|
||||
endTime: root.end
|
||||
startTime: root.start
|
||||
temp: root.temp
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ CustomRect {
|
||||
|
||||
anchors.centerIn: parent
|
||||
color: root.visibilities.dashboard ? DynamicColors.palette.m3onPrimary : DynamicColors.palette.m3onSurface
|
||||
font: Appearance.font.family.mono
|
||||
font: Appearance.font.family.mono // qmllint disable incompatible-type
|
||||
text: Time.dateStr
|
||||
|
||||
Behavior on color {
|
||||
|
||||
@@ -28,8 +28,6 @@ Item {
|
||||
|
||||
spacing: 1
|
||||
|
||||
Component.onCompleted: console.log(Battery.isLaptop)
|
||||
|
||||
CustomRect {
|
||||
id: track
|
||||
|
||||
|
||||
@@ -18,13 +18,13 @@ public:
|
||||
explicit BlobGroup(QObject* parent = nullptr);
|
||||
~BlobGroup() override;
|
||||
|
||||
qreal smoothing() const {
|
||||
[[nodiscard]] qreal smoothing() const {
|
||||
return m_smoothing;
|
||||
}
|
||||
|
||||
void setSmoothing(qreal s);
|
||||
|
||||
QColor color() const {
|
||||
[[nodiscard]] QColor color() const {
|
||||
return m_color;
|
||||
}
|
||||
|
||||
@@ -36,11 +36,11 @@ void removeShape(BlobShape* shape);
|
||||
void setInvertedRect(BlobInvertedRect* rect);
|
||||
void clearInvertedRect(BlobInvertedRect* rect);
|
||||
|
||||
const QList<BlobShape*>& shapes() const {
|
||||
[[nodiscard]] const QList<BlobShape*>& shapes() const {
|
||||
return m_shapes;
|
||||
}
|
||||
|
||||
BlobInvertedRect* invertedRect() const {
|
||||
[[nodiscard]] BlobInvertedRect* invertedRect() const {
|
||||
return m_invertedRect;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,25 +16,25 @@ public:
|
||||
explicit BlobInvertedRect(QQuickItem* parent = nullptr);
|
||||
~BlobInvertedRect() override;
|
||||
|
||||
qreal borderLeft() const {
|
||||
[[nodiscard]] qreal borderLeft() const {
|
||||
return m_borderLeft;
|
||||
}
|
||||
|
||||
void setBorderLeft(qreal v);
|
||||
|
||||
qreal borderRight() const {
|
||||
[[nodiscard]] qreal borderRight() const {
|
||||
return m_borderRight;
|
||||
}
|
||||
|
||||
void setBorderRight(qreal v);
|
||||
|
||||
qreal borderTop() const {
|
||||
[[nodiscard]] qreal borderTop() const {
|
||||
return m_borderTop;
|
||||
}
|
||||
|
||||
void setBorderTop(qreal v);
|
||||
|
||||
qreal borderBottom() const {
|
||||
[[nodiscard]] qreal borderBottom() const {
|
||||
return m_borderBottom;
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ void borderTopChanged();
|
||||
void borderBottomChanged();
|
||||
|
||||
protected:
|
||||
bool isInvertedRect() const override {
|
||||
[[nodiscard]] bool isInvertedRect() const override {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@ struct BlobRectData {
|
||||
|
||||
class BlobMaterial : public QSGMaterial {
|
||||
public:
|
||||
QSGMaterialType* type() const override;
|
||||
QSGMaterialShader* createShader(QSGRendererInterface::RenderMode) const override;
|
||||
[[nodiscard]] QSGMaterialType* type() const override;
|
||||
[[nodiscard]] QSGMaterialShader* createShader(QSGRendererInterface::RenderMode) const override;
|
||||
int compare(const QSGMaterial* other) const override;
|
||||
|
||||
float m_paddedX = 0;
|
||||
|
||||
@@ -24,7 +24,7 @@ public:
|
||||
explicit BlobRect(QQuickItem* parent = nullptr);
|
||||
~BlobRect() override;
|
||||
|
||||
qreal stiffness() const {
|
||||
[[nodiscard]] qreal stiffness() const {
|
||||
return m_stiffness;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ void setStiffness(qreal s) {
|
||||
}
|
||||
}
|
||||
|
||||
qreal damping() const {
|
||||
[[nodiscard]] qreal damping() const {
|
||||
return m_damping;
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ void setDamping(qreal d) {
|
||||
}
|
||||
}
|
||||
|
||||
qreal deformScale() const {
|
||||
[[nodiscard]] qreal deformScale() const {
|
||||
return m_deformScale;
|
||||
}
|
||||
|
||||
@@ -62,25 +62,25 @@ QQmlListProperty<BlobRect> exclude();
|
||||
bool isExcluded(const BlobShape* other) const override;
|
||||
void cornerRadii(float out[4]) const override;
|
||||
|
||||
qreal topLeftRadius() const {
|
||||
[[nodiscard]] qreal topLeftRadius() const {
|
||||
return m_topLeftRadius;
|
||||
}
|
||||
|
||||
void setTopLeftRadius(qreal r);
|
||||
|
||||
qreal topRightRadius() const {
|
||||
[[nodiscard]] qreal topRightRadius() const {
|
||||
return m_topRightRadius;
|
||||
}
|
||||
|
||||
void setTopRightRadius(qreal r);
|
||||
|
||||
qreal bottomLeftRadius() const {
|
||||
[[nodiscard]] qreal bottomLeftRadius() const {
|
||||
return m_bottomLeftRadius;
|
||||
}
|
||||
|
||||
void setBottomLeftRadius(qreal r);
|
||||
|
||||
qreal bottomRightRadius() const {
|
||||
[[nodiscard]] qreal bottomRightRadius() const {
|
||||
return m_bottomRightRadius;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,23 +21,23 @@ public:
|
||||
explicit BlobShape(QQuickItem* parent = nullptr);
|
||||
~BlobShape() override = default;
|
||||
|
||||
BlobGroup* group() const {
|
||||
[[nodiscard]] BlobGroup* group() const {
|
||||
return m_group;
|
||||
}
|
||||
|
||||
void setGroup(BlobGroup* g);
|
||||
|
||||
qreal radius() const {
|
||||
[[nodiscard]] qreal radius() const {
|
||||
return m_radius;
|
||||
}
|
||||
|
||||
void setRadius(qreal r);
|
||||
|
||||
QMatrix4x4 deformMatrix() const {
|
||||
[[nodiscard]] QMatrix4x4 deformMatrix() const {
|
||||
return m_centeredDeformMatrix;
|
||||
}
|
||||
|
||||
QMatrix4x4 rawDeformMatrix() const {
|
||||
[[nodiscard]] QMatrix4x4 rawDeformMatrix() const {
|
||||
return m_deformMatrix;
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ void geometryChange(const QRectF& newGeometry, const QRectF& oldGeometry) overri
|
||||
void updatePolish() override;
|
||||
QSGNode* updatePaintNode(QSGNode* oldNode, UpdatePaintNodeData*) override;
|
||||
|
||||
virtual bool isInvertedRect() const {
|
||||
[[nodiscard]] virtual bool isInvertedRect() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -72,10 +72,9 @@ void updateCenteredDeformMatrix();
|
||||
|
||||
BlobGroup* m_group = nullptr;
|
||||
qreal m_radius = 0;
|
||||
QMatrix4x4 m_deformMatrix; // identity by default
|
||||
QMatrix4x4 m_deformMatrix;
|
||||
QMatrix4x4 m_centeredDeformMatrix;
|
||||
|
||||
// Cached data from updatePolish
|
||||
float m_cachedPaddedX = 0;
|
||||
float m_cachedPaddedY = 0;
|
||||
float m_cachedPaddedW = 0;
|
||||
|
||||
@@ -58,4 +58,4 @@ qreal m_sweepAngle = 1.5 * M_PI;
|
||||
qreal m_lineWidth = 10.0;
|
||||
};
|
||||
|
||||
} // namespace ZShell::internal
|
||||
} // namespace ZShell::Internal
|
||||
|
||||
@@ -19,7 +19,8 @@ class CachingImageManager : public QObject {
|
||||
public:
|
||||
explicit CachingImageManager(QObject* parent = nullptr)
|
||||
: QObject(parent)
|
||||
, m_item(nullptr) {}
|
||||
, m_item(nullptr) {
|
||||
}
|
||||
|
||||
[[nodiscard]] QQuickItem* item() const;
|
||||
void setItem(QQuickItem* item);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <qeasingcurve.h>
|
||||
#include <qobject.h>
|
||||
#include <qqmlintegration.h>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <qabstractitemmodel.h>
|
||||
#include <qdir.h>
|
||||
#include <qfilesystemwatcher.h>
|
||||
@@ -85,9 +86,9 @@ public:
|
||||
|
||||
explicit FileSystemModel(QObject* parent = nullptr);
|
||||
|
||||
int rowCount(const QModelIndex& parent = QModelIndex()) const override;
|
||||
QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
[[nodiscard]] int rowCount(const QModelIndex& parent = QModelIndex()) const override;
|
||||
[[nodiscard]] QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
|
||||
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
[[nodiscard]] QString path() const;
|
||||
void setPath(const QString& path);
|
||||
|
||||
@@ -9,6 +9,7 @@ qml_module(ZShell-services
|
||||
cavaprovider.hpp cavaprovider.cpp
|
||||
desktopmodel.hpp desktopmodel.cpp
|
||||
desktopstatemanager.hpp desktopstatemanager.cpp
|
||||
hyprsunsetmanager.hpp hyprsunsetmanager.cpp
|
||||
LIBRARIES
|
||||
Qt6::Core
|
||||
Qt6::Qml
|
||||
|
||||
@@ -59,7 +59,7 @@ quint32 readChunk(double* out, quint32 count = 0);
|
||||
|
||||
private:
|
||||
explicit AudioCollector(QObject* parent = nullptr);
|
||||
~AudioCollector();
|
||||
~AudioCollector() override;
|
||||
|
||||
std::jthread m_thread;
|
||||
std::vector<float> m_buffer1;
|
||||
|
||||
@@ -11,11 +11,10 @@ Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit AudioProcessor(QObject* parent = nullptr);
|
||||
~AudioProcessor();
|
||||
~AudioProcessor() override;
|
||||
|
||||
void init();
|
||||
|
||||
public slots:
|
||||
void start();
|
||||
void stop();
|
||||
|
||||
@@ -31,7 +30,7 @@ Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit AudioProvider(QObject* parent = nullptr);
|
||||
~AudioProvider();
|
||||
~AudioProvider() override;
|
||||
|
||||
protected:
|
||||
AudioProcessor* m_processor;
|
||||
|
||||
@@ -11,7 +11,7 @@ Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit BeatProcessor(QObject* parent = nullptr);
|
||||
~BeatProcessor();
|
||||
~BeatProcessor() override;
|
||||
|
||||
signals:
|
||||
void beat(smpl_t bpm);
|
||||
|
||||
@@ -11,7 +11,7 @@ Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit CavaProcessor(QObject* parent = nullptr);
|
||||
~CavaProcessor();
|
||||
~CavaProcessor() override;
|
||||
|
||||
void setBars(int bars);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <QList>
|
||||
#include <QString>
|
||||
#include <QQmlEngine>
|
||||
#include <cstdint>
|
||||
|
||||
namespace ZShell::services {
|
||||
|
||||
@@ -30,9 +31,9 @@ enum DesktopRoles {
|
||||
|
||||
explicit DesktopModel(QObject *parent = nullptr);
|
||||
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
[[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||
[[nodiscard]] QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
Q_INVOKABLE void loadDirectory(const QString &path);
|
||||
Q_INVOKABLE void moveIcon(int index, int newX, int newY);
|
||||
@@ -43,4 +44,4 @@ QList<DesktopItem> m_items;
|
||||
void saveCurrentLayout();
|
||||
};
|
||||
|
||||
} // namespace ZShell::services
|
||||
} // namespace ZShell::Services
|
||||
|
||||
@@ -18,7 +18,7 @@ Q_INVOKABLE void saveLayout(const QVariantMap& layout);
|
||||
Q_INVOKABLE QVariantMap getLayout();
|
||||
|
||||
private:
|
||||
QString getConfigFilePath() const;
|
||||
[[nodiscard]] QString getConfigFilePath() const;
|
||||
};
|
||||
|
||||
} // namespace ZShell::services
|
||||
|
||||
@@ -0,0 +1,147 @@
|
||||
#include "hyprsunsetmanager.hpp"
|
||||
#include <qlogging.h>
|
||||
#include <qobject.h>
|
||||
#include <qprocess.h>
|
||||
#include <qtimer.h>
|
||||
|
||||
namespace ZShell::services {
|
||||
|
||||
HyprsunsetManager::HyprsunsetManager(QObject* parent) : QObject(parent) {
|
||||
connect(&m_timer, &QTimer::timeout, this, &HyprsunsetManager::apply);
|
||||
connect(&m_manualTimer, &QTimer::timeout, this, [this] {
|
||||
m_manualToggle = false;
|
||||
emit manualToggleChanged();
|
||||
apply();
|
||||
});
|
||||
connect(&m_startCooldown, &QTimer::timeout, this, [this] {
|
||||
m_startAllowed = true;
|
||||
apply();
|
||||
});
|
||||
|
||||
m_startCooldown.start(2000);
|
||||
m_manualTimer.setSingleShot(true);
|
||||
m_timer.start(60000);
|
||||
|
||||
m_process.setStandardInputFile(QProcess::nullDevice());
|
||||
m_process.setStandardOutputFile(QProcess::nullDevice());
|
||||
}
|
||||
|
||||
int HyprsunsetManager::startTime() const {
|
||||
return m_startTime;
|
||||
}
|
||||
|
||||
int HyprsunsetManager::endTime() const {
|
||||
return m_endTime;
|
||||
}
|
||||
|
||||
bool HyprsunsetManager::manualToggle() const {
|
||||
return m_manualToggle;
|
||||
}
|
||||
|
||||
bool HyprsunsetManager::enabled() const {
|
||||
return m_enabled;
|
||||
}
|
||||
|
||||
bool HyprsunsetManager::activeAuto() const {
|
||||
return m_activeAuto;
|
||||
}
|
||||
|
||||
int HyprsunsetManager::temp() const {
|
||||
return m_temp;
|
||||
}
|
||||
|
||||
void HyprsunsetManager::setActiveAuto(bool activeAuto) {
|
||||
if (activeAuto == m_activeAuto)
|
||||
return;
|
||||
|
||||
m_activeAuto = activeAuto;
|
||||
emit activeAutoChanged();
|
||||
}
|
||||
|
||||
void HyprsunsetManager::setManualToggle(bool toggle) {
|
||||
if (toggle == m_manualToggle)
|
||||
return;
|
||||
|
||||
m_manualToggle = toggle;
|
||||
emit manualToggleChanged();
|
||||
|
||||
m_manualTimer.start(60 * 60 * 1000);
|
||||
}
|
||||
|
||||
void HyprsunsetManager::setEndTime(const int& time) {
|
||||
if (time == m_endTime)
|
||||
return;
|
||||
|
||||
m_endTime = time;
|
||||
emit endTimeChanged();
|
||||
apply();
|
||||
}
|
||||
|
||||
void HyprsunsetManager::setStartTime(const int& time) {
|
||||
if (time == m_startTime)
|
||||
return;
|
||||
|
||||
m_startTime = time;
|
||||
emit startTimeChanged();
|
||||
apply();
|
||||
}
|
||||
|
||||
void HyprsunsetManager::setTemp(const int& temp) {
|
||||
if (temp == m_temp)
|
||||
return;
|
||||
|
||||
m_temp = temp;
|
||||
emit tempChanged();
|
||||
apply();
|
||||
}
|
||||
|
||||
void HyprsunsetManager::toggle() {
|
||||
if (m_enabled) {
|
||||
end();
|
||||
} else {
|
||||
start();
|
||||
}
|
||||
}
|
||||
|
||||
void HyprsunsetManager::start() {
|
||||
if (m_enabled && m_initialized)
|
||||
return;
|
||||
|
||||
m_initialized = true;
|
||||
m_enabled = true;
|
||||
|
||||
emit enabledChanged();
|
||||
|
||||
m_process.setProgram("hyprctl");
|
||||
m_process.setArguments({"hyprsunset", "temperature", QString::number(m_temp)});
|
||||
m_process.startDetached();
|
||||
}
|
||||
|
||||
void HyprsunsetManager::end() {
|
||||
if (!m_enabled && m_initialized)
|
||||
return;
|
||||
|
||||
m_initialized = true;
|
||||
m_enabled = false;
|
||||
|
||||
emit enabledChanged();
|
||||
|
||||
m_process.setProgram("hyprctl");
|
||||
m_process.setArguments({"hyprsunset", "identity"});
|
||||
m_process.startDetached();
|
||||
}
|
||||
|
||||
void HyprsunsetManager::apply() {
|
||||
if (m_manualToggle || !m_activeAuto || !m_startAllowed)
|
||||
return;
|
||||
|
||||
const auto current = QTime::currentTime().hour();
|
||||
|
||||
if (current >= m_startTime || current < m_endTime) {
|
||||
start();
|
||||
} else {
|
||||
end();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,66 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QTime>
|
||||
#include <QProcess>
|
||||
#include <QTimer>
|
||||
#include <qqmlintegration.h>
|
||||
#include <qtmetamacros.h>
|
||||
|
||||
namespace ZShell::services {
|
||||
|
||||
class HyprsunsetManager : public QObject {
|
||||
Q_OBJECT
|
||||
QML_ELEMENT
|
||||
Q_PROPERTY(bool enabled READ enabled NOTIFY enabledChanged)
|
||||
Q_PROPERTY(int startTime READ startTime WRITE setStartTime NOTIFY startTimeChanged)
|
||||
Q_PROPERTY(int endTime READ endTime WRITE setEndTime NOTIFY endTimeChanged)
|
||||
Q_PROPERTY(int temp READ temp WRITE setTemp NOTIFY tempChanged)
|
||||
Q_PROPERTY(bool activeAuto READ activeAuto WRITE setActiveAuto NOTIFY activeAutoChanged)
|
||||
Q_PROPERTY(bool manualToggle READ manualToggle WRITE setManualToggle NOTIFY manualToggleChanged)
|
||||
|
||||
public:
|
||||
explicit HyprsunsetManager(QObject* parent = nullptr);
|
||||
|
||||
[[nodiscard]] int startTime() const;
|
||||
[[nodiscard]] int endTime() const;
|
||||
[[nodiscard]] bool enabled() const;
|
||||
[[nodiscard]] int temp() const;
|
||||
[[nodiscard]] bool activeAuto() const;
|
||||
[[nodiscard]] bool manualToggle() const;
|
||||
|
||||
Q_INVOKABLE void toggle();
|
||||
Q_INVOKABLE void apply();
|
||||
|
||||
void setStartTime(const int& time);
|
||||
void setEndTime(const int& time);
|
||||
void setTemp(const int& temp);
|
||||
void setActiveAuto(bool activeAuto);
|
||||
void setManualToggle(bool toggle);
|
||||
|
||||
signals:
|
||||
void enabledChanged();
|
||||
void startTimeChanged();
|
||||
void activeAutoChanged();
|
||||
void endTimeChanged();
|
||||
void tempChanged();
|
||||
void manualToggleChanged();
|
||||
|
||||
private:
|
||||
int m_startTime;
|
||||
int m_endTime;
|
||||
bool m_enabled = false;
|
||||
bool m_manualToggle = false;
|
||||
bool m_activeAuto;
|
||||
bool m_startAllowed = false;
|
||||
bool m_initialized = false;
|
||||
QTimer m_startCooldown;
|
||||
int m_temp;
|
||||
QProcess m_process;
|
||||
QTimer m_timer;
|
||||
QTimer m_manualTimer;
|
||||
void start();
|
||||
void end();
|
||||
};
|
||||
|
||||
};
|
||||
@@ -13,7 +13,7 @@ QML_SINGLETON
|
||||
public:
|
||||
explicit Qalculator(QObject* parent = nullptr);
|
||||
|
||||
Q_INVOKABLE QString eval(const QString& expr, bool printExpr = true) const;
|
||||
Q_INVOKABLE [[nodiscard]] QString eval(const QString& expr, bool printExpr = true) const;
|
||||
};
|
||||
|
||||
} // namespace ZShell
|
||||
|
||||
@@ -29,9 +29,9 @@ Q_INVOKABLE void cacheImage(const QUrl& source, const QString& cacheDir, QJSValu
|
||||
Q_INVOKABLE void cacheImage(const QUrl& source, const QString& cacheDir, QJSValue onSaved, QJSValue onFailed);
|
||||
// clang-format on
|
||||
|
||||
Q_INVOKABLE bool copyFile(const QUrl& source, const QUrl& target, bool overwrite = true) const;
|
||||
Q_INVOKABLE bool deleteFile(const QUrl& path) const;
|
||||
Q_INVOKABLE QString toLocalFile(const QUrl& url) const;
|
||||
Q_INVOKABLE [[nodiscard]] bool copyFile(const QUrl& source, const QUrl& target, bool overwrite = true) const;
|
||||
Q_INVOKABLE [[nodiscard]] bool deleteFile(const QUrl& path) const;
|
||||
Q_INVOKABLE [[nodiscard]] QString toLocalFile(const QUrl& url) const;
|
||||
|
||||
private:
|
||||
bool loadSourceImage(const QUrl& source, QImage& image) const;
|
||||
|
||||
Reference in New Issue
Block a user