, _window (window)
, _panel (panel)
, _table (table)
+ , _pause (0)
{
int n = 0;
_name = new wxStaticText (panel, wxID_ANY, "");
- _name->SetLabelMarkup ("<b>" + _job->name () + "</b>");
+ string const jn = "<b>" + _job->name () + "</b>";
+ _name->SetLabelMarkup (std_to_wx (jn));
table->Insert (n, _name, 0, wxALIGN_CENTER_VERTICAL | wxALL, 6);
++n;
private:
+ void update_job_name ()
+ {
+ string n = "<b>" + _job->name () + "</b>";
+ if (!_job->sub_name().empty ()) {
+ n += "\n" + _job->sub_name ();
+ }
+
+ if (n != _last_name) {
+ _name->SetLabelMarkup (std_to_wx (n));
+ _last_name = n;
+ }
+ }
+
void progress ()
{
float const p = _job->progress ();
if (p >= 0) {
checked_set (_message, _job->status ());
- string const n = "<b>" + _job->name () + "</b>\n" + _job->sub_name ();
- if (n != _last_name) {
- _name->SetLabelMarkup (std_to_wx (n));
- _last_name = n;
- }
+ update_job_name ();
int const pp = min (100.0f, p * 100);
_gauge->SetValue (pp);
}
void finished ()
{
checked_set (_message, _job->status ());
+ update_job_name ();
+
if (!_job->finished_cancelled ()) {
_gauge->SetValue (100);
}
_cancel->Enable (false);
+ if (_pause) {
+ _pause->Enable (false);
+ }
if (!_job->error_details().empty ()) {
_details->Enable (true);
}