summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-09-16 23:50:38 +0200
committerCarl Hetherington <cth@carlh.net>2025-09-19 22:07:00 +0200
commitca96abfcfcbc718dcc6a3d4369e80dd0c59eccb7 (patch)
tree4b2df537050aa558a8765458b43326d4f366080d /src
parentc47eefbd3eb65215852fa534ff7c16db914c35e5 (diff)
Allow saving of verification reports as PDF (#1823).
Diffstat (limited to 'src')
-rw-r--r--src/tools/dcpomatic_verifier.cc1
-rw-r--r--src/wx/verify_dcp_result_panel.cc15
-rw-r--r--src/wx/verify_dcp_result_panel.h2
3 files changed, 18 insertions, 0 deletions
diff --git a/src/tools/dcpomatic_verifier.cc b/src/tools/dcpomatic_verifier.cc
index f53f99e3d..0e5a7d450 100644
--- a/src/tools/dcpomatic_verifier.cc
+++ b/src/tools/dcpomatic_verifier.cc
@@ -42,6 +42,7 @@
#include "lib/util.h"
#include "lib/variant.h"
#include <dcp/search.h>
+#include <dcp/text_formatter.h>
#include <dcp/verify_report.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/evtloop.h>
diff --git a/src/wx/verify_dcp_result_panel.cc b/src/wx/verify_dcp_result_panel.cc
index 07ae65e84..d65806cf8 100644
--- a/src/wx/verify_dcp_result_panel.cc
+++ b/src/wx/verify_dcp_result_panel.cc
@@ -24,6 +24,9 @@
#include "verify_dcp_result_panel.h"
#include "wx_util.h"
#include "lib/verify_dcp_job.h"
+#include <dcp/html_formatter.h>
+#include <dcp/text_formatter.h>
+#include <dcp/pdf_formatter.h>
#include <dcp/verify.h>
#include <dcp/verify_report.h>
#include <dcp/warnings.h>
@@ -77,6 +80,8 @@ VerifyDCPResultPanel::VerifyDCPResultPanel(wxWindow* parent)
save_sizer->Add(_save_text_report, 0, wxALL, DCPOMATIC_SIZER_GAP);
_save_html_report = new Button(this, _("Save report as HTML..."));
save_sizer->Add(_save_html_report, 0, wxALL, DCPOMATIC_SIZER_GAP);
+ _save_pdf_report = new Button(this, _("Save report as PDF..."));
+ save_sizer->Add(_save_pdf_report, 0, wxALL, DCPOMATIC_SIZER_GAP);
sizer->Add(save_sizer);
SetSizer(sizer);
@@ -85,9 +90,11 @@ VerifyDCPResultPanel::VerifyDCPResultPanel(wxWindow* parent)
_save_text_report->bind(&VerifyDCPResultPanel::save_text_report, this);
_save_html_report->bind(&VerifyDCPResultPanel::save_html_report, this);
+ _save_pdf_report->bind(&VerifyDCPResultPanel::save_pdf_report, this);
_save_text_report->Enable(false);
_save_html_report->Enable(false);
+ _save_pdf_report->Enable(false);
}
@@ -143,6 +150,7 @@ VerifyDCPResultPanel::add(vector<shared_ptr<const VerifyDCPJob>> jobs)
_save_text_report->Enable(true);
_save_html_report->Enable(true);
+ _save_pdf_report->Enable(true);
for (auto type: _types) {
_pages[type]->ExpandAll();
@@ -729,3 +737,10 @@ VerifyDCPResultPanel::save_html_report()
{
save<dcp::HTMLFormatter>(this, char_to_wx("HTML files (*.htm;*html)|*.htm;*.html"), _jobs);
}
+
+
+void
+VerifyDCPResultPanel::save_pdf_report()
+{
+ save<dcp::PDFFormatter>(this, char_to_wx("PDF files (*.pdf)|*.pdf"), _jobs);
+}
diff --git a/src/wx/verify_dcp_result_panel.h b/src/wx/verify_dcp_result_panel.h
index fe75bfe35..ff4f29a1a 100644
--- a/src/wx/verify_dcp_result_panel.h
+++ b/src/wx/verify_dcp_result_panel.h
@@ -41,11 +41,13 @@ private:
std::map<dcp::VerificationNote::Type, int> add(std::shared_ptr<const VerifyDCPJob> job, bool many);
void save_text_report();
void save_html_report();
+ void save_pdf_report();
wxStaticText* _summary;
std::map<dcp::VerificationNote::Type, wxTreeCtrl*> _pages;
Button* _save_text_report;
Button* _save_html_report;
+ Button* _save_pdf_report;
std::vector<std::shared_ptr<const VerifyDCPJob>> _jobs;