Commit graph

2840 commits

Author SHA1 Message Date
sithlord48
2cf4fc8d0a refactor: remove DEBUG4 level and move any DEBUG4 messages to DEBUG3 2026-01-26 12:35:00 +00:00
sithlord48
d6ffcd37d7 refactor: remove DEBUG5 level and move any DEBUG5 message to DEBUG4 2026-01-26 12:35:00 +00:00
sithlord48
973cc76927 chore: remove unused gui/CommandProcess 2026-01-26 11:33:13 +00:00
Gittensor Miner
a5b2a4fab9 Fix: Add exception handling to setValue functions
Replace TODO comments with proper exception handling in ArchMiscWindows::setValue methods.
When a nullptr registry key is passed, the functions now throw std::invalid_argument
instead of silently returning, improving error handling and making bugs easier to detect.

Removed assert statements as they are redundant with the exception handling.

This addresses the TODO comments in lines 163 and 173.
2026-01-23 12:38:32 +00:00
Nick Bolton
e7eb324f16 chore: fix typos in variable names and log messages 2026-01-22 14:30:45 +00:00
Nick Bolton
3a242e7fc1 refactor: use windowsErrorToString instead of obsolete winsockErrorToString 2026-01-22 13:46:43 +00:00
sithlord48
fe179556ad fix: Settings, do not remove valid QRects from the state file 2026-01-22 13:30:12 +00:00
sithlord48
c7a427a94c fix: gui crash on clearsettings in debug mode
fixes: #9369
replaces: #9373
2026-01-22 12:51:34 +00:00
sithlord48
ed114252e2 refactor: WlClipboard, close not kill running copy process on exit 2026-01-22 12:35:54 +00:00
sithlord48
c63fd21c8e feat: Add a setting to allow the version to be shown in the windows title
fixes: #8538
replaces: #9351
2026-01-20 00:06:49 +00:00
sithlord48
281b3b8d07 fix: Clean settings values on start up
Settings will call cleanSettigs and cleanStateSettings on start up to remove any invalid or empty values in our config
fixes: #9333
2026-01-19 22:54:53 +00:00
sithlord48
d6fe8fa2d5 refactor: Settings::cleanSettings and Settings::cleanStateSettings, remove keys as long as they are empty 2026-01-19 22:54:53 +00:00
sithlord48
ffa887838f refactor: Settings::cleanSettings, skip internalConfig values 2026-01-19 22:54:53 +00:00
sithlord48
49f38c6a8b refactor: Settings::defaultValues, no need to return a QRect() for default windowgeometry as it will be cast to QVariant automaticly on return 2026-01-19 22:54:53 +00:00
sithlord48
7a2ceeedf4 refactor: Remove unneeded QVariant() when setting a setting empty to be removed 2026-01-19 22:54:53 +00:00
sithlord48
b25f083433 refactor: use Settings::value().toString().isEmpty() to check for empty setting values. This is because QVariant::isNull() no longer returns the internal types isNull() method. As a results "" is a non Null QVariant 2026-01-19 22:54:53 +00:00
sithlord48
d193af8cc8 feat: Add New Search Widget, use in the log
fixes: #8332
replaces: #9354
2026-01-19 22:39:11 +00:00
re2zero
bb88bd8695 refactor: remove unneeded QIcon when setting from theme
explict cast when setting update url
2026-01-19 21:55:40 +00:00
sithlord48
73dbe62e48 refactor: ClientApp parse arg for network address use append for list 2026-01-19 21:22:18 +00:00
sithlord48
1163cb842c refactor: do not initilize already initilized screen when not sent with KeyboardbroadCastInfo 2026-01-19 21:22:18 +00:00
sithlord48
15db716f04 refactor: Server::handleSwitchToScreen use const for our info 2026-01-19 21:22:18 +00:00
sithlord48
aca274e9ee refactor: add (C) to copyright header where missing 2026-01-18 15:38:59 +00:00
Ashutosh0x
50e7b3aadf Feat: Support multiple server IP addresses (#3665) 2026-01-17 16:26:21 +00:00
Ashutosh0x
e5e53c02b5 Fix: Allow comma and semicolon in hotkey config (#7130) 2026-01-17 14:14:31 +00:00
Gittensor Miner
938db301f0 refactor: modernize Server info structs to use C++ RAII
- Convert LockCursorToScreenInfo, SwitchToScreenInfo, SwitchInDirectionInfo,
  and KeyboardBroadcastInfo from C-style malloc/free structs to proper C++
  classes inheriting from EventData
- Replace char arrays with std::string for safer string handling
- Remove obsolete alloc() static methods in favor of constructors
- Update all call sites to use 'new' with constructors and getDataObject()
  instead of malloc with alloc() and getData()
- Add 'do nothing' comments to empty constructors for SonarQube scans
- Maintain EventFlags::DeliverImmediately for proper event delivery
- Reduces code by 48 lines and eliminates manual memory management
- Improves type safety and follows modern C++20 practices

This change makes the code more maintainable and less prone to memory leaks
by leveraging C++ destructors for automatic cleanup.
2026-01-16 09:38:29 +00:00
sithlord48
d8dfba6372 fix: OSXScreenSaver, do not call CFRelease for empty processesNames 2026-01-13 01:13:32 +00:00
sithlord48
7f57d53494 refactor: CoreProcess use FileTail::setWatchedFile if the file to tail changes 2026-01-12 11:18:40 +00:00
sithlord48
5e61a2b5ce refactor: new FileTail::setWatchedFile 2026-01-12 11:18:40 +00:00
sithlord48
2da14c3da3 fix: Coreprocess will attempt to create a daemon log before returning the path if it does not exist 2026-01-12 11:18:40 +00:00
gayanMatch
35ee17f959 fix: macOS server crash when client disconnects abruptly 2026-01-12 10:49:02 +00:00
sithlord48
7fdb26f2ea refactor: move deskflow/DaemonApp => apps/deskflow-daemon/DaemonApp 2026-01-07 14:36:55 +00:00
sithlord48
3993449594 refactor: daemonRunning is not used for client / server 2026-01-06 12:05:23 +00:00
sithlord48
f8ae8c5781 chore: remove unused daemonInfo from App and SubClasses 2026-01-06 12:05:23 +00:00
sithlord48
22dad7ac06 chore: remove unused App::daemonMainLoop 2026-01-06 12:05:23 +00:00
sithlord48
db10f1c5a4 chore: remove unused ClientApp / StaticApp daemonMainLoopStatic method 2026-01-06 12:05:23 +00:00
sithlord48
0c368f402b refactor: use ArchDaemonWindows::runDeamon directly
remove now unused ArchMiscWindows::runDaemon
2026-01-06 12:05:23 +00:00
sithlord48
0e04364d17 refactor: use ArchDaemonWindows::daemonFailed directly
remove now unused ArchMiscWindows::daemonFailed
update copyright year
2026-01-06 12:05:23 +00:00
sithlord48
3ff06b7d9a refactor: use ArchDaemonWindows::getDaemonQuitMessage directly
remove now unused ArchMiscWindows::getDaemonQuitMessage
2026-01-06 12:05:23 +00:00
sithlord48
c7da833f07 refactor: use ArchDaemonWindows::daemonRunning directly
removes:
  unused DAEMON_RUNNING define in App.h
  unused ArchMiscWindows::daemonRunning
update copyright years
2026-01-06 12:05:23 +00:00
sithlord48
09c1bd1582 refactor: MainWindow, unify how Automatic and Fixed Ip are displayed 2026-01-05 12:06:20 +00:00
sithlord48
d324dd1a93 refactor: MainWindow::updateIpLabel, simplify IPValid checks 2026-01-05 12:06:20 +00:00
sithlord48
889689bd8e fix: MainWindow, IpLabel Only now NoIP Detected if we are not running or started with no address 2026-01-05 12:06:20 +00:00
sithlord48
844ebf5216 refactor: Remove need for NetworkMonitor::getSuggestedIpAddress. Its always first if there is data 2026-01-05 12:06:20 +00:00
sithlord48
ae9ca35448 refactor: NetworkMonitor: use QStrings
allows us to simplify alot of the code around the lists and lets us also fliter lists easily

update copyright for 2026, add missing deskflow devlopers for mainwindow for 2025 work
2026-01-05 12:06:20 +00:00
sithlord48
dac9539ad9 refactor: EventQueue, use auto for EventQueueTimer pointers 2026-01-05 12:06:20 +00:00
sithlord48
b8e0415632 fix: macOS key repeat not working 2026-01-05 11:47:13 +00:00
Povilas Kanapickas
3598eb6a47 refactor: RM IEventQueueBuffer::newTimer and IEventQueueBuffer::deleteTimer
port: https://github.com/input-leap/input-leap/pull/1592
Original Message:
  base: Remove IEventQueueBuffor newTimer and deleteTimer APIs
        In the current implementation timers are not platform-specific. On all
        currently supported platforms timer constrution and destruction is
        simple new and delete, so it does not make sense having this
        customization point.
Original Author: p12tic
Ported By: sithlord48
2026-01-02 12:27:24 +00:00
sithlord48
61fcad2c14 refactor: MainWindow::updateIpLabel, remove single use vars 2026-01-02 11:43:34 +00:00
sithlord48
a84e91a3f2 refactor: Mainwindow::updateIpLabel return early if we are using fixedIp from settings 2026-01-02 11:43:34 +00:00
sithlord48
c2314ad893 refactor: MainWindow, remove m_currentIPValid by reducing its scope to the method where its used 2026-01-02 11:43:34 +00:00
sithlord48
1973005e98 refactor: MainWindow, simplify ip update if core is not running 2026-01-02 11:43:34 +00:00
sithlord48
00235ba189 refactor: NetworkMonitor, use ranged sort for ip ranges 2026-01-02 11:43:34 +00:00
sithlord48
495277c7c9 refactor: NetworkMonitor, use isLocalLink to check for 169.254/16 range 2026-01-02 11:43:34 +00:00
sithlord48
a73057f3a7 refactor: NetworkMonitor, short phyical using isPrivateUse()
this an Ip is considered private when its in a RFC1918 range
10/8, 172.16/12 and 192.168/16 are private IPs
2026-01-02 11:43:34 +00:00
sithlord48
a0f06d907f refactor: NetworkMonitor, set m_isMonitoring initial state in header 2026-01-02 11:43:34 +00:00
Nick Bolton
3d8cf17d57 chore: gui Remove custom tab stops from settings dialog and use default 2025-12-30 18:31:05 +00:00
Nick Bolton
ca418b3ba5 chore: gui, Improve log message for disabled update check 2025-12-30 18:31:05 +00:00
Nick Bolton
189053697b refactor: Log server response on version check error
Qt `errorString()` only contains the error code and error text, but not the response body. And, in HTTP/2 the error string is gone but the error is still printed like it's there: https://bugreports.qt.io/browse/QTBUG-140126
2025-12-30 18:31:05 +00:00
Nick Bolton
e674d8b27c refactor: Rename setting Settings::Core::UpdateUrl => Settings::Gui::UpdateCheckUrl 2025-12-30 18:31:05 +00:00
sithlord48
7682e17afe refactor: Move src/lib/Config => src/lib/platform/XWindowsConfig
This file is used only in XWindows related platform code.
2025-12-30 17:22:00 +00:00
sithlord48
163ec18730 refactor: VersionInfo is now part of common 2025-12-30 17:22:00 +00:00
sithlord48
d27fd22d8f refactor: SettingsDialog adjust network section so IP is on left and port is on right 2025-12-30 17:03:47 +00:00
re2zero
cbebaad3b8 feat: add network monitoring and IP address management
- introduce NetworkMonitor class to track network addresses change
- replace QLineEdit with QComboBox for interface selection in settings
- implement automatic IP detection and suggestion logic
- add signal-slot connections for real-time network updates

Log: add network monitoring and IP address management.
2025-12-30 17:03:47 +00:00
sithlord48
f8d9de1f2e build: platform, remove unneeeded include_dir for mac os system path 2025-12-30 13:41:33 +00:00
sithlord48
53d2c5e399 build: platform, remove link_wayland_libs macro and do it in its only used place allowing more simplification of the linking platform lib 2025-12-30 13:41:33 +00:00
sithlord48
89ee932db3 build: adjust spacing for cmake files 2025-12-30 13:41:33 +00:00
sithlord48
fb63b70e8d build: lib/common/CMakeLists.txt, remove unneeded unset calls 2025-12-30 13:41:33 +00:00
Christian Schmidt
2dd0360dec fix: Restore clipboard sharing after 53441821e0
We wanted the value contained in the string as size_t, not the size (length) of
the string. size_t is (normally) an alias for unsigned long, so toUlong() should
do the trick.
2025-12-30 13:16:36 +00:00
sithlord48
9976caafab refactor: LineEditValidator only call errorMessage::isEmpty once 2025-12-30 12:58:11 +00:00
sithlord48
530bcad8a6 chore: remove unused gui/Styles 2025-12-30 12:58:11 +00:00
sithlord48
949913cd6e refactor: use crimson for the error color 2025-12-30 12:58:11 +00:00
sithlord48
1855d33e1f refactor: ValidationError, use palette to set the colors used 2025-12-30 12:58:11 +00:00
sithlord48
ccd40c2927 refactor: validatorError::setMessage return early 2025-12-30 12:58:11 +00:00
sithlord48
6851046c5a refactor: validatorError, make clear a private method 2025-12-30 12:58:11 +00:00
sithlord48
1a9316150d refactor: ValidatorError, m_pLabel -> m_label 2025-12-30 12:58:11 +00:00
sithlord48
b56dd3f387 chore: ValidatorError, create explicit private section 2025-12-30 12:58:11 +00:00
sithlord48
2cbe2c65e8 refactor: screenSettingsDialog, do not set the initial style for name alias lineedits 2025-12-30 12:58:11 +00:00
sithlord48
b8b7799a47 refactor: LineEditValidator, adjust border style based on the Qt Style in use 2025-12-30 12:58:11 +00:00
sithlord48
2b8e7fa6b2 refactor: screensetting dialog, adjust spacers for dead corners 2025-12-30 12:58:11 +00:00
sithlord48
fdb5405e2c refactor: use system color for hyperlinks 2025-12-24 11:23:13 +00:00
sithlord48
0c440843b0 chore: replace deskflow::gui::style::kColorWhite with the svg color white 2025-12-24 11:23:13 +00:00
sithlord48
caf77fe342 chore: remove unused deskflow::gui::style::kLightGreyColor 2025-12-24 11:23:13 +00:00
enzious
b432cbc145 fix: error on start shows gui
do not show client errors if the windows is not visible
2025-12-23 13:28:02 +00:00
sithlord48
ce97817d45 refactor: constants, move kTlsFingerprintTrustedClientsFilename => Settings::defaultValue where used 2025-12-22 14:41:04 +00:00
sithlord48
2b4b6a8470 refactor: constants, move kTlsFingerprintTrustedServersFilename => Settings::defaultValue where used 2025-12-22 14:41:04 +00:00
sithlord48
5c34d0edc5 refactor: constants, move kTlsCertificateFileanme to => Settings::defaultValue where used 2025-12-22 14:41:04 +00:00
sithlord48
049f8d718a refactor: constants, move kTlsDir to => Settings::tlsDir where used 2025-12-22 14:41:04 +00:00
sithlord48
c693d258fd refactor: constants, move kDefaultLogFile to => Settings::defaultValue where used 2025-12-22 14:41:04 +00:00
sithlord48
b23e9f9b04 refactor: constants, move kDaemonLogFile => Settings::defaultValue where used 2025-12-22 14:41:04 +00:00
sithlord48
a5bb310e94 chore: constants remove unused kWindowsRegistryKey 2025-12-22 14:41:04 +00:00
sithlord48
7f3d661e31 refactor: net, lookup hostname using any valid Ip4 or Ip6 address
fixes: #9110
2025-12-22 14:24:02 +00:00
sithlord48
2a54f57532 chore: add Q_OBJECT macro to Validators with translations 2025-12-18 13:10:09 +00:00
sithlord48
f0e77c499b chore: settings, remove unneeded {} 2025-12-18 13:10:09 +00:00
sithlord48
fa78b957b5 refactor: settings, use state not settings in the log when changing the state file 2025-12-18 13:10:09 +00:00
sithlord48
60d5bb8378 chore (settings): fix typo peroid -> period 2025-12-18 13:10:09 +00:00
sithlord48
d8e2537d47 refactor: Settings::logLevelToInt simplify the method and add tests to cover it 2025-12-18 13:10:09 +00:00
sithlord48
5e347d8725 fix: Mac os log file not working
fixes: #9274
The log file path is not able to be empty since Settings::value will return the default path if it is, Do not send a c_str to create our FileLogger it wants a QString
2025-12-15 14:41:01 +00:00
sithlord48
dfe6c82a5c refactor: I18N make sure m_currentLang is set to the 639 name on initial load 2025-12-15 14:22:40 +00:00
sithlord48
97b11bf2da refactor: I18n, add static s_prefix -> "_" to use when loading 2025-12-15 14:22:40 +00:00
sithlord48
023c9509e0 refactor: correct typo I18N::langaugesChanged => I18N::languagesChanged 2025-12-09 13:54:05 +00:00