Commit graph

679 commits

Author SHA1 Message Date
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
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
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
2a54f57532 chore: add Q_OBJECT macro to Validators with translations 2025-12-18 13:10:09 +00:00
sithlord48
cb4621cad7 chore: SecureUtils::generatePemSelfSignedCert take QString for path 2025-12-08 11:24:36 +00:00
sithlord48
b151666f6b refactor: I18N use short (ISO639) names to save and load not native strings, the documentation says we use these already 2025-12-04 08:27:59 -05:00
sithlord48
d1e2865319 fix: macOS not showing Colorful icon
fixes: #9255
2025-12-04 11:09:59 +00:00
sithlord48
e5513101a6 refactor: Use the Settings::Gui::AutoStartCore to control if the Gui should start the core when starting up
removes Settings::Core::StartedBefore
2025-12-02 08:19:46 -05:00
sithlord48
df78f0757e refactor: Gui control if the server first shown message is shown with its own setting 2025-12-02 08:19:46 -05:00
sithlord48
8e8ab25fd0 refactor: use Settings::Gui::ShownFirstConnectionMessage to control message popup on initial connection a to client / server 2025-12-02 08:19:46 -05:00
sithlord48
13219ca49c fix: only restore the size if the windows was in the tray
fixes: #9237
2025-12-01 08:39:01 -05:00
sithlord48
0446db93e6 refactor: handle error suppression in gui not message stack 2025-12-01 08:39:01 -05:00
sithlord48
7831ba293a fix: Mac os Preferences missing when translated
fixes: #9226
In the MainWindow give all menu items a role to prevent mac os from misplacing them due to their label when translated
2025-11-30 10:14:46 -05:00
sithlord48
c1b5e125b0 refactor: ServerConnection: keep track of ignored clients so we only prompt for them once 2025-11-30 09:31:08 -05:00
sithlord48
accb9d9c59 refactor: ServerConnection: Handle the new client via signals
Use QtTests now that we can for ServerConnnecitonTests
2025-11-30 09:31:08 -05:00
sithlord48
11fa5d636e refactor: ServerConnection return a bool for the results of the newClientPrompt no Enum needed 2025-11-30 09:31:08 -05:00
sithlord48
cca6f80cb5 refactor: ClientConnection, use signal to ask for dialog
move ClientConnectionTests to Qt Tests
track if the dialog is open in the gui
track suppression in clientConnection based on connect / disconnect message
2025-11-30 14:13:35 +00:00
sithlord48
1ebcab60e2 refactor: Move messages client connection error to common, new common/Enums 2025-11-30 14:13:35 +00:00
sithlord48
2485916ad1 refactor: new signal ClientConnection::requestShowError 2025-11-30 14:13:35 +00:00
sithlord48
5287c51957 refactor: clearer ClientConnection::showMesssage logic 2025-11-30 14:13:35 +00:00
sithlord48
695dc04c00 refactor: new ClientError::NoError 2025-11-30 14:13:35 +00:00
PseudoResonance
d35716f574 feat: Configure default screen lock state
fixes: #7907
2025-11-27 08:22:13 -05:00
sithlord48
4cb184989c refactor: TlsUtility::isCertValid we only use RSA keys for now 2025-11-27 08:05:04 -05:00
sithlord48
ff02285a6a refactor: move SecureUtils::getCertLength -> TlsUtility, and use Qt to get the length of the key file 2025-11-27 08:05:04 -05:00
sithlord48
2dfba73cfb refactor: use QCryptographicHash::Algorithm in place of Fingerprint::Type 2025-11-27 08:05:04 -05:00
sithlord48
274fae1e31 fix: macOS, crash when log is open and you minimize the gui
fixes: #9206
on macOS the minimize creates a race to show and hide the log
2025-11-25 11:54:24 -05:00
sithlord48
7e278b6210 chore: move gui/tls/TlsUtility -> gui/TlsUtility 2025-11-24 11:23:35 +00:00
sithlord48
5736566a79 refactor: TlsUtility a collection of methods in a namespace 2025-11-24 11:23:35 +00:00
sithlord48
bd4db268f1 chore: remove unused TlsCertificate class 2025-11-24 11:23:35 +00:00
sithlord48
c13421c20a refactor: TlsUtility::generateCertificate() handle all the steps internally and make method static 2025-11-24 11:23:35 +00:00
sithlord48
ad01e296dc chore: remove unused TlsCertificate::generateFingerprint 2025-11-24 11:23:35 +00:00
sithlord48
4698326717 refactor: MainWindow keep a local copy of the fingerprint
This also makes it so MainWindow does not use the local_fingerprint file
2025-11-24 11:23:35 +00:00
sithlord48
2087097415 refactor: new static TlsUtility::certFingerprint to generate fingerprint on the fly 2025-11-24 11:23:35 +00:00
sithlord48
94eaa79768 chore: rename MainWindow::regenerateLocalFingerprints -> MainWindow::generateCertificate 2025-11-24 11:23:35 +00:00
sithlord48
6f10cd269e refactor: move TlsCertificate::getCertKeyLength -> static TlsUtility::getCertKeyLength 2025-11-24 11:23:35 +00:00
sithlord48
c4a2dfd300 chore: remove unused TlsUtility::persistCertificate 2025-11-24 11:23:35 +00:00
sithlord48
393c2fa9bc refactor: remove unused TlsCertificate::isCertificateValid 2025-11-24 11:23:35 +00:00
sithlord48
91b9680643 refactor: new static TlsUtiliy::isCertValid 2025-11-24 11:23:35 +00:00
sithlord48
4216acdb3a refactor: TlsUtility::isEnabled is now a static member 2025-11-24 11:23:35 +00:00
Yoshiaki Kasahara
d8bdad4e1d fix: translate MainWindow::coreProcessError warning 2025-11-21 09:30:36 -05:00
sithlord48
525123573e chore: use U for wlclipboard setting name 2025-11-21 10:38:50 +00:00
sithlord48
858a5d71bd fix: enable translations for validators 2025-11-20 16:18:16 -05:00
sithlord48
d157713a85 feat: Settings expose settings to use wl-clipboard backend. Disable clipboard on wayland if this settings is disabled 2025-11-20 07:57:31 -05:00
sithlord48
4285361413 refactor: replace Q_OS_MAC -> Q_OS_MACOS 2025-11-20 07:29:01 -05:00
Yoshiaki Kasahara
e7018bd75a fix: Fix broken <br/> tag in the tooltop of suggested IP addresses 2025-11-20 06:29:54 -05:00
sithlord48
0890bcac42 chore: logger make deconstructor an override 2025-11-17 12:07:00 +00:00
sithlord48
999f174441 fix: Gui save and restore the window when closing and restoring to the tray 2025-11-14 09:55:28 -05:00
sithlord48
aca08a5e74 feat: save geometry into into a state file
fixes: #9132
2025-11-14 09:55:28 -05:00
sithlord48
ddcd2f0ff1 refactor: Logger store a local copy of the used setting value for guiDebug, update it went the settings have changed 2025-11-14 09:22:40 -05:00
sithlord48
ec9f7efcff refactor: Logger is now a proper singleton 2025-11-14 09:22:40 -05:00
sithlord48
5441464a1d fix: do not make windows users select .sgc files, enable i18n for the server config dialog 2025-11-11 12:30:36 +00:00
sithlord48
6a895f5c45 chore: VersionChecker remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
98a49b7f7a chore: StyleUtils include missing QIcon 2025-11-07 15:54:19 -05:00
sithlord48
4b3399d951 chore: LogDock remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
2743e1dbae chore: KeySequenceWidget remove unused includes 2025-11-07 15:54:19 -05:00
sithlord48
754210e8f4 chore: SettingsDialog remove uneeded includes 2025-11-06 09:12:18 -05:00
sithlord48
241be6abd8 chore: MainWindow remove unneeded includes 2025-11-06 09:12:18 -05:00
sithlord48
3ffe8d7c86 chore: CoreProcess remove unneeded includes 2025-11-06 09:12:18 -05:00
sithlord48
f89e857223 refactor: Add deskflow::platform::isMac 2025-11-06 09:12:18 -05:00
sithlord48
5256f05963 refactor: addNew PlatformInfo::isWindows() 2025-11-06 09:12:18 -05:00
sithlord48
8e83b16f5e chore: move platform/Wayland.h -> common/PlatformInfo.h 2025-11-06 09:12:18 -05:00
sithlord48
c18e3c9ef2 refactor: platform/wayland move consts kHasEI etc into wayland Warnings 2025-11-06 09:12:18 -05:00
sithlord48
3af83dd9f2 refactor: remove DotEnv 2025-11-05 11:31:29 +00:00
sithlord48
aba38b949f feat: add new setting Log::GuiDebug to control when the Gui shows debug messages no longer controled by an ENV var 2025-11-05 11:31:29 +00:00
sithlord48
6c8c6f5208 feat: Show milliseconds in time values
fixes: #7861
2025-11-04 10:47:14 -05:00
sithlord48
1750dd9149 chore: AboutDialog remove unneeded includes 2025-11-04 10:47:14 -05:00
sithlord48
8134521cca chore: remove unused MainWindow::getTimeStamp 2025-11-04 10:47:14 -05:00
sithlord48
b204204920 refactor: Logger::PrintLine use Qt::IsoDate for timestamp 2025-11-04 10:47:14 -05:00
sithlord48
8066ac8e2f refactor: logger::PrintLine use less streams and use the one we need directly 2025-11-04 10:47:14 -05:00
sithlord48
43989dc964 refactor: logger: use QStringLiterals 2025-11-04 10:47:14 -05:00
sithlord48
c066e394a8 refactor: Logger::instance return a pointer to the logger static object 2025-11-04 10:47:14 -05:00
sithlord48
78eae652fd refactor: directly set logger::m_debug using when in debug mode 2025-11-04 10:47:14 -05:00
sithlord48
1d82be270a chore: remove logger:m_verbose and related method 2025-11-04 10:47:14 -05:00
sithlord48
b22fa1550a refactor: do not mark the protocol names Barrier and Synergy for translation 2025-11-04 10:26:51 +00:00
sithlord48
acd4b59b4c refactor: Center drag point for screen management 2025-11-03 08:56:23 -05:00
sithlord48
14fa29505d refactor: Allow for colorful tray icon but fall back to symbolic with fallback 2025-10-30 09:40:00 +00:00
sithlord48
eee4efd59d refactor: Only use symbolic tray icon 2025-10-29 13:23:47 -04:00
sithlord48
066e63cc86 refactor: make sure flatpak and snap use packed icons, they can not detect panel color 2025-10-29 13:23:47 -04:00
sithlord48
495a5e6479 refactor: MainWindow, do not reinit serverconfig 2025-10-29 08:14:39 -04:00
sithlord48
a140b3bcca refactor: MainWindow update window icon on palette change, prevent issues where the palette change does not change the icon and make its blend weirdly 2025-10-28 07:39:14 -04:00
sithlord48
8b513efc95 feat: mainWindow check panel color on windows when deciding upon try icon color 2025-10-28 07:39:14 -04:00
sithlord48
17392a8e06 refactor: rename symbolic icon to full fqdn name. 2025-10-28 07:39:14 -04:00
sithlord48
ddc827e6f1 feat: support symbolic icon deployment and recoloring linux, unify setTrayIcon to use theme icons only 2025-10-28 07:39:14 -04:00
sithlord48
9906421460 feat: Dynamic translation of GUI, able to restart the application without exiting 2025-10-28 07:18:53 -04:00
sithlord48
91a82b22b2 refactor: MainWindow make menu items private members 2025-10-28 07:18:53 -04:00
sithlord48
73e44916e7 refactor: SettingsDialog, support LanguageChange Event 2025-10-28 07:18:53 -04:00
sithlord48
84d2c56b54 refactor: LogDock, support LanguageChangeEvent 2025-10-28 07:18:53 -04:00
sithlord48
40c20e3f5e chore: rm Unused gui/DataDownloader 2025-10-28 09:30:36 +00:00
sithlord48
1e0bd5822a chore: remove unused AddClientDialog 2025-10-28 08:59:45 +00:00
sithlord48
7b0d74aace chore: rm unused ServerConfig::ScreenAddResults 2025-10-28 08:59:45 +00:00
sithlord48
becbb01286 chore: rm unimplimented ServerConfig::getClientAddress and ServerConfig::setClientAddress 2025-10-28 08:59:45 +00:00
sithlord48
fc1769ce66 chore: rm Unused ServerConfig::addToFirstEmptyGrid 2025-10-28 08:59:45 +00:00
sithlord48
31573bf6e8 chore: rm Unused ServerConfig::m_pMainwindow 2025-10-28 08:59:45 +00:00
sithlord48
2efcc76933 chore: rm unused ServerConfig::showAddClientDialog 2025-10-28 08:59:45 +00:00
sithlord48
3580b4ead9 chore: rm unused ServerConfig::autoAddScreen 2025-10-28 08:59:45 +00:00
sithlord48
a82e9a4a74 chore: remove unused MainWindow::autoAddScreen 2025-10-28 08:59:45 +00:00
sithlord48
2d7174c3b2 feat: expose language settings, populate a basic spanish translation 2025-10-27 17:54:32 -04:00
sithlord48
71c1bb87ca refactor: Mainwindow prepare for translations by simplifying MainWindow::serverClientsChanged to use plural form always 2025-10-27 17:54:32 -04:00
sithlord48
bf3fd82630 chore: use kAppName and kAppId more to avoid unneed translations of Deskflow / deskflow 2025-10-27 17:54:32 -04:00
sithlord48
bdacd6a994 chore: prepare for translation remove tr calls from placeholder strings in ui files 2025-10-27 17:54:32 -04:00
Gio
f2a3c708a8 refactor: Update footer text in FingerprintDialog
Fix up wording in connection / fingerprint dialog
2025-10-27 16:32:37 +00:00
sithlord48
b5c188abbc refactor: use theme icon for tray on windows 2025-10-24 16:26:38 +01:00
sithlord48
42b90a2b14 feat: update icon theme on theme change 2025-10-21 11:05:10 -04:00
sithlord48
6b05c2abc0 refactor: use QPushButtons and fake toolbutton style without using a style sheet 2025-10-21 11:05:10 -04:00
sithlord48
697cd57adb refactor: rename MainWindow::setIcon -> MainWindow::setTrayIcon to better reflect what the method does 2025-10-21 11:05:10 -04:00
sithlord48
88e385d050 refactor: move icon theme settings to styleUtils::updateIconTheme 2025-10-21 11:05:10 -04:00
sithlord48
91b836a486 fix: SettingsDialog, set the UAC hidden by default unless on windows
fixes: #9054
2025-10-21 14:36:17 +01:00
sithlord48
e1fbcb379e chore: Sub classes and overloads not usings parameters of the base methods have the varible names removed 2025-10-17 09:07:21 +01:00
sithlord48
8b489b8301 chore: remove unneeded semi colons from several places 2025-10-17 09:07:21 +01:00
sithlord48
41d5359f4d Refactor: deskflow-core remove non essential options move CoreArgs and CoreArgParse to apps/deskflow-core 2025-10-15 15:04:08 +01:00
sithlord48
34f56af6d6 refactor: set Remote host when it changes on the line edit. 2025-10-15 09:38:11 -04:00
Nick Bolton
bb1394ceeb feat: Change to local user ini (not native)
Windows registry is horrible to deal with and makes it impractical to pass settings to the Core when run via daemon on Windows.

- Pass settings path to Core when launched via daemon
- Introduce portable mode detection logic on Windows
- Generalize `m_settingsFile` use
- Reduce #ifdef size for Settings ctor path logic
2025-10-15 08:59:09 -04:00
sithlord48
7c3ec372df chore: use std::ignore in diagnostic reset 2025-10-13 10:19:42 -04:00
Nick Bolton
0f335d46bb fix: Store server config window state in memory instead of on disk 2025-10-13 08:50:30 -04:00
sithlord48
2b203c8cdd refactor: use CoreProcess::CorrectedAddress in CoreProcess::setAddress 2025-10-13 08:34:12 -04:00
sithlord48
ac7bd1ceca refactor: CoreProcess make wrapIpv6, Simplify wrapIpV6 method 2025-10-13 08:34:12 -04:00
sithlord48
de6be901b9 refactor: CoreProcess use Settings::defaultvalue for server Config in place of constructing in CoreProcess 2025-10-13 08:34:12 -04:00
sithlord48
0ab65410cc refactor: CoreProcess::restart simplify method 2025-10-13 08:34:12 -04:00
sithlord48
a057437e1a refactor: MainWindow::coreProcessStarting move logic into coreProcessStateChanged 2025-10-13 08:34:12 -04:00