_player_kdm_directory = boost::none;
_audio_mapping = boost::none;
_custom_languages.clear ();
+ _add_files_path = boost::none;
_allowed_dcp_frame_rates.clear ();
_allowed_dcp_frame_rates.push_back (24);
} catch (std::runtime_error& e) {}
}
+ _add_files_path = f.optional_string_child("AddFilesPath");
+
if (boost::filesystem::exists (_cinemas_file)) {
cxml::Document f ("Cinemas");
f.read_file (_cinemas_file);
for (auto const& i: _custom_languages) {
root->add_child("CustomLanguage")->add_child_text(i.to_string());
}
+ if (_add_files_path) {
+ /* [XML] The default path that will be offered in the picker when adding files to a film */
+ root->add_child("AddFilesPath")->add_child_text(_add_files_path->string());
+ }
try {
auto const s = doc.write_to_string_formatted ();
return _custom_languages;
}
+ boost::optional<boost::filesystem::path> add_files_path () const {
+ return _add_files_path;
+ }
+
/* SET (mostly) */
void set_master_encoding_threads (int n) {
void add_custom_language (dcp::LanguageTag tag);
+ void set_add_files_path (boost::filesystem::path p) {
+ _add_files_path = p;
+ changed ();
+ }
+
void changed (Property p = OTHER);
boost::signals2::signal<void (Property)> Changed;
/** Emitted if read() failed on an existing Config file. There is nothing
boost::optional<boost::filesystem::path> _player_kdm_directory;
boost::optional<AudioMapping> _audio_mapping;
std::vector<dcp::LanguageTag> _custom_languages;
+ boost::optional<boost::filesystem::path> _add_files_path;
static int const _current_version;
#include "lib/compose.hpp"
#include "lib/config.h"
#include "lib/content_factory.h"
+#include "lib/cross.h"
#include "lib/dcp_content.h"
#include "lib/dcpomatic_log.h"
#include "lib/ffmpeg_content.h"
return;
}
+ auto path = Config::instance()->add_files_path();
+
/* The wxFD_CHANGE_DIR here prevents a `could not set working directory' error 123 on Windows when using
non-Latin filenames or paths.
*/
auto d = new wxFileDialog (
_splitter,
_("Choose a file or files"),
- wxT (""),
+ std_to_wx(path ? path->string() : home_directory().string()),
wxT (""),
wxT ("All files|*.*|Subtitle files|*.srt;*.xml|Audio files|*.wav;*.w64;*.flac;*.aif;*.aiff"),
wxFD_MULTIPLE | wxFD_CHANGE_DIR
}
add_files (path_list);
+ if (!path_list.empty()) {
+ Config::instance()->set_add_files_path(path_list[0].parent_path());
+ }
+
d->Destroy ();
}