[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sc/source

Marco Cecchetti marco.cecchetti at collabora.com
Mon Jun 18 10:57:40 UTC 2018


 sc/source/ui/view/output2.cxx |   13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

New commits:
commit 209fad544ada8cc038d13b0c6e226642e0a31c26
Author: Marco Cecchetti <marco.cecchetti at collabora.com>
Date:   Thu Jun 14 12:32:48 2018 +0200

    tdf#105720: lok: sc: currency symbol is displayed in the preceding cell
    
    Now in online the currency symbol is placed exactly as in the desktop
    case. Essentially there was a mapping issue.
    
    Change-Id: I6175cfeab3d8bc3a757c8522aa9c7a7e49c4bf2b
    Reviewed-on: https://gerrit.libreoffice.org/55800
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>
    Tested-by: Jan Holesovsky <kendy at collabora.com>

diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index 20f8b606e517..5575a26bc70b 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -75,6 +75,7 @@
 
 #include <com/sun/star/i18n/DirectionProperty.hpp>
 #include <comphelper/string.hxx>
+#include <comphelper/lok.hxx>
 
 #include <memory>
 #include <vector>
@@ -566,13 +567,21 @@ void ScDrawStringsVars::RepeatToFill( long nColWidth )
     if ( nRepeatPos == -1 || nRepeatPos > aString.getLength() )
         return;
 
+    const bool bIsTiledRendering = comphelper::LibreOfficeKit::isActive();
+
     long nCharWidth = pOutput->pFmtDevice->GetTextWidth(OUString(nRepeatChar));
-    if ( nCharWidth < 1) return;
+
+    if ( nCharWidth < 1 || (bIsTiledRendering && nCharWidth < TWIPS_PER_PIXEL)) return;
+
     if (bPixelToLogic)
         nColWidth = pOutput->mpRefDevice->PixelToLogic(Size(nColWidth,0)).Width();
+
     // Are there restrictions on the cell type we should filter out here ?
-    long nSpaceToFill = ( nColWidth - aTextSize.Width() );
+    long nTextWidth = aTextSize.Width();
+    if ( bIsTiledRendering )
+        nTextWidth = pOutput->mpRefDevice->PixelToLogic(Size(nTextWidth,0)).Width();
 
+    long nSpaceToFill = ( nColWidth - nTextWidth );
     if ( nSpaceToFill <= nCharWidth )
         return;
 


More information about the Libreoffice-commits mailing list