From 0eaa1c6791910ad54227e5d578c6570e6f68c046 Mon Sep 17 00:00:00 2001 From: Silarn Date: Thu, 3 May 2018 19:36:14 -0500 Subject: Add version check and update processor --- src/mainwindow.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d3ea2b08..2aaf7f59 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -148,6 +148,7 @@ along with Mod Organizer. If not, see . #include #include #include +#include #include #include #include @@ -1665,6 +1666,29 @@ void MainWindow::readSettings() } } +void MainWindow::processUpdates() { + QSettings settings(qApp->property("dataPath").toString() + "/" + QString::fromStdWString(AppConfig::iniFileName()), QSettings::IniFormat); + QVersionNumber lastVersion = QVersionNumber::fromString(settings.value("version", "2.1.2").toString()).normalized(); + QVersionNumber currentVersion = QVersionNumber::fromString(m_OrganizerCore.getVersion().displayString()).normalized(); + if (!m_OrganizerCore.settings().directInterface().value("first_start", true).toBool()) { + if (lastVersion < QVersionNumber(2, 1, 3)) { + bool lastHidden = true; + for (int i = ModList::COL_GAME; i < ui->modList->model()->columnCount(); ++i) { + bool hidden = ui->modList->header()->isSectionHidden(i); + ui->modList->header()->setSectionHidden(i, lastHidden); + lastHidden = hidden; + } + } + } + + if (currentVersion > lastVersion) + settings.setValue("version", currentVersion.toString()); + else if (currentVersion < lastVersion) + qWarning() << tr("Notice: Your current MO version (%1) is lower than the previous version (%2).
" + "The GUI may not downgrade gracefully, so you may experience oddities.
" + "However, there should be no serious issues.").arg(lastVersion.toString()).arg(currentVersion.toString()).toStdWString(); +} + void MainWindow::storeSettings(QSettings &settings) { settings.setValue("group_state", ui->groupCombo->currentIndex()); -- cgit v1.3.1