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 @@ ...@@ -77,6 +77,7 @@
#include <svtools/miscopt.hxx> #include <svtools/miscopt.hxx>
#include <uielement/menubarmerger.hxx> #include <uielement/menubarmerger.hxx>
#include <boost/noncopyable.hpp> #include <boost/noncopyable.hpp>
#include <tools/urlobj.hxx>
// Be careful removing this "bad" construct. There are serious problems // Be careful removing this "bad" construct. There are serious problems
// with #define STRICT and including windows.h. Changing this needs some // with #define STRICT and including windows.h. Changing this needs some
...@@ -436,6 +437,21 @@ throw ( RuntimeException, std::exception ) ...@@ -436,6 +437,21 @@ throw ( RuntimeException, std::exception )
m_pVCLMenu->SetItemBits( pMenuItemHandler->nItemId, nBits | MenuItemBits::CHECKABLE ); m_pVCLMenu->SetItemBits( pMenuItemHandler->nItemId, nBits | MenuItemBits::CHECKABLE );
} }
else if ( Event.State >>= aItemText ) 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 // Replacement for place holders
if ( aItemText.startsWith("($1)") ) if ( aItemText.startsWith("($1)") )
...@@ -461,6 +477,7 @@ throw ( RuntimeException, std::exception ) ...@@ -461,6 +477,7 @@ throw ( RuntimeException, std::exception )
m_pVCLMenu->ShowItem( pMenuItemHandler->nItemId ); m_pVCLMenu->ShowItem( pMenuItemHandler->nItemId );
m_pVCLMenu->SetItemText( pMenuItemHandler->nItemId, aItemText ); m_pVCLMenu->SetItemText( pMenuItemHandler->nItemId, aItemText );
} }
}
else if ( Event.State >>= aVisibilityStatus ) else if ( Event.State >>= aVisibilityStatus )
{ {
// Visibility // 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