Move _state_timer into VideoView.
[dcpomatic.git] / src / wx / job_view.cc
index 28b171b825371ed686d3a8c0a9c760d5da5d2d2d..b61da04f84da3ff1dd6dbba67f3c1e0187c1a7d5 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2019 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -23,6 +23,7 @@
 #include "message_dialog.h"
 #include "static_text.h"
 #include "check_box.h"
+#include "dcpomatic_button.h"
 #include "lib/job.h"
 #include "lib/job_manager.h"
 #include "lib/compose.hpp"
@@ -31,6 +32,7 @@
 #include "lib/transcode_job.h"
 #include "lib/analyse_audio_job.h"
 #include <wx/wx.h>
+#include <boost/algorithm/string.hpp>
 
 using std::string;
 using std::min;
@@ -65,11 +67,11 @@ JobView::setup ()
 
        _buttons = new wxBoxSizer (wxHORIZONTAL);
 
-       _cancel = new wxButton (_container, wxID_ANY, _("Cancel"));
+       _cancel = new Button (_container, _("Cancel"));
        _cancel->Bind (wxEVT_BUTTON, &JobView::cancel_clicked, this);
        _buttons->Add (_cancel, 1, wxALIGN_CENTER_VERTICAL);
 
-       _details = new wxButton (_container, wxID_ANY, _("Details..."));
+       _details = new Button (_container, _("Details..."));
        _details->Bind (wxEVT_BUTTON, &JobView::details_clicked, this);
        _details->Enable (false);
        _buttons->Add (_details, 1, wxALIGN_CENTER_VERTICAL);
@@ -108,7 +110,11 @@ JobView::progress ()
        if (!_job->sub_name().empty ()) {
                whole += _job->sub_name() + " ";
        }
-       whole += _job->status ();
+       string s = _job->status ();
+       /* Watch out for < > in the error string */
+       boost::algorithm::replace_all (s, "<", "&lt;");
+       boost::algorithm::replace_all (s, ">", "&gt;");
+       whole += s;
        if (whole != _last_message) {
                _message->SetLabelMarkup (std_to_wx (whole));
                /* This hack fixes the size of _message on OS X */