Improve logging slightly.
[dcpomatic.git] / src / lib / job.cc
index f3d7deac02a4c5426674b0765083c3c8dbc55b6d..201397f08e0a79c5a75725163ba059bcb231404b 100644 (file)
 #include "job.h"
 #include "util.h"
 
-using namespace std;
-using namespace boost;
+using std::string;
+using std::list;
+using std::stringstream;
+using boost::shared_ptr;
 
 /** @param s Film that we are operating on.
+ *  @param req Job that must be completed before this job is run.
  */
 Job::Job (shared_ptr<Film> f, shared_ptr<Job> req)
        : _film (f)
@@ -64,7 +67,7 @@ Job::run_wrapper ()
                
                set_progress (1);
                set_state (FINISHED_ERROR);
-               set_error (String::compose ("%1 (%2)", e.what(), filesystem::path (e.filename()).leaf()));
+               set_error (String::compose ("%1 (%2)", e.what(), boost::filesystem::path (e.filename()).leaf()));
                
        } catch (std::exception& e) {
 
@@ -75,6 +78,7 @@ Job::run_wrapper ()
        }
 }
 
+/** @return true if this job is new (ie has not started running) */
 bool
 Job::is_new () const
 {
@@ -125,20 +129,10 @@ Job::set_state (State s)
 
        if (_state == FINISHED_OK || _state == FINISHED_ERROR) {
                _ran_for = elapsed_time ();
+               Finished ();
        }
 }
 
-/** A hack to work around our lack of cross-thread
- *  signalling; this emits Finished, and listeners
- *  assume that it will be emitted in the GUI thread,
- *  so this method must be called from the GUI thread.
- */
-void
-Job::emit_finished ()
-{
-       Finished ();
-}
-
 /** @return Time (in seconds) that this job has been running */
 int
 Job::elapsed_time () const
@@ -244,7 +238,7 @@ Job::status () const
        float const p = overall_progress ();
        int const t = elapsed_time ();
        int const r = remaining_time ();
-       
+
        stringstream s;
        if (!finished () && p >= 0 && t > 10 && r > 0) {
                s << rint (p * 100) << "%; " << seconds_to_approximate_hms (r) << " remaining";