summaryrefslogtreecommitdiff
path: root/src/wx/kdm_dialog.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-11-19 21:34:56 +0100
committerCarl Hetherington <cth@carlh.net>2023-11-20 07:31:44 +0100
commit16557827b252bd653b15eead479ec5699eda7360 (patch)
treef94f6822143802f2676c44e711984029eb3fb6cc /src/wx/kdm_dialog.cc
parent9d1d75e474bc92d8b0f823141073ad9dd639c8e0 (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.cc24
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) {