summaryrefslogtreecommitdiff
path: root/src/modinfodialogfiletree.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modinfodialogfiletree.cpp')
-rw-r--r--src/modinfodialogfiletree.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/modinfodialogfiletree.cpp b/src/modinfodialogfiletree.cpp
index 607d2e5b..c49c767f 100644
--- a/src/modinfodialogfiletree.cpp
+++ b/src/modinfodialogfiletree.cpp
@@ -453,6 +453,21 @@ void FileTreeTab::onContextMenu(const QPoint &pos)
}
}
+ bool enableRunHooked = false;
+
+ if (enableRun || enableOpen) {
+ if (auto* p=core().currentProfile()) {
+ if (mod().canBeEnabled()) {
+ const auto index = ModInfo::getIndex(mod().name());
+ if (index == UINT_MAX) {
+ log::error("mod '{}' not found (filetree)", mod().name());
+ } else {
+ enableRunHooked = p->modEnabled(index);
+ }
+ }
+ }
+ }
+
if (enableRun) {
m_actions.open->setText(tr("&Execute"));
m_actions.runHooked->setText(tr("Execute with &VFS"));
@@ -481,7 +496,7 @@ void FileTreeTab::onContextMenu(const QPoint &pos)
}
}
- if (enableOpen || enableRun) {
+ if (enableRunHooked) {
menu.addAction(m_actions.runHooked);
}