diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-11-19 21:34:56 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-11-20 07:31:44 +0100 |
| commit | 16557827b252bd653b15eead479ec5699eda7360 (patch) | |
| tree | f94f6822143802f2676c44e711984029eb3fb6cc /src/wx/kdm_dialog.cc | |
| parent | 9d1d75e474bc92d8b0f823141073ad9dd639c8e0 (diff) | |
Add a dialog to show which screens have potentially-problematic
certificate validity periods when making KDMs (#2645).
Diffstat (limited to 'src/wx/kdm_dialog.cc')
| -rw-r--r-- | src/wx/kdm_dialog.cc | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/src/wx/kdm_dialog.cc b/src/wx/kdm_dialog.cc index bec880852..9135baf23 100644 --- a/src/wx/kdm_dialog.cc +++ b/src/wx/kdm_dialog.cc @@ -21,6 +21,7 @@ #include "confirm_kdm_email_dialog.h" #include "dcpomatic_button.h" +#include "invalid_certificate_period_dialog.h" #include "kdm_cpl_panel.h" #include "kdm_dialog.h" #include "kdm_output_panel.h" @@ -185,19 +186,16 @@ KDMDialog::make_clicked () } } - if (find(period_checks.begin(), period_checks.end(), KDMCertificatePeriod::KDM_OUTSIDE_CERTIFICATE) != period_checks.end()) { - error_dialog( - this, - _("Some KDMs would have validity periods which are completely outside the recipient certificate periods. Such KDMs are very unlikely to work, so will not be created.") - ); - return; - } - - if (find(period_checks.begin(), period_checks.end(), KDMCertificatePeriod::KDM_OVERLAPS_CERTIFICATE) != period_checks.end()) { - message_dialog( - this, - _("For some of these KDMs the recipient certificate's validity period will not cover the whole of the KDM validity period. This might cause problems with the KDMs.") - ); + if ( + find_if( + period_checks.begin(), + period_checks.end(), + [](KDMCertificatePeriod const& p) { return p.overlap != KDMCertificateOverlap::KDM_WITHIN_CERTIFICATE; } + ) != period_checks.end()) { + InvalidCertificatePeriodDialog dialog(this, period_checks); + if (dialog.ShowModal() == wxID_CANCEL) { + return; + } } } catch (dcp::BadKDMDateError& e) { |
