+ Config::instance()->Changed.connect (boost::bind (&DCPPanel::config_changed, this, _1));
+
+ add_to_grid ();
+}
+
+void
+DCPPanel::add_to_grid ()
+{
+ Config::Interface interface = Config::instance()->interface_complexity ();
+
+ int r = 0;
+
+ add_label_to_sizer (_grid, _name_label, true, wxGBPosition (r, 0));
+ _grid->Add (_name, wxGBPosition(r, 1), wxDefaultSpan, wxEXPAND | wxLEFT | wxRIGHT);
+ ++r;
+
+ int flags = wxALIGN_CENTER_VERTICAL;
+#ifdef __WXOSX__
+ flags |= wxALIGN_RIGHT;
+#endif
+
+ _use_isdcf_name->Show (interface == Config::INTERFACE_FULL);
+ _edit_isdcf_button->Show (interface == Config::INTERFACE_FULL);
+ _copy_isdcf_name_button->Show (interface == Config::INTERFACE_FULL);
+
+ if (interface == Config::INTERFACE_FULL) {
+ _grid->Add (_use_isdcf_name, wxGBPosition (r, 0), wxDefaultSpan, flags);
+ {
+ wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
+ s->Add (_edit_isdcf_button, 1, wxEXPAND | wxRIGHT, DCPOMATIC_SIZER_X_GAP);
+ s->Add (_copy_isdcf_name_button, 1, wxEXPAND | wxLEFT, DCPOMATIC_SIZER_X_GAP);
+ _grid->Add (s, wxGBPosition (r, 1), wxDefaultSpan, wxEXPAND);
+ }
+ ++r;
+ }
+
+ _grid->Add (_dcp_name, wxGBPosition(r, 0), wxGBSpan (1, 2), wxALIGN_CENTER_VERTICAL | wxEXPAND);
+ ++r;
+
+ add_label_to_sizer (_grid, _dcp_content_type_label, true, wxGBPosition (r, 0));
+ _grid->Add (_dcp_content_type, wxGBPosition (r, 1));
+ ++r;
+
+ _signed->Show (interface == Config::INTERFACE_FULL);
+ if (interface == Config::INTERFACE_FULL) {
+ _grid->Add (_signed, wxGBPosition (r, 0), wxGBSpan (1, 2));
+ ++r;
+ }
+
+ _grid->Add (_encrypted, wxGBPosition (r, 0), wxGBSpan (1, 2));
+ ++r;
+
+ _key_label->Show (interface == Config::INTERFACE_FULL);
+ _key->Show (interface == Config::INTERFACE_FULL);
+ _edit_key->Show (interface == Config::INTERFACE_FULL);
+ _reels_label->Show (interface == Config::INTERFACE_FULL);
+ _reel_type->Show (interface == Config::INTERFACE_FULL);
+ _reel_length_label->Show (interface == Config::INTERFACE_FULL);
+ _reel_length->Show (interface == Config::INTERFACE_FULL);
+ _reel_length_gb_label->Show (interface == Config::INTERFACE_FULL);
+ _standard_label->Show (interface == Config::INTERFACE_FULL);
+ _standard->Show (interface == Config::INTERFACE_FULL);
+ _upload_after_make_dcp->Show (interface == Config::INTERFACE_FULL);
+
+ if (interface == Config::INTERFACE_FULL) {
+ add_label_to_sizer (_grid, _key_label, true, wxGBPosition (r, 0));
+ {
+ wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
+ s->Add (_key, 1, wxALIGN_CENTER_VERTICAL);
+ s->Add (_edit_key);
+ _grid->Add (s, wxGBPosition (r, 1));
+ }
+ ++r;
+
+ add_label_to_sizer (_grid, _reels_label, true, wxGBPosition (r, 0));
+ _grid->Add (_reel_type, wxGBPosition (r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
+ ++r;
+
+ add_label_to_sizer (_grid, _reel_length_label, true, wxGBPosition (r, 0));
+ {
+ wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
+ s->Add (_reel_length);
+ add_label_to_sizer (s, _reel_length_gb_label, false);
+ _grid->Add (s, wxGBPosition (r, 1));
+ }
+ ++r;
+
+ add_label_to_sizer (_grid, _standard_label, true, wxGBPosition (r, 0));
+ _grid->Add (_standard, wxGBPosition (r, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
+ ++r;
+
+ _grid->Add (_upload_after_make_dcp, wxGBPosition (r, 0), wxGBSpan (1, 2));
+ ++r;
+ }