summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
Diffstat (limited to 'svtools')
-rw-r--r--svtools/source/config/itemholder2.cxx8
-rw-r--r--svtools/source/config/printoptions.cxx547
2 files changed, 109 insertions, 446 deletions
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: */