summaryrefslogtreecommitdiff
path: root/src/mainwindow.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-07-30 00:48:46 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2020-11-03 11:39:06 -0500
commitc4df6b8ec98feb34cc9b9785e6d4d0eac6b3f571 (patch)
treec874d57f52243362ab2e7114c3d409b6326729cc /src/mainwindow.cpp
parentc699aeb6d862f2c0960de126538931e4f13368b7 (diff)
split nexus connection stuff into NexusConnectionUI so it can be reused in the instance creation dialog
removed the PluginContainer* parameter from NexusInterface::instance() - it's a singleton, so it only needs to be given once, not every time - it doesn't even matter because the first time instance() is called, it creates the singleton, but the plugin container is always null - and setPluginContainer() is called much later from OrganizerCore with the correct value added non functional nexus page to instance creation dialog
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r--src/mainwindow.cpp62
1 files changed, 31 insertions, 31 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 60ad77a0..9144210c 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -291,7 +291,7 @@ MainWindow::MainWindow(Settings &settings
ui->statusBar->setup(ui, settings);
{
- auto* ni = NexusInterface::instance(&m_PluginContainer);
+ auto* ni = &NexusInterface::instance();
// there are two ways to get here:
// 1) the user just started MO, and
@@ -439,24 +439,24 @@ MainWindow::MainWindow(Settings &settings
connect(m_OrganizerCore.updater(), SIGNAL(updateAvailable()), this, SLOT(updateAvailable()));
connect(m_OrganizerCore.updater(), SIGNAL(motdAvailable(QString)), this, SLOT(motdReceived(QString)));
- connect(NexusInterface::instance(&pluginContainer), SIGNAL(requestNXMDownload(QString)), &m_OrganizerCore, SLOT(downloadRequestedNXM(QString)));
- connect(NexusInterface::instance(&pluginContainer), SIGNAL(nxmDownloadURLsAvailable(QString,int,int,QVariant,QVariant,int)), this, SLOT(nxmDownloadURLs(QString,int,int,QVariant,QVariant,int)));
- connect(NexusInterface::instance(&pluginContainer), SIGNAL(needLogin()), &m_OrganizerCore, SLOT(nexusApi()));
+ connect(&NexusInterface::instance(), SIGNAL(requestNXMDownload(QString)), &m_OrganizerCore, SLOT(downloadRequestedNXM(QString)));
+ connect(&NexusInterface::instance(), SIGNAL(nxmDownloadURLsAvailable(QString,int,int,QVariant,QVariant,int)), this, SLOT(nxmDownloadURLs(QString,int,int,QVariant,QVariant,int)));
+ connect(&NexusInterface::instance(), SIGNAL(needLogin()), &m_OrganizerCore, SLOT(nexusApi()));
connect(
- NexusInterface::instance(&pluginContainer)->getAccessManager(),
+ NexusInterface::instance().getAccessManager(),
SIGNAL(credentialsReceived(const APIUserAccount&)),
this,
SLOT(updateWindowTitle(const APIUserAccount&)));
connect(
- NexusInterface::instance(&pluginContainer)->getAccessManager(),
+ NexusInterface::instance().getAccessManager(),
SIGNAL(credentialsReceived(const APIUserAccount&)),
- NexusInterface::instance(&m_PluginContainer),
+ &NexusInterface::instance(),
SLOT(setUserAccount(const APIUserAccount&)));
connect(
- NexusInterface::instance(&pluginContainer),
+ &NexusInterface::instance(),
SIGNAL(requestsChanged(const APIStats&, const APIUserAccount&)),
this,
SLOT(onRequestsChanged(const APIStats&, const APIUserAccount&)));
@@ -1911,9 +1911,9 @@ QDir MainWindow::currentSavesDir() const
wchar_t path[MAX_PATH];
if (::GetPrivateProfileStringW(
- L"General", L"SLocalSavePath", L"",
- path, MAX_PATH,
- iniPath.toStdWString().c_str()
+ L"General", L"SLocalSavePath", L"",
+ path, MAX_PATH,
+ iniPath.toStdWString().c_str()
)) {
savesDir.setPath(m_OrganizerCore.managedGame()->documentsDirectory().absoluteFilePath(QString::fromWCharArray(path)));
}
@@ -3288,7 +3288,7 @@ void MainWindow::visitOnNexus_clicked()
int modID = info->nexusId();
gameName = info->gameName();
if (modID > 0) {
- linkClicked(NexusInterface::instance(&m_PluginContainer)->getModURL(modID, gameName));
+ linkClicked(NexusInterface::instance().getModURL(modID, gameName));
} else {
log::error("mod '{}' has no nexus id", info->name());
}
@@ -3298,7 +3298,7 @@ void MainWindow::visitOnNexus_clicked()
int modID = m_OrganizerCore.modList()->data(m_OrganizerCore.modList()->index(m_ContextRow, 0), Qt::UserRole).toInt();
QString gameName = m_OrganizerCore.modList()->data(m_OrganizerCore.modList()->index(m_ContextRow, 0), Qt::UserRole + 4).toString();
if (modID > 0) {
- linkClicked(NexusInterface::instance(&m_PluginContainer)->getModURL(modID, gameName));
+ linkClicked(NexusInterface::instance().getModURL(modID, gameName));
} else {
MessageDialog::showMessage(tr("Nexus ID for this mod is unknown"), this);
}
@@ -3355,7 +3355,7 @@ void MainWindow::visitNexusOrWebPage(const QModelIndex& idx)
const auto url = info->parseCustomURL();
if (modID > 0) {
- linkClicked(NexusInterface::instance(&m_PluginContainer)->getModURL(modID, gameName));
+ linkClicked(NexusInterface::instance().getModURL(modID, gameName));
} else if (url.isValid()) {
linkClicked(url.toString());
} else {
@@ -4220,15 +4220,15 @@ void MainWindow::saveArchiveList()
void MainWindow::checkModsForUpdates()
{
bool checkingModsForUpdate = false;
- if (NexusInterface::instance(&m_PluginContainer)->getAccessManager()->validated()) {
- checkingModsForUpdate = ModInfo::checkAllForUpdate(&m_PluginContainer, this);
- NexusInterface::instance(&m_PluginContainer)->requestEndorsementInfo(this, QVariant(), QString());
- NexusInterface::instance(&m_PluginContainer)->requestTrackingInfo(this, QVariant(), QString());
+ if (NexusInterface::instance().getAccessManager()->validated()) {
+ checkingModsForUpdate = ModInfo::checkAllForUpdate(this);
+ NexusInterface::instance().requestEndorsementInfo(this, QVariant(), QString());
+ NexusInterface::instance().requestTrackingInfo(this, QVariant(), QString());
} else {
QString apiKey;
if (m_OrganizerCore.settings().nexus().apiKey(apiKey)) {
m_OrganizerCore.doAfterLogin([this] () { this->checkModsForUpdates(); });
- NexusInterface::instance(&m_PluginContainer)->getAccessManager()->apiCheck(apiKey);
+ NexusInterface::instance().getAccessManager()->apiCheck(apiKey);
} else {
log::warn("{}", tr("You are not currently authenticated with Nexus. Please do so under Settings -> Nexus."));
}
@@ -4603,7 +4603,7 @@ void MainWindow::exportModListCSV()
if (nexus_ID->isChecked())
builder.setRowField("#Nexus_ID", info->nexusId());
if (mod_Nexus_URL->isChecked())
- builder.setRowField("#Mod_Nexus_URL",(info->nexusId()>0)? NexusInterface::instance(&m_PluginContainer)->getModURL(info->nexusId(), info->gameName()) : "");
+ builder.setRowField("#Mod_Nexus_URL",(info->nexusId()>0)? NexusInterface::instance().getModURL(info->nexusId(), info->gameName()) : "");
if (mod_Version->isChecked())
builder.setRowField("#Mod_Version", info->version().canonicalString());
if (install_Date->isChecked())
@@ -5157,7 +5157,7 @@ void MainWindow::on_actionSettings_triggered()
}
if (settings.paths().cache() != oldCacheDirectory) {
- NexusInterface::instance(&m_PluginContainer)->setCacheDirectory(
+ NexusInterface::instance().setCacheDirectory(
settings.paths().cache());
}
@@ -5191,7 +5191,7 @@ void MainWindow::on_actionNexus_triggered()
QString gameName = game->gameShortName();
if (game->gameNexusName().isEmpty() && game->primarySources().count())
gameName = game->primarySources()[0];
- QDesktopServices::openUrl(QUrl(NexusInterface::instance(&m_PluginContainer)->getGameURL(gameName)));
+ QDesktopServices::openUrl(QUrl(NexusInterface::instance().getGameURL(gameName)));
}
@@ -5350,9 +5350,9 @@ void MainWindow::actionEndorseMO()
if (QMessageBox::question(this, tr("Endorse Mod Organizer"),
tr("Do you want to endorse Mod Organizer on %1 now?").arg(
- NexusInterface::instance(&m_PluginContainer)->getGameURL(game->gameShortName())),
+ NexusInterface::instance().getGameURL(game->gameShortName())),
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) {
- NexusInterface::instance(&m_PluginContainer)->requestToggleEndorsement(
+ NexusInterface::instance().requestToggleEndorsement(
game->gameShortName(), game->nexusModOrganizerID(), m_OrganizerCore.getVersion().canonicalString(), true, this, QVariant(), QString());
}
}
@@ -5366,9 +5366,9 @@ void MainWindow::actionWontEndorseMO()
if (QMessageBox::question(this, tr("Abstain from Endorsing Mod Organizer"),
tr("Are you sure you want to abstain from endorsing Mod Organizer 2?\n"
"You will have to visit the mod page on the %1 Nexus site to change your mind.").arg(
- NexusInterface::instance(&m_PluginContainer)->getGameURL(game->gameShortName())),
+ NexusInterface::instance().getGameURL(game->gameShortName())),
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) {
- NexusInterface::instance(&m_PluginContainer)->requestToggleEndorsement(
+ NexusInterface::instance().requestToggleEndorsement(
game->gameShortName(), game->nexusModOrganizerID(), m_OrganizerCore.getVersion().canonicalString(), false, this, QVariant(), QString());
}
}
@@ -5430,13 +5430,13 @@ void MainWindow::updateDownloadView()
void MainWindow::modUpdateCheck(std::multimap<QString, int> IDs)
{
- if (NexusInterface::instance(&m_PluginContainer)->getAccessManager()->validated()) {
- ModInfo::manualUpdateCheck(&m_PluginContainer, this, IDs);
+ if (NexusInterface::instance().getAccessManager()->validated()) {
+ ModInfo::manualUpdateCheck(this, IDs);
} else {
QString apiKey;
if (m_OrganizerCore.settings().nexus().apiKey(apiKey)) {
m_OrganizerCore.doAfterLogin([=]() { this->modUpdateCheck(IDs); });
- NexusInterface::instance(&m_PluginContainer)->getAccessManager()->apiCheck(apiKey);
+ NexusInterface::instance().getAccessManager()->apiCheck(apiKey);
} else
log::warn("{}", tr("You are not currently authenticated with Nexus. Please do so under Settings -> Nexus."));
}
@@ -5588,7 +5588,7 @@ void MainWindow::finishUpdateInfo()
log::warn("{}", tr("All of your mods have been checked recently. We restrict update checks to help preserve your available API requests."));
for (auto game : organizedGames)
- NexusInterface::instance(&m_PluginContainer)->requestUpdates(game.second, this, QVariant(), game.first, QString());
+ NexusInterface::instance().requestUpdates(game.second, this, QVariant(), game.first, QString());
disconnect(sender());
delete sender();
@@ -5675,7 +5675,7 @@ void MainWindow::nxmUpdatesAvailable(QString gameName, int modID, QVariant userD
}
if (requiresInfo)
- NexusInterface::instance(&m_PluginContainer)->requestModInfo(gameNameReal, modID, this, QVariant(), QString());
+ NexusInterface::instance().requestModInfo(gameNameReal, modID, this, QVariant(), QString());
}
void MainWindow::nxmModInfoAvailable(QString gameName, int modID, QVariant userData, QVariant resultData, int requestID)