Deskflow 1.26.0.314
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
ServerConfig.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2025 - 2026 Chris Rizzitello <sithlord48@gmail.com>
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 "common/Constants.h"
12#include "gui/Hotkey.h"
15
16#include <QList>
17
18class QTextStream;
19class QSettings;
20class QString;
21class QFile;
23
25{
26 friend class ServerConfigDialog;
27 friend QTextStream &operator<<(QTextStream &outStream, const ServerConfig &config);
28
29public:
30 explicit ServerConfig(int columns = kServerGridWidth, int rows = kServerGridHeight);
31 ~ServerConfig() = default;
32
33 bool operator==(const ServerConfig &sc) const;
34
35 const ScreenList &screens() const
36 {
37 return m_Screens;
38 }
39
40 //
41 // New methods
42 //
43 const HotkeyList &hotkeys() const
44 {
45 return m_Hotkeys;
46 }
47
48 bool save(const QString &fileName) const;
49 bool screenExists(const QString &screenName) const;
50 void save(QFile &file) const;
51 bool isFull() const;
52 void commit();
53 int numScreens() const;
54 QString getServerName() const;
55 void updateServerName();
56 QString configFile() const;
57 bool useExternalConfig() const;
58 void addClient(const QString &clientName);
59
60private:
61 void recall();
62 void setupScreens();
63 QSettingsProxy &settings();
65 {
66 return m_Screens;
67 }
68 void setScreens(const ScreenList &screens)
69 {
70 m_Screens = screens;
71 }
72 void addScreen(const Screen &screen)
73 {
74 m_Screens.append(screen);
75 }
76 void setConfigFile(const QString &configFile) const;
77 void setUseExternalConfig(bool useExternalConfig) const;
79 {
80 return m_Hotkeys;
81 }
82 int adjacentScreenIndex(int idx, int deltaColumn, int deltaRow) const;
83 bool findScreenName(const QString &name, int &index);
84 bool fixNoServer(const QString &name, int &index);
85
86private:
87 HotkeyList m_Hotkeys;
88
89 ScreenList m_Screens;
90 int m_columns;
91 int m_rows;
92};
93
94QTextStream &operator<<(QTextStream &outStream, const ServerConfig &config);
static const struct sockaddr FAR * name
Definition ArchNetworkWinsock.cpp:28
QList< Hotkey > HotkeyList
Definition Hotkey.h:68
QTextStream & operator<<(QTextStream &outStream, const ServerConfig &config)
Definition ServerConfig.cpp:159
Definition QSettingsProxy.h:14
ScreenConfig()=default
Definition ScreenList.h:12
Definition ServerConfigDialog.h:24
Definition ServerConfig.h:25
const ScreenList & screens() const
Definition ServerConfig.h:35
bool useExternalConfig() const
Definition ServerConfig.cpp:228
const HotkeyList & hotkeys() const
Definition ServerConfig.h:43
friend class ServerConfigDialog
Definition ServerConfig.h:26
bool operator==(const ServerConfig &sc) const
Definition ServerConfig.cpp:53
friend QTextStream & operator<<(QTextStream &outStream, const ServerConfig &config)
Definition ServerConfig.cpp:159
int numScreens() const
Definition ServerConfig.cpp:196
void updateServerName()
Definition ServerConfig.cpp:213
bool isFull() const
Definition ServerConfig.cpp:233
~ServerConfig()=default
ServerConfig(int columns=kServerGridWidth, int rows=kServerGridHeight)
Definition ServerConfig.cpp:36
void addClient(const QString &clientName)
Definition ServerConfig.cpp:261
QString getServerName() const
Definition ServerConfig.cpp:208
bool save(const QString &fileName) const
Definition ServerConfig.cpp:41
QString configFile() const
Definition ServerConfig.cpp:223
void commit()
Definition ServerConfig.cpp:76
bool screenExists(const QString &screenName) const
Definition ServerConfig.cpp:247