X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fwx%2Femail_dialog.cc;h=65fb47473f1cccd40d0bd1f584722168234dcef1;hb=39fb8198febde1937019db1c300ec363aab5aa56;hp=97f974a90050a17699c0bcb22d2eacacf815e6d3;hpb=3828baf56467224f5d44049bf1e7a7ed11f43a05;p=dcpomatic.git diff --git a/src/wx/email_dialog.cc b/src/wx/email_dialog.cc index 97f974a90..65fb47473 100644 --- a/src/wx/email_dialog.cc +++ b/src/wx/email_dialog.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2015 Carl Hetherington + Copyright (C) 2015-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,29 +18,43 @@ */ + #include "email_dialog.h" #include "wx_util.h" + using std::string; -using boost::shared_ptr; +using std::shared_ptr; +using boost::optional; + EmailDialog::EmailDialog (wxWindow* parent) : TableDialog (parent, _("Email address"), 2, 1, true) { add (_("Email address"), true); - _email = add (new wxTextCtrl (this, wxID_ANY, wxT (""), wxDefaultPosition, wxSize (400, -1))); + _email = add (new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(400, -1))); layout (); + + _email->SetFocus (); } + void EmailDialog::set (string address) { - _email->SetValue (std_to_wx (address)); + _email->SetValue (std_to_wx(address)); } -string + +optional EmailDialog::get () const { - return wx_to_std (_email->GetValue ()); + auto s = wx_to_std (_email->GetValue ()); + if (s.empty()) { + /* Invalid email address */ + return {}; + } + + return s; }