Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kglobalaccel for openSUSE:Factory checked in at 2022-06-17 21:19:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kglobalaccel (Old) and /work/SRC/openSUSE:Factory/.kglobalaccel.new.1548 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kglobalaccel" Fri Jun 17 21:19:13 2022 rev:108 rq:982264 version:5.95.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kglobalaccel/kglobalaccel.changes 2022-05-16 18:08:39.365281945 +0200 +++ /work/SRC/openSUSE:Factory/.kglobalaccel.new.1548/kglobalaccel.changes 2022-06-17 21:21:06.622727739 +0200 @@ -1,0 +2,15 @@ +Fri Jun 10 14:12:28 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr> + +- Update to 5.95.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.95.0 +- Changes since 5.94.0: + * Encapsulate duplicate code in a local function + * Expose enum to QObject + * Remove unused method + * Properly create lists of items + * Remove weird comments + * Use KWindowSystem to request activation tokens if necessary (kde#453748) + +------------------------------------------------------------------- Old: ---- kglobalaccel-5.94.0.tar.xz kglobalaccel-5.94.0.tar.xz.sig New: ---- kglobalaccel-5.95.0.tar.xz kglobalaccel-5.95.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kglobalaccel.spec ++++++ --- /var/tmp/diff_new_pack.i0llAS/_old 2022-06-17 21:21:07.542728238 +0200 +++ /var/tmp/diff_new_pack.i0llAS/_new 2022-06-17 21:21:07.546728240 +0200 @@ -17,14 +17,14 @@ %define lname libKF5GlobalAccel5 -%define _tar_path 5.94 +%define _tar_path 5.95 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} %bcond_without released Name: kglobalaccel -Version: 5.94.0 +Version: 5.95.0 Release: 0 Summary: Global desktop keyboard shortcuts License: LGPL-2.1-or-later ++++++ kglobalaccel-5.94.0.tar.xz -> kglobalaccel-5.95.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.94.0/CMakeLists.txt new/kglobalaccel-5.95.0/CMakeLists.txt --- old/kglobalaccel-5.94.0/CMakeLists.txt 2022-05-07 23:21:25.000000000 +0200 +++ new/kglobalaccel-5.95.0/CMakeLists.txt 2022-06-09 23:19:27.000000000 +0200 @@ -1,12 +1,12 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.94.0") # handled by release scripts -set(KF_DEP_VERSION "5.93.0") # handled by release scripts +set(KF_VERSION "5.95.0") # handled by release scripts +set(KF_DEP_VERSION "5.95.0") # handled by release scripts project(KGlobalAccel VERSION ${KF_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.93.0 NO_MODULE) +find_package(ECM 5.95.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.94.0/po/ca@valencia/kglobalaccel5_qt.po new/kglobalaccel-5.95.0/po/ca@valencia/kglobalaccel5_qt.po --- old/kglobalaccel-5.94.0/po/ca@valencia/kglobalaccel5_qt.po 2022-05-07 23:21:25.000000000 +0200 +++ new/kglobalaccel-5.95.0/po/ca@valencia/kglobalaccel5_qt.po 2022-06-09 23:19:27.000000000 +0200 @@ -39,7 +39,7 @@ "\"%2\" in %3.\n" "Do you want to reassign it from that action to the current one?" msgstr "" -"La combinaci?? de tecles ??%1?? ja s'ha assignat a l'acci?? global ??%2?? en %3.\n" +"La combinaci?? de tecles ??%1?? ya s'ha assignat a l'acci?? global ??%2?? en %3.\n" "Voleu reassignar-la des d'esta acci?? a l'acci?? actual?" #: kglobalaccel.cpp:615 kglobalaccel.cpp:648 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.94.0/po/ka/kglobalaccel5_qt.po new/kglobalaccel-5.95.0/po/ka/kglobalaccel5_qt.po --- old/kglobalaccel-5.94.0/po/ka/kglobalaccel5_qt.po 2022-05-07 23:21:25.000000000 +0200 +++ new/kglobalaccel-5.95.0/po/ka/kglobalaccel5_qt.po 2022-06-09 23:19:27.000000000 +0200 @@ -1,63 +1,52 @@ -# KDE3 - Georgian translation of kdelibs4.po -# Gia Shervashidze <gias...@telenet.ge>, 2005. -# msgid "" msgstr "" -"Project-Id-Version: kdelibs4\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2014-03-23 01:50+0000\n" -"PO-Revision-Date: 2009-12-17 02:11+0400\n" -"Last-Translator: George Machitidze <gio...@gmail.com>\n" -"Language-Team: Georgian <http://www.gia.ge>\n" +"Project-Id-Version: kglobalaccel5_qt\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: Temuri Doghonadze <temuri.doghona...@gmail.com>\n" +"Language-Team: Georgian <kde-i18n-...@kde.org>\n" "Language: ka\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.9\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Qt-Contexts: true\n" +"X-Generator: Poedit 3.0.1\n" #: kglobalaccel.cpp:606 -#, fuzzy -#| msgid "Conflict with Global Shortcut" msgctxt "KGlobalAccel|" msgid "Conflict with Global Shortcut" -msgstr "??????????????????????????? ???????????????????????? ?????????????????????????????????" +msgstr "??????????????????????????? ???????????????????????? ????????????????????????????????????" #: kglobalaccel.cpp:607 -#, fuzzy, qt-format -#| msgid "" -#| "The '%1' key combination has already been allocated to the global action " -#| "\"%2\".\n" -#| "Do you want to reassign it from that action to the current one?" +#, qt-format msgctxt "KGlobalAccel|" msgid "" "The '%1' key combination has already been allocated to the global action " "\"%2\" in %3.\n" "Do you want to reassign it from that action to the current one?" msgstr "" -"?????????????????????????????? ??????????????? %1 ???????????? ????????????????????????????????? \"%2\" ??????????????????????????? ????????????????????????????????????.\n" -"???????????????????????????????????????????????? ????????? ???????????? ????????????????????????????" +"???%1??? ????????????????????? ?????????????????????????????? ???????????? ????????????????????????????????? ???????????????????????? ??????????????????????????? ???%2??? %3-??????.\n" +"??????????????? ???????????? ?????????9????????? ?????????????????????????" #: kglobalaccel.cpp:615 kglobalaccel.cpp:648 -#, fuzzy -#| msgid "Reassign" msgctxt "KGlobalAccel|" msgid "Reassign" -msgstr "?????????????????????????????????????????????" +msgstr "????????????????????????????????? ????????????????????? ????????????????????????" #: kglobalaccel.cpp:634 #, qt-format msgctxt "KGlobalAccel|" msgid "The '%1' key combination is registered by application %2 for action %3:" msgstr "" +"??????????????????????????? ?????????????????????????????? \"%1\" ???????????? ????????????????????????????????????????????? ?????????????????????????????? (%2) " +"????????????????????????????????????(%3):" #: kglobalaccel.cpp:638 -#, fuzzy, qt-format -#| msgid "Shortcuts" +#, qt-format msgctxt "KGlobalAccel|" msgid "In context '%1' for action '%2'\n" -msgstr "?????????????????????????????????" +msgstr "%1-?????? ??????????????????????????????, %2 ????????????????????????????????????\n" #: kglobalaccel.cpp:640 #, qt-format @@ -66,21 +55,20 @@ "The '%1' key combination is registered by application %2.\n" "%3" msgstr "" +"??????????????????????????? ?????????????????????????????? \"%1\" ???????????? ????????????????????????????????????????????? ?????????????????????????????? (%2).\n" +"%3" #: kglobalaccel.cpp:643 -#, fuzzy -#| msgid "Conflict with Global Shortcut" msgctxt "KGlobalAccel|" msgid "Conflict With Registered Global Shortcut" -msgstr "??????????????????????????? ???????????????????????? ?????????????????????????????????" +msgstr "??????????????????????????? ???????????????????????? ????????????????????????????????????" #: runtime/main.cpp:41 runtime/main.cpp:43 msgctxt "QObject|" msgid "KDE Global Shortcuts Service" -msgstr "" +msgstr "KDE-?????? ??????????????????????????? ??????????????????????????????????????? ?????????????????????" #: runtime/main.cpp:46 runtime/main.cpp:47 -#, fuzzy msgctxt "QObject|" msgid "Maintainer" -msgstr "?????????????????????" +msgstr "???????????????????????? ?????????????????????????????????" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.94.0/po/zh_CN/kglobalaccel5_qt.po new/kglobalaccel-5.95.0/po/zh_CN/kglobalaccel5_qt.po --- old/kglobalaccel-5.94.0/po/zh_CN/kglobalaccel5_qt.po 2022-05-07 23:21:25.000000000 +0200 +++ new/kglobalaccel-5.95.0/po/zh_CN/kglobalaccel5_qt.po 2022-06-09 23:19:27.000000000 +0200 @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: kdeorg\n" -"PO-Revision-Date: 2022-04-26 15:18\n" +"PO-Revision-Date: 2022-06-05 04:17\n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.94.0/src/kglobalaccel.h new/kglobalaccel-5.95.0/src/kglobalaccel.h --- old/kglobalaccel-5.94.0/src/kglobalaccel.h 2022-05-07 23:21:25.000000000 +0200 +++ new/kglobalaccel-5.95.0/src/kglobalaccel.h 2022-06-09 23:19:27.000000000 +0200 @@ -73,6 +73,7 @@ Shadows, Shadowed, }; + Q_ENUM(MatchType) /** * Returns (and creates if necessary) the singleton instance diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.94.0/src/runtime/component.cpp new/kglobalaccel-5.95.0/src/runtime/component.cpp --- old/kglobalaccel-5.94.0/src/runtime/component.cpp 2022-05-07 23:21:25.000000000 +0200 +++ new/kglobalaccel-5.95.0/src/runtime/component.cpp 2022-06-09 23:19:27.000000000 +0200 @@ -207,9 +207,7 @@ long timestamp = 0; #endif - // Make sure it is one of ours if (shortcut.context()->component() != this) { - // In production mode do nothing return; } @@ -232,7 +230,6 @@ long timestamp = 0; #endif - // Make sure it is one of ours if (shortcut.context()->component() != this) { return; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.94.0/src/runtime/globalshortcutsregistry.cpp new/kglobalaccel-5.95.0/src/runtime/globalshortcutsregistry.cpp --- old/kglobalaccel-5.94.0/src/runtime/globalshortcutsregistry.cpp 2022-05-07 23:21:25.000000000 +0200 +++ new/kglobalaccel-5.95.0/src/runtime/globalshortcutsregistry.cpp 2022-06-09 23:19:27.000000000 +0200 @@ -157,11 +157,6 @@ } } -GlobalShortcut *GlobalShortcutsRegistry::getActiveShortcutByKey(const QKeySequence &key) const -{ - return _active_keys.value(key); -} - KdeDGlobalAccel::Component *GlobalShortcutsRegistry::getComponent(const QString &uniqueName) { return _components.value(uniqueName); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.94.0/src/runtime/globalshortcutsregistry.h new/kglobalaccel-5.95.0/src/runtime/globalshortcutsregistry.h --- old/kglobalaccel-5.94.0/src/runtime/globalshortcutsregistry.h 2022-05-07 23:21:25.000000000 +0200 +++ new/kglobalaccel-5.95.0/src/runtime/globalshortcutsregistry.h 2022-06-09 23:19:27.000000000 +0200 @@ -75,12 +75,6 @@ void deactivateShortcuts(bool temporarily = false); /** - * Get the shortcut corresponding to key. Only active shortcut are - * considered. - */ - GlobalShortcut *getActiveShortcutByKey(const QKeySequence &key) const; - - /** */ KdeDGlobalAccel::Component *getComponent(const QString &uniqueName); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.94.0/src/runtime/kglobalaccel.desktop new/kglobalaccel-5.95.0/src/runtime/kglobalaccel.desktop --- old/kglobalaccel-5.94.0/src/runtime/kglobalaccel.desktop 2022-05-07 23:21:25.000000000 +0200 +++ new/kglobalaccel-5.95.0/src/runtime/kglobalaccel.desktop 2022-06-09 23:19:27.000000000 +0200 @@ -44,6 +44,7 @@ Name[id]=Server Pintasan Global KDED Name[is]=KDED v????t??kur tengla??j??nn Name[it]=Server scorciatoie globali di KDED +Name[ka]=KDE-?????? ??????????????????????????? ??????????????????????????????????????? ????????????????????? Name[kk]=?????????? ?????????????? ?????????? ?????????????????????? KDED ??????????????: Name[km]=???????????????????????????????????????????????????????????????????????????????????????????????? KDED Name[kn]=KDED ?????????????????????????????? ?????????????????????????????????????????? (??????????????????-?????????) ????????????????????? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.94.0/src/runtime/kglobalacceld.cpp new/kglobalaccel-5.95.0/src/runtime/kglobalacceld.cpp --- old/kglobalaccel-5.94.0/src/runtime/kglobalacceld.cpp 2022-05-07 23:21:25.000000000 +0200 +++ new/kglobalaccel-5.95.0/src/runtime/kglobalacceld.cpp 2022-06-09 23:19:27.000000000 +0200 @@ -418,6 +418,7 @@ const QList<GlobalShortcut *> shortcuts = GlobalShortcutsRegistry::self()->getShortcutsByKey(key, type); QList<KGlobalShortcutInfo> rc; + rc.reserve(shortcuts.size()); for (const GlobalShortcut *sc : shortcuts) { #ifdef KDEDGLOBALACCEL_TRACE qCDebug(KGLOBALACCELD) << sc->context()->uniqueName() << sc->uniqueName(); @@ -490,12 +491,15 @@ #if KGLOBALACCEL_BUILD_DEPRECATED_SINCE(5, 90) QList<int> KGlobalAccelD::setShortcut(const QStringList &actionId, const QList<int> &keys, uint flags) { - QList<int> ret; QList<QKeySequence> input; + input.reserve(keys.size()); for (auto i : keys) { input << i; } + const QList<QKeySequence> list = setShortcutKeys(actionId, input, flags); + QList<int> ret; + ret.reserve(list.size()); for (auto i : list) { ret << i[0]; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.94.0/src/runtime/kserviceactioncomponent.cpp new/kglobalaccel-5.95.0/src/runtime/kserviceactioncomponent.cpp --- old/kglobalaccel-5.94.0/src/runtime/kserviceactioncomponent.cpp 2022-05-07 23:21:25.000000000 +0200 +++ new/kglobalaccel-5.95.0/src/runtime/kserviceactioncomponent.cpp 2022-06-09 23:19:27.000000000 +0200 @@ -14,6 +14,7 @@ #include <QProcess> #include <KShell> +#include <KWindowSystem> namespace KdeDGlobalAccel { @@ -38,7 +39,7 @@ { } -void runProcess(const KConfigGroup &group, bool klauncherAvailable) +void runProcess(const KConfigGroup &group, bool klauncherAvailable, const QString &token) { QStringList args = KShell::splitArgs(group.readEntry(QStringLiteral("Exec"), QString())); if (args.isEmpty()) { @@ -51,11 +52,25 @@ const QString command = args.takeFirst(); + auto startDetachedWithToken = [token](const QString &program, const QStringList &args) { + QProcess p; + p.setProgram(program); + p.setArguments(args); + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + if (!token.isEmpty()) { + env.insert("XDG_ACTIVATION_TOKEN", token); + } + p.setProcessEnvironment(env); + if (!p.startDetached()) { + qCWarning(KGLOBALACCELD) << "Failed to start" << program; + } + }; + const auto kstart = QStandardPaths::findExecutable(QStringLiteral("kstart5")); if (!kstart.isEmpty()) { args.prepend(command); args.prepend(QStringLiteral("--")); - QProcess::startDetached(kstart, args); + startDetachedWithToken(kstart, args); } else if (klauncherAvailable) { QDBusMessage msg = QDBusMessage::createMethodCall(QStringLiteral("org.kde.klauncher5"), QStringLiteral("/KLauncher"), @@ -70,7 +85,7 @@ qCWarning(KGLOBALACCELD) << "Could not find executable in PATH" << command; return; } - QProcess::startDetached(cmdExec, args); + startDetachedWithToken(cmdExec, args); } } @@ -78,62 +93,73 @@ { // TODO KF6 use ApplicationLauncherJob to start processes when it's available in a framework that we depend on - // DBusActivatatable spec as per https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#dbus - if (m_desktopFile->desktopGroup().readEntry("DBusActivatable", false)) { - QString method; - const QString serviceName = m_serviceStorageId.chopped(strlen(".desktop")); - const QString objectPath = QStringLiteral("/%1").arg(serviceName).replace(QLatin1Char('.'), QLatin1Char('/')); - const QString interface = QStringLiteral("org.freedesktop.Application"); - QDBusMessage message; - if (shortcut.uniqueName() == QLatin1String("_launch")) { - message = QDBusMessage::createMethodCall(serviceName, objectPath, interface, QStringLiteral("Activate")); - } else { - message = QDBusMessage::createMethodCall(serviceName, objectPath, interface, QStringLiteral("ActivateAction")); - message << shortcut.uniqueName() << QVariantList(); + auto launchWithToken = [this, shortcut](const QString &token) { + // DBusActivatatable spec as per https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#dbus + if (m_desktopFile->desktopGroup().readEntry("DBusActivatable", false)) { + QString method; + const QString serviceName = m_serviceStorageId.chopped(strlen(".desktop")); + const QString objectPath = QStringLiteral("/%1").arg(serviceName).replace(QLatin1Char('.'), QLatin1Char('/')); + const QString interface = QStringLiteral("org.freedesktop.Application"); + QDBusMessage message; + if (shortcut.uniqueName() == QLatin1String("_launch")) { + message = QDBusMessage::createMethodCall(serviceName, objectPath, interface, QStringLiteral("Activate")); + } else { + message = QDBusMessage::createMethodCall(serviceName, objectPath, interface, QStringLiteral("ActivateAction")); + message << shortcut.uniqueName() << QVariantList(); + } + if (!token.isEmpty()) { + message << QVariantMap{{QStringLiteral("activation-token"), token}}; + } else { + message << QVariantMap(); + } + + QDBusConnection::sessionBus().asyncCall(message); + return; } - message << QVariantMap(); - QDBusConnection::sessionBus().asyncCall(message); - return; - } - QDBusConnectionInterface *dbusDaemon = QDBusConnection::sessionBus().interface(); - const bool klauncherAvailable = dbusDaemon->isServiceRegistered(QStringLiteral("org.kde.klauncher5")); + QDBusConnectionInterface *dbusDaemon = QDBusConnection::sessionBus().interface(); + const bool klauncherAvailable = dbusDaemon->isServiceRegistered(QStringLiteral("org.kde.klauncher5")); - // we can't use KRun there as it depends from KIO and would create a circular dep - if (shortcut.uniqueName() == QLatin1String("_launch")) { - runProcess(m_desktopFile->desktopGroup(), klauncherAvailable); - return; - } - const auto lstActions = m_desktopFile->readActions(); - for (const QString &action : lstActions) { - if (action == shortcut.uniqueName()) { - runProcess(m_desktopFile->actionGroup(action), klauncherAvailable); + // we can't use KRun there as it depends from KIO and would create a circular dep + if (shortcut.uniqueName() == QLatin1String("_launch")) { + runProcess(m_desktopFile->desktopGroup(), klauncherAvailable, token); return; } + const auto lstActions = m_desktopFile->readActions(); + for (const QString &action : lstActions) { + if (action == shortcut.uniqueName()) { + runProcess(m_desktopFile->actionGroup(action), klauncherAvailable, token); + return; + } + } + }; + if (KWindowSystem::isPlatformWayland()) { + const QString serviceName = m_serviceStorageId.chopped(strlen(".desktop")); + KWindowSystem::requestXdgActivationToken(nullptr, 0, serviceName); + connect(KWindowSystem::self(), &KWindowSystem::xdgActivationTokenArrived, this, [this, launchWithToken](int tokenSerial, const QString &token) { + if (tokenSerial == 0) { + launchWithToken(token); + bool b = disconnect(KWindowSystem::self(), &KWindowSystem::xdgActivationTokenArrived, this, nullptr); + Q_ASSERT(b); + } + }); + } else { + launchWithToken({}); } } void KServiceActionComponent::loadFromService() { - QString shortcutString; - - QStringList shortcuts = m_desktopFile->desktopGroup().readEntry(QStringLiteral("X-KDE-Shortcuts"), QString()).split(QChar(',')); - if (!shortcuts.isEmpty()) { - shortcutString = shortcuts.join(QChar('\t')); - } + auto registerGroupShortcut = [this](const QString &name, const KConfigGroup &group) { + const QString shortcutString = group.readEntry(QStringLiteral("X-KDE-Shortcuts"), QString()).replace(QLatin1Char(','), QLatin1Char('\t')); + GlobalShortcut *shortcut = registerShortcut(name, group.readEntry(QStringLiteral("Name"), QString()), shortcutString, shortcutString); + shortcut->setIsPresent(true); + }; - GlobalShortcut *shortcut = registerShortcut(QStringLiteral("_launch"), m_desktopFile->readName(), shortcutString, shortcutString); - shortcut->setIsPresent(true); + registerGroupShortcut(QStringLiteral("_launch"), m_desktopFile->desktopGroup()); const auto lstActions = m_desktopFile->readActions(); for (const QString &action : lstActions) { - shortcuts = m_desktopFile->actionGroup(action).readEntry(QStringLiteral("X-KDE-Shortcuts"), QString()).split(QChar(',')); - if (!shortcuts.isEmpty()) { - shortcutString = shortcuts.join(QChar('\t')); - } - - GlobalShortcut *shortcut = - registerShortcut(action, m_desktopFile->actionGroup(action).readEntry(QStringLiteral("Name")), shortcutString, shortcutString); - shortcut->setIsPresent(true); + registerGroupShortcut(action, m_desktopFile->actionGroup(action)); } }