Check for signer chains containing UTF8-marked strings and offer
[dcpomatic.git] / src / tools / dcpomatic.cc
index b221201435deac4504cf1090b2602e2edac9457a..1e6c49d7bc592f2e9e67533eaf5dd69c92333c7a 100644 (file)
@@ -29,6 +29,7 @@
 #include "wx/wx_util.h"
 #include "wx/film_name_location_dialog.h"
 #include "wx/wx_signal_manager.h"
+#include "wx/recreate_chain_dialog.h"
 #include "wx/about_dialog.h"
 #include "wx/kdm_dialog.h"
 #include "wx/self_dkdm_dialog.h"
@@ -1281,6 +1282,8 @@ private:
                */
                Config::drop ();
 
+               Config::BadSignerChain.connect (boost::bind (&App::config_bad_signer_chain, this));
+
                _frame = new DOMFrame (_("DCP-o-matic"));
                SetTopWindow (_frame);
                _frame->Maximize ();
@@ -1420,6 +1423,18 @@ private:
                message_dialog (_frame, std_to_wx (m));
        }
 
+       bool config_bad_signer_chain ()
+       {
+               if (Config::instance()->nagged(Config::NAG_BAD_SIGNER_CHAIN)) {
+                       return false;
+               }
+
+               RecreateChainDialog* d = new RecreateChainDialog (_frame);
+               int const r = d->ShowModal ();
+               d->Destroy ();
+               return r == wxID_OK;
+       }
+
        DOMFrame* _frame;
        shared_ptr<wxTimer> _timer;
        string _film_to_load;