X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ffilm_editor.cc;h=2cf6a0b6ccc6847a627bfeb63a848a8e407d6ab8;hb=7f2e74604a51b984e4c8cbb5d5f4bb642677ec00;hp=d16d5fc26f7d5f63b4b1b4a1f0588fb33a0f01e6;hpb=e78795bc6d7fa129512fc397eaec7505b9bdab5f;p=dcpomatic.git diff --git a/src/wx/film_editor.cc b/src/wx/film_editor.cc index d16d5fc26..2cf6a0b6c 100644 --- a/src/wx/film_editor.cc +++ b/src/wx/film_editor.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2013 Carl Hetherington + Copyright (C) 2012-2014 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -92,6 +92,8 @@ FilmEditor::FilmEditor (shared_ptr f, wxWindow* parent) JobManager::instance()->ActiveJobsChanged.connect ( bind (&FilmEditor::active_jobs_changed, this, _1) ); + + Config::instance()->Changed.connect (boost::bind (&FilmEditor::config_changed, this)); SetSizerAndFit (s); } @@ -213,7 +215,7 @@ FilmEditor::make_dcp_panel () } _audio_channels->SetRange (0, MAX_AUDIO_CHANNELS); - _j2k_bandwidth->SetRange (1, 250); + _j2k_bandwidth->SetRange (1, Config::instance()->maximum_j2k_bandwidth() / 1000000); _resolution->Append (_("2K")); _resolution->Append (_("4K")); @@ -268,19 +270,25 @@ FilmEditor::make_content_panel () _content->InsertColumn (0, wxT("")); _content->SetColumnWidth (0, 512); +#ifdef DCPOMATIC_OSX + int const pad = 2; +#else + int const pad = 0; +#endif + wxBoxSizer* b = new wxBoxSizer (wxVERTICAL); _content_add_file = new wxButton (_content_panel, wxID_ANY, _("Add file(s)...")); - b->Add (_content_add_file, 1, wxEXPAND | wxALL, 2); + b->Add (_content_add_file, 1, wxEXPAND | wxALL, pad); _content_add_folder = new wxButton (_content_panel, wxID_ANY, _("Add folder...")); - b->Add (_content_add_folder, 1, wxEXPAND | wxALL, 2); + b->Add (_content_add_folder, 1, wxEXPAND | wxALL, pad); _content_remove = new wxButton (_content_panel, wxID_ANY, _("Remove")); - b->Add (_content_remove, 1, wxEXPAND | wxALL, 2); + b->Add (_content_remove, 1, wxEXPAND | wxALL, pad); _content_earlier = new wxButton (_content_panel, wxID_ANY, _("Up")); - b->Add (_content_earlier, 1, wxEXPAND | wxALL, 2); + b->Add (_content_earlier, 1, wxEXPAND | wxALL, pad); _content_later = new wxButton (_content_panel, wxID_ANY, _("Down")); - b->Add (_content_later, 1, wxEXPAND | wxALL, 2); + b->Add (_content_later, 1, wxEXPAND | wxALL, pad); _content_timeline = new wxButton (_content_panel, wxID_ANY, _("Timeline...")); - b->Add (_content_timeline, 1, wxEXPAND | wxALL, 2); + b->Add (_content_timeline, 1, wxEXPAND | wxALL, pad); s->Add (b, 0, wxALL, 4); @@ -795,11 +803,16 @@ FilmEditor::content_add_folder_clicked () return; } - _film->examine_and_add_content ( - shared_ptr ( - new ImageContent (_film, boost::filesystem::path (wx_to_std (d->GetPath ()))) - ) - ); + shared_ptr ic; + + try { + ic.reset (new ImageContent (_film, boost::filesystem::path (wx_to_std (d->GetPath ())))); + } catch (FileError& e) { + error_dialog (this, std_to_wx (e.what ())); + return; + } + + _film->examine_and_add_content (ic); } void @@ -841,7 +854,7 @@ FilmEditor::setup_content_sensitivity () _video_panel->Enable (video_selection.size() > 0 && _generally_sensitive); _audio_panel->Enable (audio_selection.size() > 0 && _generally_sensitive); - _subtitle_panel->Enable (selection.size() == 1 && dynamic_pointer_cast (selection.front()) && _generally_sensitive); + _subtitle_panel->Enable (selection.size() == 1 && dynamic_pointer_cast (selection.front()) && _generally_sensitive); _timing_panel->Enable (selection.size() == 1 && _generally_sensitive); } @@ -998,3 +1011,9 @@ FilmEditor::content_later_clicked () content_selection_changed (); } } + +void +FilmEditor::config_changed () +{ + _j2k_bandwidth->SetRange (1, Config::instance()->maximum_j2k_bandwidth() / 1000000); +}