Commit 6ef5481e authored by Alexander Lohnau's avatar Alexander Lohnau 💬
Browse files

Run clang-format

If you want git blame to ignore formatting revisions run:
git config blame.ignoreRevsFile .git-blame-ignore-revs
parent 2b56fbd2
......@@ -21,19 +21,19 @@
#include "basictab.h"
#include <QCheckBox>
#include <QLabel>
#include <QGridLayout>
#include <QGroupBox>
#include <QLabel>
#include <QVBoxLayout>
#include <QGridLayout>
#include <KConfigGroup>
#include <KLocalizedString>
#include <KKeySequenceWidget>
#include <QLineEdit>
#include <KIconButton>
#include <KDesktopFile>
#include <KUrlRequester>
#include <KIconButton>
#include <KKeySequenceWidget>
#include <KLocalizedString>
#include <KShell>
#include <KUrlRequester>
#include <QLineEdit>
#include "globalaccel.h"
......@@ -87,18 +87,18 @@ void BasicTab::initGeneralTab()
generalTabLayout->addWidget(_execLabel, 3, 0);
_execEdit = new KUrlRequester();
_execEdit->lineEdit()->setAcceptDrops(false);
_execEdit->setWhatsThis(i18n(
"Following the command, you can have several place holders which will be replaced "
"with the actual values when the actual program is run:\n"
"%f - a single file name\n"
"%F - a list of files; use for applications that can open several local files at once\n"
"%u - a single URL\n"
"%U - a list of URLs\n"
"%d - the folder of the file to open\n"
"%D - a list of folders\n"
"%i - the icon\n"
"%m - the mini-icon\n"
"%c - the caption"));
_execEdit->setWhatsThis(
i18n("Following the command, you can have several place holders which will be replaced "
"with the actual values when the actual program is run:\n"
"%f - a single file name\n"
"%F - a list of files; use for applications that can open several local files at once\n"
"%u - a single URL\n"
"%U - a list of URLs\n"
"%d - the folder of the file to open\n"
"%D - a list of folders\n"
"%i - the icon\n"
"%m - the mini-icon\n"
"%c - the caption"));
_execLabel->setBuddy(_execEdit);
generalTabLayout->addWidget(_execEdit, 3, 1, 1, 2);
......@@ -223,8 +223,8 @@ void BasicTab::initConnections()
void BasicTab::slotDisableAction()
{
//disable all group at the beginning.
//because there is not file selected.
// disable all group at the beginning.
// because there is not file selected.
_nameEdit->setEnabled(false);
_descriptionEdit->setEnabled(false);
_commentEdit->setEnabled(false);
......
......@@ -20,9 +20,9 @@
#ifndef basictab_h
#define basictab_h
#include <QTabWidget>
#include <QKeySequence>
#include <KService>
#include <QKeySequence>
#include <QTabWidget>
class KKeySequenceWidget;
class QLineEdit;
......
......@@ -20,8 +20,8 @@
#ifndef configurationmanager_h
#define configurationmanager_h
#include <QObject>
#include <QMutex>
#include <QObject>
#include <KConfigGroup>
......
......@@ -30,19 +30,17 @@ void GlobalAccel::changeMenuEntryShortcut(const KService::Ptr &service, const QK
const QString desktopFile = QStringLiteral("%1.desktop").arg(service->desktopEntryName());
if (!KGlobalAccel::isComponentActive(desktopFile)) {
const QString destination = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)
+ QStringLiteral("/kglobalaccel/") + desktopFile;
const QString destination = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/kglobalaccel/") + desktopFile;
QFile::copy(service->entryPath(), destination);
}
QAction action(i18n("Launch %1", service->name()));
action.setProperty("componentName", desktopFile);
action.setProperty("componentDisplayName", service->name());
action.setObjectName(QStringLiteral("_launch"));
//Make sure that the action is marked active
// Make sure that the action is marked active
KGlobalAccel::self()->setShortcut(&action, {shortcut});
action.setProperty("isConfigurationAction", true);
KGlobalAccel::self()->setShortcut(&action, {shortcut}, KGlobalAccel::NoAutoloading);
}
QKeySequence GlobalAccel::getMenuEntryShortcut(const KService::Ptr &service)
......@@ -54,5 +52,3 @@ QKeySequence GlobalAccel::getMenuEntryShortcut(const KService::Ptr &service)
}
return QKeySequence();
}
......@@ -29,8 +29,7 @@
int main(int argc, char **argv)
{
QCoreApplication app(argc, argv);
QDBusInterface khotkeys(QStringLiteral("org.kde.kded5"), QStringLiteral("/modules/khotkeys"),
QStringLiteral("org.kde.khotkeys"));
QDBusInterface khotkeys(QStringLiteral("org.kde.kded5"), QStringLiteral("/modules/khotkeys"), QStringLiteral("org.kde.khotkeys"));
khotkeys.call(QStringLiteral("declareConfigOutDated"));
KConfig khotkeysrc(QStringLiteral("khotkeysrc"), KConfig::SimpleConfig);
const int dataCount = KConfigGroup(&khotkeysrc, "Data").readEntry("DataCount", 0);
......@@ -57,7 +56,7 @@ int main(int argc, char **argv)
}
const QString storageId = KConfigGroup(&khotkeysrc, groupName + QStringLiteral("Actions0")).readEntry("CommandURL");
const QString id = KConfigGroup(&khotkeysrc, groupName + QStringLiteral("Triggers0")).readEntry("Uuid");
//ask globalaccel about the current shortcut rather than parsing it ourselves
// ask globalaccel about the current shortcut rather than parsing it ourselves
const QList<QKeySequence> shortcut = KGlobalAccel::self()->globalShortcut(QStringLiteral("khotkeys"), id);
QAction action;
action.setObjectName(id);
......
......@@ -18,14 +18,14 @@
*/
#include "klinespellchecking.h"
#include <QMenu>
#include <QContextMenuEvent>
#include <QMenu>
#include <KStandardAction>
#include <KActionCollection>
#include <KStandardAction>
#include <QAction>
#include <sonnet/dialog.h>
#include <sonnet/backgroundchecker.h>
#include <sonnet/dialog.h>
KLineSpellChecking::KLineSpellChecking(QWidget *parent)
: KLineEdit(parent)
......@@ -91,8 +91,7 @@ void KLineSpellChecking::contextMenuEvent(QContextMenuEvent *e)
return;
}
if (echoMode() == QLineEdit::Normal
&& !isReadOnly()) {
if (echoMode() == QLineEdit::Normal && !isReadOnly()) {
popup->addSeparator();
popup->addAction(m_spellAction);
......
......@@ -19,30 +19,30 @@
*/
#include "kmenuedit.h"
#include <QFrame>
#include <QSplitter>
#include <QVBoxLayout>
#include <QFrame>
#include <QAction>
#include <KActionCollection>
#include <KActionMenu>
#include <QIcon>
#include <KLocalizedString>
#include <KXMLGUIFactory>
#include <KMessageBox>
#include <KService>
#include <KStandardAction>
#include <KStandardShortcut>
#include <KTreeWidgetSearchLine>
#include <KXMLGUIFactory>
#include <QAction>
#include <QIcon>
#include <sonnet/configdialog.h>
#include "treeview.h"
#include "basictab.h"
#include "preferencesdlg.h"
#include "kmenueditadaptor.h"
#include "configurationmanager.h"
#include "kmenueditadaptor.h"
#include "preferencesdlg.h"
#include "treeview.h"
KMenuEdit::KMenuEdit ()
KMenuEdit::KMenuEdit()
: KXmlGuiWindow(nullptr)
{
// dbus
......@@ -166,11 +166,9 @@ void KMenuEdit::setupView()
connect(m_basicTab, SIGNAL(changed(MenuEntryInfo*)), m_tree, SLOT(currentDataChanged(MenuEntryInfo*)));
// clang-format on
connect(m_basicTab, &BasicTab::findServiceShortcut,
m_tree, &TreeView::findServiceShortcut);
connect(m_basicTab, &BasicTab::findServiceShortcut, m_tree, &TreeView::findServiceShortcut);
connect(m_searchLine, &KTreeWidgetSearchLine::searchUpdated,
m_tree, &TreeView::searchUpdated);
connect(m_searchLine, &KTreeWidgetSearchLine::searchUpdated, m_tree, &TreeView::searchUpdated);
// restore splitter sizes
QList<int> sizes = ConfigurationManager::getInstance()->getSplitterSizes();
if (sizes.isEmpty()) {
......@@ -206,7 +204,7 @@ void KMenuEdit::slotChangeView()
if (!m_splitter) {
setupView();
}
setupGUI(KXmlGuiWindow::ToolBar|Keys|Save|Create, QStringLiteral("kmenueditui.rc"));
setupGUI(KXmlGuiWindow::ToolBar | Keys | Save | Create, QStringLiteral("kmenueditui.rc"));
m_tree->setViewMode(m_showHidden);
m_basicTab->updateHiddenEntry(m_showHidden);
......@@ -228,7 +226,8 @@ bool KMenuEdit::queryClose()
i18n("You have made changes to the menu.\n"
"Do you want to save the changes or discard them?"),
i18n("Save Menu Changes?"),
KStandardGuiItem::save(), KStandardGuiItem::discard());
KStandardGuiItem::save(),
KStandardGuiItem::discard());
switch (result) {
case KMessageBox::Yes:
......
......@@ -19,14 +19,14 @@
*
*/
#include <KLocalizedString>
#include <KAboutData>
#include <kdbusservice.h>
#include <KLocalizedString>
#include <Kdelibs4ConfigMigrator>
#include <kdbusservice.h>
#include "kmenuedit.h"
#include <QApplication>
#include <QCommandLineParser>
#include "kmenuedit.h"
static const char description[] = I18N_NOOP("KDE menu editor");
......@@ -56,8 +56,11 @@ int main(int argc, char **argv)
QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
KLocalizedString::setApplicationDomain("kmenuedit");
KAboutData aboutData(QStringLiteral("kmenuedit"), i18n("KDE Menu Editor"),
QStringLiteral(PROJECT_VERSION), i18n(description), KAboutLicense::GPL,
KAboutData aboutData(QStringLiteral("kmenuedit"),
i18n("KDE Menu Editor"),
QStringLiteral(PROJECT_VERSION),
i18n(description),
KAboutLicense::GPL,
i18n("(C) 2000-2003, Waldo Bastian, Raffaele Sandrini, Matthias Elter"));
aboutData.addAuthor(i18n("Waldo Bastian"), i18n("Maintainer"), QStringLiteral("bastian@kde.org"));
aboutData.addAuthor(i18n("Raffaele Sandrini"), i18n("Previous Maintainer"), QStringLiteral("sandrini@kde.org"));
......@@ -69,12 +72,8 @@ int main(int argc, char **argv)
QCommandLineParser parser;
parser.setApplicationDescription(i18n("KDE Menu Editor"));
parser.addPositionalArgument(QStringLiteral("menu"),
i18n("Sub menu to pre-select"),
QStringLiteral("[menu]"));
parser.addPositionalArgument(QStringLiteral("menu-id"),
i18n("Menu entry to pre-select"),
QStringLiteral("[menu-id]"));
parser.addPositionalArgument(QStringLiteral("menu"), i18n("Sub menu to pre-select"), QStringLiteral("[menu]"));
parser.addPositionalArgument(QStringLiteral("menu-id"), i18n("Menu entry to pre-select"), QStringLiteral("[menu-id]"));
aboutData.setupCommandLine(&parser);
parser.process(app);
aboutData.processCommandLine(&parser);
......
......@@ -20,10 +20,10 @@
#include <QDir>
#include <QFile>
#include <QTextStream>
#include <QRegularExpression>
#include <QFileInfo>
#include <QRegularExpression>
#include <QStandardPaths>
#include <QTextStream>
#include "kmenuedit_debug.h"
#include <KLocalizedString>
......@@ -130,7 +130,7 @@ QDomElement MenuFile::findMenu(QDomElement elem, const QString &menuName, bool c
int i = menuName.indexOf(QLatin1Char('/'));
if (i >= 0) {
menuNodeName = menuName.left(i);
subMenuName = menuName.mid(i+1);
subMenuName = menuName.mid(i + 1);
} else {
menuNodeName = menuName;
}
......@@ -143,15 +143,13 @@ QDomElement MenuFile::findMenu(QDomElement elem, const QString &menuName, bool c
}
QDomNode n = elem.firstChild();
while (!n.isNull())
{
while (!n.isNull()) {
QDomElement e = n.toElement(); // try to convert the node to an element.
if (e.tagName() == MF_MENU) {
QString name;
QDomNode n2 = e.firstChild();
while (!n2.isNull())
{
while (!n2.isNull()) {
QDomElement e2 = n2.toElement();
if (!e2.isNull() && e2.tagName() == MF_NAME) {
name = e2.text();
......@@ -195,8 +193,9 @@ static QString relativeToDesktopDirsLocation(const QString &file)
const QStringList dirs = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
for (const QString &dir : dirs) {
const QString base = dir + QStringLiteral("/desktop-directories");
if (canonical.startsWith(base))
return canonical.mid(base.length()+1);
if (canonical.startsWith(base)) {
return canonical.mid(base.length() + 1);
}
}
return QString();
}
......@@ -213,7 +212,7 @@ static QString entryToDirId(const QString &path)
if (local.isEmpty() || local.startsWith(QLatin1Char('/'))) {
// What now? Use filename only and hope for the best.
local = path.mid(path.lastIndexOf(QLatin1Char('/'))+1);
local = path.mid(path.lastIndexOf(QLatin1Char('/')) + 1);
}
return local;
}
......@@ -222,8 +221,7 @@ static void purgeIncludesExcludes(const QDomElement &elem, const QString &appId,
{
// Remove any previous includes/excludes of appId
QDomNode n = elem.firstChild();
while (!n.isNull())
{
while (!n.isNull()) {
QDomElement e = n.toElement(); // try to convert the node to an element.
bool bIncludeNode = (e.tagName() == MenuFile::MF_INCLUDE);
bool bExcludeNode = (e.tagName() == MenuFile::MF_EXCLUDE);
......@@ -235,8 +233,7 @@ static void purgeIncludesExcludes(const QDomElement &elem, const QString &appId,
}
if (bIncludeNode || bExcludeNode) {
QDomNode n2 = e.firstChild();
while (!n2.isNull())
{
while (!n2.isNull()) {
QDomNode next = n2.nextSibling();
QDomElement e2 = n2.toElement();
if (!e2.isNull() && e2.tagName() == MenuFile::MF_FILENAME) {
......@@ -256,12 +253,10 @@ static void purgeDeleted(QDomElement elem)
{
// Remove any previous includes/excludes of appId
QDomNode n = elem.firstChild();
while (!n.isNull())
{
while (!n.isNull()) {
QDomNode next = n.nextSibling();
QDomElement e = n.toElement(); // try to convert the node to an element.
if ((e.tagName() == MenuFile::MF_DELETED)
|| (e.tagName() == MenuFile::MF_NOTDELETED)) {
if ((e.tagName() == MenuFile::MF_DELETED) || (e.tagName() == MenuFile::MF_NOTDELETED)) {
elem.removeChild(e);
}
n = next;
......@@ -272,8 +267,7 @@ static void purgeLayout(QDomElement elem)
{
// Remove any previous includes/excludes of appId
QDomNode n = elem.firstChild();
while (!n.isNull())
{
while (!n.isNull()) {
QDomNode next = n.nextSibling();
QDomElement e = n.toElement(); // try to convert the node to an element.
if (e.tagName() == MenuFile::MF_LAYOUT) {
......@@ -317,8 +311,7 @@ void MenuFile::setLayout(const QString &menuName, const QStringList &layout)
QDomElement layoutNode = m_doc.createElement(MF_LAYOUT);
elem.appendChild(layoutNode);
for (QStringList::ConstIterator it = layout.constBegin();
it != layout.constEnd(); ++it) {
for (QStringList::ConstIterator it = layout.constBegin(); it != layout.constEnd(); ++it) {
QString li = *it;
if (li == QLatin1String(":S")) {
layoutNode.appendChild(m_doc.createElement(MF_SEPARATOR));
......@@ -387,7 +380,7 @@ void MenuFile::moveMenu(const QString &oldMenu, const QString &newMenu)
purgeDeleted(elem);
elem.appendChild(m_doc.createElement(MF_NOTDELETED));
// TODO: GET RID OF COMMON PART, IT BREAKS STUFF
// TODO: GET RID OF COMMON PART, IT BREAKS STUFF
// Find common part
QStringList oldMenuParts = oldMenu.split(QLatin1Char('/'));
QStringList newMenuParts = newMenu.split(QLatin1Char('/'));
......@@ -401,14 +394,14 @@ void MenuFile::moveMenu(const QString &oldMenu, const QString &newMenu)
commonMenuName += QLatin1Char('/') + oldMenuParts[i];
}
QString oldMenuName;
for (int j = i; j < oldMenuParts.count()-1; j++) {
for (int j = i; j < oldMenuParts.count() - 1; j++) {
if (i != j) {
oldMenuName += QLatin1Char('/');
}
oldMenuName += oldMenuParts[j];
}
QString newMenuName;
for (int j = i; j < newMenuParts.count()-1; j++) {
for (int j = i; j < newMenuParts.count() - 1; j++) {
if (i != j) {
newMenuName += QLatin1Char('/');
}
......@@ -416,7 +409,7 @@ void MenuFile::moveMenu(const QString &oldMenu, const QString &newMenu)
}
if (oldMenuName == newMenuName) {
return; // Can happen
return; // Can happen
}
elem = findMenu(m_doc.documentElement(), commonMenuName, true);
......@@ -526,8 +519,7 @@ bool MenuFile::performAllActions()
// so that they don't re-appear in Lost & Found
QStringList removed = m_removedEntries;
m_removedEntries.clear();
for (QStringList::ConstIterator it = removed.constBegin();
it != removed.constEnd(); ++it) {
for (QStringList::ConstIterator it = removed.constBegin(); it != removed.constEnd(); ++it) {
addEntry(QStringLiteral("/.hidden/"), *it);
}
......
......@@ -27,8 +27,8 @@
class MenuFile
{
public:
static const QString MF_MENU, MF_PUBLIC_ID, MF_SYSTEM_ID, MF_NAME, MF_INCLUDE, MF_EXCLUDE, MF_FILENAME, MF_DELETED, MF_NOTDELETED,
MF_MOVE, MF_OLD, MF_NEW, MF_DIRECTORY, MF_LAYOUT, MF_MENUNAME, MF_SEPARATOR, MF_MERGE;
static const QString MF_MENU, MF_PUBLIC_ID, MF_SYSTEM_ID, MF_NAME, MF_INCLUDE, MF_EXCLUDE, MF_FILENAME, MF_DELETED, MF_NOTDELETED, MF_MOVE, MF_OLD, MF_NEW,
MF_DIRECTORY, MF_LAYOUT, MF_MENUNAME, MF_SEPARATOR, MF_MERGE;
explicit MenuFile(const QString &file);
~MenuFile();
......@@ -39,7 +39,7 @@ public:
QString error() const
{
return m_error;
} // Returns the last error message
} // Returns the last error message
void restoreMenuSystem(const QString &);
......@@ -51,8 +51,7 @@ public:
MOVE_MENU,
};
struct ActionAtom
{
struct ActionAtom {
ActionType action;
QString arg1;
QString arg2;
......
......@@ -183,8 +183,7 @@ void MenuFolderInfo::save(MenuFile *menuFile)
{
if (s_deletedApps) {
// Remove hotkeys for applications that have been deleted
for (QStringList::ConstIterator it = s_deletedApps->constBegin();
it != s_deletedApps->constEnd(); ++it) {
for (QStringList::ConstIterator it = s_deletedApps->constBegin(); it != s_deletedApps->constEnd(); ++it) {
// The shorcut is deleted if we set a empty sequence
GlobalAccel::changeMenuEntryShortcut(KService::serviceByStorageId(*it), QKeySequence());
}
......
......@@ -22,8 +22,8 @@
#include <QList>
#include <QKeySequence>
#include <KService>
#include <QKeySequence>
class MenuFile;
class MenuEntryInfo;
......@@ -51,7 +51,8 @@ public:
class MenuFolderInfo : public MenuInfo
{
public:
MenuFolderInfo() : dirty(false)
MenuFolderInfo()
: dirty(false)
, hidden(false)
{
}
......
......@@ -19,14 +19,14 @@
#include "preferencesdlg.h"
#include <QHBoxLayout>
#include <QCheckBox>
#include <QGroupBox>
#include <QHBoxLayout>
#include <QPushButton>
#include "configurationmanager.h"
#include <KLocalizedString>
#include <sonnet/configwidget.h>
#include "configurationmanager.h"
PreferencesDialog::PreferencesDialog(QWidget *parent)
: KPageDialog(parent)
......
......@@ -26,7 +26,8 @@ class SpellCheckingPage;
class MiscPage;
class QCheckBox;
namespace Sonnet {
namespace Sonnet
{
class ConfigWidget;
}
......@@ -50,6 +51,7 @@ class SpellCheckingPage : public QWidget
public:
explicit SpellCheckingPage(QWidget *);
void saveOptions();
private:
Sonnet::ConfigWidget *m_confPage = nullptr;
};
......@@ -60,6 +62,7 @@ class MiscPage : public QWidget
public:
explicit MiscPage(QWidget *);
void saveOptions();
private:
QCheckBox *m_showHiddenEntries = nullptr;
};
......
......@@ -39,17 +39,17 @@
#include <QRegularExpressionMatch>
#include <QUrl>
#include "kmenuedit_debug.h"
#include <KActionCollection>
#include <KBuildSycocaProgressDialog>
#include "kmenuedit_debug.h"
#include <KConfig>
#include <KConfigGroup>
#include <KDesktopFile>
#include <KIconLoader>
#include <KLocalizedString>
#include <KMessageBox>
#include <KConfig>
#include <KConfigGroup>
#include <KUrlMimeData>
#include <KStringHandler>
#include <KUrlMimeData>
#include <QStandardPaths>
#include "menufile.h"
......@@ -57,8 +57,8 @@
#define MOVE_FOLDER 'M'
#define COPY_FOLDER 'C'
#define MOVE_FILE 'm'
#define COPY_FILE 'c'
#define MOVE_FILE 'm'
#define COPY_FILE 'c'
#define COPY_SEPARATOR 'S'
static const char *s_internalMimeType = "application/x-kmenuedit-internal";
......@@ -76,12 +76,12 @@ protected:
{
QPainter p(this);
// Draw Separator
int h = (height() / 2) -1;
// if (isSelected()) {
// p->setPen( palette().color( QPalette::HighlightedText ) );
// } else {
// p->setPen( palette().color( QPalette::Text ) );
// }
int h = (height() / 2) - 1;
// if (isSelected()) {
// p->setPen( palette().color( QPalette::HighlightedText ) );
// } else {
// p->setPen( palette().color( QPalette::Text ) );
// }
p.drawLine(2, h, width() - 4, h);
}
......@@ -259,23 +259,31 @@ TreeView::TreeView(KActionCollection *ac, QWidget *parent)
// listen for sorting
QAction *action = m_ac->action(SORT_BY_NAME_ACTION_NAME);
connect(action, &QAction::triggered, this, [this]() {sort(SortByName);});
connect(action, &QAction::triggered, this, [this]() {
sort(SortByName);
});
action = m_ac->action(SORT_BY_DESCRIPTION_ACTION_NAME);
connect(action, &QAction::triggered, this, [this]() {sort(SortByDescription);});
connect(action, &QAction::triggered, this, [this]() {
sort(SortByDescription);
});
action = m_ac->action(SORT_ALL_BY_NAME_ACTION_NAME);
connect(action, &QAction::triggered, this, [this]() {sort(SortAllByName);});
connect(action, &QAction::triggered, this, [this]() {
sort(SortAllByName);
});
action = m_ac->action(SORT_ALL_BY_DESCRIPTION_ACTION_NAME);
connect(action, &QAction::triggered, this, [this]() {sort(SortAllByDescription);});
connect(action, &QAction::triggered, this, [this]() {
sort(SortAllByDescription);
});
// connect moving up/down actions
connect(m_ac->action(MOVE_UP_ACTION_NAME), &QAction::triggered, this, &TreeView::moveUpItem);
connect(m_ac->action(MOVE_DOWN_ACTION_NAME), &QAction::triggered, this, &TreeView::moveDownItem);
// listen for selection
connect(this, &QTreeWidget::currentItemChanged,
this, &TreeView::itemSelected);
connect(this, &QTreeWidget::currentItemChanged, this, &TreeView::itemSelected);
m_menuFile = new MenuFile(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + QStringLiteral("/menus/") + QStringLiteral("applications-kmenuedit.menu"));