#2144 Context menu : Add support for icons on sub menus

This commit is contained in:
Magne Sjaastad 2017-12-01 08:28:41 +01:00
parent cf9203fe0a
commit 476b96b343
3 changed files with 7 additions and 4 deletions

View File

@ -235,7 +235,7 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event)
kSliceList.push_back(2);
kSliceList.push_back(CVF_MAX(static_cast<int>(k + 1), 1));
menuBuilder.subMenuStart("Range Filter Slice");
menuBuilder.subMenuStart("Range Filter Slice", QIcon(":/CellFilter_Range.png"));
menuBuilder.addCmdFeatureWithUserData("RicNewSliceRangeFilterFeature", "I-slice Range Filter", iSliceList);
menuBuilder.addCmdFeatureWithUserData("RicNewSliceRangeFilterFeature", "J-slice Range Filter", jSliceList);

View File

@ -124,11 +124,12 @@ CmdFeatureMenuBuilder& CmdFeatureMenuBuilder::addSeparator()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
CmdFeatureMenuBuilder& CmdFeatureMenuBuilder::subMenuStart(const QString& menuName)
CmdFeatureMenuBuilder& CmdFeatureMenuBuilder::subMenuStart(const QString& menuName, const QIcon& menuIcon)
{
MenuItem i;
i.itemType = MenuItem::SUBMENU_START;
i.itemName = menuName;
i.icon = menuIcon;
m_items.push_back(i);
return *this;
}
@ -160,7 +161,7 @@ void CmdFeatureMenuBuilder::appendToMenu(QMenu* menu)
}
else if (m_items[i].itemType == MenuItem::SUBMENU_START)
{
QMenu* subMenu = menus.back()->addMenu(m_items[i].itemName);
QMenu* subMenu = menus.back()->addMenu(m_items[i].icon, m_items[i].itemName);
menus.push_back(subMenu);
}
else if (m_items[i].itemType == MenuItem::SUBMENU_END)

View File

@ -43,6 +43,7 @@
#include <QObject>
#include <QVariant>
#include <QIcon>
class QAction;
class QMenu;
@ -67,7 +68,7 @@ public:
CmdFeatureMenuBuilder& addSeparator();
CmdFeatureMenuBuilder& subMenuStart(const QString& menuName);
CmdFeatureMenuBuilder& subMenuStart(const QString& menuName, const QIcon& menuIcon = QIcon());
CmdFeatureMenuBuilder& subMenuEnd();
void appendToMenu(QMenu* menu);
@ -82,6 +83,7 @@ private:
QString itemName;
QString uiText;
QVariant userData;
QIcon icon;
};
std::vector<MenuItem> m_items;