X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fdir_picker_ctrl.cc;h=4c19da42af60662672c31d68536227e53c5ef74b;hb=e87f943433216d294b22853411eca5c582be1066;hp=2330e584a5ea90748ac682a8367cdb1041bdd055;hpb=ad5c8849fc3ef5aad88201f28db5474a60db4436;p=dcpomatic.git diff --git a/src/wx/dir_picker_ctrl.cc b/src/wx/dir_picker_ctrl.cc index 2330e584a..4c19da42a 100644 --- a/src/wx/dir_picker_ctrl.cc +++ b/src/wx/dir_picker_ctrl.cc @@ -18,24 +18,35 @@ */ -#include -#include -#include -#include + +#include "dcpomatic_button.h" #include "dir_picker_ctrl.h" +#include "static_text.h" #include "wx_util.h" +#include +LIBDCP_DISABLE_WARNINGS +#include +#include +#include +LIBDCP_ENABLE_WARNINGS +#include + using namespace std; using namespace boost; + DirPickerCtrl::DirPickerCtrl (wxWindow* parent) : wxPanel (parent) { _sizer = new wxBoxSizer (wxHORIZONTAL); - _folder = new wxStaticText (this, wxID_ANY, wxT ("")); - _sizer->Add (_folder, 1, wxEXPAND | wxALL, 6); - _browse = new wxButton (this, wxID_ANY, _("Browse...")); + _folder = new StaticText (this, wxT("")); + wxFont font = _folder->GetFont (); + font.SetStyle (wxFONTSTYLE_ITALIC); + _folder->SetFont (font); + _sizer->Add (_folder, 1, wxEXPAND | wxALL, DCPOMATIC_SIZER_GAP); + _browse = new Button (this, _("Browse...")); _sizer->Add (_browse, 0); SetSizer (_sizer); @@ -51,7 +62,7 @@ DirPickerCtrl::SetPath (wxString p) if (_path == wxStandardPaths::Get().GetDocumentsDir()) { _folder->SetLabel (_("My Documents")); } else { - _folder->SetLabel (std_to_wx (filesystem::path (wx_to_std (_path)).leaf().string())); + _folder->SetLabel (_path); } wxCommandEvent ev (wxEVT_DIRPICKER_CHANGED, wxID_ANY); @@ -59,6 +70,8 @@ DirPickerCtrl::SetPath (wxString p) _sizer->Layout (); SetMinSize (wxSize (max (400, _sizer->GetSize().GetWidth()), -1)); + + Changed (); } wxString @@ -70,9 +83,8 @@ DirPickerCtrl::GetPath () const void DirPickerCtrl::browse_clicked () { - wxDirDialog* d = new wxDirDialog (this); + auto d = make_wx(this); if (d->ShowModal () == wxID_OK) { SetPath (d->GetPath ()); } - d->Destroy (); }