diff --git a/companion/src/firmwares/eeprominterface.h b/companion/src/firmwares/eeprominterface.h index 700611d371a..665598ae544 100644 --- a/companion/src/firmwares/eeprominterface.h +++ b/companion/src/firmwares/eeprominterface.h @@ -415,6 +415,15 @@ class Firmware currentVariant = value; } + static void sortRegisteredFirmwares() + { + std::sort(registeredFirmwares.begin(), registeredFirmwares.end(), + [](const Firmware *a, const Firmware *b) { + return QString::compare(a->getName(), b->getName(), + Qt::CaseInsensitive) < 0; + }); + } + QString getFlavour(); static Firmware * getFirmwareForFlavour(const QString & flavour) diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 2102f02072a..9557e503f32 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -1505,6 +1505,7 @@ void registerOpenTxFirmwares() addOpenTxArm9xOptions(firmware); registerOpenTxFirmware(firmware, true); + Firmware::sortRegisteredFirmwares(); Firmware::setDefaultVariant(Firmware::getFirmwareForFlavour("tx16s")); Firmware::setCurrentVariant(Firmware::getDefaultVariant()); }