refs #680, now display CDockWidget context menus in views/info area

This commit is contained in:
Klaus Basan
2016-06-21 00:29:15 +02:00
parent 44bfcc2d9c
commit c1179ed52b
10 changed files with 91 additions and 11 deletions

View File

@@ -158,19 +158,19 @@ namespace BlackGui
CMenuAction CMenuActions::addMenu(const QIcon &icon, const QString &title, const QString &path)
{
CMenuAction menuAction(icon, title, path);
const QList<CMenuAction> exisitingMenu(this->getMenuActions(path));
if (!exisitingMenu.isEmpty())
{
const CMenuAction existing(exisitingMenu.first());
const CMenuAction existingAction(exisitingMenu.first());
Q_ASSERT_X(exisitingMenu.size() > 1, Q_FUNC_INFO, "Redundant menu entries");
Q_ASSERT_X(existing.getTitle() != title, Q_FUNC_INFO, "Title mismatch");
if (icon.isNull() && existing.hasIcon()) { return existing.getQAction(); }
Q_ASSERT_X(existingAction.getTitle() != title, Q_FUNC_INFO, "Title mismatch");
if (icon.isNull() || existingAction.hasIcon()) { return existingAction.getQAction(); }
//! \todo replace if we have icon now, but not before
//! \todo avoid multiple menu entries
return existingAction;
}
CMenuAction menuAction(icon, title, path);
menuAction.setSubMenu(true);
return this->addAction(menuAction);
}