summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-08-21 23:03:04 +0100
committerCarl Hetherington <cth@carlh.net>2018-08-21 23:03:04 +0100
commitf30bd5d2355bc02d1b5c7772241e191b60028dd2 (patch)
tree1cc79d8ce0724ff77500d4e75c2262a565609fca /src/lib
parent0646c5404d535158d3f3d47004fa8dde444a936b (diff)
Give a message when changed files are re-examined.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/check_content_change_job.cc8
-rw-r--r--src/lib/job.cc14
-rw-r--r--src/lib/job.h7
3 files changed, 24 insertions, 5 deletions
diff --git a/src/lib/check_content_change_job.cc b/src/lib/check_content_change_job.cc
index 0862ab085..bb3674f27 100644
--- a/src/lib/check_content_change_job.cc
+++ b/src/lib/check_content_change_job.cc
@@ -61,19 +61,15 @@ CheckContentChangeJob::run ()
BOOST_FOREACH (shared_ptr<Content> i, _film->content()) {
bool ic = false;
for (size_t j = 0; j < i->number_of_paths(); ++j) {
- cout << boost::filesystem::last_write_time(i->path(j)) << " " << i->last_write_time(j) << "\n";
if (boost::filesystem::last_write_time(i->path(j)) != i->last_write_time(j)) {
- cout << "last write differs.\n";
ic = true;
break;
}
}
if (!ic && i->calculate_digest() != i->digest()) {
- cout << "digest differs.\n";
ic = true;
}
if (ic) {
- cout << i->path(0) << " changed.\n";
changed.push_back (i);
}
}
@@ -82,6 +78,10 @@ CheckContentChangeJob::run ()
JobManager::instance()->add(shared_ptr<Job>(new ExamineContentJob(_film, i)));
}
+ if (!changed.empty()) {
+ set_message (_("Some files were changed since they were added to the project.\n\nThese files will now be re-examined, so you may need to check their settings."));
+ }
+
set_progress (1);
set_state (FINISHED_OK);
}
diff --git a/src/lib/job.cc b/src/lib/job.cc
index ec6d5d306..0cbf13640 100644
--- a/src/lib/job.cc
+++ b/src/lib/job.cc
@@ -570,3 +570,17 @@ Job::when_finished (boost::signals2::connection& connection, function<void()> fi
connection = Finished.connect (finished);
}
}
+
+optional<string>
+Job::message () const
+{
+ boost::mutex::scoped_lock lm (_state_mutex);
+ return _message;
+}
+
+void
+Job::set_message (string m)
+{
+ boost::mutex::scoped_lock lm (_state_mutex);
+ _message = m;
+}
diff --git a/src/lib/job.h b/src/lib/job.h
index d2691a3cb..4fc61cb26 100644
--- a/src/lib/job.h
+++ b/src/lib/job.h
@@ -67,6 +67,8 @@ public:
std::string error_summary () const;
std::string error_details () const;
+ boost::optional<std::string> message () const;
+
virtual std::string status () const;
std::string json_status () const;
std::string sub_name () const {
@@ -105,6 +107,7 @@ protected:
void set_state (State);
void set_error (std::string s, std::string d);
+ void set_message (std::string m);
int elapsed_sub_time () const;
void check_for_interruption_or_pause ();
@@ -117,13 +120,15 @@ private:
boost::thread* _thread;
- /** mutex for _state and _error */
+ /** mutex for _state, _error*, _message */
mutable boost::mutex _state_mutex;
/** current state of the job */
State _state;
/** summary of an error that has occurred (when state == FINISHED_ERROR) */
std::string _error_summary;
std::string _error_details;
+ /** a message that should be given to the user when the job finishes */
+ boost::optional<std::string> _message;
/** time that this job was started */
time_t _start_time;