summaryrefslogtreecommitdiff
path: root/src/modinforegular.h
diff options
context:
space:
mode:
authorLostDragonist <lost.dragonist@gmail.com>2019-03-06 20:12:09 -0600
committerLostDragonist <lost.dragonist@gmail.com>2019-03-07 11:21:47 -0600
commitd5332c5080ea5e1d0812cc900bb5ed6e20ff8f0e (patch)
treefe39b16810e537e7e4f3a97b4e2c599590748067 /src/modinforegular.h
parent09a68079bb9ac083bd060b1e75bf329917a7d888 (diff)
Add support for displaying tracked mods and setting tracked status
Diffstat (limited to 'src/modinforegular.h')
-rw-r--r--src/modinforegular.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/modinforegular.h b/src/modinforegular.h
index aaab778a..f70487a2 100644
--- a/src/modinforegular.h
+++ b/src/modinforegular.h
@@ -178,6 +178,13 @@ public:
virtual void setNeverEndorse();
/**
+ * update the tracked state for the mod. This only changes the
+ * buffered state. It does not sync with Nexus
+ * @param tracked the new tracked state
+ */
+ virtual void setIsTracked(bool tracked);
+
+ /**
* @brief delete the mod from the disc. This does not update the global ModInfo structure or indices
* @return true if the mod was successfully removed
**/
@@ -191,6 +198,13 @@ public:
virtual void endorse(bool doEndorse);
/**
+ * @brief track or untrack the mod. This will sync with nexus!
+ * @param doTrack if true, the mod is tracked, if false, it's untracked.
+ * @note if doTrack doesn't differ from the current value, nothing happens.
+ */
+ virtual void track(bool doTrack);
+
+ /**
* @brief updates the mod to flag it as converted in order to ignore the alternate game warning
*/
virtual void markConverted(bool converted) override;
@@ -334,6 +348,11 @@ public:
virtual EEndorsedState endorsedState() const;
/**
+ * @return true if the file is being tracked on nexus
+ */
+ virtual ETrackedState trackedState() const;
+
+ /**
* @brief get the last time nexus was checked for file updates on this mod
*/
virtual QDateTime getLastNexusUpdate() const;
@@ -391,11 +410,13 @@ public:
private:
void setEndorsedState(EEndorsedState endorsedState);
+ void setTrackedState(ETrackedState trackedState);
private slots:
void nxmDescriptionAvailable(QString, int modID, QVariant userData, QVariant resultData);
void nxmEndorsementToggled(QString, int, QVariant userData, QVariant resultData);
+ void nxmTrackingToggled(QString, int, QVariant userData, bool tracked);
void nxmRequestFailed(QString, int modID, int fileID, QVariant userData, QNetworkReply::NetworkError error, const QString &errorMessage);
protected:
@@ -436,6 +457,7 @@ private:
MOBase::VersionInfo m_IgnoredVersion;
EEndorsedState m_EndorsedState;
+ ETrackedState m_TrackedState;
NexusBridge m_NexusBridge;