summaryrefslogtreecommitdiff
path: root/src/modinforegular.cpp
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2019-02-05 22:38:46 -0600
committerSilarn <jrim@rimpo.org>2019-02-18 21:31:20 -0600
commit8bc9db23d98ae454899791af9e0fbc0bab4d0b15 (patch)
tree372f10f58879b6726e777ff4e295a7461f880a38 /src/modinforegular.cpp
parenteb575e2f92e00e32220e7aa8efaf14ece462c981 (diff)
Add settings option to switch between fixed and dynamic cache timeouts
Diffstat (limited to 'src/modinforegular.cpp')
-rw-r--r--src/modinforegular.cpp37
1 files changed, 22 insertions, 15 deletions
diff --git a/src/modinforegular.cpp b/src/modinforegular.cpp
index 876ccf3d..10a1317c 100644
--- a/src/modinforegular.cpp
+++ b/src/modinforegular.cpp
@@ -507,22 +507,29 @@ bool ModInfoRegular::canBeUpdated() const
QDateTime ModInfoRegular::getExpires() const
{
- qint64 diff = m_NexusLastModified.msecsTo(QDateTime::currentDateTimeUtc());
- qint64 year = 31536000000;
- qint64 sixMonths = 15768000000;
- qint64 threeMonths = 7884000000;
- qint64 oneMonth = 1314000000;
+ switch (Settings::instance().nexusUpdateStrategy()) {
+ case Settings::NexusUpdateStrategy::Flexible: {
+ qint64 diff = m_NexusLastModified.msecsTo(QDateTime::currentDateTimeUtc());
+ qint64 year = 31536000000;
+ qint64 sixMonths = 15768000000;
+ qint64 threeMonths = 7884000000;
+ qint64 oneMonth = 1314000000;
- if (diff < oneMonth)
- return m_LastNexusUpdate.addSecs(7200);
- else if (diff < threeMonths)
- return m_LastNexusUpdate.addSecs(14400);
- else if (diff < sixMonths)
- return m_LastNexusUpdate.addSecs(21600);
- else if (diff < year)
- return m_LastNexusUpdate.addSecs(43200);
- else
- return m_LastNexusUpdate.addSecs(86400);
+ if (diff < oneMonth)
+ return m_LastNexusUpdate.addSecs(7200);
+ else if (diff < threeMonths)
+ return m_LastNexusUpdate.addSecs(14400);
+ else if (diff < sixMonths)
+ return m_LastNexusUpdate.addSecs(21600);
+ else if (diff < year)
+ return m_LastNexusUpdate.addSecs(43200);
+ else
+ return m_LastNexusUpdate.addSecs(86400);
+ } break;
+ case Settings::NexusUpdateStrategy::Rigid: {
+ return m_LastNexusUpdate.addSecs(86400);
+ } break;
+ }
}
std::vector<ModInfo::EFlag> ModInfoRegular::getFlags() const