shift-shell/initialstart/modules/prepare/prepareutil.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

47 lines
1.1 KiB
C
Raw Normal View History

// SPDX-FileCopyrightText: 2023 by Devin Lin <devin@kde.org>
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <QDBusServiceWatcher>
#include <QObject>
#include <kscreen/config.h>
2023-11-09 07:22:14 +00:00
#include "colorssettings.h"
class PrepareUtil : public QObject
{
Q_OBJECT
Q_PROPERTY(int scaling READ scaling WRITE setScaling NOTIFY scalingChanged);
Q_PROPERTY(QStringList scalingOptions READ scalingOptions CONSTANT);
2023-11-09 07:22:14 +00:00
Q_PROPERTY(bool usingDarkTheme READ usingDarkTheme WRITE setUsingDarkTheme NOTIFY usingDarkThemeChanged)
public:
PrepareUtil(QObject *parent = nullptr);
int scaling() const;
void setScaling(int scaling);
QStringList scalingOptions();
2023-11-09 07:22:14 +00:00
bool usingDarkTheme() const;
void setUsingDarkTheme(bool usingDarkTheme);
Q_SIGNALS:
void scalingChanged();
2023-11-09 07:22:14 +00:00
void usingDarkThemeChanged();
private:
void initKScreen(std::function<void()> callback);
void setScalingInternal(int scaling);
int m_scaling;
2023-11-09 07:22:14 +00:00
bool m_usingDarkTheme;
int m_output{0};
2023-11-09 07:22:14 +00:00
ColorsSettings *m_colorsSettings;
KScreen::ConfigPtr m_config;
};