Fix length of player output so it can be either the film's length or playlist's lengt...
[dcpomatic.git] / src / wx / gdc_certificate_panel.cc
index a90f098f51b8e16874d9255cfd70a8763e2fbdf3..a4301087dea1980f1dcda2f8c7990214a7206fe9 100644 (file)
 
 using std::string;
 using boost::optional;
+using boost::bind;
 
 GDCCertificatePanel::GDCCertificatePanel (DownloadCertificateDialog* dialog)
-       : DownloadCertificatePanel (dialog)
+       : CredentialsDownloadCertificatePanel (
+                       dialog,
+                       bind(&Config::gdc_username, Config::instance()),
+                       bind(&Config::set_gdc_username, Config::instance(), _1),
+                       bind(&Config::unset_gdc_username, Config::instance()),
+                       bind(&Config::gdc_password, Config::instance()),
+                       bind(&Config::set_gdc_password, Config::instance(), _1),
+                       bind(&Config::unset_gdc_password, Config::instance())
+                       )
 {
 
 }
@@ -37,13 +46,6 @@ GDCCertificatePanel::GDCCertificatePanel (DownloadCertificateDialog* dialog)
 void
 GDCCertificatePanel::do_download ()
 {
-       Config* config = Config::instance ();
-       if (!config->gdc_username() || !config->gdc_password()) {
-               _dialog->message()->SetLabel(wxT(""));
-               error_dialog (this, _("No GDC username/password configured.  Add your account details to the Accounts page in Preferences."));
-               return;
-       }
-
        string const url = String::compose(
                "ftp://%1:%2@ftp.gdc-tech.com/SHA256/A%3.crt.pem",
                Config::instance()->gdc_username().get(),
@@ -51,7 +53,7 @@ GDCCertificatePanel::do_download ()
                wx_to_std(_serial->GetValue())
                );
 
-       optional<string> error = get_from_url (url, true, boost::bind (&DownloadCertificatePanel::load, this, _1));
+       optional<string> error = get_from_url (url, true, false, boost::bind (&DownloadCertificatePanel::load, this, _1));
 
        if (error) {
                _dialog->message()->SetLabel(wxT(""));