Deskflow 1.26.0.314
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
ServerConfigDialog.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2025 Chris Rizzitello <sithlord48@gmail.com>
4 * SPDX-FileCopyrightText: (C) 2012 - 2016 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 "ScreenSetupModel.h"
13#include "config/ServerConfig.h"
14
15#include <QDialog>
16
17class QItemSelection;
18
19namespace Ui {
20class ServerConfigDialog;
21}
22
23class ServerConfigDialog : public QDialog
24{
25 Q_OBJECT
26
27public:
28 ServerConfigDialog(QWidget *parent, ServerConfig &config);
30 bool addClient(const QString &clientName);
31
32public Q_SLOTS:
33 void accept() override;
34 void reject() override;
35 void message(const QString &message)
36 {
37 m_message = message;
38 }
39
40protected Q_SLOTS:
41 void onScreenRemoved();
42
43protected:
44 void addClient();
45 bool addComputer(const QString &clientName, bool doSilent);
46
47 void addHotkey();
48 void editHotkey();
49 void removeHotkey();
50 void listHotkeysSelectionChanged(const QItemSelection &selected, [[maybe_unused]] const QItemSelection &deselected);
51
52 void addAction();
53 void editAction();
54 void removeAction();
55 void listActionsSelectionChanged(const QItemSelection &selected, [[maybe_unused]] const QItemSelection &deselected);
56
57 void toggleSwitchDoubleTap(bool enable);
58 void setSwitchDoubleTap(int within);
59
60 void toggleSwitchDelay(bool enable);
61 void setSwitchDelay(int delay);
62
63 void toggleDefaultLockToComputerState(bool state);
64 void toggleLockToComputer(bool disabled);
65 void toggleWin32Foreground(bool enabled);
66
67 void toggleClipboard(bool enabled);
68 void setClipboardLimit(int limit);
69
70 void toggleHeartbeat(bool enabled);
71 void setHeartbeat(int rate);
72
73 void toggleRelativeMouseMoves(bool enabled);
74 void toggleProtocol();
75
76 void toggleExternalConfig(bool enable = false);
77 bool browseConfigFile();
78
80 {
81 return m_serverConfig;
82 }
84 {
85 m_originalServerConfig = s;
86 }
88 {
89 return m_screenSetupModel;
90 }
91
92private:
93 void loadFromConfig();
94 void initConnections() const;
95 std::unique_ptr<Ui::ServerConfigDialog> ui;
96 QString m_message = "";
97 int m_columns;
98 int m_rows;
99 ServerConfig &m_originalServerConfig;
100 NetworkProtocol m_protocol;
101 bool m_enableClipboard;
102 bool m_enableHeartbeat;
103 int m_heartbeatRate;
104 int m_switchDelay;
105 int m_switchDoubleTap;
106 uint m_clipboardSize;
107 bool m_relativeMouseMoves;
108 bool m_enableSwitchDelay;
109 bool m_enableSwitchDoubleTap;
110 bool m_originalServerConfigIsExternal;
111 bool m_win32keepForeground;
112 bool m_disableLockToComputer;
113 bool m_defaultLockToComputerState;
114 QString m_originalServerConfigUsesExternalFile;
115 ServerConfig m_serverConfig;
116 ScreenSetupModel m_screenSetupModel;
117
118private Q_SLOTS:
119 void onChange();
120};
NetworkProtocol
Definition NetworkProtocol.h:15
Definition ScreenSetupModel.h:21
void removeHotkey()
Definition ServerConfigDialog.cpp:140
void toggleWin32Foreground(bool enabled)
Definition ServerConfigDialog.cpp:336
void toggleProtocol()
Definition ServerConfigDialog.cpp:277
void setOriginalServerConfig(const ServerConfig &s)
Definition ServerConfigDialog.h:83
void toggleDefaultLockToComputerState(bool state)
Definition ServerConfigDialog.cpp:320
void reject() override
Definition ServerConfigDialog.cpp:105
void removeAction()
Definition ServerConfigDialog.cpp:210
void toggleSwitchDoubleTap(bool enable)
Definition ServerConfigDialog.cpp:290
void message(const QString &message)
Definition ServerConfigDialog.h:35
void addAction()
Definition ServerConfigDialog.cpp:169
void setSwitchDelay(int delay)
Definition ServerConfigDialog.cpp:312
void toggleHeartbeat(bool enabled)
Definition ServerConfigDialog.cpp:254
ServerConfig & serverConfig()
Definition ServerConfigDialog.h:79
void toggleSwitchDelay(bool enable)
Definition ServerConfigDialog.cpp:305
bool addComputer(const QString &clientName, bool doSilent)
Definition ServerConfigDialog.cpp:506
void setSwitchDoubleTap(int within)
Definition ServerConfigDialog.cpp:297
void addClient()
Definition ServerConfigDialog.cpp:344
void toggleLockToComputer(bool disabled)
Definition ServerConfigDialog.cpp:328
void setClipboardLimit(int limit)
Definition ServerConfigDialog.cpp:245
void toggleRelativeMouseMoves(bool enabled)
Definition ServerConfigDialog.cpp:269
void listActionsSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Definition ServerConfigDialog.cpp:283
~ServerConfigDialog() override
void onScreenRemoved()
Definition ServerConfigDialog.cpp:349
void toggleExternalConfig(bool enable=false)
Definition ServerConfigDialog.cpp:355
void toggleClipboard(bool enabled)
Definition ServerConfigDialog.cpp:230
void listHotkeysSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Definition ServerConfigDialog.cpp:154
void editHotkey()
Definition ServerConfigDialog.cpp:124
void addHotkey()
Definition ServerConfigDialog.cpp:113
ScreenSetupModel & model()
Definition ServerConfigDialog.h:87
void editAction()
Definition ServerConfigDialog.cpp:187
ServerConfigDialog(QWidget *parent, ServerConfig &config)
Definition ServerConfigDialog.cpp:25
bool browseConfigFile()
Definition ServerConfigDialog.cpp:364
void accept() override
Definition ServerConfigDialog.cpp:62
void setHeartbeat(int rate)
Definition ServerConfigDialog.cpp:261
Definition ServerConfig.h:25
Definition AboutDialog.h:13