summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
Diffstat (limited to 'sc')
-rw-r--r--sc/source/ui/view/gridwin3.cxx25
1 files changed, 25 insertions, 0 deletions
diff --git a/sc/source/ui/view/gridwin3.cxx b/sc/source/ui/view/gridwin3.cxx
index 1fbc48e0ae6f..7c6c6ad9a55e 100644
--- a/sc/source/ui/view/gridwin3.cxx
+++ b/sc/source/ui/view/gridwin3.cxx
@@ -41,6 +41,11 @@ bool ScGridWindow::DrawMouseButtonDown(const MouseEvent& rMEvt)
FuPoor* pDraw = pViewData->GetView()->GetDrawFuncPtr();
if (pDraw && !pViewData->IsRefMode())
{
+ MapMode aDrawMode = GetDrawMapMode();
+ MapMode aOldMode = GetMapMode();
+ if ( comphelper::LibreOfficeKit::isActive() && aOldMode != aDrawMode )
+ SetMapMode( aDrawMode );
+
pDraw->SetWindow( this );
Point aLogicPos = PixelToLogic(rMEvt.GetPosPixel());
if ( pDraw->IsDetectiveHit( aLogicPos ) )
@@ -54,6 +59,9 @@ bool ScGridWindow::DrawMouseButtonDown(const MouseEvent& rMEvt)
if ( bRet )
UpdateStatusPosSize();
}
+
+ if ( comphelper::LibreOfficeKit::isActive() && aOldMode != aDrawMode )
+ SetMapMode( aOldMode );
}
// cancel draw with right key
@@ -73,6 +81,11 @@ bool ScGridWindow::DrawMouseButtonUp(const MouseEvent& rMEvt)
FuPoor* pDraw = pView->GetDrawFuncPtr();
if (pDraw && !pViewData->IsRefMode())
{
+ MapMode aDrawMode = GetDrawMapMode();
+ MapMode aOldMode = GetMapMode();
+ if ( comphelper::LibreOfficeKit::isActive() && aOldMode != aDrawMode )
+ SetMapMode( aDrawMode );
+
pDraw->SetWindow( this );
bRet = pDraw->MouseButtonUp( rMEvt );
@@ -89,6 +102,9 @@ bool ScGridWindow::DrawMouseButtonUp(const MouseEvent& rMEvt)
if ( !pView->IsPaintBrushLocked() )
pView->ResetBrushDocument(); // end paint brush mode if not locked
}
+
+ if ( comphelper::LibreOfficeKit::isActive() && aOldMode != aDrawMode )
+ SetMapMode( aOldMode );
}
return bRet;
@@ -99,10 +115,19 @@ bool ScGridWindow::DrawMouseMove(const MouseEvent& rMEvt)
FuPoor* pDraw = pViewData->GetView()->GetDrawFuncPtr();
if (pDraw && !pViewData->IsRefMode())
{
+ MapMode aDrawMode = GetDrawMapMode();
+ MapMode aOldMode = GetMapMode();
+ if ( comphelper::LibreOfficeKit::isActive() && aOldMode != aDrawMode )
+ SetMapMode( aDrawMode );
+
pDraw->SetWindow( this );
bool bRet = pDraw->MouseMove( rMEvt );
if ( bRet )
UpdateStatusPosSize();
+
+ if ( comphelper::LibreOfficeKit::isActive() && aOldMode != aDrawMode )
+ SetMapMode( aOldMode );
+
return bRet;
}
else