add option to keep background color in PDF export

preferencesAboutTextFull
letsfindaway 3 years ago
parent 490b9dee3e
commit 421a407202
  1. 3
      resources/etc/OpenBoard.config
  2. 6
      src/adaptors/UBExportPDF.cpp
  3. 1
      src/core/UBSettings.cpp
  4. 1
      src/core/UBSettings.h

@ -124,11 +124,12 @@ RefreshRateInFramePerSecond=2
[PDF] [PDF]
enableQualityLossToIncreaseZoomPerfs=true enableQualityLossToIncreaseZoomPerfs=true
ExportBackgroundGrid=false
ExportBackgroundColor=false
Margin=20 Margin=20
PageFormat=A4 PageFormat=A4
Resolution=300 Resolution=300
ZoomBehavior=4 ZoomBehavior=4
ExportBackgroundGrid=false
[Podcast] [Podcast]
AudioRecordingDevice=Default AudioRecordingDevice=Default

@ -107,13 +107,15 @@ bool UBExportPDF::persistsDocument(UBDocumentProxy* pDocumentProxy, const QStrin
bool isDark = scene->isDarkBackground(); bool isDark = scene->isDarkBackground();
UBPageBackground pageBackground = scene->pageBackground(); UBPageBackground pageBackground = scene->pageBackground();
bool exportDark = isDark && UBSettings::settings()->exportBackgroundColor->get().toBool();
if (UBSettings::settings()->exportBackgroundGrid->get().toBool()) if (UBSettings::settings()->exportBackgroundGrid->get().toBool())
{ {
scene->setBackground(false, pageBackground); scene->setBackground(exportDark, pageBackground);
} }
else 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 // pageSize is the output PDF page size; it is set to equal the scene's boundary size; if the contents

@ -410,6 +410,7 @@ void UBSettings::init()
pdfZoomBehavior = new UBSetting(this, "PDF", "ZoomBehavior", "4"); pdfZoomBehavior = new UBSetting(this, "PDF", "ZoomBehavior", "4");
enableQualityLossToIncreaseZoomPerfs = new UBSetting(this, "PDF", "enableQualityLossToIncreaseZoomPerfs", true); enableQualityLossToIncreaseZoomPerfs = new UBSetting(this, "PDF", "enableQualityLossToIncreaseZoomPerfs", true);
exportBackgroundGrid = new UBSetting(this, "PDF", "ExportBackgroundGrid", false); exportBackgroundGrid = new UBSetting(this, "PDF", "ExportBackgroundGrid", false);
exportBackgroundColor = new UBSetting(this, "PDF", "ExportBackgroundColor", false);
podcastFramesPerSecond = new UBSetting(this, "Podcast", "FramesPerSecond", 10); podcastFramesPerSecond = new UBSetting(this, "Podcast", "FramesPerSecond", 10);
podcastVideoSize = new UBSetting(this, "Podcast", "VideoSize", "Medium"); podcastVideoSize = new UBSetting(this, "Podcast", "VideoSize", "Medium");

@ -362,6 +362,7 @@ class UBSettings : public QObject
UBSetting* pdfZoomBehavior; UBSetting* pdfZoomBehavior;
UBSetting* enableQualityLossToIncreaseZoomPerfs; UBSetting* enableQualityLossToIncreaseZoomPerfs;
UBSetting* exportBackgroundGrid; UBSetting* exportBackgroundGrid;
UBSetting* exportBackgroundColor;
UBSetting* podcastFramesPerSecond; UBSetting* podcastFramesPerSecond;
UBSetting* podcastVideoSize; UBSetting* podcastVideoSize;

Loading…
Cancel
Save