summaryrefslogtreecommitdiff
path: root/src/modlist.cpp
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-12-31 00:06:12 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2021-01-02 15:38:17 +0100
commitfb52a129b3a878511cf754daed433d9a789689c8 (patch)
treee2505bca8317aa78a40ef3706b209cb0855bcf04 /src/modlist.cpp
parente8c2d9cd29967be928b8649fd580a3be9cae3684 (diff)
More stuff moved to mod list context.
Diffstat (limited to 'src/modlist.cpp')
-rw-r--r--src/modlist.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/modlist.cpp b/src/modlist.cpp
index 7da6fe3b..22899aaa 100644
--- a/src/modlist.cpp
+++ b/src/modlist.cpp
@@ -1417,7 +1417,7 @@ QString ModList::getColumnToolTip(int column) const
}
}
-void ModList::shiftMods(const QModelIndexList& indices, int offset)
+void ModList::shiftModsPriority(const QModelIndexList& indices, int offset)
{
// retrieve the mod index and sort them by priority to avoid issue
// when moving them
@@ -1451,6 +1451,26 @@ void ModList::shiftMods(const QModelIndexList& indices, int offset)
emit modPrioritiesChanged(allIndex);
}
+void ModList::changeModsPriority(const QModelIndexList& indices, int priority)
+{
+ if (indices.isEmpty()) {
+ return;
+ }
+
+ std::vector<int> allIndex;
+ for (auto& idx : indices) {
+ auto index = idx.data(IndexRole).toInt();
+ allIndex.push_back(index);
+ }
+
+ if (allIndex.size() == 1) {
+ changeModPriority(allIndex[0], priority);
+ }
+ else {
+ changeModPriority(allIndex, priority);
+ }
+}
+
bool ModList::toggleState(const QModelIndexList& indices)
{
emit aboutToChangeData();