* [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] 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] 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.
+ some refactoring to hide irrelevant switches in the combobox
More refactoring to come:
- have only one SwitchModel per model instead of one per tab
- only do the update work if something has changed
* [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().
* [Companion] Introduce new Boards class to further consolidate hardware metadata and remove some globals.
* [Companion] * RawSource::toString() and RawSwitch::toString() can now return custom hardware names (if given a GeneralSettings object) for the following types (respectively):
SOURCE_TYPE_STICK, SOURCE_TYPE_SWITCH, SWITCH_TYPE_SWITCH, & SWITCH_TYPE_MULTIPOS_POT;
* RawSource::isPot() and isSlider() can now return their own index position in potConfig[]/sliderConfig[];
* Switch indicator strings can be localized if necessary.
* [Companion] Refactor model printers to use new RawSource/RawSwitch capabilities; Simplify model-to-printer mapping scheme in multimodelprinter; Use const ModelData pointer.
* [Companion] Refactor how RawSource and RawSwitch selection combo boxes are populated, using cache-able data models instead of direct manipulation; Refactor some other Helpers function into their own namespace.
* Cosmetics & forgotten qualifier.
* [Companion] Speed up loading of model editor by only displaying Logical Switches and Custom Functions which are actually used.
* [Companion[ Constrain size of Repeat options combo box.
* Missing indent.