File indexing completed on 2024-05-19 05:38:22

0001 /*
0002  * SPDX-FileCopyrightText: 2023 Ismael Asensio <isma.af@gmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-only OR GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #include "soundthemeconfig.h"
0008 
0009 using namespace Qt::StringLiterals;
0010 
0011 const QString DEFAULT_SOUND_THEME = u"ocean"_s;
0012 
0013 SoundThemeConfig::SoundThemeConfig(QObject *parent)
0014     : QObject(parent)
0015     , m_soundTheme(DEFAULT_SOUND_THEME)
0016 {
0017     m_soundThemeWatcher = KConfigWatcher::create(KSharedConfig::openConfig(u"kdeglobals"_s));
0018     connect(m_soundThemeWatcher.get(), &KConfigWatcher::configChanged, this, &SoundThemeConfig::kdeglobalsChanged);
0019 
0020     const KConfigGroup soundGroup = m_soundThemeWatcher->config()->group(u"Sounds"_s);
0021     m_soundTheme = soundGroup.readEntry("Theme", DEFAULT_SOUND_THEME);
0022 }
0023 
0024 QString SoundThemeConfig::soundTheme() const
0025 {
0026     return m_soundTheme;
0027 }
0028 
0029 void SoundThemeConfig::kdeglobalsChanged(const KConfigGroup &group, const QByteArrayList &names)
0030 {
0031     if (group.name() != QLatin1String("Sounds") || !names.contains(QByteArrayLiteral("Theme"))) {
0032         return;
0033     }
0034 
0035     m_soundTheme = group.readEntry("Theme", DEFAULT_SOUND_THEME);
0036     Q_EMIT soundThemeChanged(m_soundTheme);
0037 }
0038 
0039 #include "moc_soundthemeconfig.cpp"