Kaydet (Commit) fedf965c authored tarafından Maxim Monastirsky's avatar Maxim Monastirsky

Related: tdf#91097 Support of enum commands in MenuBarManager

Change-Id: Id7fe3075c21030e050c26aaf7ec068935f275b44
üst 3080e4c0
......@@ -77,6 +77,7 @@
#include <svtools/miscopt.hxx>
#include <uielement/menubarmerger.hxx>
#include <boost/noncopyable.hpp>
#include <tools/urlobj.hxx>
// Be careful removing this "bad" construct. There are serious problems
// with #define STRICT and including windows.h. Changing this needs some
......@@ -436,6 +437,21 @@ throw ( RuntimeException, std::exception )
m_pVCLMenu->SetItemBits( pMenuItemHandler->nItemId, nBits | MenuItemBits::CHECKABLE );
}
else if ( Event.State >>= aItemText )
{
INetURLObject aURL( aFeatureURL );
OUString aEnumPart = aURL.GetURLPath().getToken( 1, '.' );
if ( !aEnumPart.isEmpty() && aURL.GetProtocol() == INetProtocol::Uno )
{
// Checkmark or RadioButton
m_pVCLMenu->ShowItem( pMenuItemHandler->nItemId );
m_pVCLMenu->CheckItem( pMenuItemHandler->nItemId, ( aItemText == aEnumPart ) ? true : false );
MenuItemBits nBits = m_pVCLMenu->GetItemBits( pMenuItemHandler->nItemId );
//If not already designated RadioButton set as CheckMark
if (!(nBits & MenuItemBits::RADIOCHECK))
m_pVCLMenu->SetItemBits( pMenuItemHandler->nItemId, nBits | MenuItemBits::CHECKABLE );
}
else
{
// Replacement for place holders
if ( aItemText.startsWith("($1)") )
......@@ -461,6 +477,7 @@ throw ( RuntimeException, std::exception )
m_pVCLMenu->ShowItem( pMenuItemHandler->nItemId );
m_pVCLMenu->SetItemText( pMenuItemHandler->nItemId, aItemText );
}
}
else if ( Event.State >>= aVisibilityStatus )
{
// Visibility
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment