#include "check_box.h"
#include "film_name_location_dialog.h"
#include "wx_util.h"
+/* This must come after wx_util.h as it defines DCPOMATIC_USE_OWN_PICKER */
#ifdef DCPOMATIC_USE_OWN_PICKER
#include "dir_picker_ctrl.h"
#endif
-#include "lib/config.h"
#include "lib/compose.hpp"
+#include "lib/config.h"
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
#include <wx/stdpaths.h>
+LIBDCP_ENABLE_WARNINGS
#include <boost/filesystem.hpp>
#ifdef DCPOMATIC_USE_OWN_PICKER
_folder = new DirPickerCtrl (this);
+ _folder->Changed.connect (bind(&FilmNameLocationDialog::folder_changed, this));
#else
_folder = new wxDirPickerCtrl (this, wxID_ANY, wxEmptyString, wxDirSelectorPromptStr, wxDefaultPosition, wxSize (300, -1));
+ _folder->Bind (wxEVT_DIRPICKER_CHANGED, bind(&FilmNameLocationDialog::folder_changed, this));
#endif
- if (!_directory) {
- _directory = Config::instance()->default_directory_or(wx_to_std(wxStandardPaths::Get().GetDocumentsDir()));
- }
-
- _folder->SetPath (std_to_wx(_directory.get().string()));
+ auto dir = _directory.get_value_or(Config::instance()->default_directory_or(wx_to_std(wxStandardPaths::Get().GetDocumentsDir())));
+ _folder->SetPath (std_to_wx(dir.string()));
add (_folder);
if (offer_templates) {
}
-FilmNameLocationDialog::~FilmNameLocationDialog ()
+void
+FilmNameLocationDialog::folder_changed ()
{
_directory = wx_to_std (_folder->GetPath());
}