C++11 tidying.
[dcpomatic.git] / src / wx / config_dialog.cc
index d9563f1b670c2620e425b6f28f8850326b621329..a81e8a65cf46b5cea0361dc94e5730f8a8166651 100644 (file)
@@ -36,7 +36,7 @@ using std::make_shared;
 using boost::bind;
 using boost::optional;
 using std::shared_ptr;
-using boost::function;
+using std::function;
 #if BOOST_VERSION >= 106100
 using namespace boost::placeholders;
 #endif
@@ -838,8 +838,19 @@ KeysPage::nag_alter_decryption_chain ()
 void
 KeysPage::export_decryption_certificate ()
 {
-       wxFileDialog* d = new wxFileDialog (
-               _panel, _("Select Certificate File"), wxEmptyString, _("dcpomatic_kdm_decryption_cert.pem"), wxT ("PEM files (*.pem)|*.pem"),
+       auto config = Config::instance();
+       wxString default_name = "dcpomatic";
+       if (!config->dcp_creator().empty()) {
+               default_name += "_" + std_to_wx(careful_string_filter(config->dcp_creator()));
+       }
+       if (!config->dcp_issuer().empty()) {
+               default_name += "_" + std_to_wx(careful_string_filter(config->dcp_issuer()));
+       }
+       /// TRANSLATORS: this is the suffix of the defautl filename used when exporting KDM decryption leaf certificates
+       default_name += _("_kdm_decryption_cert.pem");
+
+       auto d = new wxFileDialog (
+               _panel, _("Select Certificate File"), wxEmptyString, default_name, wxT("PEM files (*.pem)|*.pem"),
                wxFD_SAVE | wxFD_OVERWRITE_PROMPT
                );