summaryrefslogtreecommitdiff
path: root/src/wx/save_template_dialog.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-09-17 00:05:09 +0200
committerCarl Hetherington <cth@carlh.net>2020-09-20 01:30:41 +0200
commit1b04c90f159463d0cd75279fcebffc0bfecf53cf (patch)
tree40617c123efd15bf85d55d27279b442989704171 /src/wx/save_template_dialog.cc
parent5a3e836da9480bca0c3ef3384fa2010f358ccc7e (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.cc24
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?"));
}