Add simpler language tag dialog (#1931).
[dcpomatic.git] / src / wx / language_tag_widget.cc
index 592741b4d4f589e92c99a75f943e69c1800e430a..d71b5fc7aeef9597714dda432a944dc5c86a7ce0 100644 (file)
 #include <wx/wx.h>
 
 
-LanguageTagWidget::LanguageTagWidget (wxWindow* parent, wxSizer* sizer, wxString label, wxString tooltip, dcp::LanguageTag tag)
+LanguageTagWidget::LanguageTagWidget (wxWindow* parent, wxString tooltip, dcp::LanguageTag tag)
        : _parent (parent)
+       , _sizer (new wxBoxSizer(wxHORIZONTAL))
 {
-       add_label_to_sizer(sizer, parent, label, true, 0, wxLEFT | wxRIGHT | wxALIGN_CENTER_VERTICAL);
-       wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
        _language = new wxStaticText (parent, wxID_ANY, wxT(""));
        _language->SetToolTip (tooltip);
        set (tag);
-       s->Add (_language, 1, wxLEFT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_X_GAP);
+       _sizer->Add (_language, 1, wxLEFT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_X_GAP);
        _edit = new Button (parent, _("Edit..."));
-       s->Add (_edit, 0, wxLEFT, DCPOMATIC_SIZER_GAP);
-       sizer->Add (s, 0, wxEXPAND);
+       _sizer->Add (_edit, 0, wxLEFT, DCPOMATIC_SIZER_GAP);
 
        _edit->Bind (wxEVT_BUTTON, boost::bind(&LanguageTagWidget::edit, this));
 }
@@ -46,7 +44,7 @@ LanguageTagWidget::LanguageTagWidget (wxWindow* parent, wxSizer* sizer, wxString
 void
 LanguageTagWidget::edit ()
 {
-       LanguageTagDialog* d = new LanguageTagDialog(_parent, _tag);
+       auto d = new LanguageTagDialog(_parent, _tag);
        d->ShowModal ();
        set (d->get());
        Changed (d->get());
@@ -60,3 +58,11 @@ LanguageTagWidget::set (dcp::LanguageTag tag)
        _tag = tag;
        checked_set (_language, std_to_wx(tag.to_string()));
 }
+
+
+void
+LanguageTagWidget::enable (bool e)
+{
+       _language->Enable (e);
+       _edit->Enable (e);
+}