X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fnew_film_dialog.cc;h=191482a7cbcdb23ca3da8f48720dbbcdc7bf2d06;hb=6f833b0e9b4342922f5488ceaef76db567c2087f;hp=90c2d727ef27defab61568d07025d7ec1408af76;hpb=bbb40798ca846edc18a26d396cc9b066c085b8fd;p=dcpomatic.git diff --git a/src/wx/new_film_dialog.cc b/src/wx/new_film_dialog.cc index 90c2d727e..191482a7c 100644 --- a/src/wx/new_film_dialog.cc +++ b/src/wx/new_film_dialog.cc @@ -29,6 +29,8 @@ using namespace std; using namespace boost; +boost::optional NewFilmDialog::_directory; + NewFilmDialog::NewFilmDialog (wxWindow* parent) : wxDialog (parent, wxID_ANY, _("New Film")) { @@ -49,7 +51,12 @@ NewFilmDialog::NewFilmDialog (wxWindow* parent) #else _folder = new wxDirPickerCtrl (this, wxDD_DIR_MUST_EXIST); #endif - _folder->SetPath (std_to_wx (Config::instance()->default_directory_or (wx_to_std (wxStandardPaths::Get().GetDocumentsDir())))); + + if (!_directory) { + _directory = Config::instance()->default_directory_or (wx_to_std (wxStandardPaths::Get().GetDocumentsDir())); + } + + _folder->SetPath (std_to_wx (_directory.get())); table->Add (_folder, 1, wxEXPAND); wxSizer* buttons = CreateSeparatedButtonSizer (wxOK | wxCANCEL); @@ -61,6 +68,11 @@ NewFilmDialog::NewFilmDialog (wxWindow* parent) overall_sizer->SetSizeHints (this); } +NewFilmDialog::~NewFilmDialog () +{ + _directory = wx_to_std (_folder->GetPath ()); +} + string NewFilmDialog::get_path () const {