diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-07-29 20:54:27 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-07-29 20:54:27 +0100 |
| commit | e45aaf708967630b71323c2eccbb0ab2a5497c17 (patch) | |
| tree | 425bc8febd0ad21639763abc9e98202f20a00845 /src/wx | |
| parent | 5bce9837a15647bc07977be0c304f5bd0bf212c2 (diff) | |
Move code to create DCPContent or (non-still) ImageContent into content_factory().
Diffstat (limited to 'src/wx')
| -rw-r--r-- | src/wx/content_panel.cc | 36 |
1 files changed, 6 insertions, 30 deletions
diff --git a/src/wx/content_panel.cc b/src/wx/content_panel.cc index 32ca3e494..65fdf588c 100644 --- a/src/wx/content_panel.cc +++ b/src/wx/content_panel.cc @@ -278,27 +278,10 @@ ContentPanel::add_folder_clicked () return; } - /* Guess if this is a DCP or a set of images: read the first ten filenames and if they - are all valid image files we assume it is a set of images. - */ - - bool is_dcp = false; - int read = 0; - for (boost::filesystem::directory_iterator i(path); i != boost::filesystem::directory_iterator() && read < 10; ++i, ++read) { - if (!boost::filesystem::is_regular_file (i->path()) || !valid_image_file (i->path())) { - is_dcp = true; - } - } - - if (is_dcp) { - try { - shared_ptr<DCPContent> content (new DCPContent (_film, path)); - _film->examine_and_add_content (content); - } catch (...) { - error_dialog (_panel, _("Could not find a DCP nor a set of images in that folder.")); - } - } else { + shared_ptr<Content> content = content_factory (_film, path); + shared_ptr<ImageContent> ic = dynamic_pointer_cast<ImageContent> (content); + if (ic) { ImageSequenceDialog* e = new ImageSequenceDialog (_panel); r = e->ShowModal (); float const frame_rate = e->frame_rate (); @@ -308,17 +291,10 @@ ContentPanel::add_folder_clicked () return; } - shared_ptr<Content> content; - - try { - shared_ptr<ImageContent> content (new ImageContent (_film, path)); - content->set_video_frame_rate (frame_rate); - _film->examine_and_add_content (content); - } catch (...) { - error_dialog (_panel, _("Could not find any images in that folder")); - return; - } + ic->set_video_frame_rate (frame_rate); } + + _film->examine_and_add_content (content); } void |
