X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fscreen_dialog.cc;h=5f676bda7a3c5ddf2025870c2ac3c8b6ccbf2201;hb=edab06d1ccc37662c5f0c75efada11771f69a435;hp=b702ae0ad8188be5892108c5b8ebef9afee3157e;hpb=6bc5caa116382d3540678dbc1ea97cb23dd4e5ef;p=dcpomatic.git diff --git a/src/wx/screen_dialog.cc b/src/wx/screen_dialog.cc index b702ae0ad..5f676bda7 100644 --- a/src/wx/screen_dialog.cc +++ b/src/wx/screen_dialog.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2014 Carl Hetherington + Copyright (C) 2012-2015 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ #include #include -#include +#include #include "lib/compose.hpp" #include "lib/util.h" #include "screen_dialog.h" @@ -29,22 +29,22 @@ using std::string; using std::cout; -using boost::shared_ptr; +using boost::optional; -ScreenDialog::ScreenDialog (wxWindow* parent, string title, string name, shared_ptr certificate) +ScreenDialog::ScreenDialog (wxWindow* parent, string title, string name, optional certificate) : TableDialog (parent, std_to_wx (title), 2, true) , _certificate (certificate) { - add ("Name", true); + add (_("Name"), true); _name = add (new wxTextCtrl (this, wxID_ANY, std_to_wx (name), wxDefaultPosition, wxSize (320, -1))); - add ("Server manufacturer", true); + add (_("Server manufacturer"), true); _manufacturer = add (new wxChoice (this, wxID_ANY)); add (_("Certificate"), true); wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); _load_certificate = new wxButton (this, wxID_ANY, _("Load from file...")); - _download_certificate = new wxButton (this, wxID_ANY, _("Download")); + _download_certificate = new wxButton (this, wxID_ANY, _("Download...")); s->Add (_load_certificate, 1, wxEXPAND); s->Add (_download_certificate, 1, wxEXPAND); add (s); @@ -79,7 +79,7 @@ ScreenDialog::name () const return wx_to_std (_name->GetValue()); } -shared_ptr +optional ScreenDialog::certificate () const { return _certificate; @@ -89,10 +89,10 @@ void ScreenDialog::load_certificate (boost::filesystem::path file) { try { - _certificate.reset (new libdcp::Certificate (file)); + _certificate = dcp::Certificate (dcp::file_to_string (file)); _certificate_text->SetValue (_certificate->certificate ()); - } catch (libdcp::MiscError& e) { - error_dialog (this, String::compose ("Could not read certificate file (%1)", e.what())); + } catch (dcp::MiscError& e) { + error_dialog (this, wxString::Format (_("Could not read certificate file (%s)"), e.what())); } } @@ -128,7 +128,9 @@ void ScreenDialog::setup_sensitivity () { wxButton* ok = dynamic_cast (FindWindowById (wxID_OK, this)); - ok->Enable (_certificate); + if (ok) { + ok->Enable (_certificate); + } _download_certificate->Enable ( _manufacturer->GetStringSelection() == _("Doremi") ||