From 06fef816f0f2be3dd30c919f6cba52bd716042d2 Mon Sep 17 00:00:00 2001 From: elecpower Date: Mon, 15 Nov 2021 08:44:52 +1100 Subject: [PATCH] Convert profile firmware types and remove some old code --- companion/src/storage/appdata.cpp | 58 +++++++------------------------ companion/src/storage/appdata.h | 4 +-- 2 files changed, 14 insertions(+), 48 deletions(-) diff --git a/companion/src/storage/appdata.cpp b/companion/src/storage/appdata.cpp index 5e64ad8fc..805953306 100644 --- a/companion/src/storage/appdata.cpp +++ b/companion/src/storage/appdata.cpp @@ -409,12 +409,6 @@ QMap AppData::getActiveProfiles() const void AppData::convertSettings(QSettings & settings) { quint32 savedVer = settings.value(SETTINGS_VERSION_KEY, 0).toUInt(); -#if (VERSION_NUMBER < QT_VERSION_CHECK(2, 3, 0)) - // convert old 2.2.x version marker; TODO: remove once v2.3 is established (because we'll always convert and clean 2.2.x settings anyway) - if (savedVer == 220) - savedVer = 0x2020000; -#endif - if (savedVer == CPN_SETTINGS_VERSION) return; if (savedVer > CPN_SETTINGS_VERSION) { @@ -432,29 +426,16 @@ void AppData::convertSettings(QSettings & settings) << " from v" << fmtHex(savedVer) << " (" << fmtHex(savedMajMin) << ") to v" << fmtHex(CPN_SETTINGS_VERSION) << " (" << fmtHex(currMajMin) << "). Removing unused: " << removeUnused; - if (settings.contains("useWizard")) { - if (!settings.contains(newModelAction_key())) - settings.setValue(newModelAction_key(), (settings.value("useWizard").toBool() ? MODEL_ACT_WIZARD : MODEL_ACT_EDITOR)); - if (removeUnused) - settings.remove("useWizard"); - } - - // meaning of warningId changed during v2.2 development but value of "7" indicates old setting, removing it will restore defaults - if (savedMajMin < 0x203 && settings.contains("warningId") && settings.value("warningId").toInt() == 7) - settings.remove("warningId"); - - // Convert joystick settings to new style of key names - static const QString jsCalBasePath = QStringLiteral("JsCalibration/%1"); - if (settings.contains(jsCalBasePath.arg("stick0_axe"))) { - const QStringList vars({"axe", "inv", "max", "med", "min"}); - for (int i=0; i < MAX_JOYSTICKS; ++i) { - for (const QString & var : vars) { - const QString oldPath = jsCalBasePath.arg(QString("stick%1_%2").arg(i).arg(var)); // old format "/stick#_var" - const QVariant val = settings.value(oldPath); - if (val.isValid()) - settings.setValue(jsCalBasePath.arg(QString("%1/stick_%2").arg(i).arg(var)), val); // new format "/#/stick_var" - if (removeUnused) - settings.remove(oldPath); + // firmwares renamed from opentx-* to edgetx-* at 2.6 + if (savedMajMin < 0x206) { + static const QString profileFwTypePath = QStringLiteral("Profiles/profile%1/fwType"); + for (int i = 0; i < MAX_PROFILES; i++) { + if (settings.contains(profileFwTypePath.arg(i))) { + const QVariant oldValue = settings.value(profileFwTypePath.arg(i)); + if (oldValue.isValid()) { + QString val = settings.value(profileFwTypePath.arg(i)).toString(); + settings.setValue(profileFwTypePath.arg(i), val.replace("opentx-", "edgetx-")); + } } } } @@ -481,7 +462,8 @@ void AppData::clearUnusedSettings(QSettings & settings) bool AppData::findPreviousVersionSettings(QString * version) const { - static const QStringList versList({QStringLiteral("2.2"), QStringLiteral("2.1"), QStringLiteral("2.0")}); + // TODO need a more dynamic method since ETX moves so quickly + static const QStringList versList({QStringLiteral("2.5"), QStringLiteral("2.4")}); for (const QString &ver : versList) { const QString prod("Companion " % ver); @@ -498,15 +480,6 @@ bool AppData::findPreviousVersionSettings(QString * version) const } } - QSettings settings(COMPANY, "OpenTX Companion"); - if (settings.contains(SETTINGS_VERSION_KEY)) { - *version = QStringLiteral("1.x"); - return true; - } - else { - settings.clear(); - } - return false; } @@ -515,13 +488,6 @@ bool AppData::importSettings(const QString & fromVersion) QString fromProduct; upgradeFromVersion.clear(); - if (fromVersion.startsWith("2.")) - fromProduct = "Companion " % fromVersion; - else if (fromVersion == "1.x") - fromProduct = "OpenTX Companion"; - else - return false; - upgradeFromVersion = fromVersion; QSettings fromSettings(COMPANY, fromProduct); diff --git a/companion/src/storage/appdata.h b/companion/src/storage/appdata.h index 49d8f0658..f0ad887aa 100644 --- a/companion/src/storage/appdata.h +++ b/companion/src/storage/appdata.h @@ -38,7 +38,7 @@ #include #include -//! CPN_SETTINGS_REVISION is used to track settings changes independently of OpenTX version. It should be reset to zero whenever settings are migrated to new COMPANY or PRODUCT. +//! CPN_SETTINGS_REVISION is used to track settings changes independently of EdgeTX version. It should be reset to zero whenever settings are migrated to new COMPANY or PRODUCT. //! \note !! Increment this value if properties are removed or refactored. It will trigger a conversion/cleanup of any stored settings. \sa AppData::convertSettings() #define CPN_SETTINGS_REVISION 0 @@ -51,7 +51,7 @@ #define APP_COMPANION QStringLiteral("EdgeTX Companion") #define APP_SIMULATOR QStringLiteral("EdgeTX Simulator") -//! Default location for OpenTX-related user documents (settigns, logs, etc) +//! Default location for EdgeTX-related user documents (settigns, logs, etc) #define CPN_DOCUMENTS_LOCATION QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) % "/" % COMPANY //! Location for settings backup files. TODO: make option or remember last location. #define CPN_SETTINGS_BACKUP_DIR CPN_DOCUMENTS_LOCATION % "/backup"