/*
- Copyright (C) 2017-2018 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2017-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
+
+#include "check_box.h"
#include "nag_dialog.h"
-#include "wx_util.h"
#include "static_text.h"
-#include "check_box.h"
+#include "wx_util.h"
+
using std::shared_ptr;
#if BOOST_VERSION >= 106100
using namespace boost::placeholders;
#endif
+
+static constexpr int width = 400;
+
+
NagDialog::NagDialog (wxWindow* parent, Config::Nag nag, wxString message, bool can_cancel)
- : wxDialog (parent, wxID_ANY, _("Important notice"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
+ : wxDialog (parent, wxID_ANY, _("Important notice"))
, _nag (nag)
{
auto sizer = new wxBoxSizer (wxVERTICAL);
- _text = new StaticText (this, wxEmptyString, wxDefaultPosition, wxSize (400, 300));
+ _text = new StaticText (this, wxEmptyString, wxDefaultPosition, wxSize(width, 300));
sizer->Add (_text, 1, wxEXPAND | wxALL, DCPOMATIC_DIALOG_BORDER);
auto b = new CheckBox (this, _("Don't show this message again"));
if (can_cancel) {
flags |= wxCANCEL;
}
- wxSizer* buttons = CreateSeparatedButtonSizer (flags);
+ auto buttons = CreateSeparatedButtonSizer (flags);
if (buttons) {
sizer->Add(buttons, wxSizerFlags().Expand().DoubleBorder());
}
+ _text->SetLabelMarkup (message);
+ _text->Wrap (width);
+
SetSizer (sizer);
sizer->Layout ();
sizer->SetSizeHints (this);
-
- _text->SetLabelMarkup (message);
-
- Bind (wxEVT_SIZE, [this](wxSizeEvent& ev) {
- Layout();
- ev.Skip();
- });
}
+
void
NagDialog::shut_up (wxCommandEvent& ev)
{
Config::instance()->set_nagged (_nag, ev.IsChecked());
}
+
/** @return true if the user clicked Cancel */
bool
NagDialog::maybe_nag (wxWindow* parent, Config::Nag nag, wxString message, bool can_cancel)