[Libreoffice-commits] core.git: include/svtools include/unotools sfx2/source svtools/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Sun Jul 25 10:56:28 UTC 2021
include/svtools/printoptions.hxx | 79 ----
include/unotools/itemholderbase.hxx | 2
sfx2/source/dialog/printopt.cxx | 11
svtools/source/config/itemholder2.cxx | 8
svtools/source/config/printoptions.cxx | 547 ++++++---------------------------
5 files changed, 116 insertions(+), 531 deletions(-)
New commits:
commit c05adac9229aad0683d2e75a8f8dcd5421c66b02
Author: Noel Grandin <noelgrandin at gmail.com>
AuthorDate: Sat Jul 24 22:56:15 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Sun Jul 25 12:55:51 2021 +0200
use officecfg for print options
Change-Id: I2a85d802b9edda638da467e273ad3d24cbf2bcf1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119476
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/include/svtools/printoptions.hxx b/include/svtools/printoptions.hxx
index 72120306c5f5..6f2e86df3cf1 100644
--- a/include/svtools/printoptions.hxx
+++ b/include/svtools/printoptions.hxx
@@ -22,88 +22,15 @@
#include <config_options.h>
#include <svtools/svtdllapi.h>
#include <sal/types.h>
-#include <unotools/options.hxx>
-namespace osl { class Mutex; }
-
-class SvtPrintOptions_Impl;
class PrinterOptions;
-
-class UNLESS_MERGELIBS(SVT_DLLPUBLIC) SvtBasePrintOptions: public utl::detail::Options
+namespace svtools
{
-
- SvtPrintOptions_Impl* m_pDataContainer;
-
-protected:
-
- void SetDataContainer( SvtPrintOptions_Impl* pDataContainer ) { m_pDataContainer = pDataContainer; }
-
-public:
-
- static ::osl::Mutex& GetOwnStaticMutex();
-
-public:
-
- SvtBasePrintOptions();
- virtual ~SvtBasePrintOptions() override;
-
- static bool IsReduceTransparency();
- static sal_Int16 GetReducedTransparencyMode();
- static bool IsReduceGradients();
- static sal_Int16 GetReducedGradientMode();
- static sal_Int16 GetReducedGradientStepCount();
- static bool IsReduceBitmaps();
- static sal_Int16 GetReducedBitmapMode();
- static sal_Int16 GetReducedBitmapResolution();
- static bool IsReducedBitmapIncludesTransparency();
- static bool IsConvertToGreyscales();
- static bool IsPDFAsStandardPrintJobFormat();
-
- void SetReduceTransparency( bool bState );
- void SetReducedTransparencyMode( sal_Int16 nMode );
- void SetReduceGradients( bool bState );
- void SetReducedGradientMode( sal_Int16 nMode );
- void SetReducedGradientStepCount( sal_Int16 nStepCount );
- void SetReduceBitmaps( bool bState );
- void SetReducedBitmapMode( sal_Int16 bState );
- void SetReducedBitmapResolution( sal_Int16 nResolution );
- void SetReducedBitmapIncludesTransparency( bool bState );
- void SetConvertToGreyscales( bool bState );
- void SetPDFAsStandardPrintJobFormat( bool bState );
-
-public:
-
- static void GetPrinterOptions( PrinterOptions& rOptions );
- void SetPrinterOptions( const PrinterOptions& rOptions );
+ SVT_DLLPUBLIC void GetPrinterOptions( PrinterOptions& rOptions, bool bFile );
+ SVT_DLLPUBLIC void SetPrinterOptions( const PrinterOptions& rOptions, bool bFile );
};
-class UNLESS_MERGELIBS(SVT_DLLPUBLIC) SvtPrinterOptions final : public SvtBasePrintOptions
-{
-private:
-
- static SvtPrintOptions_Impl* m_pStaticDataContainer;
- static sal_Int32 m_nRefCount;
-
-public:
-
- SvtPrinterOptions();
- virtual ~SvtPrinterOptions() override;
-};
-
-
-class UNLESS_MERGELIBS(SVT_DLLPUBLIC) SvtPrintFileOptions final : public SvtBasePrintOptions
-{
-private:
-
- static SvtPrintOptions_Impl* m_pStaticDataContainer;
- static sal_Int32 m_nRefCount;
-
-public:
-
- SvtPrintFileOptions();
- virtual ~SvtPrintFileOptions() override;
-};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/unotools/itemholderbase.hxx b/include/unotools/itemholderbase.hxx
index 3546e5fd1478..676ed455484a 100644
--- a/include/unotools/itemholderbase.hxx
+++ b/include/unotools/itemholderbase.hxx
@@ -55,8 +55,6 @@ enum class EItem
OptionsDialogOptions ,
PathOptions ,
- PrintOptions , // 2
- PrintFileOptions , // 2
SecurityOptions ,
SysLocaleOptions , // 2
diff --git a/sfx2/source/dialog/printopt.cxx b/sfx2/source/dialog/printopt.cxx
index d6fe953c785b..f94b0204cd6f 100644
--- a/sfx2/source/dialog/printopt.cxx
+++ b/sfx2/source/dialog/printopt.cxx
@@ -91,9 +91,6 @@ std::unique_ptr<SfxTabPage> SfxCommonPrintOptionsTabPage::Create(weld::Container
bool SfxCommonPrintOptionsTabPage::FillItemSet( SfxItemSet* /*rSet*/ )
{
- SvtPrinterOptions aPrinterOptions;
- SvtPrintFileOptions aPrintFileOptions;
-
std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create());
if( m_xPaperSizeCB->get_state_changed_from_saved())
@@ -107,8 +104,8 @@ bool SfxCommonPrintOptionsTabPage::FillItemSet( SfxItemSet* /*rSet*/ )
ImplSaveControls( m_xPrinterOutputRB->get_active() ? &maPrinterOptions : &maPrintFileOptions );
- aPrinterOptions.SetPrinterOptions( maPrinterOptions );
- aPrintFileOptions.SetPrinterOptions( maPrintFileOptions );
+ svtools::SetPrinterOptions(maPrinterOptions, /*bFile*/false);
+ svtools::SetPrinterOptions(maPrintFileOptions, /*bFile*/true);
return false;
}
@@ -123,8 +120,8 @@ void SfxCommonPrintOptionsTabPage::Reset( const SfxItemSet* /*rSet*/ )
m_xPaperOrientationCB->save_state();
m_xTransparencyCB->save_state();
- SvtBasePrintOptions::GetPrinterOptions( maPrinterOptions );
- SvtBasePrintOptions::GetPrinterOptions( maPrintFileOptions );
+ svtools::GetPrinterOptions( maPrinterOptions, /*bFile*/false );
+ svtools::GetPrinterOptions( maPrintFileOptions, /*bFile*/true );
if(m_xPrintFileOutputRB->get_active()){
m_xPrinterOutputRB->set_active(true);
}
diff --git a/svtools/source/config/itemholder2.cxx b/svtools/source/config/itemholder2.cxx
index adb68024b020..52993547543f 100644
--- a/svtools/source/config/itemholder2.cxx
+++ b/svtools/source/config/itemholder2.cxx
@@ -132,14 +132,6 @@ void ItemHolder2::impl_newItem(TItemInfo& rItem)
rItem.pItem.reset( new SvtMenuOptions() );
break;
- case EItem::PrintOptions :
- rItem.pItem.reset( new SvtPrinterOptions() );
- break;
-
- case EItem::PrintFileOptions :
- rItem.pItem.reset( new SvtPrintFileOptions() );
- break;
-
case EItem::MiscOptions :
rItem.pItem.reset( new SvtMiscOptions() );
break;
diff --git a/svtools/source/config/printoptions.cxx b/svtools/source/config/printoptions.cxx
index e7d7ce991429..4dd889186e6c 100644
--- a/svtools/source/config/printoptions.cxx
+++ b/svtools/source/config/printoptions.cxx
@@ -19,18 +19,7 @@
#include <svtools/printoptions.hxx>
#include <vcl/print.hxx>
-#include <com/sun/star/uno/Any.hxx>
-
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/container/XNameAccess.hpp>
-
-#include <comphelper/configurationhelper.hxx>
-#include <comphelper/processfactory.hxx>
-
#include <officecfg/Office/Common.hxx>
-
-#include "itemholder2.hxx"
-
#include <sal/macros.h>
#include <tools/diagnose_ex.h>
@@ -38,463 +27,145 @@ const sal_uInt16 aDPIArray[] = { 72, 96, 150, 200, 300, 600 };
#define DPI_COUNT (SAL_N_ELEMENTS(aDPIArray))
-#define ROOTNODE_START "Office.Common/Print/Option"
-#define ROOTNODE_PRINTOPTION "org.openoffice.Office.Common/Print/Option"
-
-#define PROPERTYNAME_REDUCETRANSPARENCY "ReduceTransparency"
-#define PROPERTYNAME_REDUCEDTRANSPARENCYMODE "ReducedTransparencyMode"
-#define PROPERTYNAME_REDUCEGRADIENTS "ReduceGradients"
-#define PROPERTYNAME_REDUCEDGRADIENTMODE "ReducedGradientMode"
-#define PROPERTYNAME_REDUCEDGRADIENTSTEPCOUNT "ReducedGradientStepCount"
-#define PROPERTYNAME_REDUCEBITMAPS "ReduceBitmaps"
-#define PROPERTYNAME_REDUCEDBITMAPMODE "ReducedBitmapMode"
-#define PROPERTYNAME_REDUCEDBITMAPRESOLUTION "ReducedBitmapResolution"
-#define PROPERTYNAME_REDUCEDBITMAPINCLUDESTRANSPARENCY "ReducedBitmapIncludesTransparency"
-#define PROPERTYNAME_CONVERTTOGREYSCALES "ConvertToGreyscales"
-#define PROPERTYNAME_PDFASSTANDARDPRINTJOBFORMAT "PDFAsStandardPrintJobFormat"
-
-using namespace ::utl;
using namespace ::osl;
using namespace ::com::sun::star::uno;
-SvtPrintOptions_Impl* SvtPrinterOptions::m_pStaticDataContainer = nullptr;
-sal_Int32 SvtPrinterOptions::m_nRefCount = 0;
-
-SvtPrintOptions_Impl* SvtPrintFileOptions::m_pStaticDataContainer = nullptr;
-sal_Int32 SvtPrintFileOptions::m_nRefCount = 0;
-
-class SvtPrintOptions_Impl
+namespace svtools
{
-public:
- explicit SvtPrintOptions_Impl( const OUString& rConfigRoot );
- ~SvtPrintOptions_Impl();
-
- void SetReduceTransparency( bool bState ) ;
- void SetReducedTransparencyMode( sal_Int16 nMode ) ;
- void SetReduceGradients( bool bState ) ;
- void SetReducedGradientMode( sal_Int16 nMode ) ;
- void SetReducedGradientStepCount( sal_Int16 nStepCount ) ;
- void SetReduceBitmaps( bool bState ) ;
- void SetReducedBitmapMode( sal_Int16 nMode ) ;
- void SetReducedBitmapResolution( sal_Int16 nResolution ) ;
- void SetReducedBitmapIncludesTransparency( bool bState ) ;
- void SetConvertToGreyscales( bool bState ) ;
- void SetPDFAsStandardPrintJobFormat( bool bState ) ;
-
-
-// private API
-
-private:
- void impl_setValue (const OUString& sProp, bool bNew );
- void impl_setValue (const OUString& sProp, sal_Int16 nNew );
-
-
-// private member
-
-
-private:
- css::uno::Reference< css::container::XNameAccess > m_xCfg;
- css::uno::Reference< css::container::XNameAccess > m_xNode;
-};
-
-SvtPrintOptions_Impl::SvtPrintOptions_Impl(const OUString& rConfigRoot)
+void GetPrinterOptions( PrinterOptions& rOptions, bool bFile )
{
- try
- {
- m_xCfg.set(
- ::comphelper::ConfigurationHelper::openConfig(
- comphelper::getProcessComponentContext(),
- ROOTNODE_PRINTOPTION,
- ::comphelper::EConfigurationModes::Standard),
- css::uno::UNO_QUERY);
-
- if (m_xCfg.is())
- {
- m_xCfg->getByName(rConfigRoot.copy(rConfigRoot.lastIndexOf('/')+1)) >>= m_xNode;
- }
- }
- catch (const css::uno::Exception&)
+ if (bFile)
{
- DBG_UNHANDLED_EXCEPTION("svtools.config");
- m_xNode.clear();
- m_xCfg.clear();
+ rOptions.SetReduceTransparency( officecfg::Office::Common::Print::Option::File::ReduceTransparency::get() );
+ rOptions.SetReducedTransparencyMode( static_cast<PrinterTransparencyMode>(
+ officecfg::Office::Common::Print::Option::File::ReducedTransparencyMode::get() ) );
+ rOptions.SetReduceGradients( officecfg::Office::Common::Print::Option::File::ReduceGradients::get() );
+ rOptions.SetReducedGradientMode( static_cast<PrinterGradientMode>(
+ officecfg::Office::Common::Print::Option::File::ReducedGradientMode::get()) );
+ rOptions.SetReducedGradientStepCount( officecfg::Office::Common::Print::Option::File::ReducedGradientStepCount::get() );
+ rOptions.SetReduceBitmaps( officecfg::Office::Common::Print::Option::File::ReduceBitmaps::get() );
+ rOptions.SetReducedBitmapMode( static_cast<PrinterBitmapMode>(
+ officecfg::Office::Common::Print::Option::File::ReducedBitmapMode::get()) );
+ rOptions.SetReducedBitmapResolution( aDPIArray[ std::min( static_cast<sal_uInt16>(
+ officecfg::Office::Common::Print::Option::File::ReducedBitmapResolution::get()), sal_uInt16( DPI_COUNT - 1 ) ) ] );
+ rOptions.SetReducedBitmapIncludesTransparency(
+ officecfg::Office::Common::Print::Option::File::ReducedBitmapIncludesTransparency::get() );
+ rOptions.SetConvertToGreyscales( officecfg::Office::Common::Print::Option::File::ConvertToGreyscales::get() );
+ rOptions.SetPDFAsStandardPrintJobFormat( officecfg::Office::Common::Print::Option::File::PDFAsStandardPrintJobFormat::get() );
}
-}
-
-void SvtPrintOptions_Impl::SetReduceTransparency(bool bState)
-{
- impl_setValue(PROPERTYNAME_REDUCETRANSPARENCY, bState);
-}
-
-void SvtPrintOptions_Impl::SetReducedTransparencyMode(sal_Int16 nMode)
-{
- impl_setValue(PROPERTYNAME_REDUCEDTRANSPARENCYMODE, nMode);
-}
-
-void SvtPrintOptions_Impl::SetReduceGradients(bool bState)
-{
- impl_setValue(PROPERTYNAME_REDUCEGRADIENTS, bState);
-}
-
-void SvtPrintOptions_Impl::SetReducedGradientMode(sal_Int16 nMode)
-{
- impl_setValue(PROPERTYNAME_REDUCEDGRADIENTMODE, nMode);
-}
-
-void SvtPrintOptions_Impl::SetReducedGradientStepCount(sal_Int16 nStepCount )
-{
- impl_setValue(PROPERTYNAME_REDUCEDGRADIENTSTEPCOUNT, nStepCount);
-}
-
-void SvtPrintOptions_Impl::SetReduceBitmaps(bool bState )
-{
- impl_setValue(PROPERTYNAME_REDUCEBITMAPS, bState);
-}
-
-void SvtPrintOptions_Impl::SetReducedBitmapMode(sal_Int16 nMode )
-{
- impl_setValue(PROPERTYNAME_REDUCEDBITMAPMODE, nMode);
-}
-
-void SvtPrintOptions_Impl::SetReducedBitmapResolution(sal_Int16 nResolution )
-{
- impl_setValue(PROPERTYNAME_REDUCEDBITMAPRESOLUTION, nResolution);
-}
-
-void SvtPrintOptions_Impl::SetReducedBitmapIncludesTransparency(bool bState )
-{
- impl_setValue(PROPERTYNAME_REDUCEDBITMAPINCLUDESTRANSPARENCY, bState);
-}
-
-void SvtPrintOptions_Impl::SetConvertToGreyscales(bool bState)
-{
- impl_setValue(PROPERTYNAME_CONVERTTOGREYSCALES, bState);
-}
-
-void SvtPrintOptions_Impl::SetPDFAsStandardPrintJobFormat(bool bState)
-{
- impl_setValue(PROPERTYNAME_PDFASSTANDARDPRINTJOBFORMAT, bState);
-}
-
-SvtPrintOptions_Impl::~SvtPrintOptions_Impl()
-{
- m_xNode.clear();
- m_xCfg.clear();
-}
-
-void SvtPrintOptions_Impl::impl_setValue (const OUString& sProp, bool bNew )
-{
- try
- {
- if ( ! m_xNode.is())
- return;
-
- css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
- if ( ! xSet.is())
- return;
-
- bool bOld = ! bNew;
- if ( ! (xSet->getPropertyValue(sProp) >>= bOld))
- return;
-
- if (bOld != bNew)
- {
- xSet->setPropertyValue(sProp, css::uno::makeAny(bNew));
- ::comphelper::ConfigurationHelper::flush(m_xCfg);
- }
- }
- catch(const css::uno::Exception&)
+ else
{
- DBG_UNHANDLED_EXCEPTION("svtools.config");
+ rOptions.SetReduceTransparency( officecfg::Office::Common::Print::Option::Printer::ReduceTransparency::get() );
+ rOptions.SetReducedTransparencyMode( static_cast<PrinterTransparencyMode>(
+ officecfg::Office::Common::Print::Option::Printer::ReducedTransparencyMode::get() ) );
+ rOptions.SetReduceGradients( officecfg::Office::Common::Print::Option::Printer::ReduceGradients::get() );
+ rOptions.SetReducedGradientMode( static_cast<PrinterGradientMode>(
+ officecfg::Office::Common::Print::Option::Printer::ReducedGradientMode::get()) );
+ rOptions.SetReducedGradientStepCount( officecfg::Office::Common::Print::Option::Printer::ReducedGradientStepCount::get() );
+ rOptions.SetReduceBitmaps( officecfg::Office::Common::Print::Option::Printer::ReduceBitmaps::get() );
+ rOptions.SetReducedBitmapMode( static_cast<PrinterBitmapMode>(
+ officecfg::Office::Common::Print::Option::Printer::ReducedBitmapMode::get()) );
+ rOptions.SetReducedBitmapResolution( aDPIArray[ std::min( static_cast<sal_uInt16>(
+ officecfg::Office::Common::Print::Option::Printer::ReducedBitmapResolution::get()), sal_uInt16( DPI_COUNT - 1 ) ) ] );
+ rOptions.SetReducedBitmapIncludesTransparency(
+ officecfg::Office::Common::Print::Option::Printer::ReducedBitmapIncludesTransparency::get() );
+ rOptions.SetConvertToGreyscales( officecfg::Office::Common::Print::Option::Printer::ConvertToGreyscales::get() );
+ rOptions.SetPDFAsStandardPrintJobFormat( officecfg::Office::Common::Print::Option::Printer::PDFAsStandardPrintJobFormat::get() );
}
}
-void SvtPrintOptions_Impl::impl_setValue (const OUString& sProp,
- ::sal_Int16 nNew )
+void SetPrinterOptions( const PrinterOptions& rOptions, bool bFile )
{
- try
+ std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create());
+ if (bFile)
{
- if ( ! m_xNode.is())
- return;
-
- css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
- if ( ! xSet.is())
- return;
-
- ::sal_Int16 nOld = nNew+1;
- if ( ! (xSet->getPropertyValue(sProp) >>= nOld))
- return;
-
- if (nOld != nNew)
+ officecfg::Office::Common::Print::Option::File::ReduceTransparency::set(
+ rOptions.IsReduceTransparency(), batch );
+ officecfg::Office::Common::Print::Option::File::ReducedTransparencyMode::set(
+ static_cast<sal_Int16>(rOptions.GetReducedTransparencyMode()), batch );
+ officecfg::Office::Common::Print::Option::File::ReduceGradients::set(
+ rOptions.IsReduceGradients(), batch );
+ officecfg::Office::Common::Print::Option::File::ReducedGradientMode::set(
+ static_cast<sal_Int16>(rOptions.GetReducedGradientMode()), batch );
+ officecfg::Office::Common::Print::Option::File::ReducedGradientStepCount::set(
+ rOptions.GetReducedGradientStepCount(), batch );
+ officecfg::Office::Common::Print::Option::File::ReduceBitmaps::set(
+ rOptions.IsReduceBitmaps(), batch );
+ officecfg::Office::Common::Print::Option::File::ReducedBitmapMode::set(
+ static_cast<sal_Int16>(rOptions.GetReducedBitmapMode()), batch );
+ officecfg::Office::Common::Print::Option::File::ReducedBitmapIncludesTransparency::set(
+ rOptions.IsReducedBitmapIncludesTransparency(), batch );
+ officecfg::Office::Common::Print::Option::File::ConvertToGreyscales::set(
+ rOptions.IsConvertToGreyscales(), batch );
+ officecfg::Office::Common::Print::Option::File::PDFAsStandardPrintJobFormat::set(
+ rOptions.IsPDFAsStandardPrintJobFormat(), batch );
+
+ const sal_uInt16 nDPI = rOptions.GetReducedBitmapResolution();
+
+ if( nDPI < aDPIArray[ 0 ] )
+ officecfg::Office::Common::Print::Option::File::ReducedBitmapResolution::set( 0, batch );
+ else
{
- xSet->setPropertyValue(sProp, css::uno::makeAny(nNew));
- ::comphelper::ConfigurationHelper::flush(m_xCfg);
+ for( tools::Long i = DPI_COUNT - 1; i >= 0; i-- )
+ {
+ if( nDPI >= aDPIArray[ i ] )
+ {
+ officecfg::Office::Common::Print::Option::File::ReducedBitmapResolution::set(
+ static_cast<sal_Int16>(i), batch );
+ i = -1;
+ }
+ }
}
}
- catch(const css::uno::Exception&)
- {
- DBG_UNHANDLED_EXCEPTION("svtools.config");
- }
-}
-
-SvtBasePrintOptions::SvtBasePrintOptions()
- : m_pDataContainer(nullptr)
-{
-}
-
-SvtBasePrintOptions::~SvtBasePrintOptions()
-{
-}
-
-Mutex& SvtBasePrintOptions::GetOwnStaticMutex()
-{
- static Mutex ourMutex;
-
- return ourMutex;
-}
-
-bool SvtBasePrintOptions::IsReduceTransparency()
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- return officecfg::Office::Common::Print::Option::Printer::ReduceTransparency::get();
-}
-
-sal_Int16 SvtBasePrintOptions::GetReducedTransparencyMode()
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- return officecfg::Office::Common::Print::Option::Printer::ReducedTransparencyMode::get();
-}
-
-bool SvtBasePrintOptions::IsReduceGradients()
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- return officecfg::Office::Common::Print::Option::Printer::ReduceGradients::get();
-}
-
-sal_Int16 SvtBasePrintOptions::GetReducedGradientMode()
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- return officecfg::Office::Common::Print::Option::Printer::ReducedGradientMode::get();
-}
-
-sal_Int16 SvtBasePrintOptions::GetReducedGradientStepCount()
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- return officecfg::Office::Common::Print::Option::Printer::ReducedGradientStepCount::get();
-}
-
-bool SvtBasePrintOptions::IsReduceBitmaps()
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- return officecfg::Office::Common::Print::Option::Printer::ReduceBitmaps::get();
-}
-
-sal_Int16 SvtBasePrintOptions::GetReducedBitmapMode()
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- return officecfg::Office::Common::Print::Option::Printer::ReducedBitmapMode::get();
-}
-
-sal_Int16 SvtBasePrintOptions::GetReducedBitmapResolution()
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- return officecfg::Office::Common::Print::Option::Printer::ReducedBitmapResolution::get();
-}
-
-bool SvtBasePrintOptions::IsReducedBitmapIncludesTransparency()
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- return officecfg::Office::Common::Print::Option::Printer::ReducedBitmapIncludesTransparency::get();
-}
-
-bool SvtBasePrintOptions::IsConvertToGreyscales()
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- return officecfg::Office::Common::Print::Option::Printer::ConvertToGreyscales::get();
-}
-
-bool SvtBasePrintOptions::IsPDFAsStandardPrintJobFormat()
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- return officecfg::Office::Common::Print::Option::Printer::PDFAsStandardPrintJobFormat::get();
-}
-
-void SvtBasePrintOptions::SetReduceTransparency( bool bState )
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- m_pDataContainer->SetReduceTransparency( bState ) ;
-}
-
-void SvtBasePrintOptions::SetReducedTransparencyMode( sal_Int16 nMode )
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- m_pDataContainer->SetReducedTransparencyMode( nMode );
-}
-
-void SvtBasePrintOptions::SetReduceGradients( bool bState )
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- m_pDataContainer->SetReduceGradients( bState );
-}
-
-void SvtBasePrintOptions::SetReducedGradientMode( sal_Int16 nMode )
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- m_pDataContainer->SetReducedGradientMode( nMode );
-}
-
-void SvtBasePrintOptions::SetReducedGradientStepCount( sal_Int16 nStepCount )
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- m_pDataContainer->SetReducedGradientStepCount( nStepCount );
-}
-
-void SvtBasePrintOptions::SetReduceBitmaps( bool bState )
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- m_pDataContainer->SetReduceBitmaps( bState );
-}
-
-void SvtBasePrintOptions::SetReducedBitmapMode( sal_Int16 nMode )
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- m_pDataContainer->SetReducedBitmapMode( nMode );
-}
-
-void SvtBasePrintOptions::SetReducedBitmapResolution( sal_Int16 nResolution )
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- m_pDataContainer->SetReducedBitmapResolution( nResolution );
-}
-
-void SvtBasePrintOptions::SetReducedBitmapIncludesTransparency( bool bState )
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- m_pDataContainer->SetReducedBitmapIncludesTransparency( bState );
-}
-
-void SvtBasePrintOptions::SetConvertToGreyscales( bool bState )
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- m_pDataContainer->SetConvertToGreyscales( bState );
-}
-
-void SvtBasePrintOptions::SetPDFAsStandardPrintJobFormat( bool bState )
-{
- MutexGuard aGuard( GetOwnStaticMutex() );
- m_pDataContainer->SetPDFAsStandardPrintJobFormat( bState );
-}
-
-void SvtBasePrintOptions::GetPrinterOptions( PrinterOptions& rOptions )
-{
- rOptions.SetReduceTransparency( IsReduceTransparency() );
- rOptions.SetReducedTransparencyMode( static_cast<PrinterTransparencyMode>(GetReducedTransparencyMode()) );
- rOptions.SetReduceGradients( IsReduceGradients() );
- rOptions.SetReducedGradientMode( static_cast<PrinterGradientMode>(GetReducedGradientMode()) );
- rOptions.SetReducedGradientStepCount( GetReducedGradientStepCount() );
- rOptions.SetReduceBitmaps( IsReduceBitmaps() );
- rOptions.SetReducedBitmapMode( static_cast<PrinterBitmapMode>(GetReducedBitmapMode()) );
- rOptions.SetReducedBitmapResolution( aDPIArray[ std::min( static_cast<sal_uInt16>(GetReducedBitmapResolution()), sal_uInt16( DPI_COUNT - 1 ) ) ] );
- rOptions.SetReducedBitmapIncludesTransparency( IsReducedBitmapIncludesTransparency() );
- rOptions.SetConvertToGreyscales( IsConvertToGreyscales() );
- rOptions.SetPDFAsStandardPrintJobFormat( IsPDFAsStandardPrintJobFormat() );
-}
-
-void SvtBasePrintOptions::SetPrinterOptions( const PrinterOptions& rOptions )
-{
- SetReduceTransparency( rOptions.IsReduceTransparency() );
- SetReducedTransparencyMode(
- sal::static_int_cast< sal_Int16 >(
- rOptions.GetReducedTransparencyMode()) );
- SetReduceGradients( rOptions.IsReduceGradients() );
- SetReducedGradientMode(
- sal::static_int_cast< sal_Int16 >(rOptions.GetReducedGradientMode()) );
- SetReducedGradientStepCount( rOptions.GetReducedGradientStepCount() );
- SetReduceBitmaps( rOptions.IsReduceBitmaps() );
- SetReducedBitmapMode(
- sal::static_int_cast< sal_Int16 >(rOptions.GetReducedBitmapMode()) );
- SetReducedBitmapIncludesTransparency( rOptions.IsReducedBitmapIncludesTransparency() );
- SetConvertToGreyscales( rOptions.IsConvertToGreyscales() );
- SetPDFAsStandardPrintJobFormat( rOptions.IsPDFAsStandardPrintJobFormat() );
-
- const sal_uInt16 nDPI = rOptions.GetReducedBitmapResolution();
-
- if( nDPI < aDPIArray[ 0 ] )
- SetReducedBitmapResolution( 0 );
else
{
- for( tools::Long i = DPI_COUNT - 1; i >= 0; i-- )
+ officecfg::Office::Common::Print::Option::Printer::ReduceTransparency::set(
+ rOptions.IsReduceTransparency(), batch );
+ officecfg::Office::Common::Print::Option::Printer::ReducedTransparencyMode::set(
+ static_cast<sal_Int16>(rOptions.GetReducedTransparencyMode()), batch );
+ officecfg::Office::Common::Print::Option::Printer::ReduceGradients::set(
+ rOptions.IsReduceGradients(), batch );
+ officecfg::Office::Common::Print::Option::Printer::ReducedGradientMode::set(
+ static_cast<sal_Int16>(rOptions.GetReducedGradientMode()), batch );
+ officecfg::Office::Common::Print::Option::Printer::ReducedGradientStepCount::set(
+ rOptions.GetReducedGradientStepCount(), batch );
+ officecfg::Office::Common::Print::Option::Printer::ReduceBitmaps::set(
+ rOptions.IsReduceBitmaps(), batch );
+ officecfg::Office::Common::Print::Option::Printer::ReducedBitmapMode::set(
+ static_cast<sal_Int16>(rOptions.GetReducedBitmapMode()), batch );
+ officecfg::Office::Common::Print::Option::Printer::ReducedBitmapIncludesTransparency::set(
+ rOptions.IsReducedBitmapIncludesTransparency(), batch );
+ officecfg::Office::Common::Print::Option::Printer::ConvertToGreyscales::set(
+ rOptions.IsConvertToGreyscales(), batch );
+ officecfg::Office::Common::Print::Option::Printer::PDFAsStandardPrintJobFormat::set(
+ rOptions.IsPDFAsStandardPrintJobFormat(), batch );
+
+ const sal_uInt16 nDPI = rOptions.GetReducedBitmapResolution();
+
+ if( nDPI < aDPIArray[ 0 ] )
+ officecfg::Office::Common::Print::Option::Printer::ReducedBitmapResolution::set( 0, batch );
+ else
{
- if( nDPI >= aDPIArray[ i ] )
+ for( tools::Long i = DPI_COUNT - 1; i >= 0; i-- )
{
- SetReducedBitmapResolution( static_cast<sal_Int16>(i) );
- i = -1;
+ if( nDPI >= aDPIArray[ i ] )
+ {
+ officecfg::Office::Common::Print::Option::Printer::ReducedBitmapResolution::set(
+ static_cast<sal_Int16>(i), batch );
+ i = -1;
+ }
}
}
}
+ batch->commit();
}
-SvtPrinterOptions::SvtPrinterOptions()
-{
- // Global access, must be guarded (multithreading!).
- MutexGuard aGuard( GetOwnStaticMutex() );
- // Increase our refcount ...
- ++m_nRefCount;
- // ... and initialize our data container only if it not already!
- if( m_pStaticDataContainer == nullptr )
- {
- m_pStaticDataContainer = new SvtPrintOptions_Impl( ROOTNODE_START "/Printer" );
- svtools::ItemHolder2::holdConfigItem(EItem::PrintOptions);
- }
+} // namespace svtools
- SetDataContainer( m_pStaticDataContainer );
-}
-SvtPrinterOptions::~SvtPrinterOptions()
-{
- // Global access, must be guarded (multithreading!)
- MutexGuard aGuard( GetOwnStaticMutex() );
- // Decrease our refcount.
- --m_nRefCount;
- // If last instance was deleted ...
- // we must destroy our static data container!
- if( m_nRefCount <= 0 )
- {
- delete m_pStaticDataContainer;
- m_pStaticDataContainer = nullptr;
- }
-}
-SvtPrintFileOptions::SvtPrintFileOptions()
-{
- // Global access, must be guarded (multithreading!).
- MutexGuard aGuard( GetOwnStaticMutex() );
- // Increase our refcount ...
- ++m_nRefCount;
- // ... and initialize our data container only if it not already!
- if( m_pStaticDataContainer == nullptr )
- {
- m_pStaticDataContainer = new SvtPrintOptions_Impl( ROOTNODE_START "/File" );
- svtools::ItemHolder2::holdConfigItem(EItem::PrintFileOptions);
- }
- SetDataContainer( m_pStaticDataContainer );
-}
-SvtPrintFileOptions::~SvtPrintFileOptions()
-{
- // Global access, must be guarded (multithreading!)
- MutexGuard aGuard( GetOwnStaticMutex() );
- // Decrease our refcount.
- --m_nRefCount;
- // If last instance was deleted ...
- // we must destroy our static data container!
- if( m_nRefCount <= 0 )
- {
- delete m_pStaticDataContainer;
- m_pStaticDataContainer = nullptr;
- }
-}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
More information about the Libreoffice-commits
mailing list