Emit no audio from DCPs if none is mapped
[dcpomatic.git] / src / wx / nag_dialog.cc
index 1fb15f2d04d52a8763f963de4ace8c88eeab15db..b137b07d18668b11b7647cf991765b44aa126840 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    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
@@ -42,13 +44,13 @@ NagDialog::NagDialog (wxWindow* parent, Config::Nag nag, wxString message, bool
 
        auto b = new CheckBox (this, _("Don't show this message again"));
        sizer->Add (b, 0, wxALL, 6);
-       b->Bind (wxEVT_CHECKBOX, bind (&NagDialog::shut_up, this, _1));
+       b->bind(&NagDialog::shut_up, this, _1);
 
        int flags = wxOK;
        if (can_cancel) {
                flags |= wxCANCEL;
        }
-       wxSizer* buttons = CreateSeparatedButtonSizer (flags);
+       auto buttons = CreateSeparatedButtonSizer (flags);
        if (buttons) {
                sizer->Add(buttons, wxSizerFlags().Expand().DoubleBorder());
        }
@@ -61,12 +63,14 @@ NagDialog::NagDialog (wxWindow* parent, Config::Nag nag, wxString message, bool
        sizer->SetSizeHints (this);
 }
 
+
 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)
@@ -75,9 +79,6 @@ NagDialog::maybe_nag (wxWindow* parent, Config::Nag nag, wxString message, bool
                return false;
        }
 
-       auto d = new NagDialog (parent, nag, message, can_cancel);
-       int const r = d->ShowModal();
-       d->Destroy ();
-
-       return r == wxID_CANCEL;
+       NagDialog dialog(parent, nag, message, can_cancel);
+       return dialog.ShowModal() == wxID_CANCEL;
 }