diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-01-10 20:36:10 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-01-10 20:36:10 +0000 |
| commit | d9c2cf78e6c5e465e7f76020f78f7ed1e71c3bc0 (patch) | |
| tree | 3744b833c3a717df67d0087ab49cc0c88a696907 /src/wx | |
| parent | 6835fc7930cc6323e64e07f654f7aaba8fc9e689 (diff) | |
Add File->Close to main DCP-o-matic (#1180).
Diffstat (limited to 'src/wx')
| -rw-r--r-- | src/wx/content_panel.cc | 6 | ||||
| -rw-r--r-- | src/wx/controls.cc | 5 | ||||
| -rw-r--r-- | src/wx/dcp_panel.cc | 9 | ||||
| -rw-r--r-- | src/wx/film_editor.cc | 13 |
4 files changed, 27 insertions, 6 deletions
diff --git a/src/wx/content_panel.cc b/src/wx/content_panel.cc index 4587b8cc3..318a344f2 100644 --- a/src/wx/content_panel.cc +++ b/src/wx/content_panel.cc @@ -667,6 +667,12 @@ ContentPanel::film_content_changed (int property) void ContentPanel::setup () { + if (!_film) { + _content->DeleteAllItems (); + setup_sensitivity (); + return; + } + ContentList content = _film->content (); Content* selected_content = 0; diff --git a/src/wx/controls.cc b/src/wx/controls.cc index ef93b8597..5e68baaa0 100644 --- a/src/wx/controls.cc +++ b/src/wx/controls.cc @@ -371,7 +371,10 @@ Controls::set_film (shared_ptr<Film> film) } _film = film; - _film_change_connection = _film->Change.connect (boost::bind(&Controls::film_change, this, _1, _2)); + + if (_film) { + _film_change_connection = _film->Change.connect (boost::bind(&Controls::film_change, this, _1, _2)); + } setup_sensitivity (); diff --git a/src/wx/dcp_panel.cc b/src/wx/dcp_panel.cc index a01db9be3..5ebd0989d 100644 --- a/src/wx/dcp_panel.cc +++ b/src/wx/dcp_panel.cc @@ -565,6 +565,13 @@ DCPPanel::set_film (shared_ptr<Film> film) _film = film; + if (!_film) { + /* Really should all the film_changed below but this might be enough */ + checked_set (_dcp_name, wxT("")); + set_general_sensitivity (false); + return; + } + film_changed (Film::NAME); film_changed (Film::USE_ISDCF_NAME); film_changed (Film::CONTENT); @@ -628,6 +635,8 @@ DCPPanel::setup_sensitivity () _resolution->Enable (_generally_sensitive && _film && !_film->references_dcp_video()); _three_d->Enable (_generally_sensitive && _film && !_film->references_dcp_video()); _standard->Enable (_generally_sensitive && _film && !_film->references_dcp_video() && !_film->references_dcp_audio()); + _reencode_j2k->Enable (_generally_sensitive && _film); + _show_audio->Enable (_generally_sensitive && _film); } void diff --git a/src/wx/film_editor.cc b/src/wx/film_editor.cc index 59b44cd8c..a017175f5 100644 --- a/src/wx/film_editor.cc +++ b/src/wx/film_editor.cc @@ -125,18 +125,21 @@ FilmEditor::set_film (shared_ptr<Film> film) _content_panel->set_film (_film); _dcp_panel->set_film (_film); - if (_film) { - _film->Change.connect (bind (&FilmEditor::film_change, this, _1, _2)); - _film->ContentChange.connect (bind (&FilmEditor::film_content_change, this, _1, _3)); + if (!_film) { + FileChanged (""); + return; } - if (_film && _film->directory()) { + _film->Change.connect (bind (&FilmEditor::film_change, this, _1, _2)); + _film->ContentChange.connect (bind (&FilmEditor::film_content_change, this, _1, _3)); + + if (_film->directory()) { FileChanged (_film->directory().get()); } else { FileChanged (""); } - if (!_film->content().empty ()) { + if (!_film->content().empty()) { _content_panel->set_selection (_film->content().front ()); } } |
