diff options
author | Yousuf Philips <philipz85@hotmail.com> | 2015-10-04 21:14:00 +0400 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-10-17 23:23:29 +0200 |
commit | 8d119cc12e61954d528fa4f415e4581ccee44c8d (patch) | |
tree | 31ac9bf5d41169a64e93cc2ffec864ba0177701f /framework | |
parent | 6ee218583c216420e16449752eba550a442183b9 (diff) |
tdf#91097 Substitute rectangle and ellipse uno commands
(cherry picked from commit 3080e4c09b7c4894d4f0f52c9beed4298f3fd23f)
(cherry picked from commit fedf965c51a9f57e5cde203a3d15a6c244558002)
(cherry picked from commit 4c2339d8177d610cc23619e787c1517ce8e8afd7)
(cherry picked from commit 1bc911eca173131fdc6e7e3889d128fa03adbf72)
Conflicts:
framework/source/uielement/menubarmanager.cxx
sc/uiconfig/scalc/menubar/menubar.xml
sd/uiconfig/simpress/menubar/menubar.xml
sw/uiconfig/swriter/menubar/menubar.xml
Change-Id: Ib6578ddd7897d9c5d63b5dc8d8465f6107cc24a6
Reviewed-on: https://gerrit.libreoffice.org/19345
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit be6440f4624be4da84ac8b71e66297d3e43ca249)
Diffstat (limited to 'framework')
-rw-r--r-- | framework/source/uielement/menubarmanager.cxx | 55 |
1 files changed, 36 insertions, 19 deletions
diff --git a/framework/source/uielement/menubarmanager.cxx b/framework/source/uielement/menubarmanager.cxx index 62400e469910..9e360738bcc8 100644 --- a/framework/source/uielement/menubarmanager.cxx +++ b/framework/source/uielement/menubarmanager.cxx @@ -76,6 +76,7 @@ #include <svtools/acceleratorexecute.hxx> #include <svtools/miscopt.hxx> #include <uielement/menubarmerger.hxx> +#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,29 +437,45 @@ throw ( RuntimeException, std::exception ) } else if ( Event.State >>= aItemText ) { - // Replacement for place holders - if ( aItemText.startsWith("($1)") ) + INetURLObject aURL( aFeatureURL ); + OUString aEnumPart = aURL.GetURLPath().getToken( 1, '.' ); + if ( !aEnumPart.isEmpty() && aURL.GetProtocol() == INetProtocol::Uno ) { - OUString aTmp(FWK_RESSTR(STR_UPDATEDOC)); - aTmp += " "; - aTmp += aItemText.copy( 4 ); - aItemText = aTmp; + // Checkmark or RadioButton + m_pVCLMenu->ShowItem( pMenuItemHandler->nItemId, true ); + m_pVCLMenu->CheckItem( pMenuItemHandler->nItemId, aItemText == aEnumPart ); + + 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 if ( aItemText.startsWith("($2)") ) - { - OUString aTmp(FWK_RESSTR(STR_CLOSEDOC_ANDRETURN)); - aTmp += aItemText.copy( 4 ); - aItemText = aTmp; - } - else if ( aItemText.startsWith("($3)") ) + else { - OUString aTmp(FWK_RESSTR(STR_SAVECOPYDOC)); - aTmp += aItemText.copy( 4 ); - aItemText = aTmp; - } + // Replacement for place holders + if ( aItemText.startsWith("($1)") ) + { + OUString aTmp(FWK_RESSTR(STR_UPDATEDOC)); + aTmp += " "; + aTmp += aItemText.copy( 4 ); + aItemText = aTmp; + } + else if ( aItemText.startsWith("($2)") ) + { + OUString aTmp(FWK_RESSTR(STR_CLOSEDOC_ANDRETURN)); + aTmp += aItemText.copy( 4 ); + aItemText = aTmp; + } + else if ( aItemText.startsWith("($3)") ) + { + OUString aTmp(FWK_RESSTR(STR_SAVECOPYDOC)); + aTmp += aItemText.copy( 4 ); + aItemText = aTmp; + } - m_pVCLMenu->ShowItem( pMenuItemHandler->nItemId, true ); - m_pVCLMenu->SetItemText( pMenuItemHandler->nItemId, aItemText ); + m_pVCLMenu->ShowItem( pMenuItemHandler->nItemId, true ); + m_pVCLMenu->SetItemText( pMenuItemHandler->nItemId, aItemText ); + } } else if ( Event.State >>= aVisibilityStatus ) { |