summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2014-12-14 16:30:23 +0100
committerTannin <devnull@localhost>2014-12-14 16:30:23 +0100
commit7fb7207ac79537bb84a1d71eefa9366dea6b0688 (patch)
tree3e688eea7d22b4af71b47169cdc67504217eb2d2
parent64eced4614657f22b22ba565df497a010499bf30 (diff)
custom installers can now set the installation file (and the ncc installer now does)
-rw-r--r--src/modinfo.cpp12
-rw-r--r--src/modinfo.h10
2 files changed, 20 insertions, 2 deletions
diff --git a/src/modinfo.cpp b/src/modinfo.cpp
index b31d3cda..9acadd97 100644
--- a/src/modinfo.cpp
+++ b/src/modinfo.cpp
@@ -485,7 +485,6 @@ bool ModInfoRegular::isEmpty() const
void ModInfoRegular::readMeta()
{
QSettings metaFile(m_Path + "/meta.ini", QSettings::IniFormat);
-
m_Notes = metaFile.value("notes", "").toString();
m_NexusID = metaFile.value("modid", -1).toInt();
m_Version.parse(metaFile.value("version", "").toString());
@@ -547,6 +546,7 @@ void ModInfoRegular::saveMeta()
metaFile.setValue("newestVersion", m_NewestVersion.canonicalString());
metaFile.setValue("ignoredVersion", m_IgnoredVersion.canonicalString());
metaFile.setValue("version", m_Version.canonicalString());
+ metaFile.setValue("installationFile", m_InstallationFile);
metaFile.setValue("modid", m_NexusID);
metaFile.setValue("notes", m_Notes);
metaFile.setValue("nexusDescription", m_NexusDescription);
@@ -737,8 +737,10 @@ void ModInfoRegular::setVersion(const VersionInfo &version)
m_MetaInfoChanged = true;
}
-void ModInfoRegular::setNewestVersion(const VersionInfo &version) {
+void ModInfoRegular::setNewestVersion(const VersionInfo &version)
+{
m_NewestVersion = version;
+ m_MetaInfoChanged = true;
}
void ModInfoRegular::setNexusDescription(const QString &description)
@@ -747,6 +749,12 @@ void ModInfoRegular::setNexusDescription(const QString &description)
m_MetaInfoChanged = true;
}
+void ModInfoRegular::setInstallationFile(const QString &fileName)
+{
+ m_InstallationFile = fileName;
+ m_MetaInfoChanged = true;
+}
+
void ModInfoRegular::addNexusCategory(int categoryID)
{
m_Categories.insert(CategoryFactory::instance().resolveNexusID(categoryID));
diff --git a/src/modinfo.h b/src/modinfo.h
index dbb5decf..70bc88c6 100644
--- a/src/modinfo.h
+++ b/src/modinfo.h
@@ -273,6 +273,12 @@ public:
virtual void setNexusDescription(const QString &description) = 0;
/**
+ * @brief sets the file this mod was installed from
+ * @param fileName name of the file
+ */
+ virtual void setInstallationFile(const QString &fileName) = 0;
+
+ /**
* @brief sets the category id from a nexus category id. Conversion to MO id happens internally
* @param categoryID the nexus category id
* @note if a mapping is not possible, the category is set to the default value
@@ -705,6 +711,8 @@ public:
*/
virtual void setNexusDescription(const QString &description);
+ virtual void setInstallationFile(const QString &fileName);
+
/**
* @brief sets the category id from a nexus category id. Conversion to MO id happens internally
* @param categoryID the nexus category id
@@ -945,6 +953,7 @@ public:
virtual void setNewestVersion(const MOBase::VersionInfo&) {}
virtual void ignoreUpdate(bool) {}
virtual void setNexusDescription(const QString&) {}
+ virtual void setInstallationFile(const QString&) {}
virtual void addNexusCategory(int) {}
virtual void setIsEndorsed(bool) {}
virtual void setNeverEndorse() {}
@@ -1004,6 +1013,7 @@ public:
virtual void setNewestVersion(const MOBase::VersionInfo&) {}
virtual void ignoreUpdate(bool) {}
virtual void setNexusDescription(const QString&) {}
+ virtual void setInstallationFile(const QString&) {}
virtual void addNexusCategory(int) {}
virtual void setIsEndorsed(bool) {}
virtual void setNeverEndorse() {}