- wxBoxSizer* dcp_name_sizer = new wxBoxSizer (wxHORIZONTAL);
- _dcp_name = new wxStaticText (overall_panel, wxID_ANY, wxEmptyString);
- dcp_name_sizer->Add (_dcp_name, 1, wxALIGN_CENTER_VERTICAL | wxRIGHT, DCPOMATIC_SIZER_X_GAP);
- _dcp_open = new wxButton (overall_panel, wxID_ANY, _("Open..."));
- dcp_name_sizer->Add (_dcp_open, 0);
- grid->Add (dcp_name_sizer, wxGBPosition(r, 1), wxDefaultSpan, wxEXPAND);
+ auto dcp_sizer = new wxBoxSizer (wxHORIZONTAL);
+ auto dcps = new EditableList<boost::filesystem::path, DirDialogWrapper>(
+ overall_panel,
+ { EditableListColumn(_("DCP"), 300, true) },
+ boost::bind(&DOMFrame::dcp_paths, this),
+ boost::bind(&DOMFrame::set_dcp_paths, this, _1),
+ [](boost::filesystem::path p, int) { return p.filename().string(); },
+ EditableListTitle::INVISIBLE,
+ EditableListButton::NEW | EditableListButton::REMOVE
+ );
+
+ dcp_sizer->Add(dcps, 1, wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_X_GAP);
+ grid->Add(dcp_sizer, wxGBPosition(r, 1), wxDefaultSpan, wxEXPAND);