X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fsmpte_metadata_dialog.cc;h=f5d63e329be924085f39c96043e0771993b600a1;hb=5ee919f413a6c1048aecf83676d42ab3fd94e06e;hp=37a957921808c0988a314e743cd54bbbcbd66872;hpb=ea51ac3483161343b7aefabe54420c6cb431c0fe;p=dcpomatic.git diff --git a/src/wx/smpte_metadata_dialog.cc b/src/wx/smpte_metadata_dialog.cc index 37a957921..f5d63e329 100644 --- a/src/wx/smpte_metadata_dialog.cc +++ b/src/wx/smpte_metadata_dialog.cc @@ -19,39 +19,32 @@ */ +#include "check_box.h" #include "content_version_dialog.h" #include "editable_list.h" #include "language_tag_dialog.h" #include "language_tag_widget.h" -#include "smpte_metadata_dialog.h" #include "rating_dialog.h" +#include "smpte_metadata_dialog.h" #include "lib/film.h" #include +#include +LIBDCP_DISABLE_WARNINGS #include #include +LIBDCP_ENABLE_WARNINGS +using std::shared_ptr; using std::string; using std::vector; -using boost::optional; -using std::shared_ptr; using std::weak_ptr; +using boost::optional; #if BOOST_VERSION >= 106100 using namespace boost::placeholders; #endif -static string -ratings_column (dcp::Rating r, int c) -{ - if (c == 0) { - return r.agency; - } - - return r.label; -} - - static string content_versions_column (string v, int) { @@ -81,18 +74,6 @@ SMPTEMetadataDialog::setup_standard (wxPanel* panel, wxSizer* sizer) sizer->Add (m, 0, flags, DCPOMATIC_SIZER_GAP); } - vector columns; - columns.push_back (EditableListColumn("Agency", 200, true)); - columns.push_back (EditableListColumn("Label", 50, true)); - _ratings = new EditableList ( - panel, - columns, - boost::bind(&SMPTEMetadataDialog::ratings, this), - boost::bind(&SMPTEMetadataDialog::set_ratings, this, _1), - boost::bind(&ratings_column, _1, _2), - true, - false - ); sizer->Add (_ratings, 1, wxEXPAND); } @@ -110,28 +91,11 @@ SMPTEMetadataDialog::setup_advanced (wxPanel* panel, wxSizer* sizer) _status = new wxChoice (panel, wxID_ANY); sizer->Add (_status, 0); - _enable_chain = new wxCheckBox (panel, wxID_ANY, _("Chain")); - sizer->Add (_enable_chain, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL); - _chain = new wxTextCtrl (panel, wxID_ANY); - sizer->Add (_chain, 1, wxEXPAND); - - _enable_distributor = new wxCheckBox (panel, wxID_ANY, _("Distributor")); + _enable_distributor = new CheckBox(panel, _("Distributor")); sizer->Add (_enable_distributor, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL); _distributor = new wxTextCtrl (panel, wxID_ANY); sizer->Add (_distributor, 1, wxEXPAND); - add_label_to_sizer (sizer, panel, _("Luminance"), true, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL); - { - auto s = new wxBoxSizer (wxHORIZONTAL); - _luminance_value = new wxSpinCtrlDouble (panel, wxID_ANY); - _luminance_value->SetDigits (1); - _luminance_value->SetIncrement (0.1); - s->Add (_luminance_value, 0); - _luminance_unit = new wxChoice (panel, wxID_ANY); - s->Add (_luminance_unit, 0, wxLEFT, DCPOMATIC_SIZER_X_GAP); - sizer->Add (s, 1, wxEXPAND); - } - { int flags = wxALIGN_TOP | wxRIGHT | wxTOP; #ifdef __WXOSX__ @@ -149,8 +113,8 @@ SMPTEMetadataDialog::setup_advanced (wxPanel* panel, wxSizer* sizer) boost::bind(&SMPTEMetadataDialog::content_versions, this), boost::bind(&SMPTEMetadataDialog::set_content_versions, this, _1), boost::bind(&content_versions_column, _1, _2), - true, - false + EditableListTitle::INVISIBLE, + EditableListButton::NEW | EditableListButton::REMOVE ); sizer->Add (_content_versions, 1, wxEXPAND); } @@ -172,26 +136,17 @@ SMPTEMetadataDialog::setup () _status->Append (_("Pre-release")); _status->Append (_("Final")); - _luminance_unit->Append (wxString::FromUTF8(_("candela per m²"))); - _luminance_unit->Append (_("foot lambert")); - _name_language->Changed.connect (boost::bind(&SMPTEMetadataDialog::name_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)); - _chain->Bind (wxEVT_TEXT, boost::bind(&SMPTEMetadataDialog::chain_changed, this)); - _enable_distributor->Bind (wxEVT_CHECKBOX, boost::bind(&SMPTEMetadataDialog::enable_distributor_changed, this)); + _enable_distributor->bind(&SMPTEMetadataDialog::enable_distributor_changed, this); _distributor->Bind (wxEVT_TEXT, boost::bind(&SMPTEMetadataDialog::distributor_changed, this)); - _luminance_value->Bind (wxEVT_SPINCTRLDOUBLE, boost::bind(&SMPTEMetadataDialog::luminance_changed, this)); - _luminance_unit->Bind (wxEVT_CHOICE, boost::bind(&SMPTEMetadataDialog::luminance_changed, this)); film_changed (ChangeType::DONE, Film::Property::NAME_LANGUAGE); film_changed (ChangeType::DONE, Film::Property::VERSION_NUMBER); film_changed (ChangeType::DONE, Film::Property::STATUS); - film_changed (ChangeType::DONE, Film::Property::CHAIN); film_changed (ChangeType::DONE, Film::Property::DISTRIBUTOR); film_changed (ChangeType::DONE, Film::Property::CONTENT_VERSIONS); - film_changed (ChangeType::DONE, Film::Property::LUMINANCE); setup_sensitivity (); } @@ -222,50 +177,15 @@ SMPTEMetadataDialog::film_changed (ChangeType type, Film::Property property) checked_set (_status, 2); break; } - } else if (property == Film::Property::CHAIN) { - checked_set (_enable_chain, static_cast(film()->chain())); - if (film()->chain()) { - checked_set (_chain, *film()->chain()); - } } else if (property == Film::Property::DISTRIBUTOR) { checked_set (_enable_distributor, static_cast(film()->distributor())); if (film()->distributor()) { checked_set (_distributor, *film()->distributor()); } - } else if (property == Film::Property::LUMINANCE) { - auto lum = film()->luminance(); - if (lum) { - checked_set (_luminance_value, lum->value()); - switch (lum->unit()) { - case dcp::Luminance::Unit::CANDELA_PER_SQUARE_METRE: - checked_set (_luminance_unit, 0); - break; - case dcp::Luminance::Unit::FOOT_LAMBERT: - checked_set (_luminance_unit, 1); - break; - } - } else { - checked_set (_luminance_value, 4.5); - checked_set (_luminance_unit, 1); - } } } -vector -SMPTEMetadataDialog::ratings () const -{ - return film()->ratings (); -} - - -void -SMPTEMetadataDialog::set_ratings (vector r) -{ - film()->set_ratings (r); -} - - vector SMPTEMetadataDialog::content_versions () const { @@ -311,13 +231,6 @@ SMPTEMetadataDialog::status_changed () } -void -SMPTEMetadataDialog::chain_changed () -{ - film()->set_chain (wx_to_std(_chain->GetValue())); -} - - void SMPTEMetadataDialog::distributor_changed () { @@ -325,47 +238,15 @@ SMPTEMetadataDialog::distributor_changed () } -void -SMPTEMetadataDialog::luminance_changed () -{ - dcp::Luminance::Unit unit; - switch (_luminance_unit->GetSelection()) { - case 0: - unit = dcp::Luminance::Unit::CANDELA_PER_SQUARE_METRE; - break; - case 1: - unit = dcp::Luminance::Unit::FOOT_LAMBERT; - break; - default: - DCPOMATIC_ASSERT (false); - } - - film()->set_luminance (dcp::Luminance(_luminance_value->GetValue(), unit)); -} - - void SMPTEMetadataDialog::setup_sensitivity () { MetadataDialog::setup_sensitivity (); - _chain->Enable (_enable_chain->GetValue()); _distributor->Enable (_enable_distributor->GetValue()); } -void -SMPTEMetadataDialog::enable_chain_changed () -{ - setup_sensitivity (); - if (_enable_chain->GetValue()) { - film()->set_chain (wx_to_std(_chain->GetValue())); - } else { - film()->set_chain (); - } -} - - void SMPTEMetadataDialog::enable_distributor_changed () {