diff options
Diffstat (limited to 'src/mainwindow.cpp')
| -rw-r--r-- | src/mainwindow.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
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 <http://www.gnu.org/licenses/>. #include <QTreeWidgetItemIterator>
#include <QUrl>
#include <QVariantList>
+#include <QVersionNumber>
#include <QWhatsThis>
#include <QWidgetAction>
#include <QWebEngineProfile>
@@ -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).<br>"
+ "The GUI may not downgrade gracefully, so you may experience oddities.<br>"
+ "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());
|
