+ add_label_to_sizer(_sizer, this, _("Filename"), true, wxGBPosition(r, 0), wxDefaultSpan, true);
+ _recipient_file = new wxStaticText(this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(600, -1), wxST_ELLIPSIZE_MIDDLE | wxST_NO_AUTORESIZE);
+ set_recipient_file(recipient_file.get_value_or(""));
+ _sizer->Add (_recipient_file, wxGBPosition(r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_Y_GAP);
+ ++r;
+
+ add_label_to_sizer(_sizer, this, _("Subject common name"), true, wxGBPosition(r, 0), wxDefaultSpan, true);
+ _subject_common_name = new wxStaticText(this, wxID_ANY, wxT(""));
+ _sizer->Add(_subject_common_name, wxGBPosition(r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_Y_GAP);
+ ++r;
+
+ add_label_to_sizer(_sizer, this, _("Subject organization name"), true, wxGBPosition(r, 0), wxDefaultSpan, true);
+ _subject_organization_name = new wxStaticText(this, wxID_ANY, wxT(""));
+ _sizer->Add(_subject_organization_name, wxGBPosition(r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_Y_GAP);
+ ++r;
+
+ add_label_to_sizer(_sizer, this, _("Issuer common name"), true, wxGBPosition(r, 0), wxDefaultSpan, true);
+ _issuer_common_name = new wxStaticText(this, wxID_ANY, wxT(""));
+ _sizer->Add(_issuer_common_name, wxGBPosition(r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_Y_GAP);
+ ++r;
+
+ add_label_to_sizer(_sizer, this, _("Issuer organization name"), true, wxGBPosition(r, 0), wxDefaultSpan, true);
+ _issuer_organization_name = new wxStaticText(this, wxID_ANY, wxT(""));
+ _sizer->Add(_issuer_organization_name, wxGBPosition(r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_Y_GAP);
+ ++r;
+
+ set_recipient (recipient);
+
+ {
+ int flags = wxALIGN_CENTER_VERTICAL | wxTOP;
+#ifdef __WXOSX__
+ flags |= wxALIGN_RIGHT;
+ auto m = new StaticText (this, _("Other trusted devices") + wxT(":"));
+#else
+ auto m = new StaticText (this, _("Other trusted devices"));
+#endif
+ m->SetFont(subheading_font);
+ _sizer->Add(m, wxGBPosition(r, 0), wxDefaultSpan, flags, DCPOMATIC_SUBHEADING_TOP_PAD);
+ }
+ ++r;
+
+ vector<EditableListColumn> columns;
+ columns.push_back (EditableListColumn(_("Thumbprint")));
+ _trusted_device_list = new EditableList<TrustedDevice, TrustedDeviceDialog> (