Fix assorted GTK3-related alignment problems.
[dcpomatic.git] / src / wx / job_view.cc
index 28b171b825371ed686d3a8c0a9c760d5da5d2d2d..03ade7598dae67c38af3ab0c8b50b6ed5a065fea 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;
@@ -59,20 +61,20 @@ JobView::setup ()
        _gauge->SetMinSize (wxSize (0, -1));
        _gauge_message->Add (_gauge, 0, wxEXPAND | wxLEFT | wxRIGHT);
        _message = new StaticText (_container, wxT(" \n "), wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_MIDDLE);
-       _gauge_message->Add (_message, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL | wxALL, 6);
+       _gauge_message->Add (_message, 1, wxEXPAND | wxALL, 6);
        _table->Insert (n, _gauge_message, 1, wxEXPAND | wxLEFT | wxRIGHT);
        ++n;
 
        _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);
+       _buttons->Add (_cancel, 1, wxALIGN_CENTER_VERTICAL | wxRIGHT, DCPOMATIC_BUTTON_STACK_GAP);
 
-       _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);
+       _buttons->Add (_details, 1, wxALIGN_CENTER_VERTICAL | wxRIGHT, DCPOMATIC_BUTTON_STACK_GAP);
 
        finish_setup (_container, _buttons);
 
@@ -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 */