* [Companion] On first use of Companion show preferences dialog and new welcome message (closes#4731); Improve detection of new version upgrade & reformat message; Add download link URL to Linux update notice (closes#4774); Fix issue with leftover top-level settings categories when checking for older versions which don't exist; Introduce basic structure for warnings/messages to be suppressed by user preferences (eg. "don't show this message again" option).
* Welcome msg typo fix.
* [Companion] Re-format Inputs list to format input name consistently with rest of UI; Add leading zeros to RawSource numbers in names; Show custom channel name in MixerDialog.
* [Companion] Remove colon separator between input number and custom name.
* Fix segfault when no model pointer is passed to RawSource::toString() (problem was only on this branch).
* Generated new French .ts file.
* Update French translation concerning the new SD sync mechanism.
* Skip must be translated as "Ignorer", not "Sauter".
* French mistake.
* Complete re-write of SyncProcess, now more robust, UI-independent, runs in own thread, large speed boost;
* Use file hash comparisons instead of byte-level compare with string methods (probable fixes for #4837 and #4848);
* New pre-sync options dialog with selectable folders and other settings (settings are remembered until app exit);
* Option to choose sync direction(s) (up/down/bi) and the order in which bi-directional sync runs;
* Option to choose file comparison mode (timestamp/hash/both) or force overwrite (for one-way sync);
* Option to set a maximum file size to copy;
* Option to do a test run w/out actually copying any files;
* Better reporting of progress, total counts (copied/updated/skipped), and errors, with color coding;
* Much more reliable to cancel long-running/hung copy process;
* ProgressWidget can now display rich-text in the text browser, added some new functions for usage;
* Misc. small layout tweaks to ProgressDialog and ProgressWidget to make them behave/look better;
* [Companion] Model editor Setup panel: Prevent bogus modification signals, eg. when populating protocols box or when removing focus from some fields w/out the value actually changing; Remove unnecessary function.
* [SetupPanel] Fix comparison warning and also a translation issue with Multiprotocols subtype and option names.
* [ModelPrinter] Add a missing include.
* [Companion] Radio -> General Settings -> Hardware: Hide external serial port option for Horus; Fix battery voltage and current calibration changes not registering (wrong signal handler name); Prevent modified() event if edited value wasn't actually changed (this is a problem in all panels with onEditingFinished() signals); Fix some cosmetic layout issues when no hardware names are editable.
* [HardwarePanel] Minor layout fix for BT option.
* [HardwarePanel] Fix comparison issue.
* [Companion] Move RadioData constructor.
* [Companion] Move getCapability(SwitchPositions) to Boards class.
* [Companion] Show custom channel, g-var, & curve names throughout UI; Remove redundant name formatting and other unused functions in ModelPrinter and Helpers; Add CustomFunctionData::isEmpty().
* [Companion] Add LogicalSwitchData::isEmpty().
* [Companion] Fix small bug in HardwarePanel.
* [Companion] Rename logical switches to "LSw##" in selections lists to avoid confusion with "L#" and "LS" hardware controls; remove unused RotaryEncoderString().
* Add RAS to X7 analogs screen
* Also fix SWR->RAS in simulator UI
* Only display RAS for external XJT module
The „this is almost useless but I have done the work, now it stays commit“
* [Simulator] Refactor CLI option parsing to use QCommandLineParser, remove QxtCommandOptions external lib; Add "--sd-path" and "--start-with" options; Qualify all translatable text (SimulatorMain context).
* Add date string to version.