From 8bc9db23d98ae454899791af9e0fbc0bab4d0b15 Mon Sep 17 00:00:00 2001 From: Silarn Date: Tue, 5 Feb 2019 22:38:46 -0600 Subject: Add settings option to switch between fixed and dynamic cache timeouts --- src/settings.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/settings.cpp') diff --git a/src/settings.cpp b/src/settings.cpp index cb4520e7..6be5489d 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -81,10 +81,6 @@ private: int m_SortRole; }; - -static const unsigned char Key2[20] = { 0x99, 0xb8, 0x76, 0x42, 0x3e, 0xc1, 0x60, 0xa4, 0x5b, 0x01, - 0xdb, 0xf8, 0x43, 0x3a, 0xb7, 0xb6, 0x98, 0xd4, 0x7d, 0xa2 }; - Settings *Settings::s_Instance = nullptr; @@ -96,6 +92,8 @@ Settings::Settings(const QSettings &settingsSource) } else { s_Instance = this; } + + qRegisterMetaType("NexusUpdateStrategy"); } @@ -418,6 +416,11 @@ int Settings::crashDumpsMax() const return m_Settings.value("Settings/crash_dumps_max", 5).toInt(); } +Settings::NexusUpdateStrategy Settings::nexusUpdateStrategy() const +{ + return static_cast(m_Settings.value("Settings/nexus_update_strategy", std::rand() / ((RAND_MAX + 1u) / 2)).toInt()); +} + QColor Settings::modlistOverwrittenLooseColor() const { return m_Settings.value("Settings/overwrittenLooseFilesColor", QColor(0, 255, 0, 64)).value(); @@ -1039,7 +1042,10 @@ Settings::NexusTab::NexusTab(Settings *parent, SettingsDialog &dialog) , m_preferredServersList( dialog.findChild("preferredServersList")) , m_endorsementBox(dialog.findChild("endorsementBox")) + , m_updateStrategyBox(dialog.findChild("updateStrategy")) { + qRegisterMetaType("NexusUpdateStrategy"); + if (!deObfuscate("APIKEY").isEmpty()) { m_nexusConnect->setText("Nexus API Key Stored"); m_nexusConnect->setDisabled(true); @@ -1048,6 +1054,9 @@ Settings::NexusTab::NexusTab(Settings *parent, SettingsDialog &dialog) m_offlineBox->setChecked(parent->offlineMode()); m_proxyBox->setChecked(parent->useProxy()); m_endorsementBox->setChecked(parent->endorsementIntegration()); + if (parent->nexusUpdateStrategy() == Settings::NexusUpdateStrategy::Flexible) + m_updateStrategyBox->setChecked(true); + // display server preferences m_Settings.beginGroup("Servers"); @@ -1092,6 +1101,8 @@ void Settings::NexusTab::update() m_Settings.setValue("Settings/offline_mode", m_offlineBox->isChecked()); m_Settings.setValue("Settings/use_proxy", m_proxyBox->isChecked()); m_Settings.setValue("Settings/endorsement_integration", m_endorsementBox->isChecked()); + m_Settings.setValue("Settings/nexus_update_strategy", m_updateStrategyBox->isChecked() + ? Settings::NexusUpdateStrategy::Flexible : Settings::NexusUpdateStrategy::Rigid); // store server preference m_Settings.beginGroup("Servers"); -- cgit v1.3.1