refactor: remove server dead corners. instead set per screen
This commit is contained in:
parent
95ffe1ba03
commit
a54d4d6754
16 changed files with 253 additions and 597 deletions
|
|
@ -275,12 +275,6 @@ screens\9\switchCornerArray\4\switchCorner=false
|
|||
screens\9\switchCornerArray\size=4
|
||||
screens\9\switchCornerSize=0
|
||||
screens\size=15
|
||||
switchCornerArray\1\switchCorner=false
|
||||
switchCornerArray\2\switchCorner=false
|
||||
switchCornerArray\3\switchCorner=false
|
||||
switchCornerArray\4\switchCorner=false
|
||||
switchCornerArray\size=4
|
||||
switchCornerSize=0
|
||||
```
|
||||
|
||||
|
||||
|
|
@ -331,8 +325,8 @@ A computer can have the following options:
|
|||
|halfDuplexScrollLock| `true` or `false`| This computer has a ''Scroll Lock'' key that doesn't report a press and a release event when the user presses it but instead reports a press event when it's turned on and a release event when it's turned off. If ''Scroll Lock'' acts strangely on all computers then you may need to set this option to true on the server. If it acts strangely on one computer then that computer may need the option set to true.|
|
||||
|xtestIsXineramaUnaware| `true` or `false`| This option works around a bug in the XTest extension when used in combination with Xinerama. It affects X11 clients only. Not all versions of the XTest extension are aware of the Xinerama extension. As a result, they do not move the mouse correctly when using multiple Xinerama screens. This option is currently ''true'' by default. If you know your XTest extension is Xinerama aware then set this option to ''false''.|
|
||||
|preserveFocus| `true` or `false` | When true don't drop focus when switching computers
|
||||
|switchCorners| corners |See <a href="#switch-corners">switchCorners</a> below.|
|
||||
|switchCornerSize | integer | see switchCornerSize below.|
|
||||
|switchCorners | none top-left top-right bottom-left bottom-right left right top bottom all | Deskflow won't switch computers when the mouse reaches the edge of the computer if it's in a listed corner. The size of all corners is given by the `switchCornerSize` option. The first name in the list is one of the above names and defines the initial set of corners. Subsequent names are prefixed with + or - to add the corner to or remove the corner from the set, respectively. For example: `all -left +top-left` starts will all corners, removes the left corners (top and bottom) then adds the top-left back in, resulting in the top-left, bottom-left and bottom-right corners.|
|
||||
|switchCornerSize | integer (N) | Sets the size of all corners in pixels. The cursor must be within `N` pixels of the corner to be considered to be in the corner.|
|
||||
|shift | shift ctrl alt meta super none | Map the server's shift modifer to different key on a client computer|
|
||||
|ctrl | shift ctrl alt meta super none | Map the server's ctrl modifer to different key on a client computer|
|
||||
|alt | shift ctrl alt meta super none | Map the server's alt modifer to different key on a client computer|
|
||||
|
|
@ -399,8 +393,6 @@ end
|
|||
|
||||
| Options | Value Values| Description|
|
||||
|:--------|:-----------:|:-----------|
|
||||
|switchCorners | none top-left top-right bottom-left bottom-right left right top bottom all | Deskflow won't switch computers when the mouse reaches the edge of the computer if it's in a listed corner. The size of all corners is given by the `switchCornerSize` option. The first name in the list is one of the above names and defines the initial set of corners. Subsequent names are prefixed with + or - to add the corner to or remove the corner from the set, respectively. For example: `all -left +top-left` starts will all corners, removes the left corners (top and bottom) then adds the top-left back in, resulting in the top-left, bottom-left and bottom-right corners.|
|
||||
|switchCornerSize | integer (N) | Sets the size of all corners in pixels. The cursor must be within `N` pixels of the corner to be considered to be in the corner.|
|
||||
|screenSaverSync| `true` or `false`| ''Note: Removed in v1.14.1'' If set to ''false'' then Deskflow won't synchronize screen savers. Client screen savers will start according to their individual configurations. The server screen saver won't start if there is input, even if that input is directed toward a client computer.|
|
||||
|keystroke(key) | actions | Binds the ''key'' combination key to the given ''actions''. ''key'' is an optional list of modifiers (''shift'', ''control'', ''alt'', ''meta'' or ''super'') optionally followed by a character or a key name, all separated by + (plus signs). You must have either modifiers or a character/key name or both. See below for `valid key names` and `actions`. Keyboard hot keys are handled while the cursor any computer. Separate actions can be assigned to press and release.|
|
||||
|mousebutton(button) | actions| Binds the modifier and mouse button combination ''button'' to the given ''actions''. ''button'' is an optional list of modifiers (''shift'', ''control'', ''alt'', ''meta'' or ''super'') followed by a button number. The primary button (the left button for right handed users) is button 1, the middle button is 2, etc. Actions can be found below. Mouse button actions are not handled while the cursor is on the server. You cannot use these to perform an action while on the server. Separate actions can be assigned to press and release.|
|
||||
|
|
|
|||
|
|
@ -333,7 +333,8 @@ private:
|
|||
, QStringLiteral("internalConfig/protocol")
|
||||
, QStringLiteral("internalConfig/numColumns")
|
||||
, QStringLiteral("internalConfig/numRows")
|
||||
, QStringLiteral("interlanConfig/relativeMouseMoves")
|
||||
, QStringLiteral("internalConfig/relativeMouseMoves")
|
||||
, QStringLiteral("internalConfig/switchCorner")
|
||||
, QStringLiteral("internalConfig/switchDelay")
|
||||
, QStringLiteral("internalConfig/switchDoubleTap")
|
||||
, QStringLiteral("internalConfig/win32KeepForeground")
|
||||
|
|
|
|||
|
|
@ -53,8 +53,6 @@ bool ServerConfig::save(const QString &fileName) const
|
|||
bool ServerConfig::operator==(const ServerConfig &sc) const
|
||||
{
|
||||
return m_Screens == sc.m_Screens && //
|
||||
m_SwitchCornerSize == sc.m_SwitchCornerSize && //
|
||||
m_SwitchCorners == sc.m_SwitchCorners && //
|
||||
m_Hotkeys == sc.m_Hotkeys; //
|
||||
}
|
||||
|
||||
|
|
@ -66,14 +64,9 @@ void ServerConfig::save(QFile &file) const
|
|||
|
||||
void ServerConfig::setupScreens()
|
||||
{
|
||||
switchCorners().clear();
|
||||
screens().clear();
|
||||
hotkeys().clear();
|
||||
|
||||
// m_NumSwitchCorners is used as a fixed size array. See Screen::init()
|
||||
for (int i = 0; i < static_cast<int>(NumSwitchCorners); i++)
|
||||
switchCorners() << false;
|
||||
|
||||
// There must always be screen objects for each cell in the screens QList.
|
||||
// Unused screens are identified by having an empty name.
|
||||
for (int i = 0; i < m_columns * m_rows; i++)
|
||||
|
|
@ -87,9 +80,6 @@ void ServerConfig::commit()
|
|||
settings().beginGroup("internalConfig");
|
||||
settings().remove("");
|
||||
|
||||
settings().setValue("switchCornerSize", switchCornerSize());
|
||||
writeSettings(settings(), switchCorners(), "switchCorner");
|
||||
|
||||
settings().beginWriteArray("screens");
|
||||
for (int i = 0; i < screens().size(); i++) {
|
||||
settings().setArrayIndex(i);
|
||||
|
|
@ -125,9 +115,6 @@ void ServerConfig::recall()
|
|||
// ourselves
|
||||
setupScreens();
|
||||
|
||||
setSwitchCornerSize(settings().value("switchCornerSize").toInt());
|
||||
readSettings(settings(), switchCorners(), "switchCorner", false, static_cast<int>(NumSwitchCorners));
|
||||
|
||||
int numScreens = settings().beginReadArray("screens");
|
||||
Q_ASSERT(numScreens <= screens().size());
|
||||
for (int i = 0; i < numScreens; i++) {
|
||||
|
|
@ -206,15 +193,6 @@ QTextStream &operator<<(QTextStream &outStream, const ServerConfig &config)
|
|||
outStream << "end" << Qt::endl << Qt::endl;
|
||||
|
||||
outStream << "section: options" << Qt::endl;
|
||||
outStream << "\t"
|
||||
<< "switchCorners = none ";
|
||||
for (int i = 0; i < config.switchCorners().size(); i++)
|
||||
if (config.switchCorners()[i])
|
||||
outStream << "+" << ServerConfig::switchCornerName(i) << " ";
|
||||
outStream << Qt::endl;
|
||||
|
||||
outStream << "\t"
|
||||
<< "switchCornerSize = " << config.switchCornerSize() << Qt::endl;
|
||||
|
||||
for (const Hotkey &hotkey : config.hotkeys())
|
||||
outStream << hotkey;
|
||||
|
|
|
|||
|
|
@ -40,18 +40,6 @@ public:
|
|||
//
|
||||
// New methods
|
||||
//
|
||||
bool switchCorner(int c) const
|
||||
{
|
||||
return m_SwitchCorners[c];
|
||||
}
|
||||
int switchCornerSize() const
|
||||
{
|
||||
return m_SwitchCornerSize;
|
||||
}
|
||||
const QList<bool> &switchCorners() const
|
||||
{
|
||||
return m_SwitchCorners;
|
||||
}
|
||||
const HotkeyList &hotkeys() const
|
||||
{
|
||||
return m_Hotkeys;
|
||||
|
|
@ -85,20 +73,8 @@ private:
|
|||
{
|
||||
m_Screens.append(screen);
|
||||
}
|
||||
void setSwitchCorner(int c, bool on)
|
||||
{
|
||||
m_SwitchCorners[c] = on;
|
||||
}
|
||||
void setSwitchCornerSize(int val)
|
||||
{
|
||||
m_SwitchCornerSize = val;
|
||||
}
|
||||
void setConfigFile(const QString &configFile) const;
|
||||
void setUseExternalConfig(bool useExternalConfig) const;
|
||||
QList<bool> &switchCorners()
|
||||
{
|
||||
return m_SwitchCorners;
|
||||
}
|
||||
HotkeyList &hotkeys()
|
||||
{
|
||||
return m_Hotkeys;
|
||||
|
|
@ -108,8 +84,6 @@ private:
|
|||
bool fixNoServer(const QString &name, int &index);
|
||||
|
||||
private:
|
||||
int m_SwitchCornerSize = 0;
|
||||
QList<bool> m_SwitchCorners;
|
||||
HotkeyList m_Hotkeys;
|
||||
|
||||
ScreenList m_Screens;
|
||||
|
|
|
|||
|
|
@ -270,36 +270,6 @@ void ServerConfigDialog::toggleProtocol()
|
|||
onChange();
|
||||
}
|
||||
|
||||
void ServerConfigDialog::setSwitchCornerSize(int size)
|
||||
{
|
||||
serverConfig().setSwitchCornerSize(size);
|
||||
onChange();
|
||||
}
|
||||
|
||||
void ServerConfigDialog::toggleCornerBottomLeft(bool enable)
|
||||
{
|
||||
serverConfig().setSwitchCorner(static_cast<int>(BottomLeft), enable);
|
||||
onChange();
|
||||
}
|
||||
|
||||
void ServerConfigDialog::toggleCornerTopLeft(bool enable)
|
||||
{
|
||||
serverConfig().setSwitchCorner(static_cast<int>(TopLeft), enable);
|
||||
onChange();
|
||||
}
|
||||
|
||||
void ServerConfigDialog::toggleCornerBottomRight(bool enable)
|
||||
{
|
||||
serverConfig().setSwitchCorner(static_cast<int>(BottomRight), enable);
|
||||
onChange();
|
||||
}
|
||||
|
||||
void ServerConfigDialog::toggleCornerTopRight(bool enable)
|
||||
{
|
||||
serverConfig().setSwitchCorner(static_cast<int>(TopRight), enable);
|
||||
onChange();
|
||||
}
|
||||
|
||||
void ServerConfigDialog::listActionsSelectionChanged(const QItemSelection &selected, const QItemSelection &)
|
||||
{
|
||||
bool enabled = !selected.isEmpty();
|
||||
|
|
@ -377,7 +347,6 @@ void ServerConfigDialog::toggleExternalConfig(bool checked)
|
|||
ui->widgetExternalConfigControls->setEnabled(checked);
|
||||
ui->tabWidget->setTabEnabled(0, !checked);
|
||||
ui->tabWidget->setTabEnabled(1, !checked);
|
||||
ui->groupCorners->setEnabled(!checked);
|
||||
serverConfig().setUseExternalConfig(checked);
|
||||
onChange();
|
||||
}
|
||||
|
|
@ -441,12 +410,6 @@ void ServerConfigDialog::loadFromConfig()
|
|||
ui->widgetExternalConfigControls->setEnabled(ui->groupExternalConfig->isChecked());
|
||||
toggleExternalConfig(ui->groupExternalConfig->isChecked());
|
||||
|
||||
ui->cbCornerTopLeft->setChecked(serverConfig().switchCorner(static_cast<int>(TopLeft)));
|
||||
ui->cbCornerTopRight->setChecked(serverConfig().switchCorner(static_cast<int>(TopRight)));
|
||||
ui->cbCornerBottomLeft->setChecked(serverConfig().switchCorner(static_cast<int>(BottomLeft)));
|
||||
ui->cbCornerBottomRight->setChecked(serverConfig().switchCorner(static_cast<int>(BottomRight)));
|
||||
ui->sbSwitchCornerSize->setValue(serverConfig().switchCornerSize());
|
||||
|
||||
m_defaultLockToComputerState = Settings::value(Settings::Server::DefaultLockToComputerState).toBool();
|
||||
ui->cbDefaultLockToComputerState->setChecked(m_defaultLockToComputerState);
|
||||
|
||||
|
|
@ -518,18 +481,11 @@ void ServerConfigDialog::initConnections() const
|
|||
connect(ui->cbEnableClipboard, &QCheckBox::toggled, this, &ServerConfigDialog::toggleClipboard);
|
||||
connect(ui->btnBrowseConfigFile, &QPushButton::clicked, this, &ServerConfigDialog::browseConfigFile);
|
||||
connect(ui->groupExternalConfig, &QGroupBox::toggled, this, &ServerConfigDialog::toggleExternalConfig);
|
||||
connect(
|
||||
ui->sbSwitchCornerSize, QOverload<int>::of(&QSpinBox::valueChanged), this,
|
||||
&ServerConfigDialog::setSwitchCornerSize
|
||||
);
|
||||
|
||||
connect(
|
||||
ui->sbClipboardSizeLimit, QOverload<int>::of(&QSpinBox::valueChanged), this,
|
||||
&ServerConfigDialog::setClipboardLimit
|
||||
);
|
||||
connect(ui->cbCornerTopLeft, &QCheckBox::toggled, this, &ServerConfigDialog::toggleCornerTopLeft);
|
||||
connect(ui->cbCornerTopRight, &QCheckBox::toggled, this, &ServerConfigDialog::toggleCornerTopRight);
|
||||
connect(ui->cbCornerBottomLeft, &QCheckBox::toggled, this, &ServerConfigDialog::toggleCornerBottomLeft);
|
||||
connect(ui->cbCornerBottomRight, &QCheckBox::toggled, this, &ServerConfigDialog::toggleCornerBottomRight);
|
||||
connect(
|
||||
ui->cbDefaultLockToComputerState, &QCheckBox::toggled, this, &ServerConfigDialog::toggleDefaultLockToComputerState
|
||||
);
|
||||
|
|
|
|||
|
|
@ -73,12 +73,6 @@ protected:
|
|||
void toggleRelativeMouseMoves(bool enabled);
|
||||
void toggleProtocol();
|
||||
|
||||
void setSwitchCornerSize(int size);
|
||||
void toggleCornerBottomLeft(bool enable);
|
||||
void toggleCornerTopLeft(bool enable);
|
||||
void toggleCornerBottomRight(bool enable);
|
||||
void toggleCornerTopRight(bool enable);
|
||||
|
||||
void toggleExternalConfig(bool enable = false);
|
||||
bool browseConfigFile();
|
||||
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>814</width>
|
||||
<height>588</height>
|
||||
<width>724</width>
|
||||
<height>586</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
|
|
@ -307,116 +307,20 @@
|
|||
<attribute name="title">
|
||||
<string>Advanced</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="m_pGridCorners">
|
||||
<item row="0" column="1">
|
||||
<widget class="QGroupBox" name="groupCorners">
|
||||
<property name="font">
|
||||
<font>
|
||||
<kerning>true</kerning>
|
||||
</font>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="leftMargin">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>&Dead corners (for this computer)</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
<number>15</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="m_pLayoutCorners">
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="cbCornerBottomLeft">
|
||||
<property name="text">
|
||||
<string>&Bottom-left</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="cbCornerTopLeft">
|
||||
<property name="text">
|
||||
<string>To&p-left</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QCheckBox" name="cbCornerBottomRight">
|
||||
<property name="text">
|
||||
<string>Bottom-ri&ght</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QCheckBox" name="cbCornerTopRight">
|
||||
<property name="text">
|
||||
<string>Top-rig&ht</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="m_pLayoutCornerSize">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Cor&ner size</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>sbSwitchCornerSize</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_7">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="sbSwitchCornerSize">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string>px</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>30000</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_7">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="groupMisc">
|
||||
<property name="font">
|
||||
<font>
|
||||
|
|
@ -427,6 +331,18 @@
|
|||
<string>&Misc</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbDisableLockToComputer">
|
||||
<property name="text">
|
||||
|
|
@ -521,30 +437,216 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_6">
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Policy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
<width>50</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupSwitch">
|
||||
<property name="font">
|
||||
<font>
|
||||
<kerning>true</kerning>
|
||||
</font>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>&Switching</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="_5">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbSwitchDelay">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Switch &after waiting</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="spacerSwitchWait">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="sbSwitchDelay">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string>ms</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>10000</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>250</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="spacerSwitchWait_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Policy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>50</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="_6">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbSwitchDoubleTap">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Switch on double &tap within</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="spacerDoubleTap">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="sbSwitchDoubleTap">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string>ms</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>10000</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>250</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="spacerDoubleTap_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Policy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>50</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupNetwork">
|
||||
<property name="title">
|
||||
<string>&Network</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QWidget" name="widgetHeartbeat" native="true">
|
||||
<layout class="QHBoxLayout" name="groupHeartbeat">
|
||||
|
|
@ -608,6 +710,22 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="spacerNetwork_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Policy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>50</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
@ -623,19 +741,6 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_8">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rbProtocolSynergy">
|
||||
<property name="text">
|
||||
|
|
@ -655,181 +760,9 @@
|
|||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QGroupBox" name="groupSwitch">
|
||||
<property name="font">
|
||||
<font>
|
||||
<kerning>true</kerning>
|
||||
</font>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>&Switching</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="_5">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbSwitchDelay">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Switch &after waiting</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="spacerSwitchWait">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="sbSwitchDelay">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string>ms</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>10000</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>250</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="_6">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbSwitchDoubleTap">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Switch on double &tap within</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="spacerDoubleTap">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="sbSwitchDoubleTap">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string>ms</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>10000</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>250</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabConfigFile">
|
||||
|
|
@ -1077,7 +1010,6 @@ Enabling this setting will disable the server config GUI.</string>
|
|||
<tabstop>cbHeartbeat</tabstop>
|
||||
<tabstop>sbHeartbeat</tabstop>
|
||||
<tabstop>cbRelativeMouseMoves</tabstop>
|
||||
<tabstop>sbSwitchCornerSize</tabstop>
|
||||
<tabstop>tabWidget</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
|
|
|
|||
|
|
@ -665,10 +665,6 @@ void Config::readSectionOptions(ConfigReadContext &s)
|
|||
} catch (SocketAddressException &e) {
|
||||
throw ServerConfigReadException(s, std::string("invalid address argument ") + e.what());
|
||||
}
|
||||
} else if (name == "switchCorners") {
|
||||
addOption("", kOptionScreenSwitchCorners, s.parseCorners(value));
|
||||
} else if (name == "switchCornerSize") {
|
||||
addOption("", kOptionScreenSwitchCornerSize, s.parseInt(value));
|
||||
} else if (name == "switchNeedsShift") {
|
||||
addOption("", kOptionScreenSwitchNeedsShift, s.parseBoolean(value));
|
||||
} else if (name == "switchNeedsControl") {
|
||||
|
|
|
|||
|
|
@ -478,6 +478,8 @@ private:
|
|||
inline static const QStringList m_oldNames = {
|
||||
QStringLiteral("clipboardSharing"),
|
||||
QStringLiteral("clipboardSharingSize"),
|
||||
QStringLiteral("switchCornerSize"),
|
||||
QStringLiteral("switchCorners"),
|
||||
QStringLiteral("protocol"),
|
||||
QStringLiteral("heartbeat"),
|
||||
QStringLiteral("switchDelay"),
|
||||
|
|
|
|||
|
|
@ -825,7 +825,6 @@ bool Server::isSwitchOkay(
|
|||
if (i != options->end()) {
|
||||
size = i->second;
|
||||
}
|
||||
|
||||
// see if we're in a locked corner
|
||||
if ((getCorner(m_active, xActive, yActive, size) & corners) != 0) {
|
||||
// yep, no switching
|
||||
|
|
|
|||
|
|
@ -992,34 +992,6 @@ Además, verifique que puede %1 el archivo de configuración del servidor: %2</t
|
|||
<source>Advanced</source>
|
||||
<translation type="unfinished">Avanzado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Dead corners (for this computer)</source>
|
||||
<translation type="unfinished">Esquinas &muertas (para esta computadora)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Bottom-left</source>
|
||||
<translation type="unfinished">A&bajo a la izquierda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To&p-left</source>
|
||||
<translation type="unfinished">Arriba y abajo a la iz&quierda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom-ri&ght</source>
|
||||
<translation type="unfinished">Aba&jo a la derecha</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top-rig&ht</source>
|
||||
<translation type="unfinished">Derecha superio&r</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cor&ner size</source>
|
||||
<translation type="unfinished">Tamaño de la esqui&na</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>px</source>
|
||||
<translation type="unfinished">px</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Misc</source>
|
||||
<translation type="unfinished">&Misc</translation>
|
||||
|
|
|
|||
|
|
@ -992,34 +992,6 @@ Inoltre, verifica di poter %1 il file di configurazione del server: %2</translat
|
|||
<source>Advanced</source>
|
||||
<translation>Avanzate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Dead corners (for this computer)</source>
|
||||
<translation>&Angoli morti (per questo computer)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Bottom-left</source>
|
||||
<translation>&In basso a sinistra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To&p-left</source>
|
||||
<translation>In a&lto a sinistra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom-ri&ght</source>
|
||||
<translation>In basso a de&stra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top-rig&ht</source>
|
||||
<translation>In alto a de&stra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cor&ner size</source>
|
||||
<translation>Di&mensioni angolo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>px</source>
|
||||
<translation>px</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Misc</source>
|
||||
<translation>&Varie</translation>
|
||||
|
|
|
|||
|
|
@ -994,34 +994,6 @@ Additionally, check you are able to %1 the server config file: %2</source>
|
|||
<source>Advanced</source>
|
||||
<translation>詳細設定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Dead corners (for this computer)</source>
|
||||
<translation>無効領域(&D) (このコンピューター)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Bottom-left</source>
|
||||
<translation>左下(&B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To&p-left</source>
|
||||
<translation>左上(&P)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom-ri&ght</source>
|
||||
<translation>右下(&G)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top-rig&ht</source>
|
||||
<translation>右上(&H)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cor&ner size</source>
|
||||
<translation>大きさ(&N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>px</source>
|
||||
<translation>ピクセル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Misc</source>
|
||||
<translation>その他(&M)</translation>
|
||||
|
|
|
|||
|
|
@ -992,34 +992,6 @@ Additionally, check you are able to %1 the server config file: %2</source>
|
|||
<source>Advanced</source>
|
||||
<translation>고급</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Dead corners (for this computer)</source>
|
||||
<translation>화면 걸림 방지(&D) (이 컴퓨터)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Bottom-left</source>
|
||||
<translation>왼쪽 아래(&B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To&p-left</source>
|
||||
<translation>왼쪽 위(&P)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom-ri&ght</source>
|
||||
<translation>오른쪽 아래(&G)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top-rig&ht</source>
|
||||
<translation>오른쪽 위(&H)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cor&ner size</source>
|
||||
<translation>모서리 크기(&N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>px</source>
|
||||
<translation>픽셀</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Misc</source>
|
||||
<translation>기타(&M)</translation>
|
||||
|
|
|
|||
|
|
@ -992,34 +992,6 @@ Additionally, check you are able to %1 the server config file: %2</source>
|
|||
<source>Advanced</source>
|
||||
<translation>Расширенные</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Dead corners (for this computer)</source>
|
||||
<translation>&Мертвые зоны (для этого компьютера)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Bottom-left</source>
|
||||
<translation>&Снизу слева</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To&p-left</source>
|
||||
<translation>Свер&ху слева</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom-ri&ght</source>
|
||||
<translation>Снизу с&права</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top-rig&ht</source>
|
||||
<translation>Сверху спр&ава</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cor&ner size</source>
|
||||
<translation>Разме&р угла</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>px</source>
|
||||
<translation>пикс</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Misc</source>
|
||||
<translation>&Разное</translation>
|
||||
|
|
|
|||
|
|
@ -994,34 +994,6 @@ Additionally, check you are able to %1 the server config file: %2</source>
|
|||
<source>Advanced</source>
|
||||
<translation>高级</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Dead corners (for this computer)</source>
|
||||
<translation>屏幕死角 (针对此计算机)(&D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Bottom-left</source>
|
||||
<translation>左下(&B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To&p-left</source>
|
||||
<translation>左上(&P)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom-ri&ght</source>
|
||||
<translation>右下(&G)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top-rig&ht</source>
|
||||
<translation>右上(&H)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cor&ner size</source>
|
||||
<translation>角落大小(&N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>px</source>
|
||||
<translation>像素</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Misc</source>
|
||||
<translation>杂项(&M)</translation>
|
||||
|
|
|
|||
Loading…
Reference in a new issue