Commit graph

912 commits

Author SHA1 Message Date
Nick Bolton
50d29edd05
Solve SonarCloud security hotspots and bugs (#7383)
* Test: allocLockCursorToScreenInfo_withState_setsState

* Merge remote-tracking branch 'origin/master' into S1-1717-sonarcloud-issues

* Remove header wrappers for gmock/gtest

* Convenience wrapper script for tests

* Use `std::copy` instead of `strcpy`

* Use `std::ranges::copy` instead of `stdcpy`

* Delete dead code

* Add guitests VS Code config and test wrapper

* Revert "Delete dead code"

This reverts commit aa40f5cd35a22b4b69acfd1876aceea053088060.

* Build guitests with CMake

* Run all tests

* Don't use --gtest_filter for Qt tests

* Undo skip for GUI tests

* Coverage for `IpcClient::sendCommand`

* Remove provider and proxy

* Use lamda for StreamProvider to reduce boilerplate

* Restore version checker tests

* Remove activation souces

* Tasks for current/all tests

* Change command for tasks

* Mock QNetworkAccessManager

* Create core app to satisfy Qt assertations

* Use `std::copy` instead of `std::ranges::copy`

* Remove integtests

* Merge guitests into unittests

* Use std::string::length

* Remove include (resolves to root)

* Fix memory leaks

* Disable sigsegv tests

* Fixed formatting

* Remove guitests from CI

* New MainWindowTests

* Passing test for MainWindowTests

* Use alternative to strlen in MainWindow::checkSecureSocket

* Passing test for Log::print

* Fixed dtor call order

* Fixed var name typo

* Use proxy instead of `#define protected public`

* Add args test for log

* Add license ctor

* Fixed log test for release

* Add error log test

* Init qt with -platform offscreen

* Back-out initQt function

* Use QT_QPA_PLATFORM

* Try QT_QPA_PLATFORM=offscreen

* Use more readable env node

* Set QT_QPA_PLATFORM in CI and CodeQL

* Remove env not needed

* Modernize Log::print

* Calculate the length of the format string fmt during the initial scan loop

* More direct and efficient alterative to `strlen`

* Fixed major maint issues in AppConfig

* New clang and cmake rules

* Set `max_pargs_hwrap` to 4

* Undo clang format for now

* Fix missing `Setting::`

* Fixed missing `m_S` on Windows

* Re-add accidental dep resolution (fix later)

* Fixed missing buffer position increment

* Turn on errors

* Fixed tests and improve error message

* Fixed segfault on log refactor

* Extract log time to function

* Copyright date

* Update ChangeLog
2024-07-16 08:30:35 +00:00
Nick Bolton
4d3f0c820e
Correct Qt macOS target and drop Core5Compat lib (#7389)
* Remove Core5Compat

* Remove hack

* Update ChangeLog

* Revert "Remove hack"

This reverts commit dda3ad05818d346fdfcbb41944b9e731a4b547c0.

* Set `add_compile_definitions` for Qt

* Revert "Set `add_compile_definitions` for Qt"

This reverts commit 0258d2d226a76081068f4e565855f37993953be5.

* Use arm64_monterey bottle

* Revert "Use arm64_monterey bottle"

This reverts commit a46d743dc6883c925e2328b9628231189cb34367.

* Use aqt to install Qt on Mac

* Append env var instead of overwrite

* Fixed filename

* Use GITHUB_PATH

* Restore original GITHUB_ENV logic

* Use newer cache action

* Update ChangeLog
2024-07-15 12:57:39 +01:00
Nick Bolton
a4e1beb79d
Re-run macdeployqt6 to copy missing Qt 6 dependencies (#7382)
* Remove bundle on build and back out install_name_tool

* Add hack to fix Qt bundle bug

* Improve comment

* Update ChangeLog
2024-07-11 14:03:17 +01:00
Nick Bolton
d8acb36e8d
Resolve Qt framework path with install_name_tool (#7379)
* Add comment about EXC_BAD_ACCESS

* Optional certificate install

* Improve log output

* Move team ID arg

* Change position of arg

* Set PATH in .zshrc and use bash command substitution

* Simplified macdeployqt find logic

* Formatting

* Minor tweaks to Qt cmake config

* Resolve framework path with install_name_tool

* Update ChangeLog
2024-07-10 15:11:32 +00: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
d1abddde84
Add Git SHA to about screen and --version (#7372)
* Add Git SHA to about screen

* Update ChangeLog

* Fixed formatting

* Use `GIT_SHA` for Git SHA

* Add `GIT_SHA` env var

* Use env var `GIT_SHA`

* Shorten the Git SHA to 8 chars for readability

* Shorten Git SHA to 8 chars

* Increase Linux timeout (Fedora 39 is always slow at deps)

* Update ChangeLog

* Revert "Update ChangeLog"

This reverts commit ac52777763571e9512e1c9b73b5cac23658d5ed2.
2024-07-08 11:40:22 +01:00
Nick Bolton
fcb3d318bb Make version URL configurable 2024-07-04 20:57:28 +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
Nick Bolton
c8d9707857
Re-implement packaging for GitHub workflows (Linux) (#7361)
* Reorganize CMake Packaging module

* Match if statements to function order

* Cleanup root, res, and doc dirs

* Move deps to requirements.txt file

* Reorganize and format CMake files

* Rename changelog lint

* Add reccomended extension

* Workflow to lint CMake files

* Move CMake lint to script

* Try lighter dep

* Use venv

* Add --format arg

* Format all CMake files

* Convert bash script to Python

* Set CMake line ending format

* Restore formatting

* Add pyyaml dep

* Remove unused arg

* Rename config file

* Remove comment

* Repair copyrights (broken by defualt cmake-format)

* Restore 3rd party copyright

* Break up libs config into smaller macros

* Better macro name

* Load config after venv

* Make intentional noop clearer

* Only use upload step if required (make skip clearer)

* Use CPack for deb and rpm packaging

* Add upload step for Linux

* Remove cpack dep, doesn't exist

* Roll back presets version

* Fixed distro like match

* Update ChangeLog

* Legacy checkout for some distros

* All distros support v4

* Trying out newer Linux distros

* Install Git on Docker images

* Install without actions (not available before checkout)

* Delete useless action

* Install Python

* Support for Arch and OpenSUSE

* Add Arch and OpenSUSE to deps

* Name steps

* Full OpenSUSE names

* Mark Git dir safe

* Add pkgconf

* Legacy CMake for Debian 11

* Add OpenSSL to OpenSUSE

* Drop OpenSUSE Leap (no C++20 support)

* Skip packaging for Arch and OpenSUSE (for now)

* Shorten Arch/OpenSUSE names

* Clearer step name

* SImpler bootstrap

* Shell not needed

* Update apt

* Don't check return code

* Simplify python deps commands

* Add STGZ/.sh package type

* Prevent input prompt

* Only config git safe dir when needed

* Try cache v4

* Safe dir for Ubuntu

* Safe dir for Arch

* All Docker images seem to need safe dir config

* Refactor env var getters

* Make Ubuntu build extra packages

* Condense bootstep to single step

* Fixed var name

* Fixed bootstrap logic

* Simplify logic for upload condition (Windows and macOS)

* Make package/upload condition easier to understand

* Add Manjaro

* Generic names for Linux .tar.gz and .sh packages

* Add Manjaro deps

* Swap macOS matrix entries

* Add Red Hat UBI

* Remove RHEL subscription manager

* Throw on unsupported package distro

* Conditionally install pip and venv

* Remove extra pip arg

* Add config for RHEL

* Install EPEL for RHEL

* Back-out RHEL as EPEL requires subscription

* Restore Python deps logic

* Fixed bug: Packacking run twice

* Testing arm32v7 and arm64v8

* Revert "Testing arm32v7 and arm64v8"

This reverts commit cb3caf188d2b79ed083a62fc091de295f9889f3d.

* Re-add icon and shortcut file for Linux to package

* Support OpenSUSE RPM build

* Check return code

* Add `rpm-build` for OpenSUSE

* Reorg packages

* Remove busybox-which

* Add --non-interactive

* Move --non-interactive to correct position

* Experiment with makepkg

* Check and print package commands

* Make distro version optional

* Use 8 cores to build

* Default to distro name only

* Fixed bad PKGBUILD filename

* Use 4-part version for Arch

* Remove comma from conflicts

* Use .tar.gz from cwd

* Generate checksum for Arch

* Fixed file extension

* Use shell to print output

* Don't use shell

* Gaurd against bad cmd_utils.run

* Fixed bad import

* Use list command

* Fixed unable to run list commands

* Use source file name

* Simplify PKGBUILD to use make install

* Change install prefix

* Use DESTDIR

* Copy .desktop and .png to build dir

* Restore original `install(FILES...`

* Improving comments

* Fixed: makepkg runs from `src` by default

* Move error after command print

* Remove shell arg

* Package as a user instead of root (makepkg can't run as root)

* Fixed codesign runs in shell

* Allow list commands in shell on windows

* Don't use sudo on arch

* Install sudo on Arch

* Fixed typo

* Fix ownership of build directory for package user

* Improve example .env

* Change to depend on libstdc++6

* Add TODO

* Fixed Fedora version

* Remove libstdc++ deps (names vary between distros)

* Roll back to Fedora 40 and 39

* Improve comment

* Remove unneccesary default
2024-07-02 11:23:56 +01:00
Nick Bolton
bec38ab47b
Re-implement packaging for GitHub workflows (Windows) (#7360)
* Add new version env vars to example

* Remove test file

* Move CMake packaging to separate module and configure OpenSSL path for Windows

* Make VS Code CMake build task default

* Generate Microsoft-friendly 4-digit version number

* Update macOS bundle .plist with build year variable

* Use correct OpenSSL path and fixed various MSI variables

* Use correct rest/dist dir for MSI

* Add version .rc file for Windows

* Use macro instead of over-complicated version query command

* Made cmd_utils more secure by defaulting to no-shell and no-print

* Add certificate management module

* Implement packaging script on Windows

* Refactor Mac packaging script to use new cmd_utils args and new cert module

* Update ChangeLog

* Change PFX env vars and add to CI

* Use import as instead of from lib to solve resolve issue

* Allow custom certificate extensions

* Check for package version when using gdrive

* Make version number required

* Add missing shell

* Add missing gdrive value in test

* Find OpenSSL dir based on openssl binary

* Only use first OpenSSL entry

* More verbose logging

* Improve logging

* Only use env var if not empty

* Fixed wrong var

* Fixed macOS GitHub artefact name

* Change filename format to match new convention
2024-06-28 09:35:18 +00:00
Nick Bolton
7103bbed6d
Re-implement CI auto version increment for packaging (#7354)
* Only install Python deps with deps script

* Remove hard-coded Qt version in CI

* Add example .env

* Improve comments in .env file

* Simplify config reader and Choco CI config

* Actually return the config value

* Move deps before Qt version env call

* Remove `self.`

* Move venv ensure to main

* Fixed arg

* Move config import to function

* Move ensure_module to function

* Simplify over-complicated `Version.cmake`

* Move code to `github` module

* Use `symless/next-version-action`

* Make CMake version file even simpler

* Set version from tag

* Create release when master or release branch

* Don't run CI on master push, only release

* Fixed bac macro

* Use new version values

* Handle empty version env var

* Also strip version file value

* Remove quotes

* Add @master to action

* Read version from file

* Simplify version file read

* Fixed typo in env var

* Remove unused var

* Delete legacy build number action

* Fixed env var

* Version file read shouldn't be needed

* Remove weird and unnecessary include path

* Update ChangeLog

* Remove unused config value

* Better name for changelog check

* Delete broken Flatpak CI

* Run stale issue cron at midnight

* Update ChangeLog

* Add version input for manual run

* Print next version

* Fetch all tags

* Use more idiomatic approach

* Set to pre-release when master

* Remove unnecessary `commitish`

* Fixed wrong ID

* More specific IDs

* Reduce config needed for upload

* Only /release can be non-pre-release

* More discreet package path for gdrive

* Try without setting path

* Remove seemly unused step

* Better name for Qt version step

* Fixed bad var ref

* Better name for package dir

* Fixed bad input name

* Add missing shell

* Workflow to test upload action

* Remove fetch tags

* Use bash to cut version

* Remove name and make conditional

* Replace deprecated set-output

* Fixed env var name

* Missing dir sep char

* Add comment to test workflow

* Improve input descriptions

* Replace deprecated set-output
2024-06-26 15:46:42 +00:00
Nick Bolton
d4133d1110
Use C++20 and CMake presets (#7322)
* Create tasks.json

* Delete gui.pro

* Swallow any exceptions from stopDesktop

* Upgrade to C++20

* Update ChangeLog

* Remove old versions of Ubuntu

* Ignore VS Code workspace

* Restore original CodeQL job name

* Add problem matcher and suppress warnings from within old CMake lib

* Bump CMake min version to 3.5

* Remove useless cmake_minimum_required

* HACK: temp comment out failing code

* Bump Qt to 5.12.6

* Delete tasks.json

* Create CMakePresets.json

* Fixed Qt link error: The input line is too long.

* Fixed invalid call to map erase

* Fixed incorrect use of RegCreateKeyEx

* Add VS Code tasks.json for cmake build

* Store `desktop` in char buf before using it

* Generate compile_commands.json

* Restore indentation

* Revert "Restore indentation"

This reverts commit d9f495460f337c37e8a01d8853b317e949ea085a.

* Restore original indentation (for now)

* Create extensions.json
2024-01-11 00:26:39 +00:00
Serhii Hadzhilov
88fdd26350
Use default value for InitiateConnectionFromServer option during switching between scopes (#7232) 2022-10-12 19:32:06 +03:00
Serhii Hadzhilov
876a110969
Update visibility for mode checkbox during settings loading. (#7228) 2022-10-04 13:27:42 +03: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
e0023863db
Use vertical scroll on the about screen (#7199)
* Replace scroll area with QTextBrowser

* Update about text

* Fix version number on macOS
2022-07-05 14:54:41 +03:00
Serhii Hadzhilov
a48c34932b
Move API URL to config file (#7198) 2022-07-04 12:51:05 +03:00
Serhii Hadzhilov
268b0f660f
Special contributor mentions on the about screen (#7197)
* Remove obsolete data

* Add section "Key contributors"

* Add "Elite Backers" label

* Add Elite Backers

* Remove borders for Elite backers section

* Add link "Become an Elite Backer"

* Become an Elite Backer as a separate label

* Add link to the credits page

* Fix for macOS

* Fix fonts and spaces for Windows

* Fix window size for Linux

* Loading credits using API

* Update ChangeLog

* Fix code smells

* Requested changes

* Change URL

* Update AboutDialogBase.ui

Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-06-30 14:48:26 +03:00
Serhii Hadzhilov
8a509f4ba9
SYNERGY1-1555 maintenance licences (#7190)
* SYNERGY1-1555 Remove unused files

* SYNERGY1-1555 Remove unused function isPermanent

* SYNERGY1-1555 Update SerialKeyType with maintenance type

* SYENRGY1-1555 Add method isMaintenance into SerialKey

* SYNERGY1-1555 Check maintenance licenses

* SYNERGY1-1555 Replace obsolete functions

* SYNERGY1-1555 Fix Linux builds

* Update ChangeLog

* SYNERGY1-1555 Requested changes
2022-06-15 13:55:41 +03:00
Serhii Hadzhilov
de48bb20b7
SYNERGY1-1545 Accept business licenses in basic/pro builds (#7188)
* SYNERGY1-1545 Accept business licenses in basic/pro builds

* Update ChangeLog
2022-06-08 21:46:22 +03:00
Serhii Hadzhilov
ae541c170f
SYNERGY1-1544 Issue with TLS options when user switches to system profile (#7185)
* SYNERGY1-1544 Issue with TLS options when user switches to system profile

* Update ChangeLog

* Update ChangeLog
2022-06-07 14:44:49 +03:00
Serhii Hadzhilov
31c6e99258
SYNERGY1-963 Remove TLS unused options from the GUI on Synergy Client (#7182)
* SYNERGY1-963 Remove TLS unused options from the GUI on Synergy Client

* SYNERGY1-983 Update ChangeLog.txt
2022-06-01 15:36:44 +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
Nick Bolton
9f8e7a17f5
Fixed account URL 2022-05-14 14:23:53 +01:00
Nick Bolton
afca72f4a6
Fixed contact URL 2022-05-14 14:22:35 +01:00
Nick Bolton
96ffc62de6
Fixed help URL 2022-05-14 14:21:17 +01:00
Nick Bolton
a952c53913
Fixed purchase URL 2022-05-14 14:16:05 +01:00
Nick Bolton
cd7018f2eb
More sensible version URL 2022-05-13 18:42:10 +01:00
Serhii Hadzhilov
8be2e89c81
fix: SYNERGY3-203 Synergy 1 business (#7157)
* SYNERGY3-203 Add link to helpdesk

* SYNERGY3-203 Add a new cmake option

* SYNERGY3-203 Validate business key

* SYNERGY3-203 Check license during start

* SYNERGY3-203 Update windows title

* SYNERGY3-203 Unify license errors

* SYNERGY3-203 Fix code smell

* SYNERGY3-203 Update Azure scripts

* SYNERGY3-203 Update GitHub workflows

* SYNERGY3-203 Add UT

* SYNERGY3-203 Add UT
2022-04-26 15:11:09 +03:00
Serhii Hadzhilov
af4c88e531
SYNERGY-1454 Scroll direction (#7140)
* SYNERGY-1454 Add a new checkbox into the setting dialog

* SYNERGY-1454 Save the new option

* SYNERGY-1454 Pass the new option to client

* SYNERGY-1454 Parse the new param on client side

* SYNERGY-1454 Invert scroll direction for macOS

* SYNERGY-1454 Scroll direction on Windows

* SYNERGY-1454 Remove unused code

* SYNERGY-1454 Scroll direction for Linux

* SYNERGY-1454 Simplify scroll direction for Mac

* SYNERGY-1454 Simplify scroll direction for Linux

* SYNERGY-1454 Simplify scroll direction for Windows

* SYNERGY-1454 ChangeLog

* SYNERGY-1454 Fix code smell

* SYNERGY-1434 Lower case for the first char of the option

* SYNERGY-1454 Fix indentations

Co-authored-by: Serhii Hadzhilov <gadzhilov.sergey@gmail.com>
Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-01-26 14:07:28 +02:00
SerhiiGadzhilov
4ddb6173e7
SYNERGY-1232 Issues with ssl certificate path (#7101)
* SYNERGY-1232 Issues with ssl certificate path

* Update ChangeLog
2021-10-07 12:58:57 +03:00
Andrey Batyiev
e9e21aad8f
Synergy 907 client tray language switcher reverts to en (#7038)
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix checkbox spelling

* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog

* SYNERGY-907 Client tray language switcher reverts to EN
*Temporary disable language sync logic

* SYNERGY-907 client tray language switcher reverts to en
*Update changelog

* Synergy 907 client tray language switcher reverts to en
*Fix sonar

* Synergy 907 client tray language switcher reverts to en
*Fix sonar

* Synergy 907 client tray language switcher reverts to en
*Fix chnagelog

* SYNERGY-907 Client tray language switcher reverts to EN
*Add prototype of keyboard layout names transfer(Windows part)

* SYNERGY-907 Client tray language switcher reverts to EN
*Add keyboard layout determination(Mac part)

* SYNERGY-907 Client tray language switcher reverts to EN
*Add language check on client side

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix Windows build

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add logs

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add protocol update

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add server side of language sync

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Remove unused variables

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*AFix mac language determination

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Clean up logs

* SYNERGY-907 Client tray language switcher reverts to EN
*Replace logs with messagebox on Windows

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add mac messagebox, revert protocol changes

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix minor language bugs

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Update chagelog

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Minor fixes

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix Linux build

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar code smells

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix Linux build

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add Linux language determination

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar codesmells

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar codesmells

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Replace custom xml parser with tinyxml2

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix PR comments

* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix unix build

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix unix build

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smells

* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog

* SYNERGY-907 Client tray language switcher reverts to EN
*Replace tinuxml with pugixml

* SYNERGY-907 Client tray language switcher reverts to EN
*Add pugixml as a git submodule

* SYNERGY-907 Client tray language switcher reverts to EN
*Add missed files

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smells

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix comments from PR

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smell

* SYNERGY-907 Client tray language switcher reverts to EN
*add tests for x11 files parser

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix include for unix build

* SYNERGY-907 Client tray language switcher reverts to EN
*Add test coverage for new logic

* SYNERGY-907 Client tray language switcher reverts to EN
*Add test coverage for new logic

* SYNERGY-907 Client tray language switcher reverts to EN
*Add code coverage
*Fix code smells

* SYNERGY-907 Client tray language switcher reverts to EN
*Return missed file

* SYNERGY-907 Client tray language switcher reverts to EN
*Improve code coverage of x11Layouts parser

* SYNERGY-907 Client tray language switcher reverts to EN
*Add client args code coverage

* SYNERGY-907 Client tray language switcher reverts to EN
*Return runtime language sync

* SYNERGY-907 Client tray language switcher reverts to EN
*Return windows current keyboard layout determination

* SYNERGY-907 Client tray language switcher reverts to EN
*Return Linux language determination

* SYNERGY-907 Client tray language switcher reverts to EN
*Remove debug code

* SYNERGY-907 Client tray language switcher reverts to EN
*Move back Carbon current language determination

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change for existed languages on iOS and Linux

* SYNERGY-907 Client tray language switcher reverts to EN
*Return protocol missed parameter

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS language change

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language sync (when it is disabled)

* SYNERGY-907 Client tray language switcher reverts to EN
*Add correct language choosing
*Fix code coverage tests

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix windows build and tests

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS build and tests

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change for first letter in keystroke

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS build

* SYNERGY-907 Client tray language switcher reverts to EN
*Partially fix Sonar codesmells

* SYNERGY-907 Client tray language switcher reverts to EN
*Partially fix Sonar codesmells

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix build

* SYNERGY-907 Client tray language switcher reverts to EN
*Added logging for language change process
*Fixed language change process for Windows

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix double layout change in key repeat event

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix determination of current language on windows
*Removed legacy code of restoring language when leaving screen
*Fix double group change on Linux

* SYNERGY-907 Client tray language switcher reverts to EN
*Temp fix for language change on Linux

* SYNERGY-907 Client tray language switcher reverts to EN
*Add XSync to normalize Linux language polling and setting
*Remove setxkbmap using

* SYNERGY-907 Client tray language switcher reverts to EN
*Add keyboard layout changing on Linux with DBus

* SYNERGY-907 Client tray language switcher reverts to EN
*Add comments to new language change function
*Logical fix

* SYNERGY-907 Client tray language switcher reverts to EN
*Remove input attaching

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change on macOS

* SYNERGY-907 Fix review issues

* SYNERGY-907 Fix review comment for Windows

* SYNERGY-907 Removed debug trace

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: user <user@users-Mac-mini.local>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2021-10-04 18:51:12 +03:00
Andrey Batyiev
62365c754e
Merge pull request #7097 from symless/SYNERGY-1218-Wrong-window-title-after-open-preferences
SYNERGY-1218 Wrong window title after open preferences
2021-10-01 11:56:19 +03:00
Serhii Hadzhilov
06f7c1d899 SYNERGY-1218 Wrong window title after open preferences 2021-09-28 11:39:53 +03:00
Andrey Batyiev
8853e12b71
Merge branch 'master' into SYNERGY-1215-Update-links 2021-09-27 18:51:36 +03:00
Serhii Hadzhilov
84236ffd36 SYNERGY-1216 the system duplicates hotkeys in setup 2021-09-27 17:04:11 +03:00
Serhii Hadzhilov
301e9dc023 SYNERGY-1215 Update account and upgrade links 2021-09-27 14:46:38 +03:00
SerhiiGadzhilov
b354a2d36e Fix code smell 2021-09-22 18:07:38 +03:00
SerhiiGadzhilov
fbab3f8f3a SYNERGY-1229 Synergy is running after quit on Linux 2021-09-22 17:45:05 +03:00
Andrey Batyiev
fc00ddb4c4
Synergy 1161 when clicking on save preferences on configure server window, automatically apply all the new settings (#7081)
* 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

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

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

* 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 server config OK button behaviour on autoconfig

* 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 sonar codesmell

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

* SYNERGY-1161 When clicking on Save preferences on Configure server window, automatically apply all the new settings
*Adding client on autoconfig silently

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
2021-09-06 11:25:55 +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
07f233ec74
Synergy 1161 when clicking on save preferences on configure server window, automatically apply all the new settings (#7077)
* 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

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

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

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

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
2021-08-25 12:15:55 +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
Andrey Batyiev
f9d0dd4879
SYNERGY-1036-Radio-button-style-issue (#7070)
* SYNERGY-1036-Radio-button-style-issue

* SYNERGY-1036 Radio button style issue
*Update ChangeLog

* SYNERGY-1036 Update ChangeLog

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-08-16 11:21:14 +03:00
Andrey Batyiev
e713502df2
SYNERGY-1027 When clicking on "Save" preferences, automatically apply… (#7068)
* SYNERGY-1027 When clicking on "Save" preferences, automatically apply all the new settings
*Add apply on settings save

* SYNERGY-1027 When clicking on "Save" preferences, automatically apply all the new settings
*Update changelog

* SYENRGY-1027 Update ChangeLog and Version.cmake

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2021-08-12 16:31:03 +03:00
Igor Sikachyna
fdb947e0af
SYNERGY-1032 - Add MacOS version check and disabl UserNotification library if needed (#7046)
* SYNERGY-1032 - Add MacOS version check and disabl UserNotification library if needed

* SYNERGY-1032 - Update changelog

* SYNERGY-1032 - Add debug message

* SYNERGY-1032 - Build for MacOS 10.15 on Azure

* SYNERGY-1032 - Build for MacOS 10.14 instead of 10.15
2021-07-02 12:40:27 +03:00
Igor Sikachyna
5843230169
SYNERGY-1032 - Use native notifications for secure input on MacOS (#7041)
* SYNERGY-1017 - Try usnig NSUserNotification

* SYNERGY-1032 - Use UNUserNotificationCenter instead of deprecated notifications

* SYNERGY-1032 - Update app delegate and add log after notification access

* SYNERGY-1032 - Try using deprecated notification

* SYNERGY-1032 - Add notifications to the platform dependant code

* SYNERGY-1032 - Check for development builds before asking permission for notifications

* SYNERGY-1032 - Remove old notification and secure input detection

* SYNERGY-1032 - Add permission request to the main app

* SYNERGY-1032 - Only show notifications on server

* SYNERGY-1032 - Request and show notification from main app

* SYNERGY-1032 - Remove logging from OSX helpers

* SYNERGY-1032 - Add UN notification for testing

* SYNERGY-1032 - Show notification once

* SYNERGY-1032 - Try replicating old flow

* SYNERGY-1032 - Reuse notification center

* SYNERGY-1032 - Send notification after granting permission

* SYNERGY-1032 - Update app delegate

* SYNERGY-1032 - Remove deprecated property

* SYNERGY-1032 - Add output for debugging

* SYNERGY-1032 - Try updating delegate

* SYNERGY-1032 - Print current bundle name

* SYNERGY-1032 - Add AppDelegate to the server

* SYNERGY-1032 - Move notification creation to synergy app

* SYNERGY-1032 - Update notification text

* SYNERGY-1032 - Fix QString conversion for notification

* SYNERGY-1032 - Move notification creation outside the handler

* SYNERGY-1032 - Remove debug notification, show notification with no delay

* SYNERGY-1032 - Show notification inside the completion handler

* SYNERGY-1032 - Remove timed notification trigger

* SYNERGY-1032 - Request permissions on synergy start

* SYNERGY-1032 - Remove unused includes

* SYNERGY-1032 - Update changelog

* SYNERGY-1032 - Add empty notification implementations for Windows and Linux

* SYNERGY-1032 - Removed temporary debug messages

* SYNERGY-1032 - Resolve code smell
2021-06-29 13:20:56 +03:00
Igor Sikachyna
bcc0d48ce1 Merge branch 'master' into SYNERGY-1017-Secure-input-detection-on-mac
# Conflicts:
#	ChangeLog
#	src/gui/src/OSXHelpers.h
2021-06-10 19:07:34 +03:00