[Libreoffice-commits] core.git: Branch 'libreoffice-6-4' - svx/source

Aditya (via logerrit) logerrit at kemper.freedesktop.org
Fri Dec 20 21:54:23 UTC 2019


 svx/source/stbctrls/selctrl.cxx |   13 +++++++++++++
 1 file changed, 13 insertions(+)

New commits:
commit 0c21bf2b46b71816337fa4aba04e41126a08cd8e
Author:     Aditya <adityasahu1511 at gmail.com>
AuthorDate: Wed Dec 18 21:19:50 2019 +0530
Commit:     Eike Rathke <erack at 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 <erack at 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();


More information about the Libreoffice-commits mailing list