Convert profile firmware types and remove some old code
This commit is contained in:
committed by
Raphael Coeffic
parent
9db320577a
commit
06fef816f0
@@ -409,12 +409,6 @@ QMap<int, QString> 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);
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
#include <QSettings>
|
||||
#include <QStandardPaths>
|
||||
|
||||
//! 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"
|
||||
|
||||
Reference in New Issue
Block a user