From 4ed297750f29ba61802e902a5269fa56a7107643 Mon Sep 17 00:00:00 2001 From: Mikaël Capelle Date: Sun, 20 Sep 2020 12:29:56 +0200 Subject: Add getters for most meta-information in mod. --- src/modinfoforeign.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/modinfoforeign.h') diff --git a/src/modinfoforeign.h b/src/modinfoforeign.h index ae4241ee..97dd4dcb 100644 --- a/src/modinfoforeign.h +++ b/src/modinfoforeign.h @@ -42,10 +42,11 @@ public: virtual QString notes() const override { return ""; } virtual QDateTime creationTime() const override; virtual QString absolutePath() const override; - virtual MOBase::VersionInfo getNewestVersion() const override { return QString(); } - virtual QString getInstallationFile() const override { return ""; } - virtual QString getGameName() const override { return ""; } - virtual int getNexusID() const override { return -1; } + virtual MOBase::VersionInfo newestVersion() const override { return QString(); } + virtual MOBase::VersionInfo ignoredVersion() const override { return QString(); } + virtual QString installationFile() const override { return ""; } + virtual QString gameName() const override { return ""; } + virtual int modId() const override { return -1; } virtual QDateTime getExpires() const override { return QDateTime(); } virtual std::vector getIniTweaks() const override { return std::vector(); } virtual std::vector getFlags() const override; @@ -65,6 +66,7 @@ public: virtual QStringList stealFiles() const override { return m_Archives + QStringList(m_ReferenceFile); } virtual bool alwaysEnabled() const override { return true; } virtual void addInstalledFile(int, int) override {} + virtual std::set> installedFiles() const override { return {}; } ModInfo::EModType modType() const { return m_ModType; } -- cgit v1.3.1 From 3211f518ce6202735deaffb3bc88fbb54b819eba Mon Sep 17 00:00:00 2001 From: Mikaël Capelle Date: Sun, 20 Sep 2020 13:32:45 +0200 Subject: Add validated() and converted(). --- src/modinfoforeign.h | 2 ++ src/modinfooverwrite.h | 2 ++ src/modinforegular.h | 2 ++ 3 files changed, 6 insertions(+) (limited to 'src/modinfoforeign.h') diff --git a/src/modinfoforeign.h b/src/modinfoforeign.h index 97dd4dcb..70a28aa2 100644 --- a/src/modinfoforeign.h +++ b/src/modinfoforeign.h @@ -45,6 +45,8 @@ public: virtual MOBase::VersionInfo newestVersion() const override { return QString(); } virtual MOBase::VersionInfo ignoredVersion() const override { return QString(); } virtual QString installationFile() const override { return ""; } + virtual bool converted() const override { return false; } + virtual bool validated() const override { return false; } virtual QString gameName() const override { return ""; } virtual int modId() const override { return -1; } virtual QDateTime getExpires() const override { return QDateTime(); } diff --git a/src/modinfooverwrite.h b/src/modinfooverwrite.h index 346b4903..21fcf70a 100644 --- a/src/modinfooverwrite.h +++ b/src/modinfooverwrite.h @@ -47,6 +47,8 @@ public: virtual MOBase::VersionInfo newestVersion() const override { return QString(); } virtual MOBase::VersionInfo ignoredVersion() const override { return QString(); } virtual QString installationFile() const override { return ""; } + virtual bool converted() const override { return false; } + virtual bool validated() const override { return false; } virtual int getFixedPriority() const override { return std::numeric_limits::max(); } virtual QString gameName() const override { return ""; } virtual int modId() const override { return -1; } diff --git a/src/modinforegular.h b/src/modinforegular.h index 78387da9..74d35037 100644 --- a/src/modinforegular.h +++ b/src/modinforegular.h @@ -397,6 +397,8 @@ public: virtual QString gameName() const override { return m_GameName; } virtual QString installationFile() const override { return m_InstallationFile; } + virtual bool converted() const override { return m_Converted; } + virtual bool validated() const override { return m_Validated; } virtual std::set> installedFiles() const override { return m_InstalledFileIDs; } private: -- cgit v1.3.1 From d9cc013813a2a360a9518ecfd3b2e0bb0596d86a Mon Sep 17 00:00:00 2001 From: Mikaël Capelle Date: Tue, 22 Sep 2020 21:21:45 +0200 Subject: Change modId() to nexusId(). --- src/mainwindow.cpp | 30 +++++++++++++++--------------- src/modinfo.cpp | 14 +++++++------- src/modinfo.h | 6 ++---- src/modinfodialognexus.cpp | 14 +++++++------- src/modinfoforeign.h | 2 +- src/modinfooverwrite.h | 2 +- src/modinforegular.cpp | 4 ++-- src/modinforegular.h | 2 +- src/modinfoseparator.h | 2 +- src/modlist.cpp | 6 +++--- src/modlistsortproxy.cpp | 8 ++++---- 11 files changed, 44 insertions(+), 46 deletions(-) (limited to 'src/modinfoforeign.h') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 1bb47739..15315da1 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -2577,7 +2577,7 @@ void MainWindow::modInstalled(const QString &modName) // force an update to happen std::multimap IDs; ModInfo::Ptr info = ModInfo::getByIndex(ModInfo::getIndex(modName)); - IDs.insert(std::make_pair(info->gameName(), info->modId())); + IDs.insert(std::make_pair(info->gameName(), info->nexusId())); modUpdateCheck(IDs); } @@ -3254,7 +3254,7 @@ void MainWindow::visitOnNexus_clicked() for (QModelIndex idx : selection->selectedRows()) { row_idx = idx.data(Qt::UserRole + 1).toInt(); info = ModInfo::getByIndex(row_idx); - int modID = info->modId(); + int modID = info->nexusId(); gameName = info->gameName(); if (modID > 0) { linkClicked(NexusInterface::instance(&m_PluginContainer)->getModURL(modID, gameName)); @@ -3319,7 +3319,7 @@ void MainWindow::visitNexusOrWebPage(const QModelIndex& idx) return; } - int modID = info->modId(); + int modID = info->nexusId(); QString gameName = info->gameName(); const auto url = info->parseCustomURL(); @@ -4279,11 +4279,11 @@ void MainWindow::checkModUpdates_clicked() if (selection->hasSelection() && selection->selectedRows().count() > 1) { for (QModelIndex idx : selection->selectedRows()) { ModInfo::Ptr info = ModInfo::getByIndex(idx.data(Qt::UserRole + 1).toInt()); - IDs.insert(std::make_pair(info->gameName(), info->modId())); + IDs.insert(std::make_pair(info->gameName(), info->nexusId())); } } else { ModInfo::Ptr info = ModInfo::getByIndex(m_ContextRow); - IDs.insert(std::make_pair(info->gameName(), info->modId())); + IDs.insert(std::make_pair(info->gameName(), info->nexusId())); } modUpdateCheck(IDs); } @@ -4570,9 +4570,9 @@ void MainWindow::exportModListCSV() if (primary_Category->isChecked()) builder.setRowField("#Primary_Category", (m_CategoryFactory.categoryExists(info->primaryCategory())) ? m_CategoryFactory.getCategoryNameByID(info->primaryCategory()) : ""); if (nexus_ID->isChecked()) - builder.setRowField("#Nexus_ID", info->modId()); + builder.setRowField("#Nexus_ID", info->nexusId()); if (mod_Nexus_URL->isChecked()) - builder.setRowField("#Mod_Nexus_URL",(info->modId()>0)? NexusInterface::instance(&m_PluginContainer)->getModURL(info->modId(), info->gameName()) : ""); + builder.setRowField("#Mod_Nexus_URL",(info->nexusId()>0)? NexusInterface::instance(&m_PluginContainer)->getModURL(info->nexusId(), info->gameName()) : ""); if (mod_Version->isChecked()) builder.setRowField("#Mod_Version", info->version().canonicalString()); if (install_Date->isChecked()) @@ -4726,7 +4726,7 @@ void MainWindow::on_modList_customContextMenuRequested(const QPoint &pos) menu.addAction(tr("Mark as converted/working"), this, SLOT(markConverted_clicked())); } menu.addSeparator(); - if (info->modId() > 0) { + if (info->nexusId() > 0) { menu.addAction(tr("Visit on Nexus"), this, SLOT(visitOnNexus_clicked())); } @@ -4779,7 +4779,7 @@ void MainWindow::on_modList_customContextMenuRequested(const QPoint &pos) menu.addAction(tr("Change versioning scheme"), this, SLOT(changeVersioningScheme())); } - if (info->modId() > 0) + if (info->nexusId() > 0) menu.addAction(tr("Force-check updates"), this, SLOT(checkModUpdates_clicked())); if (info->updateIgnored()) { menu.addAction(tr("Un-ignore update"), this, SLOT(unignoreUpdate())); @@ -4817,7 +4817,7 @@ void MainWindow::on_modList_customContextMenuRequested(const QPoint &pos) menu.addSeparator(); } - if (info->modId() > 0 && Settings::instance().nexus().endorsementIntegration()) { + if (info->nexusId() > 0 && Settings::instance().nexus().endorsementIntegration()) { switch (info->endorsedState()) { case EndorsedState::ENDORSED_TRUE: { menu.addAction(tr("Un-Endorse"), this, SLOT(unendorse_clicked())); @@ -4837,7 +4837,7 @@ void MainWindow::on_modList_customContextMenuRequested(const QPoint &pos) } } - if (info->modId() > 0) { + if (info->nexusId() > 0) { switch (info->trackedState()) { case TrackedState::TRACKED_FALSE: { menu.addAction(tr("Start tracking"), this, SLOT(track_clicked())); @@ -4866,7 +4866,7 @@ void MainWindow::on_modList_customContextMenuRequested(const QPoint &pos) menu.addSeparator(); - if (info->modId() > 0) { + if (info->nexusId() > 0) { menu.addAction(tr("Visit on Nexus"), this, SLOT(visitOnNexus_clicked())); } @@ -5548,7 +5548,7 @@ void MainWindow::finishUpdateInfo() std::set> organizedGames; for (auto mod : finalMods) { if (mod->canBeUpdated()) { - organizedGames.insert(std::make_pair(mod->gameName().toLower(), mod->modId())); + organizedGames.insert(std::make_pair(mod->gameName().toLower(), mod->nexusId())); } } @@ -5742,7 +5742,7 @@ void MainWindow::nxmTrackedModsAvailable(QVariant userData, QVariant resultData, for (unsigned int i = 0; i < ModInfo::getNumMods(); i++) { auto modInfo = ModInfo::getByIndex(i); - if (modInfo->modId() <= 0) + if (modInfo->nexusId() <= 0) continue; bool found = false; @@ -5750,7 +5750,7 @@ void MainWindow::nxmTrackedModsAvailable(QVariant userData, QVariant resultData, for (auto item : resultsList) { auto results = item.toMap(); if ((gameNames[results["domain_name"].toString()].compare(modInfo->gameName(), Qt::CaseInsensitive) == 0) && - (results["mod_id"].toInt() == modInfo->modId())) { + (results["mod_id"].toInt() == modInfo->nexusId())) { found = true; break; } diff --git a/src/modinfo.cpp b/src/modinfo.cpp index aed17d2a..bbeefb12 100644 --- a/src/modinfo.cpp +++ b/src/modinfo.cpp @@ -180,11 +180,11 @@ bool ModInfo::removeMod(unsigned int index) ModInfo::Ptr modInfo = s_Collection[index]; s_ModsByName.erase(s_ModsByName.find(modInfo->name())); - auto iter = s_ModsByModID.find(std::pair(modInfo->gameName(), modInfo->modId())); + auto iter = s_ModsByModID.find(std::pair(modInfo->gameName(), modInfo->nexusId())); if (iter != s_ModsByModID.end()) { std::vector indices = iter->second; indices.erase(std::remove(indices.begin(), indices.end(), index), indices.end()); - s_ModsByModID[std::pair(modInfo->gameName(), modInfo->modId())] = indices; + s_ModsByModID[std::pair(modInfo->gameName(), modInfo->nexusId())] = indices; } // physically remove the mod directory @@ -282,7 +282,7 @@ void ModInfo::updateIndices() for (unsigned int i = 0; i < s_Collection.size(); ++i) { QString modName = s_Collection[i]->internalName(); QString game = s_Collection[i]->gameName(); - int modID = s_Collection[i]->modId(); + int modID = s_Collection[i]->nexusId(); s_ModsByName[modName] = i; s_ModsByModID[std::pair(game, modID)].push_back(i); } @@ -334,7 +334,7 @@ bool ModInfo::checkAllForUpdate(PluginContainer *pluginContainer, QObject *recei std::set> organizedGames; for (auto mod : s_Collection) { if (mod->canBeUpdated() && mod->getLastNexusUpdate() < QDateTime::currentDateTimeUtc().addMonths(-1)) { - organizedGames.insert(std::make_pair(mod->gameName().toLower(), mod->modId())); + organizedGames.insert(std::make_pair(mod->gameName().toLower(), mod->nexusId())); } } @@ -372,7 +372,7 @@ std::set> ModInfo::filteredMods(QString gameName, QVaria for (QVariant result : updateData) { QVariantMap update = result.toMap(); std::copy_if(s_Collection.begin(), s_Collection.end(), std::inserter(finalMods, finalMods.end()), [=](QSharedPointer info) -> bool { - if (info->modId() == update["mod_id"].toInt() && info->gameName().compare(gameName, Qt::CaseInsensitive) == 0) + if (info->nexusId() == update["mod_id"].toInt() && info->gameName().compare(gameName, Qt::CaseInsensitive) == 0) if (info->getLastNexusUpdate().addSecs(-3600) < QDateTime::fromSecsSinceEpoch(update["latest_file_update"].toInt(), Qt::UTC)) return true; return false; @@ -419,7 +419,7 @@ void ModInfo::manualUpdateCheck(PluginContainer *pluginContainer, QObject *recei } } mods.erase( - std::remove_if(mods.begin(), mods.end(), [](ModInfo::Ptr mod) -> bool { return mod->modId() <= 0; }), + std::remove_if(mods.begin(), mods.end(), [](ModInfo::Ptr mod) -> bool { return mod->nexusId() <= 0; }), mods.end() ); for (auto mod : mods) { @@ -434,7 +434,7 @@ void ModInfo::manualUpdateCheck(PluginContainer *pluginContainer, QObject *recei log::info("Checking updates for {} mods...", mods.size()); for (auto mod : mods) { - organizedGames.insert(std::make_pair(mod->gameName().toLower(), mod->modId())); + organizedGames.insert(std::make_pair(mod->gameName().toLower(), mod->nexusId())); } for (auto game : organizedGames) { diff --git a/src/modinfo.h b/src/modinfo.h index 5602531d..0533d9fe 100644 --- a/src/modinfo.h +++ b/src/modinfo.h @@ -292,11 +292,9 @@ public: // IModInterface implementations / Re-declaration virtual QString repository() const override { return ""; } /** - * @return the ID of this mod on the repository. - * - * @note For Nexus, this is the Nexus ID of the mod. + * @return the nexus ID of this mod on the repository. */ - virtual int modId() const = 0; + virtual int nexusId() const = 0; /** * @return the current version of this mod. diff --git a/src/modinfodialognexus.cpp b/src/modinfodialognexus.cpp index bff5c699..dd95cdaa 100644 --- a/src/modinfodialognexus.cpp +++ b/src/modinfodialognexus.cpp @@ -68,7 +68,7 @@ void NexusTab::update() clear(); - ui->modID->setText(QString("%1").arg(mod().modId())); + ui->modID->setText(QString("%1").arg(mod().nexusId())); QString gameName = mod().gameName(); ui->sourceGame->addItem( @@ -101,7 +101,7 @@ void NexusTab::update() (mod().endorsedState() == EndorsedState::ENDORSED_FALSE) || (mod().endorsedState() == EndorsedState::ENDORSED_NEVER)); - setHasData(mod().modId() >= 0); + setHasData(mod().nexusId() >= 0); } void NexusTab::firstActivation() @@ -138,7 +138,7 @@ void NexusTab::updateVersionColor() void NexusTab::updateWebpage() { - const int modID = mod().modId(); + const int modID = mod().nexusId(); if (isValidModID(modID)) { const QString nexusLink = NexusInterface::instance(&plugin()) @@ -301,7 +301,7 @@ void NexusTab::onModIDChanged() return; } - const int oldID = mod().modId(); + const int oldID = mod().nexusId(); const int newID = ui->modID->text().toInt(); if (oldID != newID){ @@ -326,7 +326,7 @@ void NexusTab::onSourceGameChanged() if (game->gameName() == ui->sourceGame->currentText()) { mod().setGameName(game->gameShortName()); mod().setLastNexusQuery(QDateTime::fromSecsSinceEpoch(0)); - refreshData(mod().modId()); + refreshData(mod().nexusId()); return; } } @@ -345,7 +345,7 @@ void NexusTab::onVersionChanged() void NexusTab::onRefreshBrowser() { - const auto modID = mod().modId(); + const auto modID = mod().nexusId(); if (isValidModID(modID)) { mod().setLastNexusQuery(QDateTime::fromSecsSinceEpoch(0)); @@ -357,7 +357,7 @@ void NexusTab::onRefreshBrowser() void NexusTab::onVisitNexus() { - const int modID = mod().modId(); + const int modID = mod().nexusId(); if (isValidModID(modID)) { const QString nexusLink = NexusInterface::instance(&plugin()) diff --git a/src/modinfoforeign.h b/src/modinfoforeign.h index 70a28aa2..d2ffc597 100644 --- a/src/modinfoforeign.h +++ b/src/modinfoforeign.h @@ -48,7 +48,7 @@ public: virtual bool converted() const override { return false; } virtual bool validated() const override { return false; } virtual QString gameName() const override { return ""; } - virtual int modId() const override { return -1; } + virtual int nexusId() const override { return -1; } virtual QDateTime getExpires() const override { return QDateTime(); } virtual std::vector getIniTweaks() const override { return std::vector(); } virtual std::vector getFlags() const override; diff --git a/src/modinfooverwrite.h b/src/modinfooverwrite.h index 21fcf70a..0e00d7a1 100644 --- a/src/modinfooverwrite.h +++ b/src/modinfooverwrite.h @@ -51,7 +51,7 @@ public: virtual bool validated() const override { return false; } virtual int getFixedPriority() const override { return std::numeric_limits::max(); } virtual QString gameName() const override { return ""; } - virtual int modId() const override { return -1; } + virtual int nexusId() const override { return -1; } virtual QDateTime getExpires() const override { return QDateTime(); } virtual std::vector getIniTweaks() const override { return std::vector(); } virtual std::vector getFlags() const override; diff --git a/src/modinforegular.cpp b/src/modinforegular.cpp index c5a79a8f..b3eeba7d 100644 --- a/src/modinforegular.cpp +++ b/src/modinforegular.cpp @@ -570,14 +570,14 @@ bool ModInfoRegular::remove() void ModInfoRegular::endorse(bool doEndorse) { if (doEndorse != (m_EndorsedState == EndorsedState::ENDORSED_TRUE)) { - m_NexusBridge.requestToggleEndorsement(m_GameName, modId(), m_Version.canonicalString(), doEndorse, QVariant(1)); + m_NexusBridge.requestToggleEndorsement(m_GameName, nexusId(), m_Version.canonicalString(), doEndorse, QVariant(1)); } } void ModInfoRegular::track(bool doTrack) { if (doTrack != (m_TrackedState == TrackedState::TRACKED_TRUE)) { - m_NexusBridge.requestToggleTracking(m_GameName, modId(), doTrack, QVariant(1)); + m_NexusBridge.requestToggleTracking(m_GameName, nexusId(), doTrack, QVariant(1)); } } diff --git a/src/modinforegular.h b/src/modinforegular.h index 74d35037..48c871bb 100644 --- a/src/modinforegular.h +++ b/src/modinforegular.h @@ -254,7 +254,7 @@ public: * * @return the nexus mod id. may be 0 if the mod id isn't known or doesn't exist **/ - int modId() const override { return m_NexusID; } + int nexusId() const override { return m_NexusID; } /** * @return the fixed priority of mods of this type or INT_MIN if the priority of mods diff --git a/src/modinfoseparator.h b/src/modinfoseparator.h index 724aa51f..26c03e27 100644 --- a/src/modinfoseparator.h +++ b/src/modinfoseparator.h @@ -20,7 +20,7 @@ public: //TODO: Fix renaming method to avoid priority reset virtual bool setName(const QString& name); - virtual int modId() const override { return -1; } + virtual int nexusId() const override { return -1; } virtual void setGameName(const QString& gameName) override {} virtual void setNexusID(int /*modID*/) override {} virtual void endorse(bool /*doEndorse*/) override {} diff --git a/src/modlist.cpp b/src/modlist.cpp index 63621368..2499bac0 100644 --- a/src/modlist.cpp +++ b/src/modlist.cpp @@ -240,7 +240,7 @@ QVariant ModList::data(const QModelIndex &modelIndex, int role) const return m_Profile->getModPriority(modIndex); } } else if (column == COL_MODID) { - int modID = modInfo->modId(); + int modID = modInfo->nexusId(); if (modID > 0) { return modID; } @@ -333,7 +333,7 @@ QVariant ModList::data(const QModelIndex &modelIndex, int role) const return m_Profile->getModPriority(modIndex); } } else { - return modInfo->modId(); + return modInfo->nexusId(); } } else if (role == Qt::UserRole + 1) { return modIndex; @@ -471,7 +471,7 @@ QVariant ModList::data(const QModelIndex &modelIndex, int role) const } else if (modInfo->getNexusFileStatus() == 6) { text += "
" + tr("This file has been marked as \"Deleted\"! You may want to check for an update or remove the nexus ID from this mod!"); } - if (modInfo->modId() > 0) { + if (modInfo->nexusId() > 0) { if (!modInfo->canBeUpdated()) { qint64 remains = QDateTime::currentDateTimeUtc().secsTo(modInfo->getExpires()); qint64 minutes = remains / 60; diff --git a/src/modlistsortproxy.cpp b/src/modlistsortproxy.cpp index f1bc6c13..ca0f3bb1 100644 --- a/src/modlistsortproxy.cpp +++ b/src/modlistsortproxy.cpp @@ -214,8 +214,8 @@ bool ModListSortProxy::lessThan(const QModelIndex &left, } } break; case ModList::COL_MODID: { - if (leftMod->modId() != rightMod->modId()) - lt = leftMod->modId() < rightMod->modId(); + if (leftMod->nexusId() != rightMod->nexusId()) + lt = leftMod->nexusId() < rightMod->nexusId(); } break; case ModList::COL_VERSION: { if (leftMod->version() != rightMod->version()) @@ -425,7 +425,7 @@ bool ModListSortProxy::categoryMatchesMod( return false; } - b = (info->modId() > 0); + b = (info->nexusId() > 0); break; } @@ -531,7 +531,7 @@ bool ModListSortProxy::filterMatchesMod(ModInfo::Ptr info, bool enabled) const bool ok; int filterID = currentKeyword.toInt(&ok); if (ok) { - int modID = info->modId(); + int modID = info->nexusId(); while (modID > 0) { if (modID == filterID) { foundKeyword = true; -- cgit v1.3.1