Supporters update.
[dcpomatic.git] / src / wx / film_name_location_dialog.cc
index e0e407c06d1722c6aed904243cfa65640ba9eebc..5c6f97f995d7b4c239dbb40ddface8d81d79aa75 100644 (file)
 #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>
 
 
@@ -48,15 +52,14 @@ FilmNameLocationDialog::FilmNameLocationDialog (wxWindow* parent, wxString title
 
 #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) {
@@ -75,7 +78,7 @@ FilmNameLocationDialog::FilmNameLocationDialog (wxWindow* parent, wxString title
                        _template_name->Append (std_to_wx(i));
                }
 
-               _use_template->Bind (wxEVT_CHECKBOX, bind(&FilmNameLocationDialog::use_template_clicked, this));
+               _use_template->bind(&FilmNameLocationDialog::use_template_clicked, this);
        }
 
        layout ();
@@ -102,7 +105,8 @@ FilmNameLocationDialog::use_template_clicked ()
 }
 
 
-FilmNameLocationDialog::~FilmNameLocationDialog ()
+void
+FilmNameLocationDialog::folder_changed ()
 {
        _directory = wx_to_std (_folder->GetPath());
 }