From 22b76d52a64257d5a9c7cff1ac92f30bde80a1d5 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Wed, 27 Sep 2023 17:55:58 +0300 Subject: [PATCH] plasma: proxy the desktop KCM in pager applet again Signed-off-by: Ivailo Monev --- plasma/applets/pager/CMakeLists.txt | 1 + plasma/applets/pager/pager.cpp | 12 +++++++++++- plasma/applets/pager/pager.h | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/plasma/applets/pager/CMakeLists.txt b/plasma/applets/pager/CMakeLists.txt index 37d53d9e..879420f9 100644 --- a/plasma/applets/pager/CMakeLists.txt +++ b/plasma/applets/pager/CMakeLists.txt @@ -7,6 +7,7 @@ set(pager_SRCS kde4_add_plugin(plasma_applet_pager ${pager_SRCS}) target_link_libraries(plasma_applet_pager KDE4::plasma + KDE4::kcmutils ) install( diff --git a/plasma/applets/pager/pager.cpp b/plasma/applets/pager/pager.cpp index 30a74aea..3df2b9b3 100644 --- a/plasma/applets/pager/pager.cpp +++ b/plasma/applets/pager/pager.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -247,7 +248,8 @@ PagerApplet::PagerApplet(QObject *parent, const QVariantList &args) m_hidesingle(s_defaulthidesingle), m_pagermodebox(nullptr), m_hidesinglebox(nullptr), - m_spacer(nullptr) + m_spacer(nullptr), + m_kcmdesktopproxy(nullptr) { KGlobal::locale()->insertCatalog("plasma_applet_pager"); setAspectRatioMode(Plasma::AspectRatioMode::IgnoreAspectRatio); @@ -301,10 +303,17 @@ void PagerApplet::createConfigurationInterface(KConfigDialog *parent) // doesn't look like media visualization but ok.. (that's what the clock applet uses) parent->addPage(widget, i18n("Appearance"), "view-media-visualization"); + m_kcmdesktopproxy = new KCModuleProxy("desktop"); + parent->addPage( + m_kcmdesktopproxy, m_kcmdesktopproxy->moduleInfo().moduleName(), + m_kcmdesktopproxy->moduleInfo().icon() + ); + connect(parent, SIGNAL(applyClicked()), this, SLOT(slotConfigAccepted())); connect(parent, SIGNAL(okClicked()), this, SLOT(slotConfigAccepted())); connect(m_pagermodebox, SIGNAL(currentIndexChanged(int)), parent, SLOT(settingsModified())); connect(m_hidesinglebox, SIGNAL(toggled(bool)), parent, SLOT(settingsModified())); + connect(m_kcmdesktopproxy, SIGNAL(changed(bool)), parent, SLOT(settingsModified())); } QList PagerApplet::contextualActions() @@ -459,6 +468,7 @@ void PagerApplet::slotConfigAccepted() configgroup.writeEntry("pagerMode", pagermodeindex); configgroup.writeEntry("pagerHideSingle", m_hidesingle); slotUpdateLayout(); + m_kcmdesktopproxy->save(); emit configNeedsSaving(); } diff --git a/plasma/applets/pager/pager.h b/plasma/applets/pager/pager.h index d8fd0b42..20168ba5 100644 --- a/plasma/applets/pager/pager.h +++ b/plasma/applets/pager/pager.h @@ -27,6 +27,7 @@ #include #include #include +#include #include class PagerSvg; @@ -75,6 +76,7 @@ private: QComboBox* m_pagermodebox; QCheckBox* m_hidesinglebox; QSpacerItem* m_spacer; + KCModuleProxy* m_kcmdesktopproxy; }; K_EXPORT_PLASMA_APPLET(pager, PagerApplet)