+ auto sizer = new wxBoxSizer (wxVERTICAL);
+
+ _notebook = new wxNotebook (this, wxID_ANY);
+ sizer->Add (_notebook, 1, wxEXPAND | wxALL, DCPOMATIC_DIALOG_BORDER);
+
+ _download = new Button (this, _("Download"));
+ sizer->Add (_download, 0, wxEXPAND | wxALL, DCPOMATIC_SIZER_GAP);
+
+ _message = new StaticText (this, wxT (""));
+ sizer->Add (_message, 0, wxALL, DCPOMATIC_SIZER_GAP);
+ auto font = _message->GetFont();
+ font.SetStyle (wxFONTSTYLE_ITALIC);
+ font.SetPointSize (font.GetPointSize() - 1);
+ _message->SetFont (font);
+
+ _pages.push_back (new DolbyDoremiCertificatePanel (this));
+ _pages.push_back (new BarcoAlchemyCertificatePanel (this));
+ _pages.push_back (new ChristieCertificatePanel (this));
+ _pages.push_back (new GDCCertificatePanel (this));
+ _pages.push_back (new QubeCertificatePanel (this, N_("QXI")));
+ _pages.push_back (new QubeCertificatePanel (this, N_("QXPD")));
+
+ for (auto i: _pages) {
+ _notebook->AddPage (i, i->name(), true);
+ }
+
+ auto buttons = CreateSeparatedButtonSizer (wxOK | wxCANCEL);
+ if (buttons) {
+ sizer->Add (buttons, wxSizerFlags().Expand().DoubleBorder());
+ }
+
+ SetSizerAndFit (sizer);
+
+ _notebook->Bind (wxEVT_NOTEBOOK_PAGE_CHANGED, &DownloadCertificateDialog::page_changed, this);
+ _download->Bind (wxEVT_BUTTON, boost::bind (&DownloadCertificateDialog::download, this));
+ _download->Enable (false);
+
+ _notebook->SetSelection (0);
+
+ SetMinSize (wxSize(640, -1));
+
+ setup_sensitivity ();
+}
+