/* Copyright (C) 2012-2022 Carl Hetherington This file is part of DCP-o-matic. DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with DCP-o-matic. If not, see . */ #include "editable_list.h" #include "lib/screen.h" #include #include LIBDCP_DISABLE_WARNINGS #include LIBDCP_ENABLE_WARNINGS #include class Progress; class TrustedDeviceDialog; class ScreenDialog : public wxDialog { public: ScreenDialog ( wxWindow *, wxString, std::string name = "", std::string notes = "", boost::optional c = {}, boost::optional f = {}, std::vector d = {} ); std::string name () const; std::string notes () const; boost::optional recipient () const; boost::optional recipient_file () const; std::vector trusted_devices () { return _trusted_devices; } private: void get_recipient_from_file (); void load_recipient (boost::filesystem::path); void download_recipient (); void setup_sensitivity (); void set_recipient (boost::optional); void set_recipient_file(std::string file); void set_trusted_devices (std::vector d) { _trusted_devices = d; } wxGridBagSizer* _sizer; wxTextCtrl* _name; wxTextCtrl* _notes; wxStaticText* _recipient_thumbprint; wxStaticText* _recipient_file; wxStaticText* _subject_common_name; wxStaticText* _subject_organization_name; wxStaticText* _issuer_common_name; wxStaticText* _issuer_organization_name; wxStaticText* _not_valid_before; wxStaticText* _not_valid_after; wxButton* _get_recipient_from_file; wxButton* _download_recipient; EditableList* _trusted_device_list; boost::optional _recipient; std::vector _trusted_devices; };