Drop patch move-config.patch Drop patch use-xdg-hierarchy.patchbackports/focal
parent
8cb4a6514d
commit
3c5d8d3f65
@ -1,15 +0,0 @@
|
|||||||
Description: move shortcuts config fom /etc/xdg/lxqt to /usr/share/lxqt
|
|
||||||
Author: Alf Gaida <agaida@siduction.org>
|
|
||||||
Applied-Upstream:
|
|
||||||
https://github.com/lxqt/lxqt-globalkeys/commit/cbce84c6703caa0835765fca22542826d575ca1f.patch
|
|
||||||
Last-Update: 2019-08-20
|
|
||||||
--- a/xdg/CMakeLists.txt
|
|
||||||
+++ b/xdg/CMakeLists.txt
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
# install default config files to /etc/xdg
|
|
||||||
install(FILES
|
|
||||||
globalkeyshortcuts.conf
|
|
||||||
- DESTINATION "${LXQT_ETC_XDG_DIR}/lxqt"
|
|
||||||
+ DESTINATION "${CMAKE_INSTALL_DATADIR}/lxqt"
|
|
||||||
COMPONENT Runtime
|
|
||||||
)
|
|
@ -1,290 +0,0 @@
|
|||||||
Description: Use XDG hierarchy if no config file given
|
|
||||||
Author: Palo Kisa <palo.kisa@gmail.com>
|
|
||||||
Applied-Upstream:
|
|
||||||
https://github.com/lxqt/lxqt-globalkeys/pull/60/commits/efc2933ec9e8b2f85e2e6eea1d27f5bb3d08f1ba
|
|
||||||
Last-Update: 2019-08-17
|
|
||||||
--- a/daemon/core.cpp
|
|
||||||
+++ b/daemon/core.cpp
|
|
||||||
@@ -400,6 +400,7 @@ Core::Core(bool useSyslog, bool minLogLe
|
|
||||||
, mAllowGrabMiscKeypad(true)
|
|
||||||
, mAllowGrabPrintable(false)
|
|
||||||
|
|
||||||
+ , mSettings{new QSettings{QStringLiteral("lxqt"), QStringLiteral("globalkeyshortcuts")}}
|
|
||||||
, mSaveAllowed(false)
|
|
||||||
|
|
||||||
, mShortcutGrabTimeout(new QTimer(this))
|
|
||||||
@@ -411,8 +412,6 @@ Core::Core(bool useSyslog, bool minLogLe
|
|
||||||
initBothPipeEnds(mX11RequestPipe);
|
|
||||||
initBothPipeEnds(mX11ResponsePipe);
|
|
||||||
|
|
||||||
- mConfigFile = QFile::decodeName(qgetenv("HOME")) + QStringLiteral("/.config/global_key_shortcutss.ini");
|
|
||||||
-
|
|
||||||
try
|
|
||||||
{
|
|
||||||
error_t c_error;
|
|
||||||
@@ -465,18 +464,17 @@ Core::Core(bool useSyslog, bool minLogLe
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
- size_t fm = configFiles.size();
|
|
||||||
- for (size_t fi = 0; fi < fm; ++fi)
|
|
||||||
+ // use regular XDG hierarchy (implemented by QSettings) if no config file given on command line
|
|
||||||
+ auto config_file_i = configFiles.cbegin();
|
|
||||||
+ if (config_file_i != configFiles.cend())
|
|
||||||
+ mSettings.reset(new QSettings{*config_file_i, QSettings::IniFormat});
|
|
||||||
+ for (bool finished = false; !finished; )
|
|
||||||
{
|
|
||||||
- mConfigFile = configFiles[fi];
|
|
||||||
-
|
|
||||||
- QSettings settings(mConfigFile, QSettings::IniFormat, this);
|
|
||||||
-
|
|
||||||
QString iniValue;
|
|
||||||
|
|
||||||
if (!minLogLevelSet)
|
|
||||||
{
|
|
||||||
- iniValue = settings.value(/* General/ */QStringLiteral("LogLevel")).toString();
|
|
||||||
+ iniValue = mSettings->value(/* General/ */QStringLiteral("LogLevel")).toString();
|
|
||||||
if (!iniValue.isEmpty())
|
|
||||||
{
|
|
||||||
if (iniValue == QLatin1String("error"))
|
|
||||||
@@ -504,7 +502,7 @@ Core::Core(bool useSyslog, bool minLogLe
|
|
||||||
|
|
||||||
if (!multipleActionsBehaviourSet)
|
|
||||||
{
|
|
||||||
- iniValue = settings.value(/* General/ */QStringLiteral("MultipleActionsBehaviour")).toString();
|
|
||||||
+ iniValue = mSettings->value(/* General/ */QStringLiteral("MultipleActionsBehaviour")).toString();
|
|
||||||
if (!iniValue.isEmpty())
|
|
||||||
{
|
|
||||||
if (iniValue == firstStr)
|
|
||||||
@@ -526,18 +524,18 @@ Core::Core(bool useSyslog, bool minLogLe
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- mAllowGrabLocks = settings.value(/* General/ */QStringLiteral("AllowGrabLocks"), mAllowGrabLocks).toBool();
|
|
||||||
- mAllowGrabBaseSpecial = settings.value(/* General/ */QStringLiteral("AllowGrabBaseSpecial"), mAllowGrabBaseSpecial).toBool();
|
|
||||||
- mAllowGrabMiscSpecial = settings.value(/* General/ */QStringLiteral("AllowGrabMiscSpecial"), mAllowGrabMiscSpecial).toBool();
|
|
||||||
- mAllowGrabBaseKeypad = settings.value(/* General/ */QStringLiteral("AllowGrabBaseKeypad"), mAllowGrabBaseKeypad).toBool();
|
|
||||||
- mAllowGrabMiscKeypad = settings.value(/* General/ */QStringLiteral("AllowGrabMiscKeypad"), mAllowGrabMiscKeypad).toBool();
|
|
||||||
+ mAllowGrabLocks = mSettings->value(/* General/ */QStringLiteral("AllowGrabLocks"), mAllowGrabLocks).toBool();
|
|
||||||
+ mAllowGrabBaseSpecial = mSettings->value(/* General/ */QStringLiteral("AllowGrabBaseSpecial"), mAllowGrabBaseSpecial).toBool();
|
|
||||||
+ mAllowGrabMiscSpecial = mSettings->value(/* General/ */QStringLiteral("AllowGrabMiscSpecial"), mAllowGrabMiscSpecial).toBool();
|
|
||||||
+ mAllowGrabBaseKeypad = mSettings->value(/* General/ */QStringLiteral("AllowGrabBaseKeypad"), mAllowGrabBaseKeypad).toBool();
|
|
||||||
+ mAllowGrabMiscKeypad = mSettings->value(/* General/ */QStringLiteral("AllowGrabMiscKeypad"), mAllowGrabMiscKeypad).toBool();
|
|
||||||
|
|
||||||
- const auto sections = settings.childGroups();
|
|
||||||
+ const auto sections = mSettings->childGroups();
|
|
||||||
for(const QString §ion : sections)
|
|
||||||
{
|
|
||||||
if (section != QLatin1String("General"))
|
|
||||||
{
|
|
||||||
- settings.beginGroup(section);
|
|
||||||
+ mSettings->beginGroup(section);
|
|
||||||
|
|
||||||
QString shortcut = section;
|
|
||||||
int pos = shortcut.indexOf(QLatin1Char('.'));
|
|
||||||
@@ -548,32 +546,32 @@ Core::Core(bool useSyslog, bool minLogLe
|
|
||||||
|
|
||||||
qulonglong id = 0ull;
|
|
||||||
|
|
||||||
- bool enabled = settings.value(EnabledKey, true).toBool();
|
|
||||||
+ bool enabled = mSettings->value(EnabledKey, true).toBool();
|
|
||||||
|
|
||||||
- QString description = settings.value(CommentKey).toString();
|
|
||||||
+ QString description = mSettings->value(CommentKey).toString();
|
|
||||||
|
|
||||||
- if (settings.contains(ExecKey))
|
|
||||||
+ if (mSettings->contains(ExecKey))
|
|
||||||
{
|
|
||||||
- QStringList values = settings.value(ExecKey).toStringList();
|
|
||||||
+ QStringList values = mSettings->value(ExecKey).toStringList();
|
|
||||||
id = registerCommandAction(shortcut, values[0], values.mid(1), description);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- iniValue = settings.value(pathKey).toString();
|
|
||||||
+ iniValue = mSettings->value(pathKey).toString();
|
|
||||||
if (!iniValue.isEmpty())
|
|
||||||
{
|
|
||||||
QString path = iniValue;
|
|
||||||
|
|
||||||
- if (settings.contains(interfaceKey))
|
|
||||||
+ if (mSettings->contains(interfaceKey))
|
|
||||||
{
|
|
||||||
- QString interface = settings.value(interfaceKey).toString();
|
|
||||||
+ QString interface = mSettings->value(interfaceKey).toString();
|
|
||||||
|
|
||||||
- iniValue = settings.value(serviceKey).toString();
|
|
||||||
+ iniValue = mSettings->value(serviceKey).toString();
|
|
||||||
if (!iniValue.isEmpty())
|
|
||||||
{
|
|
||||||
QString service = iniValue;
|
|
||||||
|
|
||||||
- iniValue = settings.value(methodKey).toString();
|
|
||||||
+ iniValue = mSettings->value(methodKey).toString();
|
|
||||||
if (!iniValue.isEmpty())
|
|
||||||
{
|
|
||||||
QString method = iniValue;
|
|
||||||
@@ -593,12 +591,16 @@ Core::Core(bool useSyslog, bool minLogLe
|
|
||||||
enableActionNonGuarded(id, enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
- settings.endGroup();
|
|
||||||
+ mSettings->endGroup();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ finished = config_file_i == configFiles.cend();
|
|
||||||
+ if (!finished)
|
|
||||||
+ mSettings.reset(new QSettings{*config_file_i++, QSettings::IniFormat});
|
|
||||||
+
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- log(LOG_DEBUG, "Config file: %s", qPrintable(mConfigFile));
|
|
||||||
+ log(LOG_DEBUG, "Config file: %s", qPrintable(mSettings->fileName()));
|
|
||||||
|
|
||||||
|
|
||||||
log(LOG_DEBUG, "MinLogLevel: %s", strLevel(mMinLogLevel));
|
|
||||||
@@ -730,37 +732,37 @@ void Core::saveConfig()
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- QSettings settings(mConfigFile, QSettings::IniFormat);
|
|
||||||
-
|
|
||||||
- settings.clear();
|
|
||||||
+ QVariant windowSize = mSettings->value(QStringLiteral("WindowSize"));
|
|
||||||
+ mSettings->clear();
|
|
||||||
+ mSettings->setValue(QStringLiteral("WindowSize"), windowSize);
|
|
||||||
|
|
||||||
switch (mMultipleActionsBehaviour)
|
|
||||||
{
|
|
||||||
case MULTIPLE_ACTIONS_BEHAVIOUR_FIRST:
|
|
||||||
- settings.setValue(/* General/ */QLatin1String("MultipleActionsBehaviour"), firstStr);
|
|
||||||
+ mSettings->setValue(/* General/ */QLatin1String("MultipleActionsBehaviour"), firstStr);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MULTIPLE_ACTIONS_BEHAVIOUR_LAST:
|
|
||||||
- settings.setValue(/* General/ */QLatin1String("MultipleActionsBehaviour"), lastStr);
|
|
||||||
+ mSettings->setValue(/* General/ */QLatin1String("MultipleActionsBehaviour"), lastStr);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MULTIPLE_ACTIONS_BEHAVIOUR_ALL:
|
|
||||||
- settings.setValue(/* General/ */QLatin1String("MultipleActionsBehaviour"), allStr);
|
|
||||||
+ mSettings->setValue(/* General/ */QLatin1String("MultipleActionsBehaviour"), allStr);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MULTIPLE_ACTIONS_BEHAVIOUR_NONE:
|
|
||||||
- settings.setValue(/* General/ */QLatin1String("MultipleActionsBehaviour"), noneStr);
|
|
||||||
+ mSettings->setValue(/* General/ */QLatin1String("MultipleActionsBehaviour"), noneStr);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
- settings.setValue(/* General/ */QLatin1String("AllowGrabLocks"), mAllowGrabLocks);
|
|
||||||
- settings.setValue(/* General/ */QLatin1String("AllowGrabBaseSpecial"), mAllowGrabBaseSpecial);
|
|
||||||
- settings.setValue(/* General/ */QLatin1String("AllowGrabMiscSpecial"), mAllowGrabMiscSpecial);
|
|
||||||
- settings.setValue(/* General/ */QLatin1String("AllowGrabBaseKeypad"), mAllowGrabBaseKeypad);
|
|
||||||
- settings.setValue(/* General/ */QLatin1String("AllowGrabMiscKeypad"), mAllowGrabMiscKeypad);
|
|
||||||
+ mSettings->setValue(/* General/ */QLatin1String("AllowGrabLocks"), mAllowGrabLocks);
|
|
||||||
+ mSettings->setValue(/* General/ */QLatin1String("AllowGrabBaseSpecial"), mAllowGrabBaseSpecial);
|
|
||||||
+ mSettings->setValue(/* General/ */QLatin1String("AllowGrabMiscSpecial"), mAllowGrabMiscSpecial);
|
|
||||||
+ mSettings->setValue(/* General/ */QLatin1String("AllowGrabBaseKeypad"), mAllowGrabBaseKeypad);
|
|
||||||
+ mSettings->setValue(/* General/ */QLatin1String("AllowGrabMiscKeypad"), mAllowGrabMiscKeypad);
|
|
||||||
|
|
||||||
ShortcutAndActionById::const_iterator lastShortcutAndActionById = mShortcutAndActionById.constEnd();
|
|
||||||
for (ShortcutAndActionById::const_iterator shortcutAndActionById = mShortcutAndActionById.constBegin(); shortcutAndActionById != lastShortcutAndActionById; ++shortcutAndActionById)
|
|
||||||
@@ -768,31 +770,31 @@ void Core::saveConfig()
|
|
||||||
const BaseAction *action = shortcutAndActionById.value().second;
|
|
||||||
QString section = shortcutAndActionById.value().first + QLatin1Char('.') + QString::number(shortcutAndActionById.key());
|
|
||||||
|
|
||||||
- settings.beginGroup(section);
|
|
||||||
+ mSettings->beginGroup(section);
|
|
||||||
|
|
||||||
- settings.setValue(EnabledKey, action->isEnabled());
|
|
||||||
- settings.setValue(CommentKey, action->description());
|
|
||||||
+ mSettings->setValue(EnabledKey, action->isEnabled());
|
|
||||||
+ mSettings->setValue(CommentKey, action->description());
|
|
||||||
|
|
||||||
if (!strcmp(action->type(), CommandAction::id()))
|
|
||||||
{
|
|
||||||
const CommandAction *commandAction = dynamic_cast<const CommandAction *>(action);
|
|
||||||
- settings.setValue(ExecKey, QVariant(QStringList() << commandAction->command() += commandAction->args()));
|
|
||||||
+ mSettings->setValue(ExecKey, QVariant(QStringList() << commandAction->command() += commandAction->args()));
|
|
||||||
}
|
|
||||||
else if (!strcmp(action->type(), MethodAction::id()))
|
|
||||||
{
|
|
||||||
const MethodAction *methodAction = dynamic_cast<const MethodAction *>(action);
|
|
||||||
- settings.setValue(serviceKey, methodAction->service());
|
|
||||||
- settings.setValue(pathKey, methodAction->path().path());
|
|
||||||
- settings.setValue(interfaceKey, methodAction->interface());
|
|
||||||
- settings.setValue(methodKey, methodAction->method());
|
|
||||||
+ mSettings->setValue(serviceKey, methodAction->service());
|
|
||||||
+ mSettings->setValue(pathKey, methodAction->path().path());
|
|
||||||
+ mSettings->setValue(interfaceKey, methodAction->interface());
|
|
||||||
+ mSettings->setValue(methodKey, methodAction->method());
|
|
||||||
}
|
|
||||||
else if (!strcmp(action->type(), ClientAction::id()))
|
|
||||||
{
|
|
||||||
const ClientAction *clientAction = dynamic_cast<const ClientAction *>(action);
|
|
||||||
- settings.setValue(pathKey, clientAction->path().path());
|
|
||||||
+ mSettings->setValue(pathKey, clientAction->path().path());
|
|
||||||
}
|
|
||||||
|
|
||||||
- settings.endGroup();
|
|
||||||
+ mSettings->endGroup();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
--- a/daemon/core.h
|
|
||||||
+++ b/daemon/core.h
|
|
||||||
@@ -58,6 +58,7 @@ class NativeAdaptor;
|
|
||||||
class DBusProxy;
|
|
||||||
class BaseAction;
|
|
||||||
class QDBusServiceWatcher;
|
|
||||||
+class QSettings;
|
|
||||||
|
|
||||||
template<class Key>
|
|
||||||
class QOrderedSet : public QMap<Key, Key>
|
|
||||||
@@ -242,7 +243,7 @@ private:
|
|
||||||
bool mAllowGrabMiscKeypad;
|
|
||||||
bool mAllowGrabPrintable;
|
|
||||||
|
|
||||||
- QString mConfigFile;
|
|
||||||
+ QScopedPointer<QSettings> mSettings;
|
|
||||||
bool mSaveAllowed;
|
|
||||||
|
|
||||||
QTimer *mShortcutGrabTimeout;
|
|
||||||
--- a/daemon/main.cpp
|
|
||||||
+++ b/daemon/main.cpp
|
|
||||||
@@ -43,8 +43,6 @@
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <libgen.h> // for basename()
|
|
||||||
|
|
||||||
-#define DEFAULT_CONFIG ".config/lxqt/globalkeyshortcuts.conf"
|
|
||||||
-
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
@@ -212,7 +210,7 @@ int main(int argc, char *argv[])
|
|
||||||
" --config-file=FILENAME\n"
|
|
||||||
" Use config file FILENAME. Can be used several times.\n"
|
|
||||||
" The last loaded file is used to save settings.\n"
|
|
||||||
- " Default is: ${HOME}/" DEFAULT_CONFIG "\n"
|
|
||||||
+ " Default is: ${XDG_CONFIG_HOME}/lxqt/globalkeyshortcuts.conf\n"
|
|
||||||
"\n"
|
|
||||||
" --help\n"
|
|
||||||
" -h\n"
|
|
||||||
@@ -235,13 +233,6 @@ int main(int argc, char *argv[])
|
|
||||||
int ignoreIt = chdir((home && *home) ? home : "/");
|
|
||||||
(void)ignoreIt;
|
|
||||||
|
|
||||||
- if (configFiles.empty() && home && *home)
|
|
||||||
- {
|
|
||||||
- if( ! QFile::exists(QString::fromLocal8Bit(home) + QLatin1Char('/') + QLatin1String(DEFAULT_CONFIG)) ) //Load default settings
|
|
||||||
- configFiles.push_back(QStringLiteral("/etc/xdg/lxqt/globalkeyshortcuts.conf"));
|
|
||||||
- configFiles.push_back(QString::fromLocal8Bit(home) + QLatin1Char('/') + QLatin1String(DEFAULT_CONFIG));
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
LXQt::Application app(argc, argv);
|
|
||||||
|
|
||||||
Core core(runAsDaemon || useSyslog, minLogLevelSet, minLogLevel, configFiles, multipleActionsBehaviourSet, multipleActionsBehaviour);
|
|
Loading…
Reference in new issue