summaryrefslogtreecommitdiff
path: root/src/modinfo.h
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2014-07-21 19:14:24 +0200
committerTannin <devnull@localhost>2014-07-21 19:14:24 +0200
commit0050cb07409d775efe14e728c1cef4a2c33aa1db (patch)
treeed3eb9363aa35617f0dd92c4746bf14e032d010f /src/modinfo.h
parentf6ef5477e718b14af99bd22436f66dee0b9d22cd (diff)
- download-list will no longer show a file as having incomplete data if there is no file version
- added a new mod column with icons displaying the content of the mod - MO now differentiates between mods using an internal name that disambiguates between foreign and regular mods
Diffstat (limited to 'src/modinfo.h')
-rw-r--r--src/modinfo.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/modinfo.h b/src/modinfo.h
index 0c144936..e2121828 100644
--- a/src/modinfo.h
+++ b/src/modinfo.h
@@ -68,6 +68,19 @@ public:
FLAG_CONFLICT_REDUNDANT
};
+ enum EContent {
+ CONTENT_PLUGIN,
+ CONTENT_TEXTURE,
+ CONTENT_MESH,
+ CONTENT_INTERFACE,
+ CONTENT_MUSIC,
+ CONTENT_SOUND,
+ CONTENT_SCRIPT,
+ CONTENT_SKSE,
+ CONTENT_SKYPROC,
+ CONTENT_STRING
+ };
+
enum EHighlight {
HIGHLIGHT_NONE = 0,
HIGHLIGHT_INVALID = 1,
@@ -304,6 +317,13 @@ public:
virtual QString name() const = 0;
/**
+ * @brief getter for an internal name. This is usually the same as the regular name, but with special mod types it might be
+ * this is used to distinguish between mods that have the same visible name
+ * @return internal mod name
+ */
+ virtual QString internalName() const { return name(); }
+
+ /**
* @brief getter for the mod path
*
* @return the (absolute) path to the mod
@@ -369,6 +389,11 @@ public:
virtual std::vector<EFlag> getFlags() const = 0;
/**
+ * @return a list of content types contained in a mod
+ */
+ virtual std::vector<EContent> getContents() const { return std::vector<EContent>(); }
+
+ /**
* @brief test if the specified flag is set for this mod
* @param flag the flag to test
* @return true if the flag is set, false otherwise
@@ -798,6 +823,8 @@ public:
*/
virtual std::vector<EFlag> getFlags() const;
+ virtual std::vector<EContent> getContents() const;
+
/**
* @return an indicator if and how this mod should be highlighted by the UI
*/
@@ -976,6 +1003,10 @@ class ModInfoForeign : public ModInfoWithConflictInfo
public:
+ static const char INT_IDENTIFIER[];
+
+public:
+
virtual bool updateAvailable() const { return false; }
virtual bool updateIgnored() const { return false; }
virtual bool downgradeAvailable() const { return false; }
@@ -994,6 +1025,7 @@ public:
virtual void endorse(bool) {}
virtual bool isEmpty() const { return false; }
virtual QString name() const;
+ virtual QString internalName() const { return name() + INT_IDENTIFIER; }
virtual QString notes() const { return ""; }
virtual QDateTime creationTime() const;
virtual QString absolutePath() const;