Deskflow
1.27.0.7
Keyboard and mouse sharing utility
Toggle main menu visibility
Loading...
Searching...
No Matches
ComputerConfig.h
Go to the documentation of this file.
1
/*
2
* Deskflow -- mouse and keyboard sharing utility
3
* SPDX-FileCopyrightText: (C) 2026 Deskflow Developers
4
* SPDX-FileCopyrightText: (C) 2012 Synergy App Ltd
5
* SPDX-FileCopyrightText: (C) 2008 Volker Lanz <vl@fidra.de>
6
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
7
*/
8
9
#pragma once
10
11
#include <QString>
12
#include <QVariant>
13
14
#include "
common/QSettingsProxy.h
"
15
17
class
ComputerConfig
18
{
19
20
public
:
21
enum class
SwitchCorner
: int8_t
22
{
23
TopLeft,
24
TopRight,
25
BottomLeft,
26
BottomRight
27
};
28
enum class
Fix
: int8_t
29
{
30
CapsLock,
31
NumLock,
32
ScrollLock,
33
XTest
34
};
35
36
protected
:
37
explicit
ComputerConfig
() =
default
;
38
~ComputerConfig
() =
default
;
39
40
template
<
typename
T1,
typename
T2>
41
void
readSettings
(
QSettingsProxy
&settings, T1 &array,
const
QString &arrayName,
const
T2 &defaultValue)
42
{
43
int
entries = settings.
beginReadArray
(arrayName +
"Array"
);
44
array.clear();
45
for
(
int
i = 0; i < entries; i++) {
46
settings.
setArrayIndex
(i);
47
QVariant v = settings.
value
(arrayName, defaultValue);
48
array.append(v.value<T2>());
49
}
50
settings.
endArray
();
51
}
52
53
template
<
typename
T1,
typename
T2>
54
void
readSettings
(
QSettingsProxy
&settings, T1 &array,
const
QString &arrayName,
const
T2 &defaultValue,
int
entries)
55
{
56
Q_ASSERT(array.size() >= entries);
57
settings.
beginReadArray
(arrayName +
"Array"
);
58
for
(
int
i = 0; i < entries; i++) {
59
settings.
setArrayIndex
(i);
60
QVariant v = settings.
value
(arrayName, defaultValue);
61
array[i] = v.value<T2>();
62
}
63
settings.
endArray
();
64
}
65
66
template
<
typename
T>
void
writeSettings
(
QSettingsProxy
&settings,
const
T &array,
const
QString &arrayName)
const
67
{
68
settings.
beginWriteArray
(arrayName +
"Array"
);
69
for
(
int
i = 0; i < array.size(); i++) {
70
settings.
setArrayIndex
(i);
71
settings.
setValue
(arrayName, array[i]);
72
}
73
settings.
endArray
();
74
}
75
};
QSettingsProxy.h
ComputerConfig::~ComputerConfig
~ComputerConfig()=default
ComputerConfig::Fix
Fix
Definition
ComputerConfig.h:29
ComputerConfig::SwitchCorner
SwitchCorner
Definition
ComputerConfig.h:22
ComputerConfig::readSettings
void readSettings(QSettingsProxy &settings, T1 &array, const QString &arrayName, const T2 &defaultValue)
Definition
ComputerConfig.h:41
ComputerConfig::writeSettings
void writeSettings(QSettingsProxy &settings, const T &array, const QString &arrayName) const
Definition
ComputerConfig.h:66
ComputerConfig::readSettings
void readSettings(QSettingsProxy &settings, T1 &array, const QString &arrayName, const T2 &defaultValue, int entries)
Definition
ComputerConfig.h:54
ComputerConfig::ComputerConfig
ComputerConfig()=default
QSettingsProxy
Definition
QSettingsProxy.h:14
QSettingsProxy::beginWriteArray
virtual void beginWriteArray(const QString &prefix)
Definition
QSettingsProxy.cpp:62
QSettingsProxy::endArray
virtual void endArray()
Definition
QSettingsProxy.cpp:57
QSettingsProxy::beginReadArray
virtual int beginReadArray(const QString &prefix)
Definition
QSettingsProxy.cpp:37
QSettingsProxy::setArrayIndex
virtual void setArrayIndex(int i)
Definition
QSettingsProxy.cpp:42
QSettingsProxy::value
virtual QVariant value(const QString &key) const
Definition
QSettingsProxy.cpp:47
QSettingsProxy::setValue
virtual void setValue(const QString &key, const QVariant &value)
Definition
QSettingsProxy.cpp:67
src
lib
gui
config
ComputerConfig.h
Generated by
1.18.0