summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-11-11 14:08:11 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2020-11-11 20:30:34 +0100
commitf53d04a84d148a771dab3de9fe5f2f28e2d0240d (patch)
tree2f5e9b6706bda4614c043cbca0d4c55ca0f4abe4 /src
parent7a4f6d5344031db828f5dc2257c1d19f251e7f05 (diff)
Hide Tool action instead of not adding them.
Diffstat (limited to 'src')
-rw-r--r--src/mainwindow.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 93ca415d..9bbe3da9 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -1652,6 +1652,9 @@ void MainWindow::registerPluginTool(IPluginTool *tool, QString name, QMenu *menu
connect(action, SIGNAL(triggered()), this, SLOT(toolPluginInvoke()), Qt::QueuedConnection);
menu->addAction(action);
+ if (!m_PluginContainer.isEnabled(tool)) {
+ action->setVisible(false);
+ }
}
void MainWindow::registerPluginTools(std::vector<IPluginTool *> toolPlugins)
@@ -1663,14 +1666,6 @@ void MainWindow::registerPluginTools(std::vector<IPluginTool *> toolPlugins)
}
);
- // TODO: I don't know when this method is called? Maybe the check should be perform when
- // the context menu is opened?
- // Remove inactive plugins
- toolPlugins.erase(
- std::remove_if(toolPlugins.begin(), toolPlugins.end(), [this](IPluginTool *plugin) { return !m_PluginContainer.isEnabled(plugin); }),
- toolPlugins.end()
- );
-
// Group the plugins into submenus
QMap<QString, QList<QPair<QString, IPluginTool *>>> submenuMap;
for (auto toolPlugin : toolPlugins) {