Finishing of dimension plugin

This commit is contained in:
Jakub Melka
2020-11-23 19:06:33 +01:00
parent 31b4dac927
commit 7b95507cac
2 changed files with 40 additions and 1 deletions

View File

@ -375,7 +375,31 @@ void PDFViewerMainWindow::loadPlugins()
menu->addAction(action);
toolbarButton->menu()->addAction(action);
connect(action, &QAction::triggered, toolbarButton, [action, toolbarButton](){ toolbarButton->setDefaultAction(action); });
auto onPluginActionTriggered = [toolbarButton, action]()
{
if (action->isEnabled())
{
toolbarButton->setDefaultAction(action);
}
};
auto onPluginActionStateChanged = [toolbarButton, action]()
{
if (!action->isEnabled() && toolbarButton->defaultAction() == action)
{
for (QAction* action : toolbarButton->menu()->actions())
{
if (action->isEnabled())
{
toolbarButton->setDefaultAction(action);
break;
}
}
}
};
connect(action, &QAction::triggered, toolbarButton, onPluginActionTriggered);
connect(action, &QAction::changed, toolbarButton, onPluginActionStateChanged);
}
}
}