/*
- Copyright (C) 2018 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2018-2019 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
#include "recreate_chain_dialog.h"
#include "wx_util.h"
+#include "static_text.h"
+#include "check_box.h"
#include "lib/config.h"
-#include "lib/cinema_kdms.h"
-#include <boost/foreach.hpp>
using std::list;
using std::string;
-
-RecreateChainDialog::RecreateChainDialog (wxWindow* parent)
- : QuestionDialog (parent, _("Certificate chain"), _("Recreate signing certificates"), _("Do nothing"))
+using boost::optional;
+#if BOOST_VERSION >= 106100
+using namespace boost::placeholders;
+#endif
+
+RecreateChainDialog::RecreateChainDialog (wxWindow* parent, wxString title, wxString message, wxString cancel, optional<Config::Nag> nag)
+ : QuestionDialog (parent, _("Certificate chain"), title, cancel)
+ , _nag (nag)
{
- wxString const message = _("The certificate chain that DCP-o-matic uses for signing DCPs and KDMs contains a small error\n"
- "which will prevent DCPs from being validated correctly on some systems. Do you want to re-create\n"
- "the certificate chain for signing DCPs and KDMs?");
-
- _sizer->Add (new wxStaticText (this, wxID_ANY, message), 1, wxEXPAND | wxALL, DCPOMATIC_DIALOG_BORDER);
-
- wxCheckBox* shut_up = new wxCheckBox (this, wxID_ANY, _("Don't ask this again"));
- _sizer->Add (shut_up, 0, wxALL, DCPOMATIC_DIALOG_BORDER);
+ _sizer->Add (new StaticText (this, message), 1, wxEXPAND | wxALL, DCPOMATIC_DIALOG_BORDER);
- shut_up->Bind (wxEVT_CHECKBOX, bind (&RecreateChainDialog::shut_up, this, _1));
+ if (nag) {
+ wxCheckBox* shut_up = new CheckBox (this, _("Don't ask this again"));
+ _sizer->Add (shut_up, 0, wxALL, DCPOMATIC_DIALOG_BORDER);
+ shut_up->Bind (wxEVT_CHECKBOX, bind (&RecreateChainDialog::shut_up, this, _1));
+ }
layout ();
}
void
RecreateChainDialog::shut_up (wxCommandEvent& ev)
{
- std::cout << "set nagged " << ev.IsChecked() << "\n";
- Config::instance()->set_nagged (Config::NAG_BAD_SIGNER_CHAIN, ev.IsChecked());
+ Config::instance()->set_nagged(*_nag, ev.IsChecked());
}