From d5bdc5cf073987043ace62378b02ffee5af818bd Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 20 Nov 2020 16:52:56 +0100 Subject: [PATCH] Use a LanguageTag for closed caption tracks. --- src/lib/reel_writer.cc | 2 +- src/wx/dcp_text_track_dialog.cc | 12 +++++++++--- src/wx/dcp_text_track_dialog.h | 6 +++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc index 345bcdeb3..fa84180f0 100644 --- a/src/lib/reel_writer.cc +++ b/src/lib/reel_writer.cc @@ -608,7 +608,7 @@ ReelWriter::create_reel (list const & refs, listset_annotation_text (i->first.name); - a->set_language (i->first.language); + a->set_language (dcp::LanguageTag(i->first.language)); } } diff --git a/src/wx/dcp_text_track_dialog.cc b/src/wx/dcp_text_track_dialog.cc index d48b3be26..3e8750cd5 100644 --- a/src/wx/dcp_text_track_dialog.cc +++ b/src/wx/dcp_text_track_dialog.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2018 Carl Hetherington + Copyright (C) 2020 Carl Hetherington This file is part of DCP-o-matic. @@ -18,24 +18,30 @@ */ + #include "dcp_text_track_dialog.h" +#include "language_tag_widget.h" #include + using std::string; + DCPTextTrackDialog::DCPTextTrackDialog (wxWindow* parent) : TableDialog (parent, _("DCP Text Track"), 2, 1, true) { add (_("Name"), true); add (_name = new wxTextCtrl (this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(300, -1))); add (_("Language"), true); - add (_language = new wxTextCtrl (this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(150, -1))); + _language = new LanguageTagWidget (this, wxT(""), dcp::LanguageTag("en-US")); + add (_language->sizer()); layout (); } + DCPTextTrack DCPTextTrackDialog::get () const { - return DCPTextTrack(wx_to_std(_name->GetValue()), wx_to_std(_language->GetValue())); + return DCPTextTrack(wx_to_std(_name->GetValue()), _language->get().to_string()); } diff --git a/src/wx/dcp_text_track_dialog.h b/src/wx/dcp_text_track_dialog.h index dd4894aeb..c07369637 100644 --- a/src/wx/dcp_text_track_dialog.h +++ b/src/wx/dcp_text_track_dialog.h @@ -25,6 +25,10 @@ #include "wx_util.h" #include "lib/dcp_text_track.h" + +class LanguageTagWidget; + + class DCPTextTrackDialog : public TableDialog { public: @@ -34,7 +38,7 @@ public: private: wxTextCtrl* _name; - wxTextCtrl* _language; + LanguageTagWidget* _language; }; #endif -- 2.30.2