Commit graph

3728 commits

Author SHA1 Message Date
sithlord48
de42f53d68 refactor: new LogDock, handle hiding and float correctly' 2025-09-11 10:57:08 +01:00
sithlord48
c4c2f7f37f feat: begin to use QStrings for strings
feat: get windows building with the UNICODE forced by using Qt
refactor: remove ARCHString use QString to convert to / from utf8
build: (arch) link to common
build: (base) link to arch
build: (io) Link to common
build: (client) link to common
build: (server) link to common
fix: Append to log file instead of creating a new one each log line
refactor: Trim cipher description for neater log output
fix: Update log messages to use wide string format for Unicode support
fix: Correct event creation to use wide string for Unicode compatibility
refactor: Use QStringDecoder for UTF-8 handling on Windows Daemon child process
fix: Use correct wide type for Win32 consts
2025-09-10 18:15:19 +01:00
sithlord48
66a022a012 fix: Adjust log level for unconfigured client as we react to this in the gui 2025-09-10 14:31:13 +01:00
Nick Bolton
19eefd65c1 fix: Prevent log visibility toggle when window is hidden 2025-09-10 11:51:37 +00:00
Nick Bolton
ad383ad9d4 chore: Remove unused daemon installation and uninstallation methods 2025-09-10 11:32:02 +00:00
sithlord48
539ddcaf48 refactor: ScreenConfigDialog, make sure to populate the screen model with the server config after its been made 2025-09-09 15:59:07 +00:00
sithlord48
b30f8d253c refactor: XWindowsKeyState remove name for unused KeyId in remapKeyModifiers 2025-09-05 11:52:17 +01:00
sithlord48
c477d0fcc6 refactor: XWindowsKeyState::init remove unused display var 2025-09-05 11:52:17 +01:00
sithlord48
bc63961e7e refactor: EIEventQueueBuffer remove unused screen from constructor 2025-09-05 11:52:17 +01:00
sithlord48
30ce0bdf45 refactor: SecureSocket, remove names for unused parameters for socket service accept and serviceConnect 2025-09-05 11:52:17 +01:00
sithlord48
dd66dd21bb refactor: IDataSocket, add maybe_unused for constructors event pointer 2025-09-05 11:52:17 +01:00
sithlord48
27075a0260 refactor: StreamBuffer::write use emplace when adding m_chunks 2025-09-05 11:52:17 +01:00
sithlord48
6cfd89af8c refacor: ServerConfigDialog::toggleClipboard use static access to ServerConfig::defaultClipboardSharingSize 2025-09-05 11:52:17 +01:00
sithlord48
8e99700657 refactor: ServerConfigDialog mark that deselected maybe_unused when calling the selectionChanged for our lists 2025-09-05 11:52:17 +01:00
sithlord48
e21c4cdd4d refactor: CoreProcess::addGenericArgs remove unused processMode var 2025-09-05 11:52:17 +01:00
sithlord48
88efc14bc2 refactor: ServerConfig, use static access to switchCornerNames() 2025-09-05 11:52:17 +01:00
sithlord48
a9d518fbc8 refactor: X11LayoutParser:appendVectorUniq, capture elem by ref in our lambda 2025-09-05 11:52:17 +01:00
sithlord48
43b1014700 refactor: X11LayoutParser::getAllLanguageData , do not shadow variables from outer for loop with the inner one (i.e use differnt nanes for each var) 2025-09-05 11:52:17 +01:00
sithlord48
2e722bdfeb refactor: Server::handleToggleScreenEvent remove name of the incomming event var to indicate its not used in the method 2025-09-05 11:52:17 +01:00
sithlord48
aedbffa809 refactor: server/Config use empty() to check if args are empty 2025-09-05 11:52:17 +01:00
sithlord48
dc0db9d192 refactor: LogWidget remove unused Q_SIGNALS delclaration 2025-09-05 11:52:17 +01:00
sithlord48
9f3e724218 refactor: ScreenSettingsDialog::removeAlias make const 2025-09-05 11:52:17 +01:00
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
d1897efa8b chore: LogTests, Fix codeQL issue with args in the printTestWithArgs test 2025-08-30 10:07:41 +01:00
sithlord48
490dac5048 refactor: LogTests use private log member 2025-08-30 10:07:41 +01:00
sithlord48
549133e619 refactor: LogTests, read buffer capture before release 2025-08-28 08:20:14 +01:00
sithlord48
323d011476 chore: remove unused include for ArchString 2025-08-28 08:20:14 +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
sithlord48
fb144a5e66 refactor: LogTests are now built with QTest 2025-08-26 05:20:34 -04: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
53f787d6ea refactor: deskflow-core adjust already running message 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
65c5d3673d refactor: add header info to deskflow-core help message 2025-08-21 12:34:50 +01:00
sithlord48
e2b4bc45bd feat: add --version option to deskflow-core 2025-08-21 12:34:50 +01: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
2b3e7adc0b feat: Prevent core, client and or server from running at the same time
fixes: #8258
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