X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fisdcf_metadata_dialog.cc;h=3d79f3bf6db5f6377538cdb43fbad686ca4a7176;hb=11c07c6fd98620c859c7d3dcf6a4bbf6a05e567e;hp=65f3b53fff6f0517af4b6dc6ccd75ef202196256;hpb=f4531bfb1b4334e3501173cfee7444b86fba4082;p=dcpomatic.git diff --git a/src/wx/isdcf_metadata_dialog.cc b/src/wx/isdcf_metadata_dialog.cc index 65f3b53ff..3d79f3bf6 100644 --- a/src/wx/isdcf_metadata_dialog.cc +++ b/src/wx/isdcf_metadata_dialog.cc @@ -1,24 +1,26 @@ /* - Copyright (C) 2012-2015 Carl Hetherington + Copyright (C) 2012-2019 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ #include "isdcf_metadata_dialog.h" #include "wx_util.h" +#include "check_box.h" #include "lib/film.h" #include #include @@ -26,9 +28,12 @@ using boost::shared_ptr; -/** @param threed true if the film is in 3D */ +/** @param parent Parent window. + * @param dm Initial ISDCF metadata. + * @param threed true if the film is in 3D. + */ ISDCFMetadataDialog::ISDCFMetadataDialog (wxWindow* parent, ISDCFMetadata dm, bool threed) - : TableDialog (parent, _("ISDCF name"), 2, true) + : TableDialog (parent, _("ISDCF name"), 2, 1, true) { add (_("Content version"), true); _content_version = add (new wxSpinCtrl (this, wxID_ANY)); @@ -36,8 +41,15 @@ ISDCFMetadataDialog::ISDCFMetadataDialog (wxWindow* parent, ISDCFMetadata dm, bo add (_("Audio Language (e.g. EN)"), true); _audio_language = add (new wxTextCtrl (this, wxID_ANY)); - add (_("Subtitle Language (e.g. FR)"), true); - _subtitle_language = add (new wxTextCtrl (this, wxID_ANY)); + _enable_subtitle_language = add (new wxCheckBox(this, wxID_ANY, _("Subtitle language (e.g. FR)"))); + _subtitle_language = add (new wxTextCtrl(this, wxID_ANY)); + + wxStaticText* subtitle_note = add (_("(use this to override languages specified\nin the 'timed text' tab)"), false); + wxFont font = subtitle_note->GetFont(); + font.SetStyle (wxFONTSTYLE_ITALIC); + font.SetPointSize (font.GetPointSize() - 1); + subtitle_note->SetFont (font); + add_spacer (); add (_("Territory (e.g. UK)"), true); _territory = add (new wxTextCtrl (this, wxID_ANY)); @@ -51,22 +63,19 @@ ISDCFMetadataDialog::ISDCFMetadataDialog (wxWindow* parent, ISDCFMetadata dm, bo add (_("Facility (e.g. DLA)"), true); _facility = add (new wxTextCtrl (this, wxID_ANY)); - add (_("Package Type (e.g. OV)"), true); - _package_type = add (new wxTextCtrl (this, wxID_ANY)); - - _temp_version = add (new wxCheckBox (this, wxID_ANY, _("Temp version"))); + _temp_version = add (new CheckBox(this, _("Temp version"))); add_spacer (); - _pre_release = add (new wxCheckBox (this, wxID_ANY, _("Pre-release"))); + _pre_release = add (new CheckBox(this, _("Pre-release"))); add_spacer (); - _red_band = add (new wxCheckBox (this, wxID_ANY, _("Red band"))); + _red_band = add (new CheckBox(this, _("Red band"))); add_spacer (); add (_("Chain"), true); _chain = add (new wxTextCtrl (this, wxID_ANY)); - _two_d_version_of_three_d = add (new wxCheckBox (this, wxID_ANY, _("2D version of content available in 3D"))); + _two_d_version_of_three_d = add (new CheckBox(this, _("2D version of content available in 3D"))); add_spacer (); if (threed) { @@ -80,12 +89,12 @@ ISDCFMetadataDialog::ISDCFMetadataDialog (wxWindow* parent, ISDCFMetadata dm, bo _content_version->SetValue (dm.content_version); _audio_language->SetValue (std_to_wx (dm.audio_language)); - _subtitle_language->SetValue (std_to_wx (dm.subtitle_language)); + _enable_subtitle_language->SetValue (static_cast(dm.subtitle_language)); + _subtitle_language->SetValue (std_to_wx(dm.subtitle_language.get_value_or(""))); _territory->SetValue (std_to_wx (dm.territory)); _rating->SetValue (std_to_wx (dm.rating)); _studio->SetValue (std_to_wx (dm.studio)); _facility->SetValue (std_to_wx (dm.facility)); - _package_type->SetValue (std_to_wx (dm.package_type)); _temp_version->SetValue (dm.temp_version); _pre_release->SetValue (dm.pre_release); _red_band->SetValue (dm.red_band); @@ -93,9 +102,19 @@ ISDCFMetadataDialog::ISDCFMetadataDialog (wxWindow* parent, ISDCFMetadata dm, bo _two_d_version_of_three_d->SetValue (dm.two_d_version_of_three_d); _mastered_luminance->SetValue (std_to_wx (dm.mastered_luminance)); + _enable_subtitle_language->Bind (wxEVT_CHECKBOX, boost::bind(&ISDCFMetadataDialog::setup_sensitivity, this)); + + setup_sensitivity (); + layout (); } +void +ISDCFMetadataDialog::setup_sensitivity () +{ + _subtitle_language->Enable (_enable_subtitle_language->GetValue()); +} + ISDCFMetadata ISDCFMetadataDialog::isdcf_metadata () const { @@ -103,12 +122,13 @@ ISDCFMetadataDialog::isdcf_metadata () const dm.content_version = _content_version->GetValue (); dm.audio_language = wx_to_std (_audio_language->GetValue ()); - dm.subtitle_language = wx_to_std (_subtitle_language->GetValue ()); + if (_enable_subtitle_language->GetValue()) { + dm.subtitle_language = wx_to_std (_subtitle_language->GetValue()); + } dm.territory = wx_to_std (_territory->GetValue ()); dm.rating = wx_to_std (_rating->GetValue ()); dm.studio = wx_to_std (_studio->GetValue ()); dm.facility = wx_to_std (_facility->GetValue ()); - dm.package_type = wx_to_std (_package_type->GetValue ()); dm.temp_version = _temp_version->GetValue (); dm.pre_release = _pre_release->GetValue (); dm.red_band = _red_band->GetValue ();