summaryrefslogtreecommitdiff
path: root/src/wx/save_template_dialog.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-08-24 16:45:34 +0100
committerCarl Hetherington <cth@carlh.net>2016-08-24 16:45:34 +0100
commit73407f943ba25e2a0df2c98b3a9a938132876e9f (patch)
tree3f50da759546b4e15bbb076bfafd8afe4509421b /src/wx/save_template_dialog.cc
parent8e7bdee30563e9e334bc99387315124557ad0227 (diff)
Add a basic management dialogue for templates.
Diffstat (limited to 'src/wx/save_template_dialog.cc')
-rw-r--r--src/wx/save_template_dialog.cc21
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 ();
+ }
+}