using boost::shared_ptr;
using boost::function;
using boost::optional;
+#if BOOST_VERSION >= 106100
+using namespace boost::placeholders;
+#endif
using dcp::locale_convert;
class FullGeneralPage : public GeneralPage
void tms_protocol_changed ()
{
- Config::instance()->set_tms_protocol (static_cast<Protocol> (_tms_protocol->GetSelection ()));
+ Config::instance()->set_tms_protocol(static_cast<FileTransferProtocol>(_tms_protocol->GetSelection()));
}
void tms_ip_changed ()
_port = new wxSpinCtrl (_panel, wxID_ANY);
_port->SetRange (0, 65535);
s->Add (_port);
+ add_label_to_sizer (s, _panel, _("protocol"), false);
+ _protocol = new wxChoice (_panel, wxID_ANY);
+ /* Make sure this matches the switches in config_changed and port_changed below */
+ _protocol->Append (_("Auto"));
+ _protocol->Append (_("Plain"));
+ _protocol->Append (_("STARTTLS"));
+ _protocol->Append (_("SSL"));
+ s->Add (_protocol);
table->Add (s, 1, wxEXPAND | wxALL);
}
_server->Bind (wxEVT_TEXT, boost::bind (&EmailPage::server_changed, this));
_port->Bind (wxEVT_SPINCTRL, boost::bind (&EmailPage::port_changed, this));
+ _protocol->Bind (wxEVT_CHOICE, boost::bind (&EmailPage::protocol_changed, this));
_user->Bind (wxEVT_TEXT, boost::bind (&EmailPage::user_changed, this));
_password->Bind (wxEVT_TEXT, boost::bind (&EmailPage::password_changed, this));
}
checked_set (_server, config->mail_server ());
checked_set (_port, config->mail_port ());
+ switch (config->mail_protocol()) {
+ case EMAIL_PROTOCOL_AUTO:
+ checked_set (_protocol, 0);
+ break;
+ case EMAIL_PROTOCOL_PLAIN:
+ checked_set (_protocol, 1);
+ break;
+ case EMAIL_PROTOCOL_STARTTLS:
+ checked_set (_protocol, 2);
+ break;
+ case EMAIL_PROTOCOL_SSL:
+ checked_set (_protocol, 3);
+ break;
+ }
checked_set (_user, config->mail_user ());
checked_set (_password, config->mail_password ());
}
Config::instance()->set_mail_port (_port->GetValue ());
}
+ void protocol_changed ()
+ {
+ switch (_protocol->GetSelection()) {
+ case 0:
+ Config::instance()->set_mail_protocol(EMAIL_PROTOCOL_AUTO);
+ break;
+ case 1:
+ Config::instance()->set_mail_protocol(EMAIL_PROTOCOL_PLAIN);
+ break;
+ case 2:
+ Config::instance()->set_mail_protocol(EMAIL_PROTOCOL_STARTTLS);
+ break;
+ case 3:
+ Config::instance()->set_mail_protocol(EMAIL_PROTOCOL_SSL);
+ break;
+ }
+ }
+
void user_changed ()
{
Config::instance()->set_mail_user (wx_to_std (_user->GetValue ()));
wxTextCtrl* _server;
wxSpinCtrl* _port;
+ wxChoice* _protocol;
wxTextCtrl* _user;
wxTextCtrl* _password;
};
_christie_password = new wxTextCtrl (_panel, wxID_ANY);
table->Add (_christie_password, 1, wxEXPAND | wxALL);
+ add_label_to_sizer (table, _panel, _("GDC user name"), true);
+ _gdc_username = new wxTextCtrl (_panel, wxID_ANY);
+ table->Add (_gdc_username, 1, wxEXPAND | wxALL);
+
+ add_label_to_sizer (table, _panel, _("GDC password"), true);
+ _gdc_password = new wxTextCtrl (_panel, wxID_ANY);
+ table->Add (_gdc_password, 1, wxEXPAND | wxALL);
+
_barco_username->Bind (wxEVT_TEXT, boost::bind(&AccountsPage::barco_username_changed, this));
_barco_password->Bind (wxEVT_TEXT, boost::bind(&AccountsPage::barco_password_changed, this));
_christie_username->Bind (wxEVT_TEXT, boost::bind(&AccountsPage::christie_username_changed, this));
_christie_password->Bind (wxEVT_TEXT, boost::bind(&AccountsPage::christie_password_changed, this));
+ _gdc_username->Bind (wxEVT_TEXT, boost::bind(&AccountsPage::gdc_username_changed, this));
+ _gdc_password->Bind (wxEVT_TEXT, boost::bind(&AccountsPage::gdc_password_changed, this));
}
void config_changed ()
checked_set (_barco_password, config->barco_password().get_value_or(""));
checked_set (_christie_username, config->christie_username().get_value_or(""));
checked_set (_christie_password, config->christie_password().get_value_or(""));
+ checked_set (_gdc_username, config->gdc_username().get_value_or(""));
+ checked_set (_gdc_password, config->gdc_password().get_value_or(""));
}
void barco_username_changed ()
}
}
+ void gdc_username_changed ()
+ {
+ wxString const s = _gdc_username->GetValue();
+ if (!s.IsEmpty()) {
+ Config::instance()->set_gdc_username (wx_to_std(s));
+ } else {
+ Config::instance()->unset_gdc_username ();
+ }
+ }
+
+ void gdc_password_changed ()
+ {
+ wxString const s = _gdc_password->GetValue();
+ if (!s.IsEmpty()) {
+ Config::instance()->set_gdc_password (wx_to_std(s));
+ } else {
+ Config::instance()->unset_gdc_password ();
+ }
+ }
+
private:
wxTextCtrl* _barco_username;
wxTextCtrl* _barco_password;
wxTextCtrl* _christie_username;
wxTextCtrl* _christie_password;
+ wxTextCtrl* _gdc_username;
+ wxTextCtrl* _gdc_password;
};
{
add_top_aligned_label_to_sizer (table, _panel, _("DCP metadata filename format"));
dcp::NameFormat::Map titles;
- titles['t'] = "type (cpl/pkl)";
+ titles['t'] = wx_to_std (_("type (cpl/pkl)"));
dcp::NameFormat::Map examples;
examples['t'] = "cpl";
_dcp_metadata_filename_format = new NameFormatEditor (
{
add_top_aligned_label_to_sizer (table, _panel, _("DCP asset filename format"));
dcp::NameFormat::Map titles;
- titles['t'] = "type (j2c/pcm/sub)";
- titles['r'] = "reel number";
- titles['n'] = "number of reels";
- titles['c'] = "content filename";
+ titles['t'] = wx_to_std (_("type (j2c/pcm/sub)"));
+ titles['r'] = wx_to_std (_("reel number"));
+ titles['n'] = wx_to_std (_("number of reels"));
+ titles['c'] = wx_to_std (_("content filename"));
dcp::NameFormat::Map examples;
examples['t'] = "j2c";
examples['r'] = "1";
the containing window doesn't shrink too much when we select those panels.
This is obviously an unpleasant hack.
*/
- wxSize ps = wxSize (600, -1);
+ wxSize ps = wxSize (700, -1);
int const border = 16;
#else
wxSize ps = wxSize (-1, -1);