* Model print and compare include GFs enhancement
* Model print and compare include checklist contents
* Add missing brackets and code tidy up
* Print message if cannot open or read checklist file
* Missing GV label translation
Move some checklist code to helpers
* Refactor to use helpers and add cursor position
* Move improved version of removeAccents to helpers and apply to checklist
* Force fixed width font for edit window
* Support new r9m firmwares
* More future proof, thx Kilrah
* (significant) typo
* Companion part
* Make support a compilation option
* Fix compilation for normal users
* Warning popup for usability tests
* Better implementation
* All sizes
* Cosmetics
* Flex is EU+/AU+ only
* [Companion] Handle "flexr9m" option in module settings UI (to match radio UI, including warning msg); Move some "toString" functions out of ModelPrinter into ModuleData/Multiprotocols; "Future-proof" available R9M power options based on "stdr9m" fw option; Fix missing "Hitec" MM protocol name; Fix printing of R9M-EU power level in ModelPrinter.
* Cosmetics
* Rename R9M flex option
* Move failsafe further back to prevent nav oddity
* Fixes#5411 print curve
Rename Limits to Outputs for consistency with radio and Companion
Fix gvars printed as values
Print PPM Center and Linear Subtrims
* code formatting
* Companion Global Variables refactor to support changes to radio in 2.2
* Update model print for global variables refactor
* Check and if necessary update all flight modes gvar after updating min or max
* Fix loop limit
* Add clear single gvar context menu
Add gvar popup values to model print
Minor fixes
* [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.
* [MULTI] Implement option Value adjustment in Companion
Also refactor ui code to use the same multi table as the radio to make updates easier and consistent
* Fix warnings with gcc 6
* Make the whole thing more C++ like
Using QVector instead of std::vector gives me strange errors.
* Fix gcc warning
* another signedness fix
* Add missing include
* Add Gw008 protocol and move subtype definitions out of the translations
* Add note about struct
* More cleanups
Integrate @mpaperno’s latest ideas about cleaning up