summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-11-20 16:52:56 +0100
committerCarl Hetherington <cth@carlh.net>2020-11-20 23:47:03 +0100
commitd5bdc5cf073987043ace62378b02ffee5af818bd (patch)
tree4192a00f8d073149a145fe768d07c0abb4360686
parent4347d97b703cfddcd322051092ccfcd5b5a6b941 (diff)
Use a LanguageTag for closed caption tracks.
-rw-r--r--src/lib/reel_writer.cc2
-rw-r--r--src/wx/dcp_text_track_dialog.cc12
-rw-r--r--src/wx/dcp_text_track_dialog.h6
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<ReferencedReelAsset> const & refs, list<shared_ptr
);
if (a) {
a->set_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 <cth@carlh.net>
+ Copyright (C) 2020 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
@@ -18,24 +18,30 @@
*/
+
#include "dcp_text_track_dialog.h"
+#include "language_tag_widget.h"
#include <boost/algorithm/string.hpp>
+
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