From: Carl Hetherington Date: Wed, 21 Dec 2016 16:15:16 +0000 (+0000) Subject: Add approximate finish time to progress on jobs (#927). X-Git-Tag: v2.10.6-fix~10 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=944ee5eafb01705e31076fe0dbd0b38003dfbb55 Add approximate finish time to progress on jobs (#927). --- diff --git a/src/lib/job.cc b/src/lib/job.cc index 167692863..dba21f91c 100644 --- a/src/lib/job.cc +++ b/src/lib/job.cc @@ -34,6 +34,7 @@ #include #include #include +#include #include #include "i18n.h" @@ -411,9 +412,22 @@ Job::status () const s += buffer; if (t > 10 && r > 0) { - /// TRANSLATORS: remaining here follows an amount of time that is remaining - /// on an operation. - s += "; " + seconds_to_approximate_hms (r) + " " + _("remaining"); + boost::posix_time::ptime now = boost::posix_time::second_clock::local_time(); + boost::posix_time::ptime finish = now + boost::posix_time::seconds(r); + char finish_string[6]; + snprintf (finish_string, sizeof(finish_string), "%02d:%02d", finish.time_of_day().hours(), finish.time_of_day().minutes()); + string day; + if (now.date() != finish.date()) { + /// TRANSLATORS: the %1 in this string will be filled in with a day of the week + /// to say what day a job will finish. + day = String::compose (_(" on %1"), finish.date().day_of_week().as_long_string()); + } + /// TRANSLATORS: "remaining; finishing at" here follows an amount of time that is remaining + /// on an operation; after it is an estimated wall-clock completion time. + s += String::compose( + _("; %1 remaining; finishing at %2%3"), + seconds_to_approximate_hms(r), finish_string, day + ); } } else if (finished_ok ()) { s = String::compose (_("OK (ran for %1)"), seconds_to_hms (_ran_for)); diff --git a/src/lib/transcoder.cc b/src/lib/transcoder.cc index c667a1486..ee099c7df 100644 --- a/src/lib/transcoder.cc +++ b/src/lib/transcoder.cc @@ -74,7 +74,7 @@ Transcoder::go () { shared_ptr job = _job.lock (); DCPOMATIC_ASSERT (job); - job->sub (_("Encoding picture and sound")); + job->sub (_("Encoding")); } DCPTime const frame = DCPTime::from_frames (1, _film->video_frame_rate ());