plugins/nightlight: De-duplicate dbus code
This commit is contained in:
parent
1b1af29de9
commit
1dee66a36c
1 changed files with 38 additions and 128 deletions
|
@ -3,6 +3,7 @@
|
|||
This file is part of the KDE project.
|
||||
|
||||
SPDX-FileCopyrightText: 2017 Roman Gilg <subdiff@gmail.com>
|
||||
SPDX-FileCopyrightText: 2024 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
@ -16,6 +17,23 @@
|
|||
namespace KWin
|
||||
{
|
||||
|
||||
static void announceChangedProperties(const QVariantMap &properties)
|
||||
{
|
||||
QDBusMessage message = QDBusMessage::createSignal(
|
||||
QStringLiteral("/org/kde/KWin/NightLight"),
|
||||
QStringLiteral("org.freedesktop.DBus.Properties"),
|
||||
QStringLiteral("PropertiesChanged")
|
||||
);
|
||||
|
||||
message.setArguments({
|
||||
QStringLiteral("org.kde.KWin.NightLight"),
|
||||
properties,
|
||||
QStringList(), // invalidated_properties
|
||||
});
|
||||
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
}
|
||||
|
||||
NightLightDBusInterface::NightLightDBusInterface(NightLightManager *parent)
|
||||
: QObject(parent)
|
||||
, m_manager(parent)
|
||||
|
@ -27,167 +45,59 @@ NightLightDBusInterface::NightLightDBusInterface(NightLightManager *parent)
|
|||
this, &NightLightDBusInterface::removeInhibitorService);
|
||||
|
||||
connect(m_manager, &NightLightManager::inhibitedChanged, this, [this] {
|
||||
QVariantMap changedProperties;
|
||||
changedProperties.insert(QStringLiteral("inhibited"), m_manager->isInhibited());
|
||||
|
||||
QDBusMessage message = QDBusMessage::createSignal(
|
||||
QStringLiteral("/org/kde/KWin/NightLight"),
|
||||
QStringLiteral("org.freedesktop.DBus.Properties"),
|
||||
QStringLiteral("PropertiesChanged"));
|
||||
|
||||
message.setArguments({
|
||||
QStringLiteral("org.kde.KWin.NightLight"),
|
||||
changedProperties,
|
||||
QStringList(), // invalidated_properties
|
||||
announceChangedProperties({
|
||||
{QStringLiteral("inhibited"), m_manager->isInhibited()},
|
||||
});
|
||||
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
});
|
||||
|
||||
connect(m_manager, &NightLightManager::enabledChanged, this, [this] {
|
||||
QVariantMap changedProperties;
|
||||
changedProperties.insert(QStringLiteral("enabled"), m_manager->isEnabled());
|
||||
|
||||
QDBusMessage message = QDBusMessage::createSignal(
|
||||
QStringLiteral("/org/kde/KWin/NightLight"),
|
||||
QStringLiteral("org.freedesktop.DBus.Properties"),
|
||||
QStringLiteral("PropertiesChanged"));
|
||||
|
||||
message.setArguments({
|
||||
QStringLiteral("org.kde.KWin.NightLight"),
|
||||
changedProperties,
|
||||
QStringList(), // invalidated_properties
|
||||
announceChangedProperties({
|
||||
{QStringLiteral("enabled"), m_manager->isEnabled()},
|
||||
});
|
||||
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
});
|
||||
|
||||
connect(m_manager, &NightLightManager::runningChanged, this, [this] {
|
||||
QVariantMap changedProperties;
|
||||
changedProperties.insert(QStringLiteral("running"), m_manager->isRunning());
|
||||
|
||||
QDBusMessage message = QDBusMessage::createSignal(
|
||||
QStringLiteral("/org/kde/KWin/NightLight"),
|
||||
QStringLiteral("org.freedesktop.DBus.Properties"),
|
||||
QStringLiteral("PropertiesChanged"));
|
||||
|
||||
message.setArguments({
|
||||
QStringLiteral("org.kde.KWin.NightLight"),
|
||||
changedProperties,
|
||||
QStringList(), // invalidated_properties
|
||||
announceChangedProperties({
|
||||
{QStringLiteral("running"), m_manager->isRunning()},
|
||||
});
|
||||
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
});
|
||||
|
||||
connect(m_manager, &NightLightManager::currentTemperatureChanged, this, [this] {
|
||||
QVariantMap changedProperties;
|
||||
changedProperties.insert(QStringLiteral("currentTemperature"), m_manager->currentTemperature());
|
||||
|
||||
QDBusMessage message = QDBusMessage::createSignal(
|
||||
QStringLiteral("/org/kde/KWin/NightLight"),
|
||||
QStringLiteral("org.freedesktop.DBus.Properties"),
|
||||
QStringLiteral("PropertiesChanged"));
|
||||
|
||||
message.setArguments({
|
||||
QStringLiteral("org.kde.KWin.NightLight"),
|
||||
changedProperties,
|
||||
QStringList(), // invalidated_properties
|
||||
announceChangedProperties({
|
||||
{QStringLiteral("currentTemperature"), m_manager->currentTemperature()},
|
||||
});
|
||||
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
});
|
||||
|
||||
connect(m_manager, &NightLightManager::targetTemperatureChanged, this, [this] {
|
||||
QVariantMap changedProperties;
|
||||
changedProperties.insert(QStringLiteral("targetTemperature"), m_manager->targetTemperature());
|
||||
|
||||
QDBusMessage message = QDBusMessage::createSignal(
|
||||
QStringLiteral("/org/kde/KWin/NightLight"),
|
||||
QStringLiteral("org.freedesktop.DBus.Properties"),
|
||||
QStringLiteral("PropertiesChanged"));
|
||||
|
||||
message.setArguments({
|
||||
QStringLiteral("org.kde.KWin.NightLight"),
|
||||
changedProperties,
|
||||
QStringList(), // invalidated_properties
|
||||
announceChangedProperties({
|
||||
{QStringLiteral("targetTemperature"), m_manager->targetTemperature()},
|
||||
});
|
||||
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
});
|
||||
|
||||
connect(m_manager, &NightLightManager::modeChanged, this, [this] {
|
||||
QVariantMap changedProperties;
|
||||
changedProperties.insert(QStringLiteral("mode"), uint(m_manager->mode()));
|
||||
|
||||
QDBusMessage message = QDBusMessage::createSignal(
|
||||
QStringLiteral("/org/kde/KWin/NightLight"),
|
||||
QStringLiteral("org.freedesktop.DBus.Properties"),
|
||||
QStringLiteral("PropertiesChanged"));
|
||||
|
||||
message.setArguments({
|
||||
QStringLiteral("org.kde.KWin.NightLight"),
|
||||
changedProperties,
|
||||
QStringList(), // invalidated_properties
|
||||
announceChangedProperties({
|
||||
{QStringLiteral("mode"), uint(m_manager->mode())},
|
||||
});
|
||||
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
});
|
||||
|
||||
connect(m_manager, &NightLightManager::daylightChanged, this, [this] {
|
||||
QVariantMap changedProperties;
|
||||
changedProperties.insert(QStringLiteral("daylight"), uint(m_manager->daylight()));
|
||||
|
||||
QDBusMessage message = QDBusMessage::createSignal(
|
||||
QStringLiteral("/org/kde/KWin/NightLight"),
|
||||
QStringLiteral("org.freedesktop.DBus.Properties"),
|
||||
QStringLiteral("PropertiesChanged"));
|
||||
|
||||
message.setArguments({
|
||||
QStringLiteral("org.kde.KWin.NightLight"),
|
||||
changedProperties,
|
||||
QStringList(), // invalidated_properties
|
||||
announceChangedProperties({
|
||||
{QStringLiteral("daylight"), uint(m_manager->daylight())},
|
||||
});
|
||||
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
});
|
||||
|
||||
connect(m_manager, &NightLightManager::previousTransitionTimingsChanged, this, [this] {
|
||||
QVariantMap changedProperties;
|
||||
changedProperties.insert(QStringLiteral("previousTransitionDateTime"), previousTransitionDateTime());
|
||||
changedProperties.insert(QStringLiteral("previousTransitionDuration"), previousTransitionDuration());
|
||||
|
||||
QDBusMessage message = QDBusMessage::createSignal(
|
||||
QStringLiteral("/org/kde/KWin/NightLight"),
|
||||
QStringLiteral("org.freedesktop.DBus.Properties"),
|
||||
QStringLiteral("PropertiesChanged"));
|
||||
|
||||
message.setArguments({
|
||||
QStringLiteral("org.kde.KWin.NightLight"),
|
||||
changedProperties,
|
||||
QStringList(), // invalidated_properties
|
||||
announceChangedProperties({
|
||||
{QStringLiteral("previousTransitionDateTime"), previousTransitionDateTime()},
|
||||
{QStringLiteral("previousTransitionDuration"), previousTransitionDuration()},
|
||||
});
|
||||
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
});
|
||||
|
||||
connect(m_manager, &NightLightManager::scheduledTransitionTimingsChanged, this, [this] {
|
||||
QVariantMap changedProperties;
|
||||
changedProperties.insert(QStringLiteral("scheduledTransitionDateTime"), scheduledTransitionDateTime());
|
||||
changedProperties.insert(QStringLiteral("scheduledTransitionDuration"), scheduledTransitionDuration());
|
||||
|
||||
QDBusMessage message = QDBusMessage::createSignal(
|
||||
QStringLiteral("/org/kde/KWin/NightLight"),
|
||||
QStringLiteral("org.freedesktop.DBus.Properties"),
|
||||
QStringLiteral("PropertiesChanged"));
|
||||
|
||||
message.setArguments({
|
||||
QStringLiteral("org.kde.KWin.NightLight"),
|
||||
changedProperties,
|
||||
QStringList(), // invalidated_properties
|
||||
announceChangedProperties({
|
||||
{QStringLiteral("scheduledTransitionDateTime"), scheduledTransitionDateTime()},
|
||||
{QStringLiteral("scheduledTransitionDuration"), scheduledTransitionDuration()},
|
||||
});
|
||||
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
});
|
||||
|
||||
new NightLightAdaptor(this);
|
||||
|
|
Loading…
Reference in a new issue