diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-09-22 21:04:14 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-09-22 22:39:16 +0200 |
| commit | 58392896c9dcbb378050bc7d0c4df989f4265e46 (patch) | |
| tree | 927917e5c2e1d6e8a1103f2b83689fbd2a4a6e4d /src/wx | |
| parent | 979e5cac8afd5681669b3e8897ecb7bd8d4eb609 (diff) | |
FIXME: Support JSON verifier reports (#1823).1823-json
Needs libdcp version bump.
Diffstat (limited to 'src/wx')
| -rw-r--r-- | src/wx/verify_dcp_result_panel.cc | 34 | ||||
| -rw-r--r-- | src/wx/verify_dcp_result_panel.h | 2 |
2 files changed, 34 insertions, 2 deletions
diff --git a/src/wx/verify_dcp_result_panel.cc b/src/wx/verify_dcp_result_panel.cc index d65806cf8..4413408ee 100644 --- a/src/wx/verify_dcp_result_panel.cc +++ b/src/wx/verify_dcp_result_panel.cc @@ -24,11 +24,12 @@ #include "verify_dcp_result_panel.h" #include "wx_util.h" #include "lib/verify_dcp_job.h" +#include <dcp/formatted_verify_report.h> #include <dcp/html_formatter.h> +#include <dcp/json_verify_report.h> #include <dcp/text_formatter.h> #include <dcp/pdf_formatter.h> #include <dcp/verify.h> -#include <dcp/verify_report.h> #include <dcp/warnings.h> LIBDCP_DISABLE_WARNINGS #include <wx/notebook.h> @@ -82,6 +83,8 @@ VerifyDCPResultPanel::VerifyDCPResultPanel(wxWindow* parent) 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); + _save_json_report = new Button(this, _("Save report as JSON...")); + save_sizer->Add(_save_json_report, 0, wxALL, DCPOMATIC_SIZER_GAP); sizer->Add(save_sizer); SetSizer(sizer); @@ -91,10 +94,12 @@ 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_json_report->bind(&VerifyDCPResultPanel::save_json_report, this); _save_text_report->Enable(false); _save_html_report->Enable(false); _save_pdf_report->Enable(false); + _save_json_report->Enable(false); } @@ -151,6 +156,7 @@ VerifyDCPResultPanel::add(vector<shared_ptr<const VerifyDCPJob>> jobs) _save_text_report->Enable(true); _save_html_report->Enable(true); _save_pdf_report->Enable(true); + _save_json_report->Enable(true); for (auto type: _types) { _pages[type]->ExpandAll(); @@ -721,7 +727,24 @@ void save(wxWindow* parent, wxString filter, vector<shared_ptr<const VerifyDCPJo for (auto job: jobs) { results.push_back(job->result()); } - dcp::verify_report(results, formatter); + dcp::make_formatted_verify_report(results, formatter); +} + + +static +void +save_json(wxWindow* parent, wxString filter, vector<shared_ptr<const VerifyDCPJob>> jobs) +{ + FileDialog dialog(parent, _("Verification report"), filter, wxFD_SAVE | wxFD_OVERWRITE_PROMPT, "SaveVerificationReport"); + if (!dialog.show()) { + return; + } + + auto results = std::vector<dcp::VerificationResult>(); + for (auto job: jobs) { + results.push_back(job->result()); + } + dcp::make_json_verify_report(results, dialog.path()); } @@ -744,3 +767,10 @@ VerifyDCPResultPanel::save_pdf_report() { save<dcp::PDFFormatter>(this, char_to_wx("PDF files (*.pdf)|*.pdf"), _jobs); } + + +void +VerifyDCPResultPanel::save_json_report() +{ + save_json(this, char_to_wx("JSON files (*.json)|*.json"), _jobs); +} diff --git a/src/wx/verify_dcp_result_panel.h b/src/wx/verify_dcp_result_panel.h index ff4f29a1a..b8137a660 100644 --- a/src/wx/verify_dcp_result_panel.h +++ b/src/wx/verify_dcp_result_panel.h @@ -42,12 +42,14 @@ private: void save_text_report(); void save_html_report(); void save_pdf_report(); + void save_json_report(); wxStaticText* _summary; std::map<dcp::VerificationNote::Type, wxTreeCtrl*> _pages; Button* _save_text_report; Button* _save_html_report; Button* _save_pdf_report; + Button* _save_json_report; std::vector<std::shared_ptr<const VerifyDCPJob>> _jobs; |
