• R/O
  • HTTP
  • SSH
  • HTTPS

LameXP: Commit

LameXP development repository


Commit MetaInfo

Revision9aa6c39d933470b195b129e6803f40a208e628f5 (tree)
Zeit2020-04-21 04:22:04
AutorLoRd_MuldeR <mulder2@gmx....>
CommiterLoRd_MuldeR

Log Message

Some code refactoring in Model_Settings class.

Ändern Zusammenfassung

Diff

--- a/src/Config.h
+++ b/src/Config.h
@@ -35,7 +35,7 @@
3535 #define VER_LAMEXP_MINOR_LO 9
3636 #define VER_LAMEXP_TYPE Alpha
3737 #define VER_LAMEXP_PATCH 4
38-#define VER_LAMEXP_BUILD 2261
38+#define VER_LAMEXP_BUILD 2264
3939 #define VER_LAMEXP_CONFG 2188
4040
4141 ///////////////////////////////////////////////////////////////////////////////
--- a/src/Model_Settings.cpp
+++ b/src/Model_Settings.cpp
@@ -55,7 +55,7 @@
5555 class SettingsCache
5656 {
5757 public:
58- SettingsCache(QSettings *configFile)
58+ SettingsCache(QSettings *const configFile)
5959 :
6060 m_configFile(configFile),
6161 m_cache(new cache_data_t()),
@@ -284,7 +284,7 @@ LAMEXP_MAKE_ID(neroAACEnable2Pass, "AdvancedOptions/AACEnc/Enable2Pass
284284 LAMEXP_MAKE_ID(neroAacNotificationsEnabled, "Flags/EnableNeroAacNotifications");
285285 LAMEXP_MAKE_ID(normalizationFilterEnabled, "AdvancedOptions/VolumeNormalization/Enabled");
286286 LAMEXP_MAKE_ID(normalizationFilterDynamic, "AdvancedOptions/VolumeNormalization/UseDynAudNorm");
287-LAMEXP_MAKE_ID(normalizationFilterCoupled, "AdvancedOptions/VolumeNormalization/ChannelCoupling");
287+LAMEXP_MAKE_ID(normalizationFilterCoupled, "AdvancedOptions/VolumeNormalization/ChannelCoupling");
288288 LAMEXP_MAKE_ID(normalizationFilterMaxVolume, "AdvancedOptions/VolumeNormalization/MaxVolume");
289289 LAMEXP_MAKE_ID(normalizationFilterSize, "AdvancedOptions/VolumeNormalization/FilterLength");
290290 LAMEXP_MAKE_ID(opusComplexity, "AdvancedOptions/Opus/EncodingComplexity");
@@ -355,28 +355,42 @@ SettingsModel::SettingsModel(void)
355355 }
356356
357357 //Create settings
358- QSettings *configFile = new QSettings(configPath, QSettings::IniFormat);
359- const QString groupKey = QString().sprintf("LameXP.%04X", lamexp_version_confg());
358+ const QString groupKey = QString().sprintf("LameXP.%u", lamexp_version_confg());
359+ QScopedPointer<QSettings> configFile(new QSettings(configPath, QSettings::IniFormat));
360360 const QStringList childGroups = configFile->childGroups();
361361
362+ //Import legacy settings
363+ if ((lamexp_version_confg() == 2188U) && (!childGroups.contains(groupKey, Qt::CaseInsensitive)))
364+ {
365+ const char* const LEGACY_GROUPS[] = { "LameXP_41802188", "LameXP_41702188", NULL };
366+ for (size_t i = 0; LEGACY_GROUPS[i]; ++i)
367+ {
368+ const QString legacyGroupName = QString::fromLatin1(LEGACY_GROUPS[i]);
369+ if (childGroups.contains(legacyGroupName))
370+ {
371+ qWarning("Importing legay settings: %s -> %s", MUTILS_UTF8(legacyGroupName), MUTILS_UTF8(groupKey));
372+ configFile->beginGroup(legacyGroupName);
373+ const QStringList existingKeys = configFile->allKeys();
374+ configFile->endGroup();
375+ for (QStringList::ConstIterator iter = existingKeys.constBegin(); iter != existingKeys.constEnd(); iter++)
376+ {
377+ configFile->setValue(QString("%1/%2").arg(groupKey, *iter), configFile->value(QString("%1/%2").arg(legacyGroupName, *iter)));
378+ }
379+ break;
380+ }
381+ }
382+ }
383+
362384 //Clean-up settings
363385 if (!childGroups.empty())
364386 {
365- static const int MAX_GROUPS = 3;
366- QRegExp filter("^LameXP_(\\d+)(\\d\\d)(\\d\\d\\d\\d\\d)$");
387+ static const int MAX_GROUPS = 5;
367388 QStringList obsoleteGroups;
368389 for (QStringList::ConstIterator iter = childGroups.constBegin(); iter != childGroups.constEnd(); iter++)
369390 {
370- if (filter.indexIn(*iter) >= 0)
391+ if (iter->compare(groupKey, Qt::CaseInsensitive) != 0)
371392 {
372- quint32 temp[3] = { 0, 0, 0 };
373- if (MUtils::regexp_parse_uint32(filter, temp, 3))
374- {
375- if ((temp[0] < lamexp_version_major()) || ((temp[0] == lamexp_version_major()) && ((temp[1] < lamexp_version_minor()) || ((temp[1] == lamexp_version_minor()) && (temp[2] < lamexp_version_confg())))))
376- {
377- obsoleteGroups.append(*iter);
378- }
379- }
393+ obsoleteGroups.append(*iter);
380394 }
381395 }
382396 if (obsoleteGroups.count() > MAX_GROUPS)
@@ -400,7 +414,7 @@ SettingsModel::SettingsModel(void)
400414 configFile->sync();
401415
402416 //Create the cache
403- m_configCache = new SettingsCache(configFile);
417+ m_configCache = new SettingsCache(configFile.take());
404418 }
405419
406420 ////////////////////////////////////////////////////////////
Show on old repository browser