#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(2);
kSliceList.push_back(CVF_MAX(static_cast<int>(k + 1), 1)); 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", "I-slice Range Filter", iSliceList);
menuBuilder.addCmdFeatureWithUserData("RicNewSliceRangeFilterFeature", "J-slice Range Filter", jSliceList); 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; MenuItem i;
i.itemType = MenuItem::SUBMENU_START; i.itemType = MenuItem::SUBMENU_START;
i.itemName = menuName; i.itemName = menuName;
i.icon = menuIcon;
m_items.push_back(i); m_items.push_back(i);
return *this; return *this;
} }
@@ -160,7 +161,7 @@ void CmdFeatureMenuBuilder::appendToMenu(QMenu* menu)
} }
else if (m_items[i].itemType == MenuItem::SUBMENU_START) 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); menus.push_back(subMenu);
} }
else if (m_items[i].itemType == MenuItem::SUBMENU_END) else if (m_items[i].itemType == MenuItem::SUBMENU_END)

View File

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