diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-09-17 00:05:09 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-09-20 01:30:41 +0200 |
| commit | 1b04c90f159463d0cd75279fcebffc0bfecf53cf (patch) | |
| tree | 40617c123efd15bf85d55d27279b442989704171 /src/wx/save_template_dialog.cc | |
| parent | 5a3e836da9480bca0c3ef3384fa2010f358ccc7e (diff) | |
Use sensitivity to disallow empty template names, rather than
giving an error after the fact.
Diffstat (limited to 'src/wx/save_template_dialog.cc')
| -rw-r--r-- | src/wx/save_template_dialog.cc | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/wx/save_template_dialog.cc b/src/wx/save_template_dialog.cc index 044006350..d1f60b8d1 100644 --- a/src/wx/save_template_dialog.cc +++ b/src/wx/save_template_dialog.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2016 Carl Hetherington <cth@carlh.net> + Copyright (C) 2016-2020 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -37,9 +37,24 @@ SaveTemplateDialog::SaveTemplateDialog (wxWindow* parent) layout (); wxButton* ok = dynamic_cast<wxButton *> (FindWindowById (wxID_OK, this)); - ok->Bind (wxEVT_BUTTON, bind (&SaveTemplateDialog::check, this, _1)); + ok->Bind (wxEVT_BUTTON, boost::bind(&SaveTemplateDialog::check, this, _1)); + + _name->Bind (wxEVT_TEXT, boost::bind(&SaveTemplateDialog::setup_sensitivity, this)); + + setup_sensitivity (); +} + + +void +SaveTemplateDialog::setup_sensitivity () +{ + wxButton* ok = dynamic_cast<wxButton *>(FindWindowById(wxID_OK, this)); + if (ok) { + ok->Enable (!_name->GetValue().IsEmpty()); + } } + string SaveTemplateDialog::name () const { @@ -51,10 +66,7 @@ SaveTemplateDialog::check (wxCommandEvent& ev) { bool ok = true; - if (_name->GetValue().IsEmpty()) { - error_dialog (this, _("Template names must not be empty.")); - ok = false; - } else if (Config::instance()->existing_template (wx_to_std (_name->GetValue ()))) { + if (Config::instance()->existing_template (wx_to_std (_name->GetValue ()))) { ok = confirm_dialog (this, _("There is already a template with this name. Do you want to overwrite it?")); } |
