summaryrefslogtreecommitdiff
path: root/src/modinfowithconflictinfo.h
diff options
context:
space:
mode:
authorLostDragonist <lost.dragonist@gmail.com>2019-01-25 10:19:44 -0600
committerLostDragonist <lost.dragonist@gmail.com>2019-01-25 10:19:44 -0600
commita68a027febe6e094218654a24d4b5f9bdc31391a (patch)
treea259919f61020f9f74553c63d3a5e6f8b023f7b7 /src/modinfowithconflictinfo.h
parent63511cd390e1c1b7d6b28edcd691c1f72a81ca48 (diff)
parent0ab87850c4cb405b93c592e455a9d052ec84f66f (diff)
Merge remote-tracking branch 'remotes/origin/archive_conflicts_2' into Develop
Diffstat (limited to 'src/modinfowithconflictinfo.h')
-rw-r--r--src/modinfowithconflictinfo.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/modinfowithconflictinfo.h b/src/modinfowithconflictinfo.h
index 6c1591c5..13d87d25 100644
--- a/src/modinfowithconflictinfo.h
+++ b/src/modinfowithconflictinfo.h
@@ -23,6 +23,14 @@ public:
virtual std::set<unsigned int> getModOverwritten() { return m_OverwrittenList; }
+ virtual std::set<unsigned int> getModArchiveOverwrite() { return m_ArchiveOverwriteList; }
+
+ virtual std::set<unsigned int> getModArchiveOverwritten() { return m_ArchiveOverwrittenList; }
+
+ virtual std::set<unsigned int> getModArchiveLooseOverwrite() { return m_ArchiveLooseOverwriteList; }
+
+ virtual std::set<unsigned int> getModArchiveLooseOverwritten() { return m_ArchiveLooseOverwrittenList; }
+
virtual void doConflictCheck() const;
private:
@@ -32,7 +40,8 @@ private:
CONFLICT_OVERWRITE,
CONFLICT_OVERWRITTEN,
CONFLICT_MIXED,
- CONFLICT_REDUNDANT
+ CONFLICT_REDUNDANT,
+ CONFLICT_CROSS
};
private:
@@ -43,6 +52,16 @@ private:
EConflictType isConflicted() const;
/**
+ * @return true if there are archive conflicts for files in this mod
+ */
+ EConflictType isArchiveConflicted() const;
+
+ /**
+ * @return true if there are archive conflicts with loose files in this mod
+ */
+ EConflictType isLooseArchiveConflicted() const;
+
+ /**
* @return true if this mod is completely replaced by others
*/
bool isRedundant() const;
@@ -52,10 +71,17 @@ private:
MOShared::DirectoryEntry **m_DirectoryStructure;
mutable EConflictType m_CurrentConflictState;
+ mutable EConflictType m_ArchiveConflictState;
+ mutable EConflictType m_ArchiveConflictLooseState;
+ mutable bool m_HasLooseOverwrite;
mutable QTime m_LastConflictCheck;
mutable std::set<unsigned int> m_OverwriteList; // indices of mods overritten by this mod
mutable std::set<unsigned int> m_OverwrittenList; // indices of mods overwriting this mod
+ mutable std::set<unsigned int> m_ArchiveOverwriteList; // indices of mods with archive files overritten by this mod
+ mutable std::set<unsigned int> m_ArchiveOverwrittenList; // indices of mods with archive files overwriting this mod
+ mutable std::set<unsigned int> m_ArchiveLooseOverwriteList; // indices of mods with archives being overwritten by this mod's loose files
+ mutable std::set<unsigned int> m_ArchiveLooseOverwrittenList; // indices of mods with loose files overwriting this mod's archive files
};