Warning, file /plasma/kde-gtk-config/kded/gsd-xsettings-manager/gsd-xsettings-manager.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2023 Fushan Wen <qydwhotmail@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "gsd-xsettings-manager.h" 0008 0009 #include <QDBusConnection> 0010 #include <QDateTime> 0011 0012 #include "config_editor/settings_ini.h" 0013 #include "gsd_xsettings_manager_adaptor.h" 0014 0015 namespace 0016 { 0017 static constexpr const char *GTK_SETTINGS_DBUS_PATH = "/org/gtk/Settings"; 0018 static constexpr const char *GTK_SETTINGS_DBUS_NAME = "org.gtk.Settings"; 0019 } 0020 0021 GSDXSettingsManager::GSDXSettingsManager(QObject *parent) 0022 : QObject(parent) 0023 { 0024 new GSDXSettingsManagerAdaptor(this); 0025 0026 QDBusConnection dbus = QDBusConnection::sessionBus(); 0027 dbus.registerObject(QString::fromLatin1(GTK_SETTINGS_DBUS_PATH), this); 0028 dbus.registerService(QString::fromLatin1(GTK_SETTINGS_DBUS_NAME)); 0029 } 0030 0031 GSDXSettingsManager::~GSDXSettingsManager() 0032 { 0033 } 0034 0035 void GSDXSettingsManager::modulesChanged() 0036 { 0037 QDBusMessage msg = QDBusMessage::createSignal(QString::fromLatin1(GTK_SETTINGS_DBUS_PATH), 0038 QStringLiteral("org.freedesktop.DBus.Properties"), 0039 QStringLiteral("PropertiesChanged")); 0040 QVariantList args{ 0041 QString::fromLatin1(GTK_SETTINGS_DBUS_NAME), 0042 QVariantMap{{QStringLiteral("Modules"), Modules()}}, 0043 QStringList(), 0044 }; 0045 msg.setArguments(args); 0046 QDBusConnection::sessionBus().send(msg); 0047 } 0048 0049 void GSDXSettingsManager::enableAnimationsChanged() 0050 { 0051 QDBusMessage msg = QDBusMessage::createSignal(QString::fromLatin1(GTK_SETTINGS_DBUS_PATH), 0052 QStringLiteral("org.freedesktop.DBus.Properties"), 0053 QStringLiteral("PropertiesChanged")); 0054 QVariantList args{ 0055 QString::fromLatin1(GTK_SETTINGS_DBUS_NAME), 0056 QVariantMap{{QStringLiteral("EnableAnimations"), EnableAnimations()}}, 0057 QStringList(), 0058 }; 0059 msg.setArguments(args); 0060 QDBusConnection::sessionBus().send(msg); 0061 } 0062 0063 qlonglong GSDXSettingsManager::FontconfigTimestamp() const 0064 { 0065 return QDateTime::currentSecsSinceEpoch(); 0066 } 0067 0068 QString GSDXSettingsManager::Modules() const 0069 { 0070 return SettingsIniEditor::value(QStringLiteral("gtk-modules"), 3); 0071 } 0072 0073 bool GSDXSettingsManager::EnableAnimations() const 0074 { 0075 return SettingsIniEditor::value(QStringLiteral("gtk-enable-animations"), 3) == QLatin1String("true"); 0076 }