X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fconfig.cc;h=b742756b7eb55197205a85fe6a69acbbdb0cf2ce;hp=bf4b495523cd10433e3b80549fd5ac7db67ff279;hb=86bbc0981a60ad9ba7b7bdbf28a34f197f83f6cb;hpb=8c397a895b1204473ebd8df5108563b1dd0a4e1c diff --git a/src/lib/config.cc b/src/lib/config.cc index bf4b49552..b742756b7 100644 --- a/src/lib/config.cc +++ b/src/lib/config.cc @@ -1172,12 +1172,26 @@ Config::add_to_history (boost::filesystem::path p) add_to_history_internal (_history, p); } +/** Remove non-existant items from the history */ +void +Config::clean_history () +{ + clean_history_internal (_history); +} + void Config::add_to_player_history (boost::filesystem::path p) { add_to_history_internal (_player_history, p); } +/** Remove non-existant items from the player history */ +void +Config::clean_player_history () +{ + clean_history_internal (_player_history); +} + void Config::add_to_history_internal (vector& h, boost::filesystem::path p) { @@ -1192,6 +1206,18 @@ Config::add_to_history_internal (vector& h, boost::file changed (HISTORY); } +void +Config::clean_history_internal (vector& h) +{ + vector old = h; + h.clear (); + BOOST_FOREACH (boost::filesystem::path i, old) { + if (boost::filesystem::is_directory(i)) { + h.push_back (i); + } + } +} + bool Config::have_existing (string file) {