svx/source/stbctrls/selctrl.cxx | 13 +++++++++++++ 1 file changed, 13 insertions(+)
New commits: commit 0c21bf2b46b71816337fa4aba04e41126a08cd8e Author: Aditya <adityasahu1...@gmail.com> AuthorDate: Wed Dec 18 21:19:50 2019 +0530 Commit: Eike Rathke <er...@redhat.com> CommitDate: Fri Dec 20 22:53:28 2019 +0100 tdf#122280: Hide Block selection mode from Calc Currently, the Block Selection Mode in pop-up menu is dysfunctional in Calc. It is unreachable - when the user tries to choose "Block selection" from the pop-up menu that lies in the status bar, it shifts back to "Standard selection". Hide the Block Selection mode from Calc, simply because it is dysfunctional and useless. Change-Id: Ib8618b7f0281de13a5f6ef9d35b67330f43c4318 Reviewed-on: https://gerrit.libreoffice.org/84142 Tested-by: Jenkins Reviewed-by: Eike Rathke <er...@redhat.com> (cherry picked from commit 1e94d803f7a70027d03f1303c19818ca2de0d67f) Reviewed-on: https://gerrit.libreoffice.org/85629 diff --git a/svx/source/stbctrls/selctrl.cxx b/svx/source/stbctrls/selctrl.cxx index 1e97e160f289..9f6fc1135148 100644 --- a/svx/source/stbctrls/selctrl.cxx +++ b/svx/source/stbctrls/selctrl.cxx @@ -31,6 +31,8 @@ #include <bitmaps.hlst> #include <com/sun/star/beans/PropertyValue.hpp> +#include <com/sun/star/frame/XFrame.hpp> +#include <com/sun/star/lang/XServiceInfo.hpp> SFX_IMPL_STATUSBAR_CONTROL(SvxSelectionModeControl, SfxUInt16Item); @@ -46,6 +48,7 @@ public: OUString GetItemTextForState(sal_uInt16 nState) { return m_xMenu->GetItemText(state_to_id(nState)); } sal_uInt16 GetState() const { return id_to_state(m_xMenu->GetCurItemIdent()); } sal_uInt16 Execute(vcl::Window* pWindow, const Point& rPopupPos) { return m_xMenu->Execute(pWindow, rPopupPos); } + void HideSelectionType(const OString& rIdent) { m_xMenu->HideItem(m_xMenu->GetItemId(rIdent)); } }; sal_uInt16 SelectionTypePopup::id_to_state(const OString& rIdent) @@ -108,6 +111,16 @@ bool SvxSelectionModeControl::MouseButtonDown( const MouseEvent& rEvt ) SelectionTypePopup aPop(mnState); StatusBar& rStatusbar = GetStatusBar(); + // Check if Calc is opened; if true, hide block selection mode tdf#122280 + const css::uno::Reference < css::frame::XModel > xModel = m_xFrame->getController()->getModel(); + css::uno::Reference< css::lang::XServiceInfo > xServices( xModel, css::uno::UNO_QUERY ); + if ( xServices.is() ) + { + bool bSpecModeCalc = xServices->supportsService("com.sun.star.sheet.SpreadsheetDocument"); + if (bSpecModeCalc) + aPop.HideSelectionType("block"); + } + if (rEvt.IsMiddle() && aPop.Execute(&rStatusbar, rEvt.GetPosPixel())) { sal_uInt16 nNewState = aPop.GetState(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits