diff options
Diffstat (limited to 'src/wx/save_template_dialog.cc')
| -rw-r--r-- | src/wx/save_template_dialog.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/wx/save_template_dialog.cc b/src/wx/save_template_dialog.cc index eff61a256..23dc0a85a 100644 --- a/src/wx/save_template_dialog.cc +++ b/src/wx/save_template_dialog.cc @@ -20,6 +20,7 @@ #include "save_template_dialog.h" #include "wx_util.h" +#include "lib/config.h" #include <boost/foreach.hpp> using std::string; @@ -31,6 +32,9 @@ SaveTemplateDialog::SaveTemplateDialog (wxWindow* parent) _name = add (new wxTextCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (300, -1))); _name->SetFocus (); layout (); + + wxButton* ok = dynamic_cast<wxButton *> (FindWindowById (wxID_OK, this)); + ok->Bind (wxEVT_COMMAND_BUTTON_CLICKED, bind (&SaveTemplateDialog::check, this, _1)); } string @@ -38,3 +42,20 @@ SaveTemplateDialog::name () const { return wx_to_std (_name->GetValue ()); } + +void +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 ()))) { + ok = confirm_dialog (this, _("There is already a template with this name. Do you want to overwrite it?")); + } + + if (ok) { + ev.Skip (); + } +} |
