Commit graph

979 commits

Author SHA1 Message Date
sithlord48
f3657edc80 refactor: use Q_EMIT 2024-10-21 14:30:02 +01:00
sithlord48
498e3aa015 refactor: use static regularexpressions and matches 2024-10-21 14:30:02 +01:00
sithlord48
58323f515f refactor: use multi arg were possible 2024-10-21 14:30:02 +01:00
sithlord48
560345cf4f refactor: add context object for lambdas 2024-10-21 14:30:02 +01:00
sithlord48
90d27a174d refactor: do not include full modules in qt files 2024-10-21 14:30:02 +01:00
sithlord48
8b54b84880 refactor: use const for ranged loops 2024-10-21 14:30:02 +01:00
sithlord48
45050d3d36 refactor: use modern range for loops in place of old foreach macro 2024-10-21 14:30:02 +01:00
sithlord48
f0a946a0f1 refactor(SettingsWizard): Ui Less 2024-10-20 21:55:44 +01:00
sithlord48
db6b6b9386 refactor(SetupWizard): Foward declare appconfig 2024-10-20 21:55:44 +01:00
sithlord48
b10eb3baa8 refactor(SetupWizard): Do not use auto connect name for slot 2024-10-20 21:55:44 +01:00
sithlord48
7c74b90620 fix scan alert #559 2024-10-19 19:49:21 -04:00
Nick Bolton
a786cdf972 chore: Set default server protocol to "Barrier" (determined by community vote)
Vote: https://github.com/deskflow/deskflow/discussions/7742
2024-10-19 23:46:42 +01:00
Nick Bolton
a5cd0fab9e feat: Option to change server protocol in GUI 2024-10-19 23:46:42 +01:00
sithlord48
199f682e27 refactor: setupwizard ui is not longer the base of the class 2024-10-19 23:18:26 +01:00
sithlord48
afff2eb6ac refactor: serverconfigdialog ui is no longer base for the class 2024-10-19 23:18:26 +01:00
sithlord48
9167bf04f6 refactor: hotkeydialog ui no longer base of the class 2024-10-19 23:18:26 +01:00
sithlord48
0298a132c1 refactor: addclientdialog ui no longer base for the class 2024-10-19 23:18:26 +01:00
sithlord48
7b3d8c3dc3 refactor: actiondialog to not have ui as base of the class 2024-10-19 23:18:26 +01:00
sithlord48
06aa41e8f5 refactor: mainwindow ui not the base of the class 2024-10-19 23:18:26 +01:00
sithlord48
3d2883ad02 fix: remove server config dialog custom show event
Fixes Crash with Qt 6.8
2024-10-18 18:19:16 -04:00
sithlord48
9b9ecb0d05 chore: Adjust Clang-format linter rules
120 Column Lines
 Block Indent for Bracket Align
 Custom Line Break Rules
 No Single Line Functions
2024-10-17 21:38:29 +01:00
sithlord48
f70528d082 build: Clean up warning for new QCheckBox signals With 6.7+ 2024-10-15 07:23:38 +01:00
Nick Bolton
9c4f6e6d0b chore: Change TLS dir to same as Qt config 2024-10-14 17:43:30 +01:00
Nick Bolton
c630ad0952 test: Coverage for AboutDialog.cpp 2024-10-13 19:52:09 +01:00
sithlord48
c03e3f56a7 chore: update mono tray icons 2024-10-13 13:54:15 -04:00
sithlord48
c66d7a6942 chore: Update tray icon 2024-10-13 13:54:15 -04:00
sithlord48
8340f106e7 chore: Update Padlock icon 2024-10-13 13:54:15 -04:00
Nicolas Fella
38631193b5 feat: Use native style on KDE Plasma
On Plasma it is preferred to use the default Breeze style instead of Fusion

Breeze also has dark mode support out of the box, so no need to work around that
2024-10-12 12:31:37 -04:00
Nicolas Fella
c959e641cb fix: Set correct QGuiApplication::desktopFileName
The implicity default doesn't match the actual name of the desktop file.

This fixes e.g. the application icon on Wayland
2024-10-12 12:08:16 -04:00
sithlord48
159f49c5ee chore: use modern connections 2024-10-11 16:56:46 +01:00
sithlord48
932ca44d75 build: use pragma once not ifndef def pattern for headers 2024-10-08 06:52:41 -04:00
Nick Bolton
6bb1bcad8c chore!: Relocate commercial code downstream 2024-10-01 14:39:05 +01:00
Nick Bolton
b904cba040 feat: ask for permission before update check 2024-09-22 13:14:03 +01:00
Nick Bolton
4f0e8cb844 feat: change most domains to Deskflow 2024-09-22 13:11:25 +01:00
Nick Bolton
487894c36b feat: use new Deskflow graphics 2024-09-22 12:09:28 +01:00
Nick Bolton
5b27f0c90b build: set BUILD_DATE instead of using __DATE__ for reproducible build 2024-09-21 20:14:04 +01:00
Chris Rizzitello
ed1217e9cc
Use Deskflow Name (#7519)
* Use Deskflow Name

* Remove business-oriented options from issue templates

* Remove business-oriented workflow

* Bump version to 3.0.0 (to avoid confusion with previously used version numbers 1.x & 2.x)

* Update readme to reflect new project name and goals

* Found some more "synergy" to rename

* Rename `synlib` to `app`

* Rename `syntool` to `deskflow-legacy`

* Rename `synwinhk` to `dfwhook`

* Rename dirs from synergy to deskflow

* Rename more "Synergy" files

* Rename app bundle ID

* Fixed copyright typo

* Rename only title in serial key dialog (to be moved downstream later)

* Preserve original serial key window for moving downstream

* Restore dialogs ready for moving downstream

* Rename `QDeskflowApplication` to `DeskflowApplication` (the Q is confusing)

* Restore Volker's original project name

* Fixed mimetype

* Fixed weird grammar

* Fixed (more) weird grammar

* Broken link, restoring (but we should move all links out of source)

* Broken link, restoring (but we should move all links out of source)

* Add write permission to valgrind-analysis.yml

* Restore AUR conflicts

* Apply Clang format

* Update ChangeLog

* Back out version change

---------

Co-authored-by: Nick Bolton <nick@symless.com>
2024-09-17 20:00:25 +01:00
Nick Bolton
8beeaf4276
Add warnings for missing Wayland libs and features (#7492)
* Add warnings for libei and libportal

* Add warning about experimental Wayland support

* Update ChangeLog

* Move GUI res files to root res dir

* Fixed crazy qrc shenanigans

* Move Wayland warning logic, add tests, improve core retry

* Also install py modules with pip since meson can be in venv

* Throw error when no libei

* Add warnings when no libportal

* Allow failure then success to show related to Wayland (for switching modes)

* Fixed formatting

* Fixed includes

* Simplify warning message

* Add log hint

* Show warning when error already shown

* Only check for Wayland if X or libei

* Add error message when quitting dur to remote desktop error

* Improve consistency of portal log lines
2024-09-09 11:18:17 +01:00
Nick Bolton
4d84097334
Change default value for dev thanks message (1.16) (#7453)
* Forward port: Change default value for dev thanks message

* Remove sneaky submodules

* Update ChangeLog
2024-08-30 21:14:02 +01:00
Nick Bolton
4e844bf307
Wayland support (port Red Hat libei and libportal impl) (#7449)
* Add libei and libportal

* Port libei and libportal code by Peter Hutterer and Olivier Fourdan

* Add Peter Hutterer and Olivier Fourdan to important devs list

* Improve error handling for libei and libportal builds

* Checkout libportal  tags/0.7.1

* Hack out the gi-docgen clone

* Remove new submodules in favor of using ExternalProject_Add

* Remove submodule dirs

* Use ExternalProject_Add instead of submodules

* Fixed namespace

* Hack to work around type libportal causing type conflicts

* Add log helper functions

* Use original log functions

* Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency

* Restore a few events (much more work required)

* Add TODOs for supporting multiple lib versions

* Revert "Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency"

This reverts commit 610cebb5b6a08282eee68f4424fcdbe9eaab4bf9.

* Simplify cmake config by removing builds for libei and libportal (will do this in `install_deps.py` instead)

* Remove submodules

* Remove .gitmodules

* Use meson to build subprojects

* Update copyright with Peter Hutterer's guidance

* Use meson for installing deps

* Fixed typo in tag name

* Remove submodules

* Remove old submodules

* Fixed libei name

* Defaults for pugixml and gtest depending on whether source exists in subprojects

* Ignore some subproject dirs

* Make deps OS-specific

* Move python deps to pyproject

* Only compile and install on Linux with Meson

* Revert "Move python deps to pyproject"

This reverts commit 92c8a287b8376a4d166058c85f1d6081f6fdb423.

* Add ninja to brewfile

* Add python3-attr

* Restore original coverage config

* Add ninja for meson

* Include meson in same try-except

* Fixed ninja dep name

* Move libs to correct oS

* Fixed include for wintoast

* Disable docs for libportal

* More options for libei and libportal

* Fixed option for libei

* Use ninja directly to install

* Revert "Use ninja directly to install"

This reverts commit c926d78ba483406a55acd10fb157c39e13f90b71.

* Meson install verbose

* Prints stdout/stderr

* Remove `from None`

* Remove submodules that somehow crept back in?!

* Prepend sudo if exists

* Add libei deps for all distros

* Fixed Fedora package name

* Add more deps for other distros

* Add more libs (including pugixml)

* Fix lib name

* Drop -u from pacman

* Add vala to rhel

* Make libportal optional

* Make portal link optional

* Remove example code

* Always use system pugixml

* Disable interactive apt through install_deps.py

* Revert "Disable interactive apt through install_deps.py"

This reverts commit 5bbc8fd689182447c79b81db16c961b98361a292.

* Set DEBIAN_FRONTEND in workflows

* Set DEBIAN_FRONTEND in CodeQL workflow

* Add gtest dep

* Add bundled libei dep

* Add libei dep to Arch

* Use `googletest` on openSUSE

* Add gmock dep

* Remove gtest dep from openSUSE

* Add libei on Fedora

* Bundle libei for older Linux distros

* Disable libei dep for RPM

* Also bundle symlink to .so

* Use ${CMAKE_INSTALL_LIBDIR}

* Rename libei to fix openSUSE

* List installed files

* Add libei-devel to openSUSE

* Add googletest-devel to openSUSE

* Remove manual deps (probably resolved automatically)

* Remove googletest from openSUSE (doesn't provide google mock)

* Only add Portal* if libportal found

* WIP - Partial work on using old events system :'(

* Add deps install commands for subprojects

* Solved more compile issues related to events system, threads, etc

* Fixed bad config for adding x, ei, portal sources

* Remove redundant deps

* Remove (another) redundant dep

* Fixed pacman command

* Add Ubuntu and Linux Mint libei deps

* Fixed Ubuntu and Linux Mint libei deps aliases

* Only iterate subprojects if not None

* Add rhel, rocky, and alma for libei

* Make rhel-like deps same as fedora again

* Build libportal on rhel-like

* Re-enable meson rhel-like for libportal

* Remove dbus-python

* Make libportal optional (for rhel-like)

* Handle ei event queue results

* Re-introduce libportal

* Print libei and libportal versions

* Add ei/portal args and client screen

* Switch --use args to --no

* Don't build libei/libportal on older distros as it's pointless

* Make libei and libportal optional

* Add Debian 13 runner

* Make some packages optional

* Remove subprojects

* Improve comment

* Add comment for libportal

* Improve comment

* Add Debian 13 runner

* Make optional... optional

* Change continuation stripper to remove newline and continuation char

* Make command strip more uniform

* Fixed help var syntax

* Fixed libei linking

* Ensure `kHelpNoWayland` is always defined

* Improve help message

* Fixed Debian 13 runner name

* Include sstream and use const var

* Update ChangeLog

* Remove Wayland block

* Return new timer

* Make tray icon logging verbose

* Fixed arg parser for wayland args

* Fixed init of EI screen

* Fixed lint issues

* Update README to indicate Wayland support in GNOME 46

* Add missing word

* Fixed comment positions

* Automate CI env

* Tone down debug log messages

* Add missing comma

* Remove redundant log line
2024-08-30 15:53:25 +01:00
Nick Bolton
3293deff39
Improve error handling and use long long for dates (#7442)
* Improve error handling

* Remove unused includes

* Use long long for unix date

* Update ChangeLog

* Fixed include

* Clang format
2024-08-14 00:13:17 +01:00
Nick Bolton
7bb1bb2611
Fixed light logo filename on about screen (#7440)
* Fixed light logo filename

* Update ChangeLog
2024-08-13 22:27:17 +01:00
Nick Bolton
9464aa46b8
Show message box explaining why settings are read-only (#7437)
* Swap assert for warning log lines

* Flush on IPC write

* Flush on cleanup instead of write

* Record core started setting

* Show server first start message

* Show message when active scope is read-only

* Show read only message on change

* Show read only on window show

* Try to improve main window size policy

* Revert addition of resizer

* Remove redundant file path fiddling

* Remove dead code and fixed missing const

* Print path and use queued connection

* Improve read-only message on Windows

* Only show toggle warning when dialog visible

* Update ChangeLog

* Fixed include
2024-08-12 16:39:18 +01:00
Nick Bolton
30ea95fb3d
Introduced new env vars for testing (#7436)
* New env vars for testing

* Update ChangeLog
2024-08-11 22:34:48 +01:00
Nick Bolton
3e4cb4a1c7
Add reset settings menu action and env var (#7435)
* Add reset settings menu action and env var

* Delete profile and config dirs, reduce duplication with TLS dir and various other paths, fixed bug in new client dialog, move TLS arg to server

* Better filename

* Make method const

* Update ChangeLog

* Remove include

* Make param const

* Stop core process on reset

* Fixed: reset menu action causes config to be pulled from app/server config

* Center main window in middle of screen
2024-08-11 00:58:24 +01:00
Nick Bolton
c4510bf093
Show dark logo in dark mode and improve .env loader (#7434)
* Update fingerprint on load

* Update TLS controls enabled

* Use official Qt way to detect dark mode and clean up dead code

* Add missing includes

* Simplify dark mode code

* Check app config dir for .env

* Use app config dir for .env

* Don't check for existence of file

* Resolve orgDir

* Add missing example env

* Fixed example

* Update ChangeLog
2024-08-10 01:48:27 +01:00
Nick Bolton
064bc957c1
Only show close to tray reminder when not quitting the app (#7432)
* Improve trusted fingerprint message

* Fixed typo

* Improve grammar

* Simplify logging output

* Only show close reminder if not quitting

* Migrate old settings on macOS

* Raise main window when showing

* Raise critical error above main window

* Coverage for config scopes

* Fixed new client prompt

* Remove unused includes

* Further coverage for config scopes

* Update ChangeLog
2024-08-09 19:20:10 +01:00
Nick Bolton
321418fcf8
Improve handling of Qt-related warnings and errors (#7431)
* Load .env from app dir

* Use `OutputDebugStringA` on Windows

* Improved string manipulation in logger and better use of OutputDebugStringA

* Use noquote for path

* Apply TLS setting after activation

* Restart after activation

* Move skip debug message to correct place

* Only print settings path on create, not shown

* Merge common and global libs

* Reduce code duplication around constants, version, etc

* Simplify sprintf code

* Use snprintf

* Add error test menu

* Coverage for dotenv

* Coverage for Logger

* Add missing include

* Add init when no Git SHA

* Update ChangeLog

* Add spellings

* Set debugging on for release build

* Remove unused variable

* Remove bad comment

* Fixed copyright date

* Remove import

* Move URL const back to GUI

* Remove dead code and duplication

* Fixed/ignored lint warnings
2024-08-09 14:03:48 +01:00
Nick Bolton
ef186d398d
Improve setting enable logic and test coverage (#7430)
* Rename controls and improve setting enable logic

* Move settings dialog to new lib

* Rename dialog to dialogs

* Include .ui files for GUI lib and include autogen headers in exe

* Unit test settings dialog

* Fix lint errors

* Update ChangeLog

* Fixed test name

* Add debug messages

* Tweak message

* Logging for CI issue

* Revert "Logging for CI issue"

This reverts commit 124b2c1acd778f1e422057e203436582fe12d147.

* Revert "Add debug messages"

This reverts commit 39b6a06c716965e0a8199bf34b6652861874cb28.

* Add Windows compiler error

* Exclude test on Windows
2024-08-09 09:08:29 +01:00
Nick Bolton
a686f19ca2
Parse date numbers as long instead of int (#7429)
* Fixed menus

* Parse string to long for date

* Change time limited logic

* Restore time limit logic

* Remove qglobal.h includes

* Remove warning

* Fixed tests to work with 0 value

* Update ChangeLog
2024-08-08 21:54:32 +01:00