X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Finterop_metadata_dialog.cc;h=61aa2349867426cdb6ba334d53af71bbd7b84e5a;hb=ac4ac42278546136357db0ede052faf5b80286e7;hp=aa61984b36275c9d388005872167b1ed771793b2;hpb=e0a70cd5cfb11fc2de167f3146acdd437a6faa82;p=dcpomatic.git diff --git a/src/wx/interop_metadata_dialog.cc b/src/wx/interop_metadata_dialog.cc index aa61984b3..61aa23498 100644 --- a/src/wx/interop_metadata_dialog.cc +++ b/src/wx/interop_metadata_dialog.cc @@ -38,24 +38,22 @@ using namespace boost::placeholders; InteropMetadataDialog::InteropMetadataDialog (wxWindow* parent, weak_ptr film) - : wxDialog (parent, wxID_ANY, _("Metadata")) - , _film (film) + : MetadataDialog (parent, film) { - auto overall_sizer = new wxBoxSizer (wxVERTICAL); - SetSizer (overall_sizer); - auto sizer = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP); - sizer->AddGrowableCol (1, 1); +} - auto f = _film.lock(); - DCPOMATIC_ASSERT (f); +void +InteropMetadataDialog::setup_standard (wxPanel* panel, wxSizer* sizer) +{ + MetadataDialog::setup_standard (panel, sizer); { int flags = wxALIGN_TOP | wxLEFT | wxRIGHT | wxTOP; #ifdef __WXOSX__ flags |= wxALIGN_RIGHT; #endif - auto m = create_label (this, _("Ratings"), true); + auto m = create_label (panel, _("Ratings"), true); sizer->Add (m, 0, flags, DCPOMATIC_SIZER_GAP); } @@ -63,7 +61,7 @@ InteropMetadataDialog::InteropMetadataDialog (wxWindow* parent, weak_ptr f columns.push_back (EditableListColumn(_("Agency"), 200, true)); columns.push_back (EditableListColumn(_("Label"), 50, true)); _ratings = new EditableList ( - this, + panel, columns, boost::bind(&InteropMetadataDialog::ratings, this), boost::bind(&InteropMetadataDialog::set_ratings, this, _1), @@ -78,23 +76,13 @@ InteropMetadataDialog::InteropMetadataDialog (wxWindow* parent, weak_ptr f ); sizer->Add (_ratings, 1, wxEXPAND); - add_label_to_sizer (sizer, this, _("Content version"), true, 0, wxLEFT | wxRIGHT | wxALIGN_CENTER_VERTICAL); - _content_version = new wxTextCtrl (this, wxID_ANY); + add_label_to_sizer (sizer, panel, _("Content version"), true, 0, wxLEFT | wxRIGHT | wxALIGN_CENTER_VERTICAL); + _content_version = new wxTextCtrl (panel, wxID_ANY); sizer->Add (_content_version, 1, wxEXPAND); - auto cv = f->content_versions(); + auto cv = film()->content_versions(); _content_version->SetValue (std_to_wx(cv.empty() ? "" : cv[0])); - overall_sizer->Add (sizer, 1, wxEXPAND | wxALL, DCPOMATIC_DIALOG_BORDER); - - auto buttons = CreateSeparatedButtonSizer (wxCLOSE); - if (buttons) { - overall_sizer->Add (buttons, wxSizerFlags().Expand().DoubleBorder()); - } - - overall_sizer->Layout (); - overall_sizer->SetSizeHints (this); - _content_version->Bind (wxEVT_TEXT, boost::bind(&InteropMetadataDialog::content_version_changed, this)); _content_version->SetFocus (); } @@ -103,25 +91,19 @@ InteropMetadataDialog::InteropMetadataDialog (wxWindow* parent, weak_ptr f vector InteropMetadataDialog::ratings () const { - auto film = _film.lock (); - DCPOMATIC_ASSERT (film); - return film->ratings (); + return film()->ratings (); } + void InteropMetadataDialog::set_ratings (vector r) { - auto film = _film.lock (); - DCPOMATIC_ASSERT (film); - film->set_ratings (r); + film()->set_ratings (r); } + void InteropMetadataDialog::content_version_changed () { - auto film = _film.lock (); - DCPOMATIC_ASSERT (film); - vector cv; - cv.push_back (wx_to_std(_content_version->GetValue())); - film->set_content_versions (cv); + film()->set_content_versions ({ wx_to_std(_content_version->GetValue()) }); }