X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Fwx%2Fdcp_text_track_dialog.cc;h=d033541d24e5d736b2d8de7b3bce34786a973a78;hp=b884aba51e387c9f1cc7cfb48a8bc2561bfee4b4;hb=a9017504a0e3c152aba6ea8ac2dfa89183a362cb;hpb=e0a70cd5cfb11fc2de167f3146acdd437a6faa82 diff --git a/src/wx/dcp_text_track_dialog.cc b/src/wx/dcp_text_track_dialog.cc index b884aba51..d033541d2 100644 --- a/src/wx/dcp_text_track_dialog.cc +++ b/src/wx/dcp_text_track_dialog.cc @@ -33,9 +33,12 @@ DCPTextTrackDialog::DCPTextTrackDialog (wxWindow* parent) add (_("Name"), true); add (_name = new wxTextCtrl (this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(300, -1))); add (_("Language"), true); - _language = new LanguageTagWidget (this, wxT(""), dcp::LanguageTag("en-US")); + _language = new LanguageTagWidget (this, wxT(""), boost::none); add (_language->sizer()); + _language->Changed.connect(boost::bind(&DCPTextTrackDialog::set_sensitivity, this)); + + set_sensitivity(); layout (); } @@ -44,5 +47,15 @@ DCPTextTrack DCPTextTrackDialog::get () const { DCPOMATIC_ASSERT (_language->get()); - return DCPTextTrack(wx_to_std(_name->GetValue()), _language->get()->to_string()); + return DCPTextTrack(wx_to_std(_name->GetValue()), _language->get()); +} + + +void +DCPTextTrackDialog::set_sensitivity() +{ + if (auto ok = dynamic_cast(FindWindowById(wxID_OK, this))) { + ok->Enable(static_cast(_language->get())); + } } +