From a8f51733f93bcf88d867d5a4b359e6e14ddad91a Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 10 Sep 2014 23:40:05 +0100 Subject: [PATCH] Copy current ISDCF name into the film name when 'Use ISDCF name' is un-ticked. --- ChangeLog | 3 +++ src/wx/film_editor.cc | 23 ++++++++++++++++++----- src/wx/film_editor.h | 2 ++ 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index a529f6a81..32099c358 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2014-09-10 Carl Hetherington + * Allow DCP names to be created using the ISDCF template and then + edited afterwards (#401). + * Fix hidden advanced preferences button in some locales. 2014-09-08 Carl Hetherington diff --git a/src/wx/film_editor.cc b/src/wx/film_editor.cc index f569e0422..e73b27267 100644 --- a/src/wx/film_editor.cc +++ b/src/wx/film_editor.cc @@ -115,11 +115,6 @@ FilmEditor::make_dcp_panel () grid->Add (_name, wxGBPosition(r, 1), wxDefaultSpan, wxEXPAND | wxLEFT | wxRIGHT); ++r; - add_label_to_grid_bag_sizer (grid, _dcp_panel, _("DCP Name"), true, wxGBPosition (r, 0)); - _dcp_name = new wxStaticText (_dcp_panel, wxID_ANY, wxT ("")); - grid->Add (_dcp_name, wxGBPosition(r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); - ++r; - int flags = wxALIGN_CENTER_VERTICAL; #ifdef __WXOSX__ flags |= wxALIGN_RIGHT; @@ -131,6 +126,11 @@ FilmEditor::make_dcp_panel () grid->Add (_edit_isdcf_button, wxGBPosition (r, 1), wxDefaultSpan); ++r; + add_label_to_grid_bag_sizer (grid, _dcp_panel, _("DCP Name"), true, wxGBPosition (r, 0)); + _dcp_name = new wxStaticText (_dcp_panel, wxID_ANY, wxT ("")); + grid->Add (_dcp_name, wxGBPosition(r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); + ++r; + add_label_to_grid_bag_sizer (grid, _dcp_panel, _("Container"), true, wxGBPosition (r, 0)); _container = new wxChoice (_dcp_panel, wxID_ANY); grid->Add (_container, wxGBPosition (r, 1), wxDefaultSpan, wxEXPAND); @@ -474,6 +474,7 @@ FilmEditor::film_changed (Film::Property p) case Film::USE_ISDCF_NAME: checked_set (_use_isdcf_name, _film->use_isdcf_name ()); setup_dcp_name (); + use_isdcf_name_changed (); break; case Film::ISDCF_METADATA: setup_dcp_name (); @@ -707,6 +708,18 @@ FilmEditor::use_isdcf_name_toggled () _film->set_use_isdcf_name (_use_isdcf_name->GetValue ()); } +void +FilmEditor::use_isdcf_name_changed () +{ + bool const i = _film->use_isdcf_name (); + + if (!i) { + _film->set_name (_film->isdcf_name (true)); + } + + _edit_isdcf_button->Enable (i); +} + void FilmEditor::edit_isdcf_button_clicked () { diff --git a/src/wx/film_editor.h b/src/wx/film_editor.h index 1854df05e..56e725113 100644 --- a/src/wx/film_editor.h +++ b/src/wx/film_editor.h @@ -32,6 +32,7 @@ class wxNotebook; class wxListCtrl; class wxListEvent; +class wxGridBagSizer; class Film; class TimelineDialog; class Ratio; @@ -104,6 +105,7 @@ private: /* Handle changes to the model */ void film_changed (Film::Property); void film_content_changed (int); + void use_isdcf_name_changed (); void set_general_sensitivity (bool); void setup_dcp_name (); -- 2.30.2