Fix error when OK-ing a text track dialog with no language (#2430).
[dcpomatic.git] / src / wx / dcp_text_track_dialog.cc
index be31de0cea0ad323bc9661d66c623831f6ca7bb5..d033541d24e5d736b2d8de7b3bce34786a973a78 100644 (file)
@@ -36,6 +36,9 @@ DCPTextTrackDialog::DCPTextTrackDialog (wxWindow* parent)
        _language = new LanguageTagWidget (this, wxT(""), boost::none);
        add (_language->sizer());
 
+       _language->Changed.connect(boost::bind(&DCPTextTrackDialog::set_sensitivity, this));
+
+       set_sensitivity();
        layout ();
 }
 
@@ -46,3 +49,13 @@ DCPTextTrackDialog::get () const
        DCPOMATIC_ASSERT (_language->get());
        return DCPTextTrack(wx_to_std(_name->GetValue()), _language->get());
 }
+
+
+void
+DCPTextTrackDialog::set_sensitivity()
+{
+       if (auto ok = dynamic_cast<wxButton *>(FindWindowById(wxID_OK, this))) {
+               ok->Enable(static_cast<bool>(_language->get()));
+       }
+}
+