summaryrefslogtreecommitdiff
path: root/src/wx/download_certificate_dialog.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/wx/download_certificate_dialog.cc')
-rw-r--r--src/wx/download_certificate_dialog.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/wx/download_certificate_dialog.cc b/src/wx/download_certificate_dialog.cc
index 5a621d26f..743eb4a3d 100644
--- a/src/wx/download_certificate_dialog.cc
+++ b/src/wx/download_certificate_dialog.cc
@@ -22,6 +22,8 @@
#include "download_certificate_dialog.h"
#include "wx_util.h"
+using boost::optional;
+
DownloadCertificateDialog::DownloadCertificateDialog (wxWindow* parent)
: wxDialog (parent, wxID_ANY, _("Download certificate"))
{
@@ -70,13 +72,21 @@ DownloadCertificateDialog::download ()
dcp::Certificate
DownloadCertificateDialog::certificate () const
{
- return _pages[_notebook->GetSelection()]->certificate ();
+ optional<dcp::Certificate> c = _pages[_notebook->GetSelection()]->certificate ();
+ DCPOMATIC_ASSERT (c);
+ return c.get ();
}
void
DownloadCertificateDialog::setup_sensitivity ()
{
- _download->Enable (_pages[_notebook->GetSelection()]->ready_to_download ());
+ DownloadCertificatePanel* p = _pages[_notebook->GetSelection()];
+ _download->Enable (p->ready_to_download ());
+ wxButton* ok = dynamic_cast<wxButton *> (FindWindowById (wxID_OK, this));
+ if (ok) {
+ ok->Enable (p->certificate ());
+ }
+
}
void
@@ -87,4 +97,6 @@ DownloadCertificateDialog::page_changed ()
_pages[n]->setup ();
_setup[n] = true;
}
+
+ setup_sensitivity ();
}