From 30c177cb371e92fe5e4cfc600cf27586402cf0a8 Mon Sep 17 00:00:00 2001 From: Silarn Date: Mon, 16 Apr 2018 12:47:17 -0500 Subject: Support for multi-game downloads --- src/main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index fc332fe7..d67c2673 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -46,6 +46,7 @@ along with Mod Organizer. If not, see . #include "nxmaccessmanager.h" #include "instancemanager.h" #include "moshortcut.h" +#include "organizercore.h" #include #include @@ -602,7 +603,7 @@ int runApplication(MOApplication &application, SingleInstance &instance, QSplashScreen splash(pixmap); splash.show(); - NexusInterface::instance()->getAccessManager()->startLoginCheck(); + NexusInterface::instance(&pluginContainer)->getAccessManager()->startLoginCheck(); qDebug("initializing tutorials"); TutorialManager::init( -- cgit v1.3.1 From 7e0454276207cb70feeb05850847204d1bb43fd9 Mon Sep 17 00:00:00 2001 From: Silarn Date: Wed, 18 Apr 2018 11:46:42 -0500 Subject: Some tweaks to make MO the top window when loading or changing games --- src/main.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index d67c2673..2e496e0f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -72,6 +72,7 @@ along with Mod Organizer. If not, see . #include #include #include +#include #include @@ -481,6 +482,8 @@ int runApplication(MOApplication &application, SingleInstance &instance, return 1; } + QWindowsWindowFunctions::setWindowActivationBehavior(QWindowsWindowFunctions::AlwaysActivateWindow); + QStringList arguments = application.arguments(); try { @@ -539,6 +542,7 @@ int runApplication(MOApplication &application, SingleInstance &instance, "start the game correctly if this is set " "incorrectly!)"), nullptr); + selection.setWindowFlag(Qt::WindowStaysOnTopHint, true); int index = 0; for (const QString &edition : editions) { selection.addChoice(edition, "", index++); @@ -602,6 +606,7 @@ int runApplication(MOApplication &application, SingleInstance &instance, QPixmap pixmap(splashPath); QSplashScreen splash(pixmap); splash.show(); + splash.activateWindow(); NexusInterface::instance(&pluginContainer)->getAccessManager()->startLoginCheck(); @@ -630,6 +635,7 @@ int runApplication(MOApplication &application, SingleInstance &instance, qDebug("displaying main window"); mainWindow.show(); + mainWindow.activateWindow(); splash.finish(&mainWindow); return application.exec(); -- cgit v1.3.1 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/main.cpp | 1 + src/mainwindow.cpp | 24 ++++++++++++++++++++++++ src/mainwindow.h | 1 + 3 files changed, 26 insertions(+) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 2e496e0f..9c30a1c6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -631,6 +631,7 @@ int runApplication(MOApplication &application, SingleInstance &instance, QObject::connect(&instance, SIGNAL(messageSent(QString)), &organizer, SLOT(externalMessage(QString))); + mainWindow.processUpdates(); mainWindow.readSettings(); qDebug("displaying main window"); 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()); diff --git a/src/mainwindow.h b/src/mainwindow.h index 7af6d712..bbff0d93 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -116,6 +116,7 @@ public: void storeSettings(QSettings &settings) override; void readSettings(); + void processUpdates(); virtual ILockedWaitingForProcess* lock() override; virtual void unlock() override; -- cgit v1.3.1