From 421a407202d2bf6acb5eaafd64534f7674292449 Mon Sep 17 00:00:00 2001 From: letsfindaway Date: Sat, 20 Mar 2021 14:31:37 +0100 Subject: [PATCH] add option to keep background color in PDF export --- resources/etc/OpenBoard.config | 3 ++- src/adaptors/UBExportPDF.cpp | 6 ++++-- src/core/UBSettings.cpp | 1 + src/core/UBSettings.h | 1 + 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/resources/etc/OpenBoard.config b/resources/etc/OpenBoard.config index b94e808b..77eea8d1 100644 --- a/resources/etc/OpenBoard.config +++ b/resources/etc/OpenBoard.config @@ -124,11 +124,12 @@ RefreshRateInFramePerSecond=2 [PDF] enableQualityLossToIncreaseZoomPerfs=true +ExportBackgroundGrid=false +ExportBackgroundColor=false Margin=20 PageFormat=A4 Resolution=300 ZoomBehavior=4 -ExportBackgroundGrid=false [Podcast] AudioRecordingDevice=Default diff --git a/src/adaptors/UBExportPDF.cpp b/src/adaptors/UBExportPDF.cpp index 3f97f273..683716bb 100644 --- a/src/adaptors/UBExportPDF.cpp +++ b/src/adaptors/UBExportPDF.cpp @@ -107,13 +107,15 @@ bool UBExportPDF::persistsDocument(UBDocumentProxy* pDocumentProxy, const QStrin bool isDark = scene->isDarkBackground(); UBPageBackground pageBackground = scene->pageBackground(); + bool exportDark = isDark && UBSettings::settings()->exportBackgroundColor->get().toBool(); + if (UBSettings::settings()->exportBackgroundGrid->get().toBool()) { - scene->setBackground(false, pageBackground); + scene->setBackground(exportDark, pageBackground); } else { - scene->setBackground(false, UBPageBackground::plain); + scene->setBackground(exportDark, UBPageBackground::plain); } // pageSize is the output PDF page size; it is set to equal the scene's boundary size; if the contents diff --git a/src/core/UBSettings.cpp b/src/core/UBSettings.cpp index d5b5ed6a..c98f1d70 100644 --- a/src/core/UBSettings.cpp +++ b/src/core/UBSettings.cpp @@ -410,6 +410,7 @@ void UBSettings::init() pdfZoomBehavior = new UBSetting(this, "PDF", "ZoomBehavior", "4"); enableQualityLossToIncreaseZoomPerfs = new UBSetting(this, "PDF", "enableQualityLossToIncreaseZoomPerfs", true); exportBackgroundGrid = new UBSetting(this, "PDF", "ExportBackgroundGrid", false); + exportBackgroundColor = new UBSetting(this, "PDF", "ExportBackgroundColor", false); podcastFramesPerSecond = new UBSetting(this, "Podcast", "FramesPerSecond", 10); podcastVideoSize = new UBSetting(this, "Podcast", "VideoSize", "Medium"); diff --git a/src/core/UBSettings.h b/src/core/UBSettings.h index 90e77eef..6067db5b 100644 --- a/src/core/UBSettings.h +++ b/src/core/UBSettings.h @@ -362,6 +362,7 @@ class UBSettings : public QObject UBSetting* pdfZoomBehavior; UBSetting* enableQualityLossToIncreaseZoomPerfs; UBSetting* exportBackgroundGrid; + UBSetting* exportBackgroundColor; UBSetting* podcastFramesPerSecond; UBSetting* podcastVideoSize;