Commit graph

58 commits

Author SHA1 Message Date
Nick Bolton
9eeb1cb7ee
Introduce 'Advanced' tab to Preferences window (#7419)
* Add QML and QtQuick deps

* Keep only Qt declarative

* Fixed delcarative package name

* Use `qt6-qtdeclarative` on OpenSUSE

* Fixed warnings

* Introduce tabs for settings and make some settings easier to understand

* Further reorganization of settings UI

* Revert config.yml

* Show Qt version in config

* Remove custom font

* Improve wording of elevate privs

* Fixed window sizes and default tabs

* Save main window size and position

* Fixed slot warning

* Fixed hacky use of validators

* Make activation cancel more intuitive

* Save window state in dtor and add try-catch to prevent exceptions propagating

* Fixed consistency of fatal messages

* Improve color conssitency and add tooltip

* Clean up styles and weird layout

* Move config files to new gui lib

* Core interface integ tests

* Rename `Config` to `ConfigScopes`

* Add 'Schoeneman' to cspell

* Fixed incorrect `Config` (should be `ConfigScopes`)

* Fixed typo

* Missed a spot

* Delete accidentally re-added file

* Fixed formatting

* Add short opt

* Coverage for `AppConfig`

* Update ChangeLog

* Remove redundant includes

* Fixed date

* Remove rogue include
2024-08-01 01:13:01 +01:00
Nick Bolton
9315b089c8
Improve UI design and reduce over-use of #ifdef (#7413)
* Rename `LicenseManager` to `License`

* Rename `LicenseManager` to `License`

* Move License class to gui lib

* Rename license related classes

* Refactor serial key parsing

* Don't fail fast on containers

* Move licensed product name from config to code

* Fixed formatting

* Update code coverage generator and fixed args

* WIP: Converting license to chrono

* WIP: Fixed compile errors, tests failing

* Fixed all serial key and license tests

* Disable verbose logging

* Add missing </p>

* Add missing include

* Revert code coverage config

* Handle parse errors

* Move more classes into the new gui lib and improve license/serial object ownership

* WIP: Fixing signal/slots in MainWindow

* Fixed slot for about to quit

* Rename manual slots to solve auto-connection warnings

* Fixed logging issue

* By default, don't close to tray

* Add .env support and furthe refactor license code, also fixed some copyright dates

* Remove test code

* Fixed memory error in .env parser and refactor more licensing display code

* Fixed color inconsistencies

* Fixed link colors and made log view expand

* Disable server components rather than hiding

* Reset years of blind UI layout fiddling

* Fixed clean Qt task

* Only show notice when time limited

* Fixed main window layout

* Show connected clients

* Set 15 spacing

* Auto connect on start

* More intentional screen size

* Fixed tests related to license

* Tests for expiry notifications

* Reorg tests and remove death test

* Update gtest

* Tests for dotenv parser

* Test command process

* What the heck is that doing there?

* Merge constants headers

* Fixed magic includes

* Remove helper function

* Remove comment

* Remove extern decl

* Update ChangeLog
2024-07-26 23:53:52 +01:00
Nick Bolton
85b8b83a53
Implement safer memory use, improve dev env, fixed GUI bugs (#7407)
* Improve dev script for daemon

* Ignore `.user` files created by Qt

* Add `FORCE_DESKTOP_PROCESS` option

* Catch errors related to getting profile dir

* Disable IPC entirely if forced desktop

* Use in-class init for AppConfig members

* Refactor config to use safer memory management

* Improve launch config to make OS-specific debugger usage clearer

* Re-enable MainWindowTests on Windows, further refactor for memory safety, fixed some include orders

* Remove dead singleton code

* Swap order of tests

* Use HTTPs for URLs

* Fixed compile errors for `SYNERGY_ENABLE_LICENSING` compile path

* Restore exec function call

* Remove extra link in cancel dialog

* Fixed broken link on activation cancel UI

* Close dialog if activated

* Fixed macOS enum ref to kCurrentProcess

* Improve wording on cancel activation dialog

* WIP - Test timeout (compile error)

* Finished timeout logic (with smart pointer)

* Include string_view

* Switch to thread from jthread (maybe not supported by macOS compiler?)

* Improve comment

* Disable test on Windows

* Add TODO related to jthread on macOS

* Refactor settings and paths on Windows

* Launch in desktop mode on Windows

* Remove arg quote wraps which break desktop mode

* Fixed qFatal on Linux

* Remove test value

* Follow original `AppConfig` accessor convention

* Disable service checkbox if not Windows

* Simplify TLS control enable logic

* Update command and Git ignore

* Fixed code style

* Fixed include consistency

* Fixed includes in validator

* Fixed lint errors

* Update ChangeLog

* Use smart pointer for core process

* Remove unneccesary default operators

* Don't halt on stderr
2024-07-22 17:48:02 +01:00
Nick Bolton
e435953af7
Make Clang param and arg alignment more readable (#7387)
* Turn off alignment of params

* Apply Clang format

* Change AlignAfterOpenBracket to AlwaysBreak and add extra bin pack settings

* Restore default bin packing

* Apply format
2024-07-16 14:36:44 +01:00
Nick Bolton
6e82f64ec8
Upgrade from Qt5 to Qt6 for more modern UI (#7373)
* Use Qt 6

* Fixed some Qt6 deps

* Fixed minor compile issues for Qt6

* Drop Debian 11 support (no Qt6 lib)

* Move Debian to top

* Delete expensive to maintain code that yeilds low UX gain

* Unpack all values

* Use %lld instead of %u

* Minor UI improvements

* Add deps for Fedora, OpenSUSE, and Arch

* Fixed CMake lint issue

* Use package name from build.opensuse.org

* Used `zypper search` to find correct package names
2024-07-08 15:37:51 +01:00
Nick Bolton
4690b61551
Simplify compile options and use comprehensive edition logic (#7365)
* Simplify options

* Use more sensible edition logic

* Use set instead of option for string

* Improve macro for product name

* Add tests launch config

* Restore unregistered state

* Reorganize cases for title and improve function name

* Code coverage on by default

* Fixed copyright

* Improve code coverage and test readability

* Separate build-all and build-coverage

* Back out coverage on by default

* Fixed bad var in cmake

* More verbose logging for coverage

* Restore tasks

* Restore preLaunchTask

* Use default comparitor

* Move temp files to temp dir

* Add tasks for tests

* Support for wstring

* Upgrade sonar-scanner to 6 on Debian 12

* Use modern pip install

* Install python for sonarcloud

* Use Ubuntu and install deps

* Fixed sonar-scanner URL

* Fix exported dir

* Persist build dir

* Don't use venv for pip install gcovr

* Fixed another path

* Update actions/checkout to v4 for SonarCloud analysis workflow

* Add coverage task

* Improve coverage for SerialKeyEdition.cpp

* Enable licensing for builds

* Fixed invalid macro names, missing arguments, etc

* Fixed more copyright

* Fixed incorrect use of "enterprise"

* Fixed incorrect use of "business"

* Experiment with environment

* Make package prefix variable

* Add environment matrix to all OS

* Improve job names

* Make job names easier to read

* Roll back environment matrix (too much noise)

* Fixed: default should override required

* Refactor CI with vars

* Fixed arg for env.get_env
2024-07-04 10:14:54 +01:00
Nick Bolton
37bb0f989e
Format all source with Clang and introduce lint workflow (#7364)
* Lint script with CLang format

* Use `-i` for `clang-format` and add more logging for lint scripts

* Apply LLVM CLang formatting

* Fixed comment

* Update ChangeLog

* Fixed bad return code logic

* Improve output for linters

* Fixed re-used var in clang lint

* Fixed include order for tests and use `#if 0` instead of commenting out code

* Use full Clang format dump

* Dump Ubuntu Clang format

* Dump Clang format from Debian

* Dumped from: clang-format version 18.1.8

* Revert "Dumped from: clang-format version 18.1.8"

This reverts commit b9bbda2995bb0b4b65baf14afebb0361ec64e644.

* Remove BasedOnStyle

* Restore base Clang format file

* Use clang-format from pip

* Apply Clang format 18 style

* Add clang_format deps

* Fixed include order issues and *some* accidental includes
2024-07-02 20:07:06 +01:00
Serhii Hadzhilov
c37b0d2fcf
Add ability to initiate connection from server (#7222)
* Add a new hidden readonly option "initiateConnectionFromServer"

* Add option "clientHostMode"

* Add host mode to the client GUI

* Hide main window controls for the client host mode

* Store client address into the server config file

* Add client mode the server

* Pass option --host into the client

* Add --host parameter into the synergyc

* Add InverseSocketFactory

* Add InverseClientSocket

* Add InverseServerSocket

* Add AutoArchSocket

* Add listener on the client side

* Add connection from the server side

* Fix code smells

* Additional code smells

* Requested changes

Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-09-22 11:12:13 +03:00
Serhii Hadzhilov
452c631d6e
Release v1.14.5 (#7219)
* Update Version.cmake

* Add TLS to Synergy (Lite edition) (#7202)

* Add TLS to synergy light

* Requested changes

* License registration for Business edition (#7203)

* License registration for business

* Rename register to registry

* Add email into the request

* Add decoded serial key into the request

* Revert "Add decoded serial key into the request"

This reverts commit 0e18c8941664e86ae2264bbef072df68cab07751.

* Revert "Add email into the request"

This reverts commit 8dff01bc242769008897947d66187cb726fb34bf.

* Change field guid_generated to guid_type

* Update ChangeLog

* Update ChangeLog

* Fix build issue for ubuntu16 and ubuntu18 (#7204)

* Fix issue with settings

* Custom about screen for Elite Backers (#7211)

* Hide irrelevant information from the About screen for B2B

* Fix size for Windows and Linux

* Requested changes

* Fix Enterprise

* Revert "Fix Enterprise"

This reverts commit befd8d2ce36b6ca903250bada62293491f0b56a2.

* Revert "Requested changes"

This reverts commit 5f728e00aaeb4bed3e3c006539d380f74d3aff76.

* Change features based on edition (#7212)

* Change features based on edition

* Fix enterprise build

* Update window titles and about screen (#7214)

* Fix About screen for Business edition

* Change dialog title

* Refactored upgrade prompt for TLS and hotkeys (#7215)

* Prompt Basic users to upgrade to Pro to access TLS encryption

* Fixed Enterprise build

* Fix code smells

* Fix sonar bug
2022-09-13 18:31:45 +03:00
Serhii Hadzhilov
a08149aae7
SYNERGY1-1536 Disable drag and drop by default (#7179)
* SYNERGY1-1536 Disable drag and drop by default

* Update ChangeLog
2022-05-24 15:47:26 +01:00
Serhii Hadzhilov
84236ffd36 SYNERGY-1216 the system duplicates hotkeys in setup 2021-09-27 17:04:11 +03:00
Andrey Batyiev
7b2026e376
SYNERGY-1133 Clipboard sharing re-enables automatically (#7078)
* SYNERGY-1133 Clipboard sharing re-enables automatically
* Fix save order for clipboard and clipboard chunk size

* SYNERGY-1133 Clipboard sharing re enables automatically
*Update ChangeLog

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-08-25 13:49:54 +03:00
Andrey Batyiev
861f6ec279
Synergy 1161 when clicking on save preferences on configure server window, automatically apply all the new settings (#7074)
* SYNERGY-1161 When clicking on "Save" preferences on "Configure server" window, automatically apply all the new settings
*Added comparison for all classes which used in server config

* SYNERGY-1161 When clicking on Save preferences on Configure server window, automatically apply all the new settings
*Added server config changes checking logic

* SYNERGY-1161 When clicking on Save preferences on Configure server window, automatically apply all the new settings
* Update ChangeLog

* SYNERGY-1161 When clicking on Save preferences on Configure server window, automatically apply all the new settings
*Fix code style

* SYNERGY-1161 When clicking on Save preferences on Configure server window, automatically apply all the new settings
* Fix Linux build

* SYNERGY-1161 When clicking on Save preferences on Configure server window, automatically apply all the new settings
*Fix Sonar code smells

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
2021-08-20 15:22:07 +03:00
SerhiiGadzhilov
6ce20f689a
Merge changes from V1.14.0 (#7032)
* SYNERGY-1007 Release candidate

* SYNERGY-1014 Update openSSL to 1.1.1k on Windows artefacts

* SYNERGY-1015 Remove SYNERGY_AUTOCONFIG fom cmake files

* SYNERGY-1015 Update ChangeLog.txt

* SYNERGY-1005 Add fedora 33 to 1.14.0

* SYNERGY-1021 Incorrect client place for the first connection

* Update ChangeLog

* Update build_version.py to select correct build number

* SYNERGY-1023 Typo in <displays> on the server configuration page

* SYNERGY-1028 New licenses for Chinese market (#7031)

* SYNERGY-1028 New china licenses

* Update ChangeLog

* SYNERGY-1024 Release 1.14.0

* Update Version.cmake

Co-authored-by: Igor Sikachyna <sikachynairl@gmail.com>
2021-06-09 11:23:09 +03:00
Igor Sikachyna
332dea5c40
SYNERGY-993 - Remove code related to the screen saver synchronization functionality (#6998)
* Remove code related to the screen saver synchronization functionality

* Update changelog

* Update formatting, add const qualifier

Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-05-27 11:57:34 +03:00
Serhii Hadzhilov
025c2c1629 SYNERGY-979 Add clients by priority 2021-05-18 13:05:59 +03:00
Serhii Hadzhilov
4bbe8108a2 SYNERGY-694 Prevent client duplication. 2021-04-28 15:49:27 +03:00
SerhiiGadzhilov
749736581c
SYNERGY-694 Setup client configuration (#6981)
* SYNERGY-694 Setup client configuration

* SYNERGY-694 Add copyrights

* SYNERGY-694 Fix code smell

* Update ChangeLog

* SYNERGY-694 Show setup if the window is closed or minimized
2021-04-22 10:29:46 +03:00
SerhiiGadzhilov
7e562bbf69
SYNERGY-799 Update Synergy UI. Main screen (#6973)
* SYNERGY-799 Add computer name field

* SYNERGY-799 Add field “This computers IP addresses”

* SYNERGY-799 Arrange panels

* SYNERGY-799 Increase size for panels

* SYNERGY-799 Add radio buttons

* SYNERGY-799 Remove unnecessary label

* SYNERGY-799 Radio buttons switch logic

* SYNERGY-799 Move configure server button

* SYNERGY-799 Move “Existing Config” to “Advanced settings”

* SYNERGY-799 Server state label has been added

* SYNERGY-799 Client state label has been added

* SYNERGY-799 Button connect has been added

* SYNERGY-799 Add “TLS/SSL active - view”

* SYNERGY-799 Fixed issue with list on welcome screen

* SYNERGY-799 Fixed issue with auto switching

* SYNERGY-799 Fix issue with server status message

* SYNERGY-799 Disable all tabs if external config is selected

* SYNERGY-799 Fix code smells

* Update ChangeLog
2021-04-12 12:03:37 +03:00
SerhiiGadzhilov
4878a8c07c
SYNERGY-881 System loses synchronisation between settings and configuration (#6968)
* SYNERGY-881 System loses synchronisation between settings and configure server

* Update ChangeLog
2021-03-19 17:53:32 +02:00
SerhiiGadzhilov
2009409c14
SYNERGY-786 The system resets server name (#6961)
* SYNERGY-786 The system resets server name

* Update ChangeLog

* Update job-test-windows.yml

* Update job-test-windows.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml
2021-03-12 20:09:30 +02:00
SerhiiGadzhilov
22c77b4e8b
SYNERGY-786 The system does not update server name in Server configuration (#6953)
* SYNERGY-786 The system does not update server name in Server configuration

* SYNERGY-768 Remove unused header

* SYNERGY-786 Update ChangeLog and version

* SYNERGY-786 Fix code smells

* SYNERGY-786 Save screen name after update
2021-02-22 13:33:18 +02:00
Jamie Newbon
ad1429e9aa #6538 Removed appconfig saveSettings calls from external classes, update serverconfig to derived class 2020-04-27 13:02:26 +01:00
Jamie Newbon
df2d31ecf8 #6538 Implemented a most of the new config system 2020-04-23 18:11:20 +01:00
jnewbon
0243ba9171 #6583 Changed Server config to pull Settings directly from AppConfig instead of maintaining its own pointer
Signed-off-by: jnewbon <jamie@symless.com>
2020-02-25 17:06:07 +00:00
Nick Bolton
4cf1ab8a25 #6338 Refactor auto restart logic, fixed debug level check, added some debug logging 2018-08-08 17:20:16 +01:00
Andrew Nelless
dfcac4e90b #6344 Persist clipboard sharing size settings 2018-07-08 16:49:46 +01:00
Andrew Nelless
7e7760668a #6344 Add clipboard sharing size limit config option 2018-07-08 16:49:16 +01:00
XinyuHou
535627c871 #6346 Add disable lock to screen in server config and output it to config file 2018-07-08 16:48:07 +01:00
XinyuHou
deea23f866 Apply tab to spaces filter to src folder 2017-02-07 01:24:59 +00:00
Xinyu Hou
59e31c3f05 #123 Made clipboard name convention consistent 2016-09-26 11:58:33 +01:00
Xinyu Hou
130458f77a #123 Added enable clipboard option in GUI 2016-09-26 11:58:33 +01:00
Andrew Nelless
c3c0913633 Update company copyright notice 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
8ff44d276b Revert "Revert "Add drag and drop enable option to GUI settings""
This reverts commit 8676f64b96.
2015-07-09 17:05:43 -07:00
Jerry (Xinyu Hou)
8676f64b96 Revert "Add drag and drop enable option to GUI settings" 2015-07-09 09:54:57 -07:00
Jerry (Xinyu Hou)
1e89aa37c5 Merge pull request #4382 from meowfaceman/master
Make drag and drop optional #4327
2015-06-12 19:12:57 +01:00
Nigel Armstrong
d71304ee55 Modified header of every file COPYING to LICENSE
Modified to match the updated name of the license file
2015-05-06 22:12:44 -04:00
Michael Wilson
9314e64ce3 Drag/drop enabling is configurable in the GUI. 2015-02-26 02:01:00 -05:00
XinyuHou
fc04901cda Revert "moved gui into main subfolder #4168"
This reverts commit 39f98d8133.
2015-02-05 11:44:23 +00:00
XinyuHou
39f98d8133 moved gui into main subfolder #4168 2015-02-04 14:04:30 +00:00
Xinyu Hou
1f41b92693 Fixed client detected dialog not shown when Synergy is minimized #4307 2015-01-05 13:32:58 +00:00
Xinyu Hou
917c75026f Show add client dialog only if main window is active #4230 2014-12-01 11:22:42 +00:00
Xinyu Hou
216f0f160d Resolved #4242 keep auto config name consistent 2014-11-28 10:51:52 +00:00
Xinyu Hou
2e744b0f02 Auto start Synergy after a new client added 2014-11-27 10:52:16 +00:00
Xinyu Hou
ec4ef549bb Added ignore auto connect clients check box in dialog 2014-11-27 10:51:50 +00:00
Xinyu Hou
1a69f458b7 Shown client name in detect dialog 2014-11-27 10:51:42 +00:00
Xinyu Hou
66a1ffa5f5 Added ignore auto connect clients check box 2014-11-27 10:51:36 +00:00
Xinyu Hou
b2435cdaef Resolve #4230 more user friendly dialog when client is detected 2014-11-27 10:51:29 +00:00
Nick Bolton
41d6080028 changed company name in copyright notice 2014-11-11 13:52:03 +00:00
jerry
cdc740c5d1 issue #65 - Auto config feature using Zeroconf/Bonjour [no-build]
added massage box to ask user where to add client
2014-08-26 14:49:27 +00:00