summaryrefslogtreecommitdiff
path: root/sc/source/ui/view/output2.cxx
diff options
context:
space:
mode:
authorMarco Cecchetti <marco.cecchetti@collabora.com>2018-06-14 12:32:48 +0200
committerJan Holesovsky <kendy@collabora.com>2018-06-18 12:57:18 +0200
commit209fad544ada8cc038d13b0c6e226642e0a31c26 (patch)
tree2270579fcf11e7bb39fd6bf8eb73c7a0b550fe4e /sc/source/ui/view/output2.cxx
parent7e948427b09f4eb13eea812379ddacc01c28ef17 (diff)
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@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'sc/source/ui/view/output2.cxx')
-rw-r--r--sc/source/ui/view/output2.cxx13
1 files changed, 11 insertions, 2 deletions
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;