* [Companion] Qualify all remaining QObject translations with proper class/object names; Centralize some common strings into constants.h.
* [Companion] Replace all instances of some common strings with macros from constants.h.
* [Companion] Fix translation warnings from lupdate.
* [Companion] Add Qt tr() functions to all radio data classes instead of using generic QObject type. (no functional changes)
* Small fix for gcc.
* Move more element name string generation to individual classes; settle on nameToString as function name.
* Also put firmware build options translations into Firmware scope.
* [Companion] Refactor radio data classes to own files, out of eeprominterface.cpp. No functional changes.
* Move files related to refactoring. No functional or code changes.
* Fix clang warning and an include path.
* Fix indents on curvereference.cpp. [ci skip]
* [Companion] RawSourceRange: Fix for timers and RTC; Remove unused "single precision" flag and logic; Add logic for "short" timer handling.
* [Companion] Add TimerEdit class for editing negative times; Implement TimerEdit in LS, CF, and Telemetry (bars) editors;
* [Companion] Refactor LogicalSwitchesPanel for fewer & more efficient updates; Fix newly-added LS not being available in source lists; Fix bug with timer/rtc comparison values getting reset to value of spin box instead of time editor.
* Add forgotten #include.
* [Companion] LogicalSwitchesPanel: Update raw sources list upon screen refresh (fixes#5374); Improve data entry in spin boxes (fixes#5375).
* Make gcc happy.
* [Companion] Set proper RawSourceRange for GVars, trims, mixer scripts, and sticks/switches/cyclic/MAX.
* [Companion] Fix backwards precision/range logic on telemetry sensors offset spinbox; Fix other minor range issues with ratio & offset.
* [Companion] Remove short limit on min/max timer values for LS & telem. bars.
* Switch to TimerEdit in maxLibQt.
* Fix gcc build.
* Remove unused files.
* Caps fix.
* Move MultiposPots & MultiposPotsPositions capability lookups and getAnalogInputName() to Boards class.
* Add RawSource::isAvailable() and RawSwitch::isAvailable(); Add board type param to various RawSource lookup functions.
* Add CustomFunctionData::toString(), FlightModeData::toString(), FactoryInstalledPots board capability, MAX_SWITCH_TYPE, & break out GeneralSettings source/switch defaults to own function.
* Add RadioDataConversionState class for tracking conversion actions.
* Implement RadioDataConversionState handler, add conversion process report, and improve/fix conversion issues:
* Make sure all switches/pots/knobs have default configs for destination board type;
* Try to move more custom control names, intelligently;
* Convert model timers and throttle source;
* Adjust for Horus 6P switch in place of Taranis S2 knob;
* Adjust for extra sliders on X12 and X9E to move LS and RS to proper slots as needed;
* Make sure ALL controls are validated, eg. to always account for extra trims/analogs/switches/etc which don't exist on destination;
* Properly indicate invalid RawSource::toString() items with "???".
* Allow user to cancel out of file conversions & provide ample warnings if switching radio type/profile with unsaved file(s) still open;
Also: Fix bug with some orphaned MdiChild windows never being deleted; Create static bool Storage::isBoardCompatible(b1, b2).
* Add maxLibQt "stub" (will not compile).
* Add ExportableTableView for better presentation of conversion results table.
* Move getFourCC() and isBoardCompatible() to Boards class.