X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fdir_picker_ctrl.cc;h=fad545283acfb47aa3d20c0c37b885a35a76e952;hb=773a9e0518f86b09cd1df81cef969a654c4018cf;hp=cb811fc1087a26839832a5b73f1bdb735d1d0ba3;hpb=b002ffea0b98dd41ba4806d42d0244554e412ee7;p=dcpomatic.git diff --git a/src/wx/dir_picker_ctrl.cc b/src/wx/dir_picker_ctrl.cc index cb811fc10..fad545283 100644 --- a/src/wx/dir_picker_ctrl.cc +++ b/src/wx/dir_picker_ctrl.cc @@ -19,6 +19,7 @@ #include #include +#include #include #include "dir_picker_ctrl.h" #include "wx_util.h" @@ -28,7 +29,6 @@ using namespace boost; DirPickerCtrl::DirPickerCtrl (wxWindow* parent) : wxPanel (parent) - , _parent (parent) { _sizer = new wxBoxSizer (wxHORIZONTAL); @@ -39,7 +39,7 @@ DirPickerCtrl::DirPickerCtrl (wxWindow* parent) SetSizerAndFit (_sizer); - _browse->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (DirPickerCtrl::browse_clicked), 0, this); + _browse->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&DirPickerCtrl::browse_clicked, this)); } void @@ -50,12 +50,11 @@ DirPickerCtrl::SetPath (wxString p) if (_path == wxStandardPaths::Get().GetDocumentsDir()) { _folder->SetLabel (_("My Documents")); } else { -#if BOOST_FILESYSTEM_VERSION == 3 _folder->SetLabel (std_to_wx (filesystem::path (wx_to_std (_path)).leaf().string())); -#else - _folder->SetLabel (std_to_wx (filesystem::path (wx_to_std (_path)).leaf())); -#endif } + + wxCommandEvent ev (wxEVT_COMMAND_DIRPICKER_CHANGED, wxID_ANY); + GetEventHandler()->ProcessEvent (ev); } wxString @@ -65,10 +64,11 @@ DirPickerCtrl::GetPath () const } void -DirPickerCtrl::browse_clicked (wxCommandEvent &) +DirPickerCtrl::browse_clicked () { wxDirDialog* d = new wxDirDialog (this); - d->ShowModal (); - SetPath (d->GetPath ()); + if (d->ShowModal () == wxID_OK) { + SetPath (d->GetPath ()); + } d->Destroy (); }