Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
KDE:Frameworks5:LTS
plasma5-desktop
0002-Style-KCM-Make-sure-to-enable-kappmenu-kde...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0002-Style-KCM-Make-sure-to-enable-kappmenu-kded-module.patch of Package plasma5-desktop
From 8f2ac1b037a094f5da52ed76c0bef7f0b1b2da5c Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik <kde@privat.broulik.de> Date: Thu, 19 Jan 2017 14:16:26 +0100 Subject: [PATCH 2/5] [Style KCM] Make sure to enable kappmenu kded module The old KCM enabled and disabled the kded (both autoloading and load/unloadModule) depending on global menu setting. Since we never had global menu in 5.x before, it would disable the menu when you hit Apply. This will break global menu for users without an obvious reason why. Differential Revision: https://phabricator.kde.org/D4199 --- kcms/style/kcmstyle.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/kcms/style/kcmstyle.cpp b/kcms/style/kcmstyle.cpp index b0b4cc1e..e858ed37 100644 --- a/kcms/style/kcmstyle.cpp +++ b/kcms/style/kcmstyle.cpp @@ -393,6 +393,25 @@ void KCMStyle::save() menuBarStyleGroup.writeEntry("Style", style); _config.sync(); + // The old KCM used to mess with autoloading depending on whether menu was enabled or not + // since it was always disabled, the kded module would never autoload breaking global menu + // for users without an obvious reason why it won't work. + QDBusMessage method = QDBusMessage::createMethodCall(QStringLiteral("org.kde.kded5"), + QStringLiteral("/kded"), + QStringLiteral("org.kde.kded5"), + QStringLiteral("setModuleAutoloading")); + method.setArguments({QStringLiteral("appmenu"), true}); + QDBusConnection::sessionBus().asyncCall(method); + + method = QDBusMessage::createMethodCall(QStringLiteral("org.kde.kded5"), + QStringLiteral("/kded"), + QStringLiteral("org.kde.kded5"), + QStringLiteral("loadModule")); + method.setArguments({QStringLiteral("appmenu")}); + QDBusConnection::sessionBus().asyncCall(method); + + // since we load the module async, this call will fail if the module wasn't loaded + // but since it will init itself when it loads, this isn't too bad QDBusConnection::sessionBus().asyncCall( QDBusMessage::createMethodCall(QStringLiteral("org.kde.kappmenu"), QStringLiteral("/KAppMenu"), -- 2.11.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor