BOOST_FOREACH.
[dcpomatic.git] / src / wx / save_template_dialog.cc
index 23dc0a85a85fe8d2b4319f03168f8fa1d7fc0180..6a6644efee2d6e9ade1e4e1deba788edd104f2fd 100644 (file)
@@ -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.
 
 #include "save_template_dialog.h"
 #include "wx_util.h"
 #include "lib/config.h"
-#include <boost/foreach.hpp>
 
 using std::string;
+#if BOOST_VERSION >= 106100
+using namespace boost::placeholders;
+#endif
 
 SaveTemplateDialog::SaveTemplateDialog (wxWindow* parent)
        : TableDialog (parent, _("Save template"), 2, 1, true)
@@ -34,9 +36,24 @@ SaveTemplateDialog::SaveTemplateDialog (wxWindow* parent)
        layout ();
 
        wxButton* ok = dynamic_cast<wxButton *> (FindWindowById (wxID_OK, this));
-       ok->Bind (wxEVT_COMMAND_BUTTON_CLICKED, 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
 {
@@ -48,10 +65,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?"));
        }