summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-09-30 10:42:30 +0100
committerCarl Hetherington <cth@carlh.net>2016-09-30 10:42:30 +0100
commita5e041b46b675c1f42fc83920be45345662e0376 (patch)
tree65c9728693ed5f22028e5eeceeefad239f027919 /src
parent0ef231d6ef3c483edc5d13affd31367acfecd320 (diff)
Reverse order of jobs in the batch converter view.
Diffstat (limited to 'src')
-rw-r--r--src/tools/dcpomatic.cc2
-rw-r--r--src/tools/dcpomatic_batch.cc2
-rw-r--r--src/wx/job_manager_view.cc12
-rw-r--r--src/wx/job_manager_view.h3
-rw-r--r--src/wx/job_view.cc5
-rw-r--r--src/wx/job_view.h2
-rw-r--r--src/wx/job_view_dialog.cc2
7 files changed, 18 insertions, 10 deletions
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc
index 6c16457af..cb4927ad0 100644
--- a/src/tools/dcpomatic.cc
+++ b/src/tools/dcpomatic.cc
@@ -245,7 +245,7 @@ public:
_film_viewer = new FilmViewer (overall_panel);
_film_editor = new FilmEditor (overall_panel, _film_viewer);
- JobManagerView* job_manager_view = new JobManagerView (overall_panel);
+ JobManagerView* job_manager_view = new JobManagerView (overall_panel, false);
wxBoxSizer* right_sizer = new wxBoxSizer (wxVERTICAL);
right_sizer->Add (_film_viewer, 2, wxEXPAND | wxALL, 6);
diff --git a/src/tools/dcpomatic_batch.cc b/src/tools/dcpomatic_batch.cc
index 9e2d6969d..64eb46af2 100644
--- a/src/tools/dcpomatic_batch.cc
+++ b/src/tools/dcpomatic_batch.cc
@@ -109,7 +109,7 @@ public:
s->Add (panel, 1, wxEXPAND);
SetSizer (s);
- JobManagerView* job_manager_view = new JobManagerView (panel);
+ JobManagerView* job_manager_view = new JobManagerView (panel, false);
_sizer->Add (job_manager_view, 1, wxALL | wxEXPAND, 6);
wxSizer* buttons = new wxBoxSizer (wxHORIZONTAL);
diff --git a/src/wx/job_manager_view.cc b/src/wx/job_manager_view.cc
index cd6918b72..dcef5f4fd 100644
--- a/src/wx/job_manager_view.cc
+++ b/src/wx/job_manager_view.cc
@@ -40,9 +40,15 @@ using std::cout;
using boost::shared_ptr;
using boost::weak_ptr;
-/** Must be called in the GUI thread */
-JobManagerView::JobManagerView (wxWindow* parent)
+/** @param parent Parent window.
+ * @param latest_at_top true to put the last-added job at the top of the view,
+ * false to put it at the bottom.
+ *
+ * Must be called in the GUI thread.
+ */
+JobManagerView::JobManagerView (wxWindow* parent, bool latest_at_top)
: wxScrolledWindow (parent)
+ , _latest_at_top (latest_at_top)
{
_panel = new wxPanel (this);
wxSizer* sizer = new wxBoxSizer (wxVERTICAL);
@@ -68,7 +74,7 @@ JobManagerView::job_added (weak_ptr<Job> j)
{
shared_ptr<Job> job = j.lock ();
if (job) {
- _job_records.push_back (shared_ptr<JobView> (new JobView (job, this, _panel, _table)));
+ _job_records.push_back (shared_ptr<JobView> (new JobView (job, this, _panel, _table, _latest_at_top)));
}
}
diff --git a/src/wx/job_manager_view.h b/src/wx/job_manager_view.h
index 7624678c2..d887718d3 100644
--- a/src/wx/job_manager_view.h
+++ b/src/wx/job_manager_view.h
@@ -35,7 +35,7 @@ class JobView;
class JobManagerView : public wxScrolledWindow
{
public:
- JobManagerView (wxWindow *);
+ JobManagerView (wxWindow *, bool latest_at_top);
private:
void job_added (boost::weak_ptr<Job>);
@@ -44,6 +44,7 @@ private:
wxPanel* _panel;
wxFlexGridSizer* _table;
boost::shared_ptr<wxTimer> _timer;
+ bool _latest_at_top;
std::list<boost::shared_ptr<JobView> > _job_records;
};
diff --git a/src/wx/job_view.cc b/src/wx/job_view.cc
index 136b18ed3..83d3159b0 100644
--- a/src/wx/job_view.cc
+++ b/src/wx/job_view.cc
@@ -28,11 +28,12 @@ using std::string;
using std::min;
using boost::shared_ptr;
-JobView::JobView (shared_ptr<Job> job, wxWindow* parent, wxWindow* container, wxFlexGridSizer* table)
+/** @param top Put this view at the top of table, otherwise put it at the bottom */
+JobView::JobView (shared_ptr<Job> job, wxWindow* parent, wxWindow* container, wxFlexGridSizer* table, bool top)
: _job (job)
, _parent (parent)
{
- int n = 0;
+ int n = top ? 0 : (table->GetEffectiveRowsCount() * table->GetEffectiveColsCount());
_gauge_message = new wxBoxSizer (wxVERTICAL);
_gauge = new wxGauge (container, wxID_ANY, 100);
diff --git a/src/wx/job_view.h b/src/wx/job_view.h
index ee254f2a4..96233f732 100644
--- a/src/wx/job_view.h
+++ b/src/wx/job_view.h
@@ -35,7 +35,7 @@ class wxButton;
class JobView : public boost::noncopyable
{
public:
- JobView (boost::shared_ptr<Job> job, wxWindow* parent, wxWindow* container, wxFlexGridSizer* table);
+ JobView (boost::shared_ptr<Job> job, wxWindow* parent, wxWindow* container, wxFlexGridSizer* table, bool top);
void maybe_pulse ();
diff --git a/src/wx/job_view_dialog.cc b/src/wx/job_view_dialog.cc
index b4dcd271f..e629cce62 100644
--- a/src/wx/job_view_dialog.cc
+++ b/src/wx/job_view_dialog.cc
@@ -26,7 +26,7 @@ using boost::shared_ptr;
JobViewDialog::JobViewDialog (wxWindow* parent, wxString title, shared_ptr<Job> job)
: TableDialog (parent, title, 4, 0, false)
{
- _view = new JobView (job, this, this, _table);
+ _view = new JobView (job, this, this, _table, true);
layout ();
SetMinSize (wxSize (960, -1));