Fix typo in log message.
[dcpomatic.git] / src / lib / content.cc
index 4167031c2aeb54eeecaf9b16ea489bbe7c36c1ad..ed0e9af6db855da97f095d134679dc8c421fd192 100644 (file)
@@ -169,15 +169,11 @@ Content::as_xml (xmlpp::Node* node, bool with_paths) const
 string
 Content::calculate_digest () const
 {
-       boost::mutex::scoped_lock lm (_mutex);
-       auto p = _paths;
-       lm.unlock ();
-
        /* Some content files are very big, so we use a poor man's
           digest here: a digest of the first and last 1e6 bytes with the
           size of the first file tacked on the end as a string.
        */
-       return digest_head_tail(p, 1000000) + raw_convert<string>(boost::filesystem::file_size(p.front()));
+       return simple_digest (paths());
 }
 
 
@@ -463,7 +459,24 @@ Content::active_video_frame_rate (shared_ptr<const Film> film) const
 void
 Content::add_properties (shared_ptr<const Film>, list<UserProperty>& p) const
 {
-       p.push_back (UserProperty (UserProperty::GENERAL, _("Filename"), path(0).string ()));
+       auto paths_to_show = std::min(number_of_paths(), size_t{8});
+       string paths = "";
+       for (auto i = size_t{0}; i < paths_to_show; ++i) {
+               paths += path(i).string();
+               if (i < (paths_to_show - 1)) {
+                       paths += "\n";
+               }
+       }
+       if (paths_to_show < number_of_paths()) {
+               paths += String::compose("... and %1 more", number_of_paths() - paths_to_show);
+       }
+       p.push_back (
+               UserProperty(
+                       UserProperty::GENERAL,
+                       paths_to_show > 1 ? _("Filenames") : _("Filename"),
+                       paths
+                       )
+               );
 
        if (_video_frame_rate) {
                if (video) {