summaryrefslogtreecommitdiff
path: root/src/wx
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-05-04 10:55:53 +0100
committerCarl Hetherington <cth@carlh.net>2017-05-04 10:55:53 +0100
commitbb80004d3201047a33dd251ea6c3f6de2b47cb3b (patch)
tree8b2520011c7d5f346c2725bb23a551b872850050 /src/wx
parent9b1fb6530563dfd8f32a8568d26c768b1006de90 (diff)
Nag users to backup config.xml if they make a DKDM.
Diffstat (limited to 'src/wx')
-rw-r--r--src/wx/nag_dialog.cc68
-rw-r--r--src/wx/nag_dialog.h37
-rw-r--r--src/wx/wscript1
3 files changed, 106 insertions, 0 deletions
diff --git a/src/wx/nag_dialog.cc b/src/wx/nag_dialog.cc
new file mode 100644
index 000000000..69b64cb40
--- /dev/null
+++ b/src/wx/nag_dialog.cc
@@ -0,0 +1,68 @@
+/*
+ Copyright (C) 2017 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#include "nag_dialog.h"
+#include "wx_util.h"
+#include <wx/richtext/richtextctrl.h>
+#include <boost/foreach.hpp>
+
+using boost::shared_ptr;
+
+NagDialog::NagDialog (wxWindow* parent, Config::Nag nag, wxString message)
+ : wxDialog (parent, wxID_ANY, _("Important notice"))
+ , _nag (nag)
+{
+ wxBoxSizer* sizer = new wxBoxSizer (wxVERTICAL);
+ _text = new wxStaticText (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (400, 300));
+ sizer->Add (_text, 1, wxEXPAND | wxALL, 6);
+
+ wxCheckBox* b = new wxCheckBox (this, wxID_ANY, _("Don't show this message again"));
+ b->SetValue (true);
+ Config::instance()->set_nagged (_nag, true);
+ sizer->Add (b, 0, wxALL, 6);
+ b->Bind (wxEVT_CHECKBOX, bind (&NagDialog::shut_up, this, _1));
+
+ wxStdDialogButtonSizer* buttons = CreateStdDialogButtonSizer (0);
+ sizer->Add (CreateSeparatedSizer(buttons), wxSizerFlags().Expand().DoubleBorder());
+ buttons->SetAffirmativeButton (new wxButton (this, wxID_OK));
+ buttons->Realize ();
+
+ SetSizer (sizer);
+ sizer->Layout ();
+ sizer->SetSizeHints (this);
+
+ _text->SetLabelMarkup (message);
+}
+
+void
+NagDialog::shut_up (wxCommandEvent& ev)
+{
+ Config::instance()->set_nagged (_nag, ev.IsChecked());
+}
+
+void
+NagDialog::maybe_nag (wxWindow* parent, Config::Nag nag, wxString message)
+{
+ if (!Config::instance()->nagged (nag)) {
+ NagDialog* d = new NagDialog (parent, nag, message);
+ d->ShowModal ();
+ d->Destroy ();
+ }
+}
diff --git a/src/wx/nag_dialog.h b/src/wx/nag_dialog.h
new file mode 100644
index 000000000..06f98d967
--- /dev/null
+++ b/src/wx/nag_dialog.h
@@ -0,0 +1,37 @@
+/*
+ Copyright (C) 2017 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#include "lib/config.h"
+#include <wx/wx.h>
+
+class wxRichTextCtrl;
+
+class NagDialog : public wxDialog
+{
+public:
+ static void maybe_nag (wxWindow* parent, Config::Nag nag, wxString message);
+
+private:
+ NagDialog (wxWindow* parent, Config::Nag nag, wxString message);
+ void shut_up (wxCommandEvent& ev);
+
+ wxStaticText* _text;
+ Config::Nag _nag;
+};
diff --git a/src/wx/wscript b/src/wx/wscript
index c545bf482..332a04ac5 100644
--- a/src/wx/wscript
+++ b/src/wx/wscript
@@ -68,6 +68,7 @@ sources = """
key_dialog.cc
make_chain_dialog.cc
move_to_dialog.cc
+ nag_dialog.cc
name_format_editor.cc
new_film_dialog.cc
normal_job_view.cc