X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fmetadata_dialog.h;h=1d49d7cfcc7072a093f51d5e1e2c8186dd04e85d;hb=8d9e73b753ed51067d93aa377bb24400ff22936e;hp=892aa89dfb3ccd14dddc81c0a05a4d22ab40e415;hpb=3dfe3b92df03eee932f3c92336197559c11a5913;p=dcpomatic.git diff --git a/src/wx/metadata_dialog.h b/src/wx/metadata_dialog.h index 892aa89df..1d49d7cfc 100644 --- a/src/wx/metadata_dialog.h +++ b/src/wx/metadata_dialog.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2019 Carl Hetherington + Copyright (C) 2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,27 +18,68 @@ */ -#include "editable_list.h" -#include + +#ifndef DCPOMATIC_METADATA_DIALOG_H +#define DCPOMATIC_METADATA_DIALOG_H + + +#include "lib/change_signaller.h" +#include "lib/film.h" +#include "lib/warnings.h" +#include "lib/weak_film.h" +DCPOMATIC_DISABLE_WARNINGS #include -#include -#include -#include +DCPOMATIC_ENABLE_WARNINGS -class Film; -class RatingDialog; -class MetadataDialog : public wxDialog +class Button; + + +class MetadataDialog : public wxDialog, public WeakFilm { public: - MetadataDialog (wxWindow* parent, boost::weak_ptr film); + MetadataDialog (wxWindow* parent, std::weak_ptr film); + + virtual void setup (); + +protected: + virtual void setup_standard (wxPanel*, wxSizer*); + virtual void setup_advanced (wxPanel*, wxSizer*); + virtual void film_changed (ChangeType type, Film::Property property); + virtual void setup_sensitivity (); private: - std::vector ratings () const; - void set_ratings (std::vector r); - void content_version_changed (); + void edit_release_territory (); + void enable_release_territory_changed (); + void facility_changed (); + void enable_facility_changed (); + void studio_changed (); + void enable_studio_changed (); + void temp_version_changed (); + void pre_release_changed (); + void red_band_changed (); + void two_d_version_of_three_d_changed (); + + wxCheckBox* _enable_release_territory; + /** The current release territory displayed in the UI; since we can't easily convert + * the string in _release_territory_text to a RegionSubtag we just store the RegionSubtag + * alongside. + */ + boost::optional _release_territory; + wxStaticText* _release_territory_text; + Button* _edit_release_territory; + wxCheckBox* _enable_facility; + wxTextCtrl* _facility; + wxCheckBox* _enable_studio; + wxTextCtrl* _studio; + wxCheckBox* _temp_version; + wxCheckBox* _pre_release; + wxCheckBox* _red_band; + wxCheckBox* _two_d_version_of_three_d; - boost::weak_ptr _film; - EditableList* _ratings; - wxTextCtrl* _content_version; + boost::signals2::scoped_connection _film_changed_connection; }; + + +#endif +