commit:     49fdeb5a63726a9d2a5f267c51b5f5d86ca9010a
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 16:48:01 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed May 15 16:48:01 2019 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=49fdeb5a

kde-plasma/plasma-pa: Drop unused patch

Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/plasma-pa-5.15.4-gsettings.patch         | 622 ---------------------
 1 file changed, 622 deletions(-)

diff --git a/kde-plasma/plasma-pa/files/plasma-pa-5.15.4-gsettings.patch 
b/kde-plasma/plasma-pa/files/plasma-pa-5.15.4-gsettings.patch
deleted file mode 100644
index 5ecb0ea216..0000000000
--- a/kde-plasma/plasma-pa/files/plasma-pa-5.15.4-gsettings.patch
+++ /dev/null
@@ -1,622 +0,0 @@
-From c6f41bea3371e6e1948a99ac64d5882d76d9c66e Mon Sep 17 00:00:00 2001
-From: Nicolas Fella <nicolas.fe...@gmx.de>
-Date: Sun, 31 Mar 2019 16:19:55 +0200
-Subject: [PATCH] Port from GConf to GSettings
-
-Summary:
-CCBUG: 386665
-
-As discussed in bug 386665 GConf is deprecated and needs to be replaced by 
GSettings to keep features enabled.
-
-Question: Do we need GConf as a fallback for PA versions without 
module-gsettings?
-
-Test Plan:
-Checkboxes in Advanced tab are enabled again.
-Changed settings are shown in dconf-editor and vice versa.
-Combine output checkbox shows/hides combined sink in applet
-
-Reviewers: drosca, davidedmundson
-
-Reviewed By: drosca
-
-Subscribers: pino, lbeltrame, evpokp, rikmills, broulik, asturmlechner, 
plasma-devel
-
-Tags: #plasma
-
-Differential Revision: https://phabricator.kde.org/D14147
----
- CMakeLists.txt                           | 15 ++--
- cmake/FindGIO.cmake                      | 72 +++++++++++++++++++
- config.h.cmake                           |  3 +-
- src/CMakeLists.txt                       | 18 ++++-
- src/gsettingsitem.cpp                    | 91 ++++++++++++++++++++++++
- src/gsettingsitem.h                      | 59 +++++++++++++++
- src/kcm/package/contents/ui/Advanced.qml |  8 +--
- src/modulemanager.cpp                    | 79 +++++++++++++-------
- src/modulemanager.h                      | 14 ++--
- 9 files changed, 315 insertions(+), 44 deletions(-)
- create mode 100644 cmake/FindGIO.cmake
- create mode 100644 src/gsettingsitem.cpp
- create mode 100644 src/gsettingsitem.h
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9973ef7..d33dc1d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -20,11 +20,6 @@ include(KDECompilerSettings NO_POLICY_SCOPE)
- include(ECMOptionalAddSubdirectory)
- 
- include(FindPkgConfig)
--pkg_check_modules(GCONF gconf-2.0)
--pkg_check_modules(GOBJECT gobject-2.0)
--if (GCONF_FOUND AND GOBJECT_FOUND)
--    set(HAVE_GCONF TRUE)
--endif()
- 
- find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS
-     Core
-@@ -45,6 +40,16 @@ find_package(PulseAudio 5.0.0 REQUIRED)
- find_package(Canberra REQUIRED)
- find_package(GLIB2 REQUIRED)
- 
-+option(USE_GCONF "Use legacy GConf instead of GSettings")
-+
-+pkg_check_modules(GOBJECT gobject-2.0 REQUIRED)
-+if(USE_GCONF)
-+    pkg_check_modules(GCONF gconf-2.0 REQUIRED)
-+else()
-+    find_package(GIO REQUIRED)
-+    set(USE_GSETTINGS True)
-+endif()
-+
- find_package(CanberraPulse)
- set_package_properties(CanberraPulse PROPERTIES
-     DESCRIPTION "Pulseaudio backend for libcanberra"
-diff --git a/cmake/FindGIO.cmake b/cmake/FindGIO.cmake
-new file mode 100644
-index 0000000..827c243
---- /dev/null
-+++ b/cmake/FindGIO.cmake
-@@ -0,0 +1,72 @@
-+# - Try to find the GIO libraries
-+# Once done this will define
-+#
-+#  GIO_FOUND - system has GIO
-+#  GIO_INCLUDE_DIR - the GIO include directory
-+#  GIO_LIBRARIES - GIO library
-+#
-+# Copyright (c) 2010 Dario Freddi <d...@kde.org>
-+#
-+# Redistribution and use is allowed according to the terms of the BSD license.
-+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-+
-+if(GIO_INCLUDE_DIR AND GIO_LIBRARIES)
-+    # Already in cache, be silent
-+    set(GIO_FIND_QUIETLY TRUE)
-+endif(GIO_INCLUDE_DIR AND GIO_LIBRARIES)
-+
-+if (NOT WIN32)
-+    include(UsePkgConfig)
-+    pkgconfig(gio-2.0 _LibGIOIncDir _LibGIOLinkDir _LibGIOLinkFlags 
_LibGIOCflags)
-+endif(NOT WIN32)
-+
-+MESSAGE(STATUS "gio include dir: ${_LibGIOIncDir}")
-+
-+# first try without default paths to respect PKG_CONFIG_PATH
-+
-+find_path(GIO_MAIN_INCLUDE_DIR glib.h
-+        PATH_SUFFIXES glib-2.0
-+        PATHS ${_LibGIOIncDir}
-+        NO_DEFAULT_PATH)
-+
-+find_path(GIO_MAIN_INCLUDE_DIR glib.h
-+        PATH_SUFFIXES glib-2.0
-+        PATHS ${_LibGIOIncDir} )
-+
-+MESSAGE(STATUS "found gio main include dir: ${GIO_MAIN_INCLUDE_DIR}")
-+
-+# search the glibconfig.h include dir under the same root where the library 
is found
-+find_library(GIO_LIBRARIES
-+        NAMES gio-2.0
-+        PATHS ${_LibGIOLinkDir}
-+        NO_DEFAULT_PATH)
-+
-+find_library(GIO_LIBRARIES
-+        NAMES gio-2.0
-+        PATHS ${_LibGIOLinkDir})
-+
-+
-+get_filename_component(GIOLibDir "${GIO_LIBRARIES}" PATH)
-+
-+find_path(GIO_INTERNAL_INCLUDE_DIR glibconfig.h
-+        PATH_SUFFIXES glib-2.0/include
-+        PATHS ${_LibGIOIncDir} "${GIOLibDir}" ${CMAKE_SYSTEM_LIBRARY_PATH}
-+        NO_DEFAULT_PATH)
-+
-+find_path(GIO_INTERNAL_INCLUDE_DIR glibconfig.h
-+        PATH_SUFFIXES glib-2.0/include
-+        PATHS ${_LibGIOIncDir} "${GIOLibDir}" ${CMAKE_SYSTEM_LIBRARY_PATH})
-+
-+set(GIO_INCLUDE_DIR "${GIO_MAIN_INCLUDE_DIR}")
-+
-+# not sure if this include dir is optional or required
-+# for now it is optional
-+if(GIO_INTERNAL_INCLUDE_DIR)
-+    set(GIO_INCLUDE_DIR ${GIO_INCLUDE_DIR} "${GIO_INTERNAL_INCLUDE_DIR}")
-+endif(GIO_INTERNAL_INCLUDE_DIR)
-+
-+include(FindPackageHandleStandardArgs)
-+find_package_handle_standard_args(GIO  DEFAULT_MSG  GIO_LIBRARIES 
GIO_MAIN_INCLUDE_DIR)
-+
-+mark_as_advanced(GIO_INCLUDE_DIR GIO_LIBRARIES)
-+
-diff --git a/config.h.cmake b/config.h.cmake
-index 1643e50..7d801c3 100644
---- a/config.h.cmake
-+++ b/config.h.cmake
-@@ -1,3 +1,4 @@
- /* config.h.  Generated by cmake from config.h.cmake  */
- 
--#cmakedefine01 HAVE_GCONF
-+#cmakedefine01 USE_GSETTINGS
-+#cmakedefine01 USE_GCONF
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 8684251..d4a6c4b 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -37,11 +37,16 @@ set(qml_SRCS
- set_property(SOURCE qml/dbus/osdService.xml APPEND PROPERTY CLASSNAME 
OsdServiceInterface)
- qt5_add_dbus_interface(dbus_SRCS qml/dbus/osdService.xml osdservice)
- 
--if (HAVE_GCONF)
-+if (USE_GCONF)
-     include_directories(${GCONF_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS})
-     set(cpp_SRCS ${cpp_SRCS} gconfitem.cpp)
- endif()
- 
-+if (USE_GSETTINGS)
-+    include_directories(${GIO_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS})
-+    set(cpp_SRCS ${cpp_SRCS} gsettingsitem.cpp)
-+endif()
-+
- add_library(plasma-volume-declarative SHARED ${dbus_SRCS} ${cpp_SRCS} 
${qml_SRCS})
- target_link_libraries(plasma-volume-declarative
-     Qt5::Core
-@@ -52,12 +57,19 @@ target_link_libraries(plasma-volume-declarative
-     ${PULSEAUDIO_LIBRARY}
-     ${PULSEAUDIO_MAINLOOP_LIBRARY}
-     ${CANBERRA_LIBRARIES}
-+    ${GOBJECT_LIBRARIES}
- )
- 
--if (HAVE_GCONF)
-+if (USE_GCONF)
-     target_link_libraries(plasma-volume-declarative
-         ${GCONF_LDFLAGS}
--        ${GOBJECT_LDFLAGS}
-+    )
-+endif()
-+
-+if (USE_GSETTINGS)
-+    target_link_libraries(plasma-volume-declarative
-+        ${GIO_LIBRARIES}
-+        GLIB2::GLIB2
-     )
- endif()
- 
-diff --git a/src/gsettingsitem.cpp b/src/gsettingsitem.cpp
-new file mode 100644
-index 0000000..b3a9353
---- /dev/null
-+++ b/src/gsettingsitem.cpp
-@@ -0,0 +1,91 @@
-+/*
-+ * Copyright (C) 2018 Nicolas Fella <nicolas.fe...@gmx.de>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public License
-+ * version 2.1 as published by the Free Software Foundation.
-+ *
-+ * This library is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-+ * 02110-1301 USA
-+ *
-+ */
-+
-+#include <QString>
-+#include <QVariant>
-+
-+#include <gio/gio.h>
-+
-+#include "gsettingsitem.h"
-+#include "debug.h"
-+
-+QVariant GSettingsItem::value(const QString &key) const
-+{
-+    GVariant *gvalue = g_settings_get_value(m_settings, 
key.toLatin1().data());
-+
-+    QVariant toReturn;
-+
-+    switch (g_variant_classify(gvalue)) {
-+    case G_VARIANT_CLASS_BOOLEAN:
-+        toReturn = QVariant((bool)g_variant_get_boolean(gvalue));
-+        break;
-+    case G_VARIANT_CLASS_STRING:
-+        toReturn = QVariant(QString::fromUtf8(g_variant_get_string(gvalue, 
nullptr)));
-+        break;
-+    default:
-+        qCWarning(PLASMAPA()) << "Unhandled variant type in value()";
-+    }
-+
-+    g_variant_unref(gvalue);
-+
-+    return toReturn;
-+}
-+
-+void GSettingsItem::set(const QString &key, const QVariant &val)
-+{
-+    // It might be hard to detect the right GVariant type from
-+    // complext QVariant types such as string lists or more detailed
-+    // types such as integers (GVariant has different sizes),
-+    // therefore we get the current value for the key and convert
-+    // to QVariant using the GVariant type
-+    GVariant *oldValue = g_settings_get_value(m_settings, 
key.toLatin1().data());
-+    GVariant *newValue = nullptr;
-+
-+    switch (g_variant_type_peek_string(g_variant_get_type(oldValue))[0]) {
-+    case G_VARIANT_CLASS_BOOLEAN:
-+        newValue = g_variant_new_boolean(val.toBool());
-+        break;
-+    case G_VARIANT_CLASS_STRING:
-+        newValue = g_variant_new_string(val.toString().toUtf8().constData());
-+        break;
-+    default:
-+        qCWarning(PLASMAPA()) << "Unhandled variant type in set()";
-+    }
-+
-+    if (newValue) {
-+        g_settings_set_value(m_settings, key.toLatin1().data(), newValue);
-+    }
-+
-+    g_variant_unref(oldValue);
-+}
-+
-+GSettingsItem::GSettingsItem(const QString &key, QObject *parent)
-+    : QObject (parent)
-+{
-+    m_settings = 
g_settings_new_with_path("org.freedesktop.pulseaudio.module-group", 
key.toLatin1().data());
-+
-+    g_signal_connect(m_settings, "changed", 
G_CALLBACK(GSettingsItem::settingChanged), this);
-+}
-+
-+GSettingsItem::~GSettingsItem()
-+{
-+    g_settings_sync();
-+    if (m_settings)
-+        g_object_unref(m_settings);
-+}
-diff --git a/src/gsettingsitem.h b/src/gsettingsitem.h
-new file mode 100644
-index 0000000..9afcfc2
---- /dev/null
-+++ b/src/gsettingsitem.h
-@@ -0,0 +1,59 @@
-+/*
-+ * Copyright (C) 2018 Nicolas Fella <nicolas.fe...@gmx.de>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public License
-+ * version 2.1 as published by the Free Software Foundation.
-+ *
-+ * This library is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-+ * 02110-1301 USA
-+ *
-+ */
-+
-+#ifndef GSETTINGSITEM_H
-+#define GSETTINGSITEM_H
-+
-+#include <QVariant>
-+#include <QStringList>
-+#include <QObject>
-+
-+#include <gio/gio.h>
-+
-+class GSettingsItem : public QObject
-+{
-+    Q_OBJECT
-+
-+ public:
-+
-+    explicit GSettingsItem(const QString &key, QObject *parent = nullptr);
-+    virtual ~GSettingsItem() override;
-+
-+    QVariant value(const QString &key) const;
-+    void set(const QString &key, const QVariant &val);
-+
-+
-+Q_SIGNALS:
-+    void subtreeChanged();
-+
-+private:
-+    GSettings *m_settings;
-+
-+static void settingChanged(GSettings *settings, const gchar *key, gpointer 
data)
-+{
-+    Q_UNUSED(settings)
-+    Q_UNUSED(key)
-+
-+    GSettingsItem *self = static_cast<GSettingsItem *>(data);
-+    Q_EMIT self->subtreeChanged();
-+}
-+
-+};
-+
-+#endif // GCONFITEM_H
-diff --git a/src/kcm/package/contents/ui/Advanced.qml 
b/src/kcm/package/contents/ui/Advanced.qml
-index 536ae3e..48512e7 100644
---- a/src/kcm/package/contents/ui/Advanced.qml
-+++ b/src/kcm/package/contents/ui/Advanced.qml
-@@ -73,7 +73,7 @@ ScrollView {
-             text: i18nd("kcm_pulseaudio", "Add virtual output device for 
simultaneous output on all local sound cards")
-             checked: moduleManager.combineSinks
-             onCheckedChanged: moduleManager.combineSinks = checked;
--            enabled: moduleManager.loadedModules.indexOf("module-gconf") != -1
-+            enabled: moduleManager.configModuleLoaded
-             visible: moduleManager.settingsSupported
-         }
- 
-@@ -84,7 +84,7 @@ ScrollView {
-             text: i18nd("kcm_pulseaudio", "Automatically switch all running 
streams when a new output becomes available")
-             checked: moduleManager.switchOnConnect
-             onCheckedChanged: moduleManager.switchOnConnect = checked;
--            enabled: moduleManager.loadedModules.indexOf("module-gconf") != -1
-+            enabled: moduleManager.configModuleLoaded
-             visible: moduleManager.settingsSupported
-         }
- 
-@@ -92,8 +92,8 @@ ScrollView {
-             Layout.alignment: Qt.AlignHCenter
-             enabled: false
-             font.italic: true
--            text: i18nd("kcm_pulseaudio", "Requires 'module-gconf' PulseAudio 
module")
--            visible: moduleManager.settingsSupported && 
moduleManager.loadedModules.indexOf("module-gconf") == -1
-+            text: i18nd("kcm_pulseaudio", "Requires %1 PulseAudio module", 
moduleManager.configModuleName)
-+            visible: moduleManager.settingsSupported && 
!moduleManager.configModuleLoaded
-         }
- 
-         Header {
-diff --git a/src/modulemanager.cpp b/src/modulemanager.cpp
-index 5245ac5..a43182e 100644
---- a/src/modulemanager.cpp
-+++ b/src/modulemanager.cpp
-@@ -23,10 +23,15 @@
- #include "module.h"
- #include "../config.h"
- 
--#if HAVE_GCONF
-+#if USE_GSETTINGS
-+#include "gsettingsitem.h"
-+
-+#define PA_SETTINGS_PATH_MODULES "/org/freedesktop/pulseaudio/module-groups"
-+#endif
-+
-+#if USE_GCONF
- #include "gconfitem.h"
--#define PA_GCONF_ROOT "/system/pulseaudio"
--#define PA_GCONF_PATH_MODULES PA_GCONF_ROOT"/modules"
-+#define PA_SETTINGS_PATH_MODULES "/system/pulseaudio/modules"
- #endif
- 
- #include <QTimer>
-@@ -34,29 +39,38 @@
- namespace QPulseAudio
- {
- 
--#if HAVE_GCONF
--class GConfModule : public GConfItem
-+#if USE_GCONF || USE_GSETTINGS
-+
-+#if USE_GSETTINGS
-+class ConfigModule : public GSettingsItem
-+#elif USE_GCONF
-+class ConfigModule : public GConfItem
-+#endif
- {
- public:
--    GConfModule(const QString &configName, const QString &moduleName, QObject 
*parent);
-+    ConfigModule(const QString &configName, const QString &moduleName, 
QObject *parent);
-     bool isEnabled() const;
-     void setEnabled(bool enabled, const QVariant &args=QVariant());
- private:
-     QString m_moduleName;
- };
- 
--GConfModule::GConfModule(const QString &configName, const QString 
&moduleName, QObject *parent) :
--    GConfItem(QStringLiteral(PA_GCONF_PATH_MODULES"/") + configName, parent),
-+ConfigModule::ConfigModule(const QString &configName, const QString 
&moduleName, QObject *parent) :
-+#if USE_GSETTINGS
-+    GSettingsItem(QStringLiteral(PA_SETTINGS_PATH_MODULES"/") + configName + 
QStringLiteral("/"), parent),
-+#elif USE_GCONF
-+    GConfItem(QStringLiteral(PA_SETTINGS_PATH_MODULES"/") + configName, 
parent),
-+#endif
-     m_moduleName(moduleName)
- {
- }
- 
--bool GConfModule::isEnabled() const
-+bool ConfigModule::isEnabled() const
- {
-     return value(QStringLiteral("enabled")).toBool();
- }
- 
--void GConfModule::setEnabled(bool enabled, const QVariant &args)
-+void ConfigModule::setEnabled(bool enabled, const QVariant &args)
- {
-     set(QStringLiteral("locked"), true);
- 
-@@ -69,20 +83,20 @@ void GConfModule::setEnabled(bool enabled, const QVariant 
&args)
-     }
-     set(QStringLiteral("locked"), false);
- }
--#endif
- 
-+#endif
- 
- ModuleManager::ModuleManager(QObject *parent) :
-     QObject(parent)
- {
--#if HAVE_GCONF
--    m_combineSinks = new GConfModule(QStringLiteral("combine"), 
QStringLiteral("module-combine"), this);
--    m_switchOnConnect = new GConfModule(QStringLiteral("switch-on-connect"), 
QStringLiteral("module-switch-on-connect"), this);
--    m_deviceManager = new GConfModule(QStringLiteral("device-manager"), 
QStringLiteral("module-device-manager"), this);
--
--    connect(m_combineSinks, &GConfItem::subtreeChanged, this, 
&ModuleManager::combineSinksChanged);
--    connect(m_switchOnConnect, &GConfItem::subtreeChanged, this, 
&ModuleManager::switchOnConnectChanged);
--    connect(m_deviceManager, &GConfItem::subtreeChanged, this, 
&ModuleManager::switchOnConnectChanged);
-+#if USE_GCONF || USE_GSETTINGS
-+    m_combineSinks = new ConfigModule(QStringLiteral("combine"), 
QStringLiteral("module-combine"), this);
-+    m_switchOnConnect = new ConfigModule(QStringLiteral("switch-on-connect"), 
QStringLiteral("module-switch-on-connect"), this);
-+    m_deviceManager = new ConfigModule(QStringLiteral("device-manager"), 
QStringLiteral("module-device-manager"), this);
-+
-+    connect(m_combineSinks, &ConfigModule::subtreeChanged, this, 
&ModuleManager::combineSinksChanged);
-+    connect(m_switchOnConnect, &ConfigModule::subtreeChanged, this, 
&ModuleManager::switchOnConnectChanged);
-+    connect(m_deviceManager, &ConfigModule::subtreeChanged, this, 
&ModuleManager::switchOnConnectChanged);
- #endif
- 
-     QTimer *updateModulesTimer = new QTimer(this);
-@@ -100,7 +114,7 @@ ModuleManager::~ModuleManager()
- 
- bool ModuleManager::settingsSupported() const
- {
--#if HAVE_GCONF
-+#if USE_GCONF || USE_GSETTINGS
-     return true;
- #else
-     return false;
-@@ -109,7 +123,7 @@ bool ModuleManager::settingsSupported() const
- 
- bool ModuleManager::combineSinks() const
- {
--#if HAVE_GCONF
-+#if USE_GCONF || USE_GSETTINGS
-     return m_combineSinks->isEnabled();
- #else
-     return false;
-@@ -118,21 +132,21 @@ bool ModuleManager::combineSinks() const
- 
- void ModuleManager::setCombineSinks(bool combineSinks)
- {
--#if HAVE_GCONF
-+#if USE_GCONF || USE_GSETTINGS
-     m_combineSinks->setEnabled(combineSinks);
- #else
--    Q_UNUSED(combineSinks)
-+    Q_UNUSED(combineSinks()
- #endif
- }
- 
- bool ModuleManager::switchOnConnect() const
- {
-+#if USE_GCONF || USE_GSETTINGS
-     //switch on connect and device-manager do the same task. Only one should 
be enabled
- 
-     //Note on the first run m_deviceManager will appear to be disabled even 
though it's actually running
-     //because there is no gconf entry, however m_switchOnConnect will only 
exist if set by Plasma PA
-     //hence only check this entry
--#if HAVE_GCONF
-     return m_switchOnConnect->isEnabled() ;
- #else
-     return false;
-@@ -141,7 +155,7 @@ bool ModuleManager::switchOnConnect() const
- 
- void ModuleManager::setSwitchOnConnect(bool switchOnConnect)
- {
--#if HAVE_GCONF
-+#if USE_GCONF || USE_GSETTINGS
-     m_deviceManager->setEnabled(!switchOnConnect);
-     m_switchOnConnect->setEnabled(switchOnConnect);
- #else
-@@ -164,4 +178,19 @@ void ModuleManager::updateLoadedModules()
-     Q_EMIT loadedModulesChanged();
- }
- 
-+bool ModuleManager::configModuleLoaded() const
-+{
-+    return m_loadedModules.contains(configModuleName());
-+}
-+
-+QString ModuleManager::configModuleName() const
-+{
-+#if USE_GCONF
-+    return QStringLiteral("module-gconf");
-+#elif USE_GSETTINGS
-+    return QStringLiteral("module-gsettings");
-+#else
-+    return QString();
-+#endif
-+}
- }
-diff --git a/src/modulemanager.h b/src/modulemanager.h
-index 17efd6d..291936e 100644
---- a/src/modulemanager.h
-+++ b/src/modulemanager.h
-@@ -29,11 +29,9 @@
- // Properties need fully qualified classes even with pointers.
- #include "client.h"
- 
--class GConfItem;
--
- namespace QPulseAudio
- {
--class GConfModule;
-+class ConfigModule;
- 
- class ModuleManager : public QObject
- {
-@@ -41,6 +39,8 @@ class ModuleManager : public QObject
-     Q_PROPERTY(bool settingsSupported READ settingsSupported CONSTANT)
-     Q_PROPERTY(bool combineSinks READ combineSinks WRITE setCombineSinks 
NOTIFY combineSinksChanged)
-     Q_PROPERTY(bool switchOnConnect READ switchOnConnect WRITE 
setSwitchOnConnect NOTIFY switchOnConnectChanged)
-+    Q_PROPERTY(bool configModuleLoaded READ configModuleLoaded NOTIFY 
loadedModulesChanged)
-+    Q_PROPERTY(QString configModuleName READ configModuleName CONSTANT)
-     Q_PROPERTY(QStringList loadedModules READ loadedModules NOTIFY 
loadedModulesChanged)
- public:
-     explicit ModuleManager(QObject *parent = nullptr);
-@@ -52,6 +52,8 @@ public:
-     bool switchOnConnect() const;
-     void setSwitchOnConnect(bool switchOnConnect);
-     QStringList loadedModules() const;
-+    bool configModuleLoaded() const;
-+    QString configModuleName() const;
- 
- Q_SIGNALS:
-     void combineSinksChanged();
-@@ -61,9 +63,9 @@ Q_SIGNALS:
- private:
-     void updateLoadedModules();
- 
--    GConfModule *m_combineSinks;
--    GConfModule *m_switchOnConnect;
--    GConfModule *m_deviceManager;
-+    ConfigModule *m_combineSinks;
-+    ConfigModule *m_switchOnConnect;
-+    ConfigModule *m_deviceManager;
-     QStringList m_loadedModules;
- };
- 
--- 
-2.21.0

Reply via email to