Deskflow 1.25.0.128
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 Symless 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"
12#include "config/ServerConfig.h"
13
14#include <QDialog>
15
16class QItemSelection;
17
18namespace Ui {
19class ServerConfigDialog;
20}
21
22class ServerConfigDialog : public QDialog
23{
24 Q_OBJECT
25
26public:
27 ServerConfigDialog(QWidget *parent, ServerConfig &config);
29 bool addClient(const QString &clientName);
30
31public Q_SLOTS:
32 void accept() override;
33 void reject() override;
34 void message(const QString &message)
35 {
36 m_message = message;
37 }
38
39protected Q_SLOTS:
40 void onScreenRemoved();
41
42protected:
43 void addClient();
44 bool addComputer(const QString &clientName, bool doSilent);
45
46 void addHotkey();
47 void editHotkey();
48 void removeHotkey();
49 void listHotkeysSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected [[maybe_unused]]);
50
51 void addAction();
52 void editAction();
53 void removeAction();
54 void listActionsSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected [[maybe_unused]]);
55
56 void toggleSwitchDoubleTap(bool enable);
57 void setSwitchDoubleTap(int within);
58
59 void toggleSwitchDelay(bool enable);
60 void setSwitchDelay(int delay);
61
62 void toggleDefaultLockToScreenState(bool state);
63 void toggleLockToScreen(bool disabled);
64 void toggleWin32Foreground(bool enabled);
65
66 void toggleClipboard(bool enabled);
67 void setClipboardLimit(int limit);
68
69 void toggleHeartbeat(bool enabled);
70 void setHeartbeat(int rate);
71
72 void toggleRelativeMouseMoves(bool enabled);
73 void toggleProtocol();
74
75 void setSwitchCornerSize(int size);
76 void toggleCornerBottomLeft(bool enable);
77 void toggleCornerTopLeft(bool enable);
78 void toggleCornerBottomRight(bool enable);
79 void toggleCornerTopRight(bool enable);
80
81 void toggleExternalConfig(bool enable = false);
82 bool browseConfigFile();
83
85 {
86 return m_serverConfig;
87 }
89 {
90 m_originalServerConfig = s;
91 }
93 {
94 return m_screenSetupModel;
95 }
96
97private:
98 std::unique_ptr<Ui::ServerConfigDialog> ui;
99 QString m_message = "";
100 ServerConfig &m_originalServerConfig;
101 bool m_originalServerConfigIsExternal;
102 QString m_originalServerConfigUsesExternalFile;
103 ServerConfig m_serverConfig;
104 ScreenSetupModel m_screenSetupModel;
105
106private Q_SLOTS:
107 void onChange();
108};
Definition ScreenSetupModel.h:21
void removeHotkey()
Definition ServerConfigDialog.cpp:239
void toggleWin32Foreground(bool enabled)
Definition ServerConfigDialog.cpp:447
void toggleProtocol()
Definition ServerConfigDialog.cpp:365
void toggleCornerTopLeft(bool enable)
Definition ServerConfigDialog.cpp:384
void toggleDefaultLockToScreenState(bool state)
Definition ServerConfigDialog.cpp:435
void setOriginalServerConfig(const ServerConfig &s)
Definition ServerConfigDialog.h:88
void reject() override
Definition ServerConfigDialog.cpp:204
void removeAction()
Definition ServerConfigDialog.cpp:309
void toggleSwitchDoubleTap(bool enable)
Definition ServerConfigDialog.cpp:409
void message(const QString &message)
Definition ServerConfigDialog.h:34
void addAction()
Definition ServerConfigDialog.cpp:268
void setSwitchDelay(int delay)
Definition ServerConfigDialog.cpp:429
void toggleHeartbeat(bool enabled)
Definition ServerConfigDialog.cpp:346
ServerConfig & serverConfig()
Definition ServerConfigDialog.h:84
void toggleSwitchDelay(bool enable)
Definition ServerConfigDialog.cpp:422
bool addComputer(const QString &clientName, bool doSilent)
Definition ServerConfigDialog.cpp:494
void setSwitchDoubleTap(int within)
Definition ServerConfigDialog.cpp:416
void addClient()
Definition ServerConfigDialog.cpp:453
void setClipboardLimit(int limit)
Definition ServerConfigDialog.cpp:340
void toggleRelativeMouseMoves(bool enabled)
Definition ServerConfigDialog.cpp:359
void listActionsSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Definition ServerConfigDialog.cpp:402
void toggleCornerBottomRight(bool enable)
Definition ServerConfigDialog.cpp:390
void toggleCornerTopRight(bool enable)
Definition ServerConfigDialog.cpp:396
~ServerConfigDialog() override
void onScreenRemoved()
Definition ServerConfigDialog.cpp:458
void toggleExternalConfig(bool enable=false)
Definition ServerConfigDialog.cpp:464
void toggleClipboard(bool enabled)
Definition ServerConfigDialog.cpp:329
void listHotkeysSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Definition ServerConfigDialog.cpp:253
void editHotkey()
Definition ServerConfigDialog.cpp:223
void addHotkey()
Definition ServerConfigDialog.cpp:212
ScreenSetupModel & model()
Definition ServerConfigDialog.h:92
void editAction()
Definition ServerConfigDialog.cpp:286
ServerConfigDialog(QWidget *parent, ServerConfig &config)
Definition ServerConfigDialog.cpp:25
void toggleCornerBottomLeft(bool enable)
Definition ServerConfigDialog.cpp:378
void toggleLockToScreen(bool disabled)
Definition ServerConfigDialog.cpp:441
bool browseConfigFile()
Definition ServerConfigDialog.cpp:475
void accept() override
Definition ServerConfigDialog.cpp:184
void setSwitchCornerSize(int size)
Definition ServerConfigDialog.cpp:372
void setHeartbeat(int rate)
Definition ServerConfigDialog.cpp:353
Definition ServerConfig.h:35
Definition AboutDialog.h:13