Krita Source Code Documentation
Loading...
Searching...
No Matches
kshortcutschemeshelper.cpp
Go to the documentation of this file.
1/* This file is part of the KDE libraries
2 SPDX-FileCopyrightText: 2008 Alexander Dymo <adymo@kdevelop.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
7
8#include <QAction>
9#include <QCoreApplication>
10#include <QFile>
11#include <QDomDocument>
12#include <QStandardPaths>
13
14#include <QDir>
15#include <kconfiggroup.h>
16#include <ksharedconfig.h>
17
18#include "kactioncollection.h"
19#include "kxmlguiclient.h"
20
21#include "KoResourcePaths.h"
22#include "kis_action_registry.h"
23
24
25QString KisKShortcutSchemesHelper::shortcutSchemeFileName(const QString &schemeName)
26{
27 // Create a directory if one cannot be found.
28 return KoResourcePaths::locateLocal("kis_shortcuts", schemeName, true);
29}
30
31
33{
34 QStringList schemes;
35 schemes << QString("Default"); // Forbid "Default.shortcuts"
36 QHash<QString, QString> schemeFileLocations;
37 const QStringList shortcutFiles = KoResourcePaths::findAllAssets("kis_shortcuts", "*.shortcuts");
38 Q_FOREACH (const QString &file, shortcutFiles) {
39 QFileInfo fileInfo(file);
40 QString schemeName = fileInfo.completeBaseName();
41 if (!schemes.contains(schemeName)) {
42 schemes << schemeName;
43 schemeFileLocations.insert(schemeName, fileInfo.canonicalFilePath());
44 }
45 }
47}
static QHash< QString, QString > schemeFileLocations()
static QString shortcutSchemeFileName(const QString &schemeName)
static QString locateLocal(const QString &type, const QString &filename, bool createDir=false)
static QStringList findAllAssets(const QString &type, const QString &filter=QString(), SearchOptions options=NoSearchOptions)