[Libreoffice-commits] core.git: sw/source
Miklos Vajna
vmiklos at collabora.co.uk
Tue Nov 17 03:22:39 PST 2015
sw/source/uibase/docvw/PostItMgr.cxx | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
New commits:
commit 0fd381b773cb7c15c4773affd4a3b298ad38fe92
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Tue Nov 17 12:21:42 2015 +0100
sw lok comments: fix text selection with custom zoom
SwPostItMgr::GetSidebarWidth() can be called in two scenarios:
- inside PaintTile() the output device contains the zoom level and has
the map mode enabled (and its scale factor is the zoom level)
- outisde PaintTile() the output device is SwEditWin and has the map
mode disabled (and the zoom level is to be taken from the view
options)
Change-Id: I6cf19f3241a2e972ae711e0efa7b0205aae1a3f2
diff --git a/sw/source/uibase/docvw/PostItMgr.cxx b/sw/source/uibase/docvw/PostItMgr.cxx
index 2889e21..b18cff5 100644
--- a/sw/source/uibase/docvw/PostItMgr.cxx
+++ b/sw/source/uibase/docvw/PostItMgr.cxx
@@ -1865,10 +1865,11 @@ bool SwPostItMgr::HasNotes() const
unsigned long SwPostItMgr::GetSidebarWidth(bool bPx) const
{
+ bool bEnableMapMode = !mpWrtShell->GetOut()->IsMapModeEnabled();
sal_uInt16 nZoom = mpWrtShell->GetViewOptions()->GetZoom();
- if (comphelper::LibreOfficeKit::isActive())
+ if (comphelper::LibreOfficeKit::isActive() && !bEnableMapMode)
{
- // The output device contains the real wanted scale factor.
+ // The output device is the tile and contains the real wanted scale factor.
double fScaleX = mpWrtShell->GetOut()->GetMapMode().GetScaleX();
nZoom = fScaleX * 100;
}
@@ -1877,7 +1878,15 @@ unsigned long SwPostItMgr::GetSidebarWidth(bool bPx) const
if (bPx)
return aWidth;
else
- return mpWrtShell->GetOut()->PixelToLogic(Size(aWidth, 0)).Width();
+ {
+ if (bEnableMapMode)
+ // The output device is the window.
+ mpWrtShell->GetOut()->EnableMapMode();
+ long nRet = mpWrtShell->GetOut()->PixelToLogic(Size(aWidth, 0)).Width();
+ if (bEnableMapMode)
+ mpWrtShell->GetOut()->EnableMapMode(false);
+ return nRet;
+ }
}
unsigned long SwPostItMgr::GetSidebarBorderWidth(bool bPx) const
More information about the Libreoffice-commits
mailing list