summaryrefslogtreecommitdiff
path: root/src/modinfooverwrite.cpp
diff options
context:
space:
mode:
authorTanninOne <seppleviathan@gmx.de>2015-12-04 22:30:35 +0100
committerTanninOne <seppleviathan@gmx.de>2015-12-04 22:30:35 +0100
commit688e149c96c29d8249c9db416f5773cfc7baad6d (patch)
tree3a59b3fce8da8afec776e275aca979681711d4de /src/modinfooverwrite.cpp
parent87d5fe28f6000e7a711fe56aa5e9bedfd89128fb (diff)
parentd4754f4d3ca7451d784e89ae1ddef240666dfdf8 (diff)
Merge pull request #334 from ThosRTanner/issue/308
Allow right click on module to see web link if supplied in fomod
Diffstat (limited to 'src/modinfooverwrite.cpp')
-rw-r--r--src/modinfooverwrite.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/modinfooverwrite.cpp b/src/modinfooverwrite.cpp
new file mode 100644
index 00000000..4380a255
--- /dev/null
+++ b/src/modinfooverwrite.cpp
@@ -0,0 +1,53 @@
+#include "modinfooverwrite.h"
+
+#include "appconfig.h"
+
+#include <QApplication>
+#include <QDirIterator>
+
+ModInfoOverwrite::ModInfoOverwrite()
+{
+ testValid();
+}
+
+bool ModInfoOverwrite::isEmpty() const
+{
+ QDirIterator iter(absolutePath(), QDir::NoDotAndDotDot | QDir::Files | QDir::Dirs);
+ if (!iter.hasNext()) return true;
+ iter.next();
+ if ((iter.fileName() == "meta.ini") && !iter.hasNext()) return true;
+ return false;
+}
+
+QString ModInfoOverwrite::absolutePath() const
+{
+ return QDir::fromNativeSeparators(qApp->property("dataPath").toString() + "/" + QString::fromStdWString(AppConfig::overwritePath()));
+}
+
+std::vector<ModInfo::EFlag> ModInfoOverwrite::getFlags() const
+{
+ std::vector<ModInfo::EFlag> result;
+ result.push_back(FLAG_OVERWRITE);
+ return result;
+}
+
+int ModInfoOverwrite::getHighlight() const
+{
+ return (isValid() ? HIGHLIGHT_IMPORTANT : HIGHLIGHT_INVALID) | HIGHLIGHT_CENTER;
+}
+
+QString ModInfoOverwrite::getDescription() const
+{
+ return tr("This pseudo mod contains files from the virtual data tree that got "
+ "modified (i.e. by the construction kit)");
+}
+
+QStringList ModInfoOverwrite::archives() const
+{
+ QStringList result;
+ QDir dir(this->absolutePath());
+ for (const QString &archive : dir.entryList(QStringList("*.bsa"))) {
+ result.append(this->absolutePath() + "/" + archive);
+ }
+ return result;
+}