*/
+#include "editable_list.h"
+#include <dcp/certificate.h>
#include <wx/wx.h>
#include <boost/shared_ptr.hpp>
-#include <dcp/certificates.h>
-#include "table_dialog.h"
+#include <boost/optional.hpp>
class Progress;
+class CertificateFileDialogWrapper;
-class ScreenDialog : public TableDialog
+class ScreenDialog : public wxDialog
{
public:
- ScreenDialog (wxWindow *, std::string, std::string name = "", boost::optional<dcp::Certificate> c = boost::optional<dcp::Certificate> ());
+ ScreenDialog (
+ wxWindow *,
+ std::string,
+ std::string name = "",
+ boost::optional<dcp::Certificate> c = boost::optional<dcp::Certificate> (),
+ std::vector<dcp::Certificate> d = std::vector<dcp::Certificate> ()
+ );
std::string name () const;
- boost::optional<dcp::Certificate> certificate () const;
-
+ boost::optional<dcp::Certificate> recipient () const;
+ std::vector<dcp::Certificate> trusted_devices () {
+ return _trusted_devices;
+ }
+
private:
- void select_certificate ();
- void load_certificate (boost::filesystem::path);
- void download_certificate ();
+ void get_recipient_from_file ();
+ void load_recipient (boost::filesystem::path);
+ void download_recipient ();
void setup_sensitivity ();
-
+ void set_recipient (boost::optional<dcp::Certificate>);
+
+ void set_trusted_devices (std::vector<dcp::Certificate> d) {
+ _trusted_devices = d;
+ }
+
+ wxGridBagSizer* _sizer;
wxTextCtrl* _name;
- wxChoice* _manufacturer;
- wxButton* _load_certificate;
- wxButton* _download_certificate;
- wxTextCtrl* _certificate_text;
+ wxStaticText* _recipient_thumbprint;
+ wxButton* _get_recipient_from_file;
+ wxButton* _download_recipient;
+ EditableList<dcp::Certificate, CertificateFileDialogWrapper>* _trusted_device_list;
- boost::optional<dcp::Certificate> _certificate;
+ boost::optional<dcp::Certificate> _recipient;
+ std::vector<dcp::Certificate> _trusted_devices;
};