X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fconfig.cc;h=2db50d687a26aa94f2890b739310d44b43460020;hb=0c66eff01358e75ff524f395aeb634ec34a47313;hp=e3325859f017d98b10a5b39f4e2f4cd40293e83c;hpb=e572ffd2e0bdc59cd00103a242d290d89e039c93;p=dcpomatic.git diff --git a/src/lib/config.cc b/src/lib/config.cc index e3325859f..2db50d687 100644 --- a/src/lib/config.cc +++ b/src/lib/config.cc @@ -153,6 +153,7 @@ Config::set_defaults () _sound_output = optional (); _last_kdm_write_type = KDM_WRITE_FLAT; _last_dkdm_write_type = DKDM_WRITE_INTERNAL; + _default_add_file_location = DefaultAddFileLocation::SAME_AS_LAST_TIME; /* I think the scaling factor here should be the ratio of the longest frame encode time to the shortest; if the thread count is T, longest time is L @@ -620,6 +621,14 @@ try _main_divider_sash_position = f.optional_number_child("MainDividerSashPosition"); _main_content_divider_sash_position = f.optional_number_child("MainContentDividerSashPosition"); + if (auto loc = f.optional_string_child("DefaultAddFileLocation")) { + if (*loc == "last") { + _default_add_file_location = DefaultAddFileLocation::SAME_AS_LAST_TIME; + } else if (*loc == "project") { + _default_add_file_location = DefaultAddFileLocation::SAME_AS_PROJECT; + } + } + _export.read(f.optional_node_child("Export")); } catch (...) { @@ -1097,6 +1106,10 @@ Config::write_config () const root->add_child("MainContentDividerSashPosition")->add_child_text(raw_convert(*_main_content_divider_sash_position)); } + root->add_child("DefaultAddFileLocation")->add_child_text( + _default_add_file_location == DefaultAddFileLocation::SAME_AS_LAST_TIME ? "last" : "project" + ); + _export.write(root->add_child("Export")); auto target = config_write_file();