Remember the path used for "add files" (#2049).
[dcpomatic.git] / src / wx / content_panel.cc
index 68f6f1b9479686ff88460147cef27229d806a258..bcc6999139f248255b1ad2f61ca3697ddc1e87ef 100644 (file)
@@ -34,6 +34,7 @@
 #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"
@@ -420,13 +421,15 @@ ContentPanel::add_file_clicked ()
                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
@@ -447,6 +450,10 @@ ContentPanel::add_file_clicked ()
        }
        add_files (path_list);
 
+       if (!path_list.empty()) {
+               Config::instance()->set_add_files_path(path_list[0].parent_path());
+       }
+
        d->Destroy ();
 }