~ 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).
FirmwareInterface::getCapability() to know which options are enabled in
the preferences. The Heli tab and the GVars are displayed according to
these options.
By using separate download areas for each Companion version it is possible to change the format and content of the voice downloads between versions. For Companion2 some download alternatives have been removed and some have been added.
A consequence is that it is always possible to try to download voice files. Even for those boards that have no voice capability. I do not think that is a big problem. Anyone trying to download voice files for a unmodified 9x should not be surprised to get a "file not found" browser message.