X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Fwx%2Fjob_view_dialog.cc;h=a49818cc8c5d420fc48a4d72dfe13478451270a0;hp=a2e3cfe279673395129b27bf4583fe1b28841f0c;hb=0a3f387f5d39da2ca38ec90a9593c1b598040dd7;hpb=f29f405000752ad568de1e304640a4edac8214bc diff --git a/src/wx/job_view_dialog.cc b/src/wx/job_view_dialog.cc index a2e3cfe27..a49818cc8 100644 --- a/src/wx/job_view_dialog.cc +++ b/src/wx/job_view_dialog.cc @@ -1,36 +1,62 @@ /* Copyright (C) 2015 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ #include "job_view_dialog.h" -#include "job_view.h" +#include "normal_job_view.h" +#include "lib/job.h" using boost::shared_ptr; JobViewDialog::JobViewDialog (wxWindow* parent, wxString title, shared_ptr job) : TableDialog (parent, title, 4, 0, false) + , _job (job) { - _view = new JobView (job, this, this, _table); + _view = new NormalJobView (job, this, this, _table); + _view->setup (); layout (); SetMinSize (wxSize (960, -1)); + + Bind (wxEVT_TIMER, boost::bind (&JobViewDialog::periodic, this)); + _timer.reset (new wxTimer (this)); + _timer->Start (1000); + + /* Start off with OK disabled and it will be enabled when the job is finished */ + wxButton* ok = dynamic_cast (FindWindowById (wxID_OK, this)); + if (ok) { + ok->Enable (false); + } } JobViewDialog::~JobViewDialog () { delete _view; } + +void +JobViewDialog::periodic () +{ + _view->maybe_pulse (); + + shared_ptr job = _job.lock (); + wxButton* ok = dynamic_cast (FindWindowById (wxID_OK, this)); + if (job && ok) { + ok->Enable (job->finished ()); + } +}