~ Move UI to new FileSyncDialog class;
~ Improve UI responsiveness during operation (closes#5005);
+ Add log verbosity option (also helps with UI response);
+ Add several filtering settings in new "extra options" panel (include/exlude patterns, symlinks, recursive, empty folders);
~ Exclude patterns ".*" and "System Volume*" by default (addresses #5213, #5106);
+ Sanity check file timestamps when using date comparison, future dates are invalid (addresses #5735);
~ Folders are no longer included in file counts (total/created/etc);
~ Ignore unreadable files/dirs (also enables NTFS permissions check);
~ Switch from QMutex to QReadWriteLock.
~ All stored properties are fully dynamic, using an extended version of the Qt Property System;
~ CompStoreObj is now QObject subclass;
+ All properties now have change notifier signals;
~ Do not store default values in settings;
+ Add _reset() and _default() functions for each property;
+ Settings import now ignores all non-existent properties automatically;
+ Add settings export functions;
+ Add more version macros;
~ Remove template functions;
~ Move DownloadBranchType and create NewModelAction enums and register with Qt meta system;
~ Multiple efficiency and optimization changes (const functions, literals, etc).
* [companion][build][Windows] Refactor 'install' and 'installer' targets: Use qtwindeploy to collect Qt dependencies; 'install' with WIN_DO_FULL_INSTALL=YES now really copies everything needed; Simplified NSIS script, now also supports MinGW build; Refactor libeay search.
* Rename nsis input script.
* Fix NSIS input script name in CMakeLists.txt.
* [Companion][build] Create new Windows icon with more sizes; move icon files out of src root.
* [CompanionIcon] Can now add multiple image files to icon for representing different UI states (checked/active/etc).
* [Companion][CustomFunctionsPanel] Fix sound file locked after playback (fixes#5222, fixes#5997); Refactor play button (fixes#4929); Create new QMediaPlayer on each play and load in "LowLatency" mode instead of stream.
* [Companion][LogsDialog] Use relative path for Google Earth track icon (fixes#5080); Use detached process to launch GE (does not restart GE for every export, does not keep handle to GE process); Fix typo in warning message.
* [LogsDialog] Use GE export file path as base for icon path (don't assume TempDir); Fix auto-connection warning from Qt due to misnamed function; Remove redundant check for existing GE file.
QT 5.11 finally removes the qt5_use_modules macro.
Instead target_link_libraries with the Qt5::Lib added should be used.
Since we already use that in one place, it should work everywhere. Since
the common companion lib already depends on Core, widges and multimedia
components that link against it, also implicitly link against those
libraries.