From: Carl Hetherington Date: Sat, 11 Nov 2023 20:03:39 +0000 (+0100) Subject: Move add_files_override_path to film_util X-Git-Tag: v2.16.67~31 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=00cc999455e060630a5914e7a70489ff98219b49 Move add_files_override_path to film_util --- diff --git a/src/lib/film_util.cc b/src/lib/film_util.cc index 34f48d5a3..a12a3ae89 100644 --- a/src/lib/film_util.cc +++ b/src/lib/film_util.cc @@ -19,11 +19,13 @@ */ +#include "config.h" #include "film.h" #include "film_util.h" using std::shared_ptr; +using boost::optional; bool @@ -32,3 +34,14 @@ channel_is_mapped(shared_ptr film, dcp::Channel channel) auto const mapped = film->mapped_audio_channels(); return std::find(mapped.begin(), mapped.end(), static_cast(channel)) != mapped.end(); } + + +optional +add_files_override_path(shared_ptr film) +{ + film->directory(); + return Config::instance()->default_add_file_location() == Config::DefaultAddFileLocation::SAME_AS_PROJECT + ? film->directory()->parent_path() + : boost::optional(); + +} diff --git a/src/lib/film_util.h b/src/lib/film_util.h index f5b91f1f5..3e5f40644 100644 --- a/src/lib/film_util.h +++ b/src/lib/film_util.h @@ -26,3 +26,4 @@ class Film; bool channel_is_mapped(std::shared_ptr film, dcp::Channel channel); +boost::optional add_files_override_path(std::shared_ptr film); diff --git a/src/wx/content_panel.cc b/src/wx/content_panel.cc index 56c1d0524..8a98bc1a4 100644 --- a/src/wx/content_panel.cc +++ b/src/wx/content_panel.cc @@ -43,6 +43,7 @@ #include "lib/dcpomatic_log.h" #include "lib/ffmpeg_content.h" #include "lib/film.h" +#include "lib/film_util.h" #include "lib/image_content.h" #include "lib/log.h" #include "lib/playlist.h" @@ -582,17 +583,6 @@ ContentPanel::check_selection () } -optional -ContentPanel::add_files_override_path() const -{ - DCPOMATIC_ASSERT(_film->directory()); - return Config::instance()->default_add_file_location() == Config::DefaultAddFileLocation::SAME_AS_PROJECT - ? _film->directory()->parent_path() - : boost::optional(); - -} - - void ContentPanel::add_file_clicked () { @@ -612,7 +602,7 @@ ContentPanel::add_file_clicked () wxT("All files|*.*|Subtitle files|*.srt;*.xml|Audio files|*.wav;*.w64;*.flac;*.aif;*.aiff"), wxFD_MULTIPLE | wxFD_CHANGE_DIR, "AddFilesPath", - add_files_override_path() + add_files_override_path(_film) ); if (dialog.show()) { @@ -624,7 +614,7 @@ ContentPanel::add_file_clicked () void ContentPanel::add_folder_clicked () { - DirDialog dialog(_splitter, _("Choose a folder"), wxDD_DIR_MUST_EXIST, "AddFilesPath", add_files_override_path()); + DirDialog dialog(_splitter, _("Choose a folder"), wxDD_DIR_MUST_EXIST, "AddFilesPath", add_files_override_path(_film)); if (dialog.show()) { add_folder(dialog.path()); } @@ -667,7 +657,7 @@ ContentPanel::add_folder(boost::filesystem::path folder) void ContentPanel::add_dcp_clicked () { - DirDialog dialog(_splitter, _("Choose a DCP folder"), wxDD_DIR_MUST_EXIST, "AddFilesPath", add_files_override_path()); + DirDialog dialog(_splitter, _("Choose a DCP folder"), wxDD_DIR_MUST_EXIST, "AddFilesPath", add_files_override_path(_film)); if (dialog.show()) { add_dcp(dialog.path()); } diff --git a/src/wx/content_panel.h b/src/wx/content_panel.h index 6ba9bb1bb..ca0d49719 100644 --- a/src/wx/content_panel.h +++ b/src/wx/content_panel.h @@ -109,7 +109,6 @@ private: void later_clicked (); void right_click (wxListEvent &); void files_dropped (wxDropFilesEvent &); - boost::optional add_files_override_path() const; void setup (); void setup_sensitivity ();