diff options
| author | Carl Hetherington <cth@carlh.net> | 2022-08-28 22:48:28 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-08-28 22:56:42 +0200 |
| commit | 0bbbe85d4a206900b19bc7849a45f63cd8858e89 (patch) | |
| tree | fb56856cf5104a2887b719af23fdc1979fe32006 /src/wx/metadata_dialog.cc | |
| parent | 5c86ef0c95903d64cefe93940534c3672cdce68d (diff) | |
Use the same code for both Interop and SMPTE ratings controls.
Diffstat (limited to 'src/wx/metadata_dialog.cc')
| -rw-r--r-- | src/wx/metadata_dialog.cc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/wx/metadata_dialog.cc b/src/wx/metadata_dialog.cc index 69dee0c46..f4d334096 100644 --- a/src/wx/metadata_dialog.cc +++ b/src/wx/metadata_dialog.cc @@ -20,9 +20,11 @@ #include "dcpomatic_button.h" +#include "editable_list.h" #include "full_language_tag_dialog.h" #include "language_tag_widget.h" #include "metadata_dialog.h" +#include "rating_dialog.h" #include "wx_util.h" #include "lib/film.h" #include <dcp/warnings.h> @@ -36,6 +38,7 @@ LIBDCP_ENABLE_WARNINGS using std::weak_ptr; +using std::vector; MetadataDialog::MetadataDialog (wxWindow* parent, weak_ptr<Film> weak_film) @@ -183,6 +186,24 @@ MetadataDialog::setup_standard (wxPanel* panel, wxSizer* sizer) s->Add (_edit_release_territory, 0, wxLEFT, DCPOMATIC_SIZER_GAP); sizer->Add (s, 0, wxEXPAND); } + + vector<EditableListColumn> columns; + columns.push_back (EditableListColumn("Agency", 200, true)); + columns.push_back (EditableListColumn("Label", 50, true)); + _ratings = new EditableList<dcp::Rating, RatingDialog> ( + panel, + columns, + boost::bind(&MetadataDialog::ratings, this), + boost::bind(&MetadataDialog::set_ratings, this, _1), + [](dcp::Rating r, int c) { + if (c == 0) { + return r.agency; + } + return r.label; + }, + true, + EditableListButton::NEW | EditableListButton::EDIT | EditableListButton::REMOVE + ); } @@ -408,3 +429,17 @@ MetadataDialog::sign_language_video_language_changed () film()->set_sign_language_video_language(_sign_language_video_language->get()); } + +vector<dcp::Rating> +MetadataDialog::ratings() const +{ + return film()->ratings(); +} + + +void +MetadataDialog::set_ratings(vector<dcp::Rating> r) +{ + film()->set_ratings(r); +} + |
