Put subtitle language back into content from the film (#1930).
[dcpomatic.git] / src / wx / smpte_metadata_dialog.cc
index 36cf4848918d756e8b088c9ee83637819446ce4d..470e9317e8073a26a61ac77d66bc523d47b55af4 100644 (file)
@@ -91,38 +91,6 @@ SMPTEMetadataDialog::main_panel (wxWindow* parent)
                );
        sizer->Add (_audio_language->sizer(), 0, wxEXPAND);
 
-       _enable_main_subtitle_language = new wxCheckBox (panel, wxID_ANY, _("Main subtitle language"));
-       sizer->Add (_enable_main_subtitle_language, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_GAP);
-       auto subtitle_languages = film()->subtitle_languages();
-       _main_subtitle_language = new LanguageTagWidget(
-               panel,
-               _("The main language that is displayed in the film's subtitles"),
-               subtitle_languages.empty() ? dcp::LanguageTag("en-US") : subtitle_languages.front()
-               );
-       sizer->Add (_main_subtitle_language->sizer(), 0, wxEXPAND);
-
-       {
-               int flags = wxALIGN_TOP | wxRIGHT | wxTOP;
-#ifdef __WXOSX__
-               flags |= wxALIGN_RIGHT;
-#endif
-               auto m = create_label (panel, _("Additional subtitle languages"), true);
-               sizer->Add (m, 0, flags, DCPOMATIC_SIZER_GAP);
-       }
-
-       vector<EditableListColumn> columns;
-       columns.push_back (EditableListColumn("Language", 250, true));
-       _additional_subtitle_languages = new EditableList<dcp::LanguageTag, LanguageTagDialog> (
-               panel,
-               columns,
-               boost::bind(&SMPTEMetadataDialog::additional_subtitle_languages, this),
-               boost::bind(&SMPTEMetadataDialog::set_additional_subtitle_languages, this, _1),
-               boost::bind(&additional_subtitle_language_column, _1, _2),
-               true,
-               false
-               );
-       sizer->Add (_additional_subtitle_languages, 1, wxEXPAND);
-
        {
                int flags = wxALIGN_TOP | wxRIGHT | wxTOP;
 #ifdef __WXOSX__
@@ -132,7 +100,7 @@ SMPTEMetadataDialog::main_panel (wxWindow* parent)
                sizer->Add (m, 0, flags, DCPOMATIC_SIZER_GAP);
        }
 
-       columns.clear ();
+       vector<EditableListColumn> columns;
        columns.push_back (EditableListColumn("Agency", 200, true));
        columns.push_back (EditableListColumn("Label", 50, true));
        _ratings = new EditableList<dcp::Rating, RatingDialog> (
@@ -267,9 +235,7 @@ SMPTEMetadataDialog::SMPTEMetadataDialog (wxWindow* parent, weak_ptr<Film> weak_
 
        _name_language->Changed.connect (boost::bind(&SMPTEMetadataDialog::name_language_changed, this, _1));
        _audio_language->Changed.connect (boost::bind(&SMPTEMetadataDialog::audio_language_changed, this, _1));
-       _enable_main_subtitle_language->Bind (wxEVT_CHECKBOX, boost::bind(&SMPTEMetadataDialog::enable_main_subtitle_changed, this));
        _edit_release_territory->Bind (wxEVT_BUTTON, boost::bind(&SMPTEMetadataDialog::edit_release_territory, this));
-       _main_subtitle_language->Changed.connect (boost::bind(&SMPTEMetadataDialog::main_subtitle_language_changed, this, _1));
        _version_number->Bind (wxEVT_SPINCTRL, boost::bind(&SMPTEMetadataDialog::version_number_changed, this));
        _status->Bind (wxEVT_CHOICE, boost::bind(&SMPTEMetadataDialog::status_changed, this));
        _enable_chain->Bind (wxEVT_CHECKBOX, boost::bind(&SMPTEMetadataDialog::enable_chain_changed, this));
@@ -362,14 +328,6 @@ SMPTEMetadataDialog::film_changed (ChangeType type, Film::Property property)
                        checked_set (_luminance_value, 4.5);
                        checked_set (_luminance_unit, 1);
                }
-       } else if (property == Film::Property::SUBTITLE_LANGUAGES) {
-               auto languages = film()->subtitle_languages();
-               checked_set (_enable_main_subtitle_language, !languages.empty());
-               if (!languages.empty()) {
-                       _main_subtitle_language->set (languages.front());
-               } else {
-                       _main_subtitle_language->set (dcp::LanguageTag("en-US"));
-               }
        }
 }
 
@@ -495,20 +453,6 @@ SMPTEMetadataDialog::luminance_changed ()
 }
 
 
-void
-SMPTEMetadataDialog::enable_main_subtitle_changed ()
-{
-       setup_sensitivity ();
-       if (_enable_main_subtitle_language->GetValue()) {
-               film()->set_subtitle_language (_main_subtitle_language->get());
-       } else {
-               set_additional_subtitle_languages (vector<dcp::LanguageTag>());
-               _additional_subtitle_languages->refresh ();
-               film()->unset_subtitle_language ();
-       }
-}
-
-
 void
 SMPTEMetadataDialog::setup_sensitivity ()
 {
@@ -521,49 +465,6 @@ SMPTEMetadataDialog::setup_sensitivity ()
        _chain->Enable (_enable_chain->GetValue());
        _distributor->Enable (_enable_distributor->GetValue());
        _facility->Enable (_enable_facility->GetValue());
-
-       {
-               auto const enabled = _enable_main_subtitle_language->GetValue();
-               _main_subtitle_language->enable (enabled);
-               _additional_subtitle_languages->Enable (enabled);
-       }
-}
-
-
-void
-SMPTEMetadataDialog::main_subtitle_language_changed (dcp::LanguageTag tag)
-{
-       auto existing = film()->subtitle_languages();
-       if (existing.empty()) {
-               existing.push_back (tag);
-       } else {
-               existing[0] = tag;
-       }
-
-       film()->set_subtitle_languages (existing);
-}
-
-
-vector<dcp::LanguageTag>
-SMPTEMetadataDialog::additional_subtitle_languages ()
-{
-       auto all = film()->subtitle_languages();
-       if (all.empty()) {
-               return all;
-       }
-
-       return vector<dcp::LanguageTag>(all.begin() + 1, all.end());
-}
-
-
-void
-SMPTEMetadataDialog::set_additional_subtitle_languages (vector<dcp::LanguageTag> languages)
-{
-       auto all = film()->subtitle_languages();
-       DCPOMATIC_ASSERT (!all.empty());
-       all.resize (1);
-       copy (languages.begin(), languages.end(), back_inserter(all));
-       film()->set_subtitle_languages (all);
 }