summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sc/inc/document.hxx2
-rw-r--r--sc/source/core/data/documen8.cxx4
-rw-r--r--sc/source/filter/excel/xlroot.cxx9
-rw-r--r--sc/source/filter/inc/xlroot.hxx2
4 files changed, 10 insertions, 7 deletions
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index 1188bbd9da2c..829091553d10 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -2173,7 +2173,7 @@ public:
SfxPrinter* GetPrinter( bool bCreateIfNotExist = true );
void SetPrinter( VclPtr<SfxPrinter> const & pNewPrinter );
VirtualDevice* GetVirtualDevice_100th_mm();
- SC_DLLPUBLIC OutputDevice* GetRefDevice(); // WYSIWYG: Printer, otherwise VirtualDevice...
+ SC_DLLPUBLIC OutputDevice* GetRefDevice(bool bForceVirtDev = false); // WYSIWYG: Printer, otherwise VirtualDevice...
bool GetNextSpellingCell( SCCOL& nCol, SCROW& nRow, SCTAB nTab,
bool bInSel, const ScMarkData& rMark) const;
diff --git a/sc/source/core/data/documen8.cxx b/sc/source/core/data/documen8.cxx
index 3354ead298f0..a7bcd9967b0d 100644
--- a/sc/source/core/data/documen8.cxx
+++ b/sc/source/core/data/documen8.cxx
@@ -197,11 +197,11 @@ VirtualDevice* ScDocument::GetVirtualDevice_100th_mm()
return mpVirtualDevice_100th_mm;
}
-OutputDevice* ScDocument::GetRefDevice()
+OutputDevice* ScDocument::GetRefDevice(bool bForceVirtDev)
{
// Create printer like ref device, see Writer...
OutputDevice* pRefDevice = nullptr;
- if ( SC_MOD()->GetInputOptions().GetTextWysiwyg() )
+ if ( !bForceVirtDev && SC_MOD()->GetInputOptions().GetTextWysiwyg() )
pRefDevice = GetPrinter();
else
pRefDevice = GetVirtualDevice_100th_mm();
diff --git a/sc/source/filter/excel/xlroot.cxx b/sc/source/filter/excel/xlroot.cxx
index bac3ca1b3f59..2702e85f5c56 100644
--- a/sc/source/filter/excel/xlroot.cxx
+++ b/sc/source/filter/excel/xlroot.cxx
@@ -24,6 +24,7 @@
#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/i18n/ScriptType.hpp>
+#include <comphelper/lok.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/servicehelper.hxx>
#include <sot/storage.hxx>
@@ -37,6 +38,7 @@
#include <vcl/font.hxx>
#include <vcl/settings.hxx>
#include <tools/diagnose_ex.h>
+#include <vcl/virdev.hxx>
#include <editeng/editstat.hxx>
#include <scitems.hxx>
@@ -207,7 +209,8 @@ void XclRoot::SetTextEncoding( rtl_TextEncoding eTextEnc )
void XclRoot::SetCharWidth( const XclFontData& rFontData )
{
mrData.mnCharWidth = 0;
- if( OutputDevice* pPrinter = GetPrinter() )
+ bool bIsLOK = comphelper::LibreOfficeKit::isActive();
+ if( OutputDevice* pPrinter = GetPrinter( bIsLOK ) )
{
vcl::Font aFont( rFontData.maName, Size( 0, rFontData.mnHeight ) );
aFont.SetFamily( rFontData.GetScFamily( GetTextEncoding() ) );
@@ -298,9 +301,9 @@ ScModelObj* XclRoot::GetDocModelObj() const
return pDocShell ? comphelper::getFromUnoTunnel<ScModelObj>( pDocShell->GetModel() ) : nullptr;
}
-OutputDevice* XclRoot::GetPrinter() const
+OutputDevice* XclRoot::GetPrinter(bool bForceVirtDev) const
{
- return GetDoc().GetRefDevice();
+ return GetDoc().GetRefDevice(bForceVirtDev);
}
ScStyleSheetPool& XclRoot::GetStyleSheetPool() const
diff --git a/sc/source/filter/inc/xlroot.hxx b/sc/source/filter/inc/xlroot.hxx
index 3e6db3701fd3..b1202ff7c194 100644
--- a/sc/source/filter/inc/xlroot.hxx
+++ b/sc/source/filter/inc/xlroot.hxx
@@ -204,7 +204,7 @@ public:
/** Returns the object model of the Calc document. */
ScModelObj* GetDocModelObj() const;
/** Returns pointer to the printer of the Calc document. */
- OutputDevice* GetPrinter() const;
+ OutputDevice* GetPrinter(bool bForceVirtDev = false) const;
/** Returns the style sheet pool of the Calc document. */
ScStyleSheetPool& GetStyleSheetPool() const;
/** Returns the defined names container of the Calc document. */