Blob Blame History Raw
From 7f5920e44431b79eb9961e9ca07b322dbaf9e8c7 Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmiklos@collabora.co.uk>
Date: Tue, 10 Nov 2015 19:29:22 +0100
Subject: [PATCH 299/398] sw lok: fix length of the line overlay above the
 notes

With this, e.g. a line above a note (with width of 180 px) is also 180
px, not 12 px.

Change-Id: I7c4eeda1bc904242dc298013411b9671ba0f2149
(cherry picked from commit 096408073c2de484cba3736d13b57d22b7f48775)
---
 sw/source/uibase/docvw/SidebarWin.cxx | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sw/source/uibase/docvw/SidebarWin.cxx b/sw/source/uibase/docvw/SidebarWin.cxx
index e3e238715365..4975513ffc34 100644
--- a/sw/source/uibase/docvw/SidebarWin.cxx
+++ b/sw/source/uibase/docvw/SidebarWin.cxx
@@ -606,6 +606,18 @@ void SwSidebarWin::SetPosAndSize()
             break;
         }
 
+        // LOK has map mode disabled, and we still want to perform pixel ->
+        // twips conversion for the size of the line above the note.
+        bool bEnableMapMode = comphelper::LibreOfficeKit::isActive() && !EditWin().IsMapModeEnabled();
+        if (bEnableMapMode)
+            EditWin().EnableMapMode();
+        Size aSize(aLineEnd.getX() - aLineStart.getX(), aLineEnd.getY() - aLineStart.getY());
+        aSize = EditWin().PixelToLogic(aSize);
+        aLineEnd = aLineStart;
+        aLineEnd.Move(aSize.getWidth(), aSize.getHeight());
+        if (bEnableMapMode)
+            EditWin().EnableMapMode(false);
+
         if (!IsPreview())
         {
             if (mpAnchor)
-- 
2.12.0