Jonathan Wakely
f98f8b10d1
refactor: Construct std::string outside critical section
...
There's no need to hold the mutex while constructing a `std::string`
from the `char` string.
Also use `inet_ntop` instead of the potentially thread-unsafe
`inet_ntoa` that might use a static buffer for the result.
This makes the `INet` case match the `INet6` case below.
2025-09-04 16:56:46 +01:00
Jonathan Wakely
b788d63044
refactor: Give internal linkage to global mutex
...
The `static` keyword was removed by #8674 but I think it should be
restored so that this global can't clash with anything else called
`::s_mutex` elsewhere in the executable.
2025-09-04 16:56:46 +01:00
sithlord48
d5936a9e08
refactor: ScreenSettingsDialog, do not use auto connect slots
2025-09-03 10:38:59 +01:00
sithlord48
81c53d3690
refactor: ScreenSettingsDialog, conform to naming conventions
2025-09-03 10:38:59 +01:00
sithlord48
89003082d7
refactor: continue to improve the screen settings dialog ui
2025-09-03 10:38:59 +01:00
Tomaz Canabrava
fe1a48fa28
refactor: Rework Computer Settings
...
Removed almost half of the lines, and still made it
more pretty.
2025-09-03 10:38:59 +01:00
Tomaz Canabrava
c4b2f91424
refactor: Move ServerConfig to the config folder
2025-09-03 10:38:59 +01:00
Tomaz Canabrava
f16c13fa54
refactor: ScreenSettingsDialog, Constify validator variables
2025-09-03 10:38:59 +01:00
sithlord48
43ce3c50e5
refactor: move log to dockwidget simplifying resize code
2025-09-01 18:12:41 +01:00
sithlord48
204a6b5a44
refactor: New LogWidget to handle log output in the mainwindow
2025-09-01 18:12:41 +01:00
sithlord48
a6dc455477
fix: Settings reset on windows, create new profile dir when not in native mode
...
fixes : #8916
2025-09-01 17:22:15 +01:00
sithlord48
138ede0536
refactor: use If in place of switch that looks for single case
2025-09-01 16:57:39 +01:00
sithlord48
eae089d3ec
chore: ServerConfigDialog, conform to naming standards for members
2025-09-01 16:57:39 +01:00
sithlord48
340df69ca2
refactor: ServerConfigDialog, set members in alphbetical order, correct initlization order
2025-09-01 16:57:39 +01:00
sithlord48
507c98adff
refactor: EIKeyState::fakeKey use if in place of a switch that cares only about a single case
2025-09-01 16:57:39 +01:00
sithlord48
0501f2892d
chore: Messages::showClientError remove unneeded capture from lambda
2025-09-01 16:57:39 +01:00
Kris
104d2facdb
feat: add switchToNextScreen hotkey to cycle through computers
2025-09-01 11:39:52 -04:00
Kris
398c9726f3
fix: fixes the mouse label issue
2025-09-01 11:39:52 -04:00
sithlord48
eb2f885983
chore: conform CoreProcess to naming standards
2025-09-01 16:18:02 +01:00
Nick Bolton
4a16931c5d
refactor: Remove QProcessProxy and simplify CoreProcess
...
Making a proxy class for QProcess to make GTest work is an excellent example of over-abstraction making simple things hard to do. I just wanted to call a function on QProcess and had to jump through hoops to do it.
Bye bye QProcessProxy! We can do much better with QTest.
2025-09-01 16:18:02 +01:00
Nick Bolton
78b83c5639
fix: Use correct log function for process exit status in onProcessFinished
2025-09-01 08:05:07 -04:00
sithlord48
9cf25c4caf
feat: Allow suppression of generic client connection dialog
...
fixes 8907
2025-09-01 10:57:59 +01:00
sithlord48
f0e02724ee
refactor: CoreProcess::onProcessFinished add using for ProcessState enum
2025-09-01 10:04:52 +01:00
sithlord48
60e71aad38
fix: missing IPC messages
...
fixes #8905
2025-09-01 10:04:52 +01:00
sithlord48
4e8a67925f
refactor: Add Tooltip to log levels and show a label with info about debug level affecting performance
...
fixes : #8889
2025-08-28 00:45:40 +01:00
sithlord48
cba3881f41
refactor: Move all messages that are checked for by GUI in the log to new IPC Level so the gui can work with any filter level
2025-08-28 00:45:40 +01:00
sithlord48
78eb353985
refactor: Settings Allow all log levels to be shown in the Gui
2025-08-28 00:45:40 +01:00
sithlord48
e7880b72f1
chore: Mainwindow convert comments for regenerateLocalFingerprint to doxygen comments
2025-08-27 19:18:59 -04:00
sithlord48
d864361085
feat: Improve fingerprint comparison dialog, to show both remote and local prints (server is always on left of dialog)
...
fixes : #8866
2025-08-27 19:18:59 -04:00
sithlord48
66366dd95b
refactor: Fingerprintprevew, Add optional title text, remove label for cypher type and add option to toggle the sha mode so art or hash is visible
2025-08-27 19:18:59 -04:00
sithlord48
2c6c65f71e
refactor: MainWindow new localFingerprint method to read the local fingerprint from the db, this is split from showMyFingerprint
2025-08-27 19:18:59 -04:00
sithlord48
9eede5470c
refactor: TLSUtil do not check it tls is enabled before regenerating the certificate
...
fixes #8890
2025-08-27 05:51:15 -04:00
Nick Bolton
07edccb469
fix: Add 'Hyper' key handling
...
In the X11 code, we mapped hyper to super, so perhaps it makes sense to do that here too:
`src/lib/platform/XWindowsUtil.cpp`
```
case XK_Super_L:
case XK_Super_R:
case XK_Hyper_L:
case XK_Hyper_R:
return kKeyModifierBitSuper;
```
2025-08-26 09:52:43 -04:00
Zhuofeng Wang
927075688c
fix: Pass ClientScrollDirection to EiScreen
2025-08-26 09:08:45 -04:00
sithlord48
b18c3b588f
refactor: EIKeyState, compare to the current state when seeing if modifiers are inactive, suggested by wismill
2025-08-26 11:23:29 +01:00
Nick Bolton
34c439b3de
refactor: Use single case to ignore mods in EI mod mask
2025-08-22 17:04:16 +01:00
Nick Bolton
934ddf1499
fix: Disable meta mod (fixes alt key bug)
2025-08-22 17:04:16 +01:00
Nick Bolton
4302d50a42
feat: Use xkb_keymap_mod_get_mask in EiKeyState if available
...
Introduced in xkbcommon v1.10.0
2025-08-22 16:06:03 +01:00
sithlord48
3e96c4d0aa
refactor: Include breeze fallback icons for connect and disconnect
2025-08-22 09:54:20 +01:00
sithlord48
d368b92165
refactor: CoreProcess::onProcessFinished Stop trying to restart the core process if its already running
2025-08-22 09:54:20 +01:00
sithlord48
97e3524a24
build: SecureSocket, include io/FileSystem in SecureSocket.cpp
2025-08-22 09:54:20 +01:00
sithlord48
299ebea0e2
refactor: replace QString::toStdString().c_str with qPrintable(...)
2025-08-22 09:54:20 +01:00
sithlord48
3a66969dec
refactor: add XdpRestoreToken to list of valid keys so its not removed if cleansettings is run
2025-08-21 07:54:21 -04:00
sithlord48
d3c0ce8895
refactor: move all exit codes to new ExitCodes
...
add new exitcode s_exitDuplicate for when exiting because of already running instance
2025-08-21 12:34:50 +01:00
sithlord48
26983dc0e4
refactor MainWindow, move start and restart inline with mode options
...
update labels for the mode buttons actions and menu actions
use callstart / callstop for connect and disconect icons
2025-08-20 16:09:08 -04:00
sithlord48
a0d75b28ba
refactor: SettingsDialog, group client options together into a groupClientOptions
2025-08-20 15:50:26 -04:00
sithlord48
e9cec877f2
fix: SettingDialog, only lock the check peers checkbox in updateTlsControls when in client mode
...
fixes #8870
2025-08-20 15:50:26 -04:00
sithlord48
0bb8ff646a
refactor: SettingsDialog, prevent updateControls from being called twice at startup
2025-08-20 15:50:26 -04:00
sithlord48
9268fef89d
refactor: SettingsDialog remove duplicate code by calling updateTlsControlsEnabled inside updateTlsControls
2025-08-20 15:50:26 -04:00
sithlord48
6f8b3f481d
refactor: adjust the help message for core to combine server and client message fixing man page deployment
2025-08-20 20:33:20 +01:00
sithlord48
3b2d7fc0b3
feat: Switch to deskflow-core instead of split binaries
2025-08-20 20:33:20 +01:00
sithlord48
7cac145500
fix: Allow Gui to work with core ,server or client binaries
...
fixes : #7951
2025-08-20 20:33:20 +01:00
sithlord48
b2aa638b1f
feat: Support Remote Desktop token persistance
2025-08-19 15:46:14 +01:00
sithlord48
2990a1f686
refactor: Server, reorder private member vars to avoid un unessary padding
2025-08-18 11:45:21 +01:00
sithlord48
c3f2c04a28
refactor: remove IAppUtil. AppUtil is the base class now
2025-08-18 11:45:21 +01:00
sithlord48
347cb46f15
refactor: remove IEventJob
2025-08-18 11:45:21 +01:00
sithlord48
bcb6c368b1
refactor: remove unneeded common/Common includes
2025-08-18 11:45:21 +01:00
sithlord48
a9e87d5ef5
refactor: remove INode class as base for Server and Client objects
2025-08-18 11:45:21 +01:00
sithlord48
4eec183598
refactor: remove IInterface class, that only adds a virtual construcor
2025-08-18 11:45:21 +01:00
sithlord48
6c6e5fc4d2
refactor: MainWindow use static for cleanup of QLocalServer
2025-08-15 12:15:40 +01:00
sithlord48
0d7d21aeb2
refactor: Action LockCursorMode => Action::LockCursorMode enum class
2025-08-15 12:15:40 +01:00
sithlord48
ea6f4ce221
refactor: Action SwitchDirection => Action::SwitchDirection enum class
2025-08-15 12:15:40 +01:00
sithlord48
1c7d5de01b
refactor Action::ActionType => Action::Type enum class
2025-08-15 12:15:40 +01:00
sithlord48
d2d28f5ad6
refactor: XWinowsUtil make s_keymap a std::array
2025-08-15 12:15:40 +01:00
sithlord48
04ca52b94e
fix: resolve issues with some swedish characters
...
fixes : #8839
2025-08-14 17:57:26 -04:00
sithlord48
0dfd4ebc4a
refactor: Mainwindow, adjust how and where the ip address is shown.
...
- Add a new method updateNetworkInfo to update lblIpAddresses
This method can be hooked to the system network info in the future
when we want to have this be more dynamic.
- Only show the IP address when in server mode.
- When showing the IP address show either the suggested IP or a message the user maybe offline
- Use the linkVisited color to for our error message
2025-08-12 13:04:09 -04:00
sithlord48
a7048f76f9
refactor: GUI, Mainwindow use the system hyperlink color to color the text of the 'primary' Ip address
2025-08-12 13:04:09 -04:00
sithlord48
8d92a8df68
refactor: On windows use the old malloc method to prevent random test failure in IKeyState
2025-08-12 12:14:21 -04:00
Pranav P
d6b53ea718
fix: failures in big endian machines tests
2025-08-12 16:56:17 +01:00
sithlord48
2e193c6a78
chore: PortalInputCapture, conform to naming conventions
2025-08-11 12:58:52 -04:00
sithlord48
f95230549a
chore: EiScreen: conform to nameing conventions
2025-08-11 12:58:52 -04:00
sithlord48
a13803df94
chore: EiKeyState, conform to naming conventions
2025-08-11 12:58:52 -04:00
sithlord48
2ba7fb2f05
chore: EiEventQueueBuffer, conform to naming conventions
2025-08-11 12:58:52 -04:00
sithlord48
9442295227
chore: remove unused HYPER key
2025-08-11 12:32:50 -04:00
sithlord48
8d87f3250d
refactor: ScreenSettingsDialog use qDeleteAll to clear list of items on alias remove
2025-08-11 12:32:50 -04:00
sithlord48
e700867a32
refactor: remove ServerConfig remove const qualifer from QString return
2025-08-11 12:32:50 -04:00
sithlord48
a21d48defb
refactor: reorder initilization order in XWindowEventQueueBuffer constructor
2025-08-11 12:32:50 -04:00
sithlord48
3770e2c39e
chore: XWindowsScreen::handleSystemEvent, remove unused Window variables
2025-08-11 12:32:50 -04:00
sithlord48
8d90515446
chore: define var on seperate line from type
2025-08-11 12:32:50 -04:00
sithlord48
db67550db3
refactor: server: use contains when possible
2025-08-11 12:32:50 -04:00
sithlord48
85e7d95188
refactor: server/Config use contains
2025-08-11 12:32:50 -04:00
sithlord48
651e093e04
refactor: clientProxy1_4 do not create pointless override that just call the baseclass
2025-08-11 12:32:50 -04:00
sithlord48
02fb9915bf
refactor: Arch, only define init override on windows, where its ambiguious
2025-08-11 12:32:50 -04:00
sithlord48
6153f64fb7
chore: remove uneeded casts
2025-08-11 12:32:50 -04:00
sithlord48
f91df1639b
refactor: make sure to state type of access to base class
2025-08-11 12:32:50 -04:00
sithlord48
63bd2e71b0
refactor: CoreProcess fully qualify enums used in signals
2025-08-11 12:32:50 -04:00
sithlord48
e1d00d59a4
refactor: ScreenSetupModel::isFull compaire same type of iterator
2025-08-11 12:32:50 -04:00
sithlord48
5def3f1f6a
refactor: DaemonApp add context object for lambda starting the thread
...
chore: DaemonApp, remove unnessary QObject:: for connect calls
2025-08-11 12:32:50 -04:00
sithlord48
6840e1e7eb
fix: Better description for InvalidProtocolException
...
fixes : #8830
2025-08-11 17:14:45 +01:00
sithlord48
85d89f9846
refactor: XArch Classes => Arch Exception Classes
2025-08-11 17:14:45 +01:00
sithlord48
8929f85bf7
refactor: XConfigRead => ServerConfigReadException
2025-08-11 17:14:45 +01:00
sithlord48
9601180e1b
refactor: XBase Classes => BaseException
2025-08-11 17:14:45 +01:00
sithlord48
64786ddcb7
refactor: XDeskflow Classes => DeskflowException Classes
2025-08-11 17:14:45 +01:00
sithlord48
e4a9d1eb78
refactor: XScreen Classes => ScreenException Classes
2025-08-11 17:14:45 +01:00
sithlord48
1b04b1137c
refactor: XIO Classes => IOException Classes
2025-08-11 17:14:45 +01:00
sithlord48
813b0c3828
refactor: mt/XThread Classes => mt/ThreadException Classes
2025-08-11 17:14:45 +01:00
sithlord48
22a358fb49
refactor: XMT Classes => MTException Classes
2025-08-11 17:14:45 +01:00
sithlord48
ada2813f9f
refactor: XSocket Classes => XSocketException Classes
2025-08-11 17:14:45 +01:00
sithlord48
906c07e4fd
fix: MainWindow::setHostName only check if the screen is existing when in server mode, In severmode update the serverConfig serverName to prevent a case where the server screen is on the grid with the old name breaking the layout
2025-08-11 16:49:25 +01:00
Nick Bolton
a4c0e30bb8
fix: Ignore Mod2 and Mod3 to make log quieter
2025-08-07 15:31:52 -04:00