diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2018-05-25 22:01:30 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2018-05-26 09:24:28 -0700 |
commit | 80224a98b1263fb1e89c7c46ecc2c51a96d0ffa4 (patch) | |
tree | e38e2baded28fd4b823c516f3935c5a4ec400fba /core/qthelper.cpp | |
parent | b34eeeaba257d14ff7fa2b32eccbceeeb2b4e66a (diff) | |
download | subsurface-80224a98b1263fb1e89c7c46ecc2c51a96d0ffa4.tar.gz |
Dive pictures: Derive thumbnail file from picture filename
Since commit 6618c9ebfc6a7cebbef687fcb3aa74c70f504ff2, thumbnails
are saved in individual files. The filename was simply the picture-hash.
In a mailing-list discussion it turned out that in the future we might
not hash images or change the hash. Therefore, derive the thumbnail
filename from the image filename, using the SHA1 algorithm.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/qthelper.cpp')
-rw-r--r-- | core/qthelper.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/core/qthelper.cpp b/core/qthelper.cpp index 11d74a14e..638931055 100644 --- a/core/qthelper.cpp +++ b/core/qthelper.cpp @@ -1088,12 +1088,14 @@ static QString thumbnailDir() return QString(system_default_directory()) + "/thumbnails/"; } -// Return filename of thumbnail if it is known to us. -// If this is an unknown thumbnail, return an empty string. +// Calculate thumbnail filename by hashing name of file. QString thumbnailFileName(const QString &filename) { - QString hash = getHash(filename).toHex(); - return hash.isEmpty() ? QString() : thumbnailDir() + hash; + if (filename.isEmpty()) + return QString(); + QCryptographicHash hash(QCryptographicHash::Sha1); + hash.addData(filename.toUtf8()); + return thumbnailDir() + hash.result().toHex(); } extern "C" char *hashfile_name_string() |