X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fdir_picker_ctrl.cc;h=feb11a52702b62538d0496f84473eda5cbfb349d;hb=e72a69ac2ebf24df05ba4b6de65bfa338a58b0ec;hp=368ff863d8f7eff10a738b19f4b6567cf1581142;hpb=129d868fb0bd10b18da0663911117d68ff90bf97;p=dcpomatic.git diff --git a/src/wx/dir_picker_ctrl.cc b/src/wx/dir_picker_ctrl.cc index 368ff863d..feb11a527 100644 --- a/src/wx/dir_picker_ctrl.cc +++ b/src/wx/dir_picker_ctrl.cc @@ -18,29 +18,37 @@ */ +#include "dir_picker_ctrl.h" +#include "wx_util.h" +#include "static_text.h" +#include "dcpomatic_button.h" +#include "lib/warnings.h" #include #include +DCPOMATIC_DISABLE_WARNINGS #include +DCPOMATIC_ENABLE_WARNINGS #include -#include "dir_picker_ctrl.h" -#include "wx_util.h" using namespace std; using namespace boost; -DirPickerCtrl::DirPickerCtrl (wxWindow* parent, wxSize size) - : wxPanel (parent, wxID_ANY, wxDefaultPosition, size) +DirPickerCtrl::DirPickerCtrl (wxWindow* parent) + : wxPanel (parent) { _sizer = new wxBoxSizer (wxHORIZONTAL); - _folder = new wxStaticText (this, wxID_ANY, wxT ("This is the length of the folder label")); - _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); - SetSizerAndFit (_sizer); + SetSizer (_sizer); - _browse->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&DirPickerCtrl::browse_clicked, this)); + _browse->Bind (wxEVT_BUTTON, boost::bind (&DirPickerCtrl::browse_clicked, this)); } void @@ -51,14 +59,16 @@ 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_COMMAND_DIRPICKER_CHANGED, wxID_ANY); + wxCommandEvent ev (wxEVT_DIRPICKER_CHANGED, wxID_ANY); GetEventHandler()->ProcessEvent (ev); _sizer->Layout (); - _sizer->SetSizeHints (this); + SetMinSize (wxSize (max (400, _sizer->GetSize().GetWidth()), -1)); + + Changed (); } wxString