summaryrefslogtreecommitdiff
path: root/src/modlist.cpp
diff options
context:
space:
mode:
authorLostDragonist <lost.dragonist@gmail.com>2018-11-26 07:51:45 -0600
committerLostDragonist <lost.dragonist@gmail.com>2018-11-26 07:51:45 -0600
commit6142872620983a2bdd352d4e9e391ddb11c40305 (patch)
tree4c55bd8c15374d0ca5c1be2b863ef6dd5b4f2286 /src/modlist.cpp
parent4cae1397e7e54a2b4f5593d6ad74c969471c3055 (diff)
Prevent the user from renaming unmanaged and DLC mods
Diffstat (limited to 'src/modlist.cpp')
-rw-r--r--src/modlist.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/modlist.cpp b/src/modlist.cpp
index 6c04738a..7ca0667a 100644
--- a/src/modlist.cpp
+++ b/src/modlist.cpp
@@ -616,17 +616,20 @@ Qt::ItemFlags ModList::flags(const QModelIndex &modelIndex) const
}
if (modelIndex.isValid()) {
ModInfo::Ptr modInfo = ModInfo::getByIndex(modelIndex.row());
+ std::vector<ModInfo::EFlag> flags = modInfo->getFlags();
if (modInfo->getFixedPriority() == INT_MIN) {
result |= Qt::ItemIsDragEnabled;
result |= Qt::ItemIsUserCheckable;
- if ((modelIndex.column() == COL_NAME) ||
- (modelIndex.column() == COL_PRIORITY) ||
+ if ((modelIndex.column() == COL_PRIORITY) ||
(modelIndex.column() == COL_VERSION) ||
(modelIndex.column() == COL_MODID)) {
result |= Qt::ItemIsEditable;
}
+ if ((modelIndex.column() == COL_NAME)
+ && (std::find(flags.begin(), flags.end(), ModInfo::FLAG_FOREIGN) == flags.end())) {
+ result |= Qt::ItemIsEditable;
+ }
}
- std::vector<ModInfo::EFlag> flags = modInfo->getFlags();
if (m_DropOnItems
&& (std::find(flags.begin(), flags.end(), ModInfo::FLAG_OVERWRITE) == flags.end())) {
result |= Qt::ItemIsDropEnabled;