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=3e8750cd5bff82f405a19bf85ad0fcdca895e81b;hb=a9017504a0e3c152aba6ea8ac2dfa89183a362cb;hpb=d5bdc5cf073987043ace62378b02ffee5af818bd diff --git a/src/wx/dcp_text_track_dialog.cc b/src/wx/dcp_text_track_dialog.cc index 3e8750cd5..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 (); } @@ -43,5 +46,16 @@ DCPTextTrackDialog::DCPTextTrackDialog (wxWindow* parent) DCPTextTrack DCPTextTrackDialog::get () const { - return DCPTextTrack(wx_to_std(_name->GetValue()), _language->get().to_string()); + DCPOMATIC_ASSERT (_language->get()); + 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())); + } } +