X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fwx%2Fdir_picker_ctrl.cc;h=47a546a8d8782223a5d519067c95fed7605fa13e;hb=4c29782ada19f49919924729c5a8302b2628f115;hp=b6558a881eee90169ba681cc9ff8757ff2a0b01a;hpb=55e5d61e68d9ee95594562f911c9db0397246fbe;p=dcpomatic.git diff --git a/src/wx/dir_picker_ctrl.cc b/src/wx/dir_picker_ctrl.cc index b6558a881..47a546a8d 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" @@ -39,7 +40,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 @@ -52,6 +53,9 @@ DirPickerCtrl::SetPath (wxString p) } else { _folder->SetLabel (std_to_wx (filesystem::path (wx_to_std (_path)).leaf().string())); } + + wxCommandEvent ev (wxEVT_COMMAND_DIRPICKER_CHANGED, wxID_ANY); + GetEventHandler()->ProcessEvent (ev); } wxString @@ -61,10 +65,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 (); }