summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2018-02-18 14:57:42 +0100
committerGravatar Lubomir I. Ivanov <neolit123@gmail.com>2018-03-05 18:04:57 +0200
commitf5eafe2a713998b345027373a26ad73af9e060b5 (patch)
tree4086582ac648e4fa08add69e1353e55a34af6ab0 /core
parentb750a48f0f834dcf33fc2518c877f498f3b3cff5 (diff)
downloadsubsurface-f5eafe2a713998b345027373a26ad73af9e060b5.tar.gz
Cleanup: Fold add_hash() call into learnHash() function
learnHash() was always called in conjunction with add_hash(). The pattern was that a local filename and a hash were connected in the hash-to-filename and the filename-to-hash maps. Then, the original picture-filename or url were registered in the filename-to-hash map. This commit changes learnHash() to take three parameters (original-filename, local-filename and hash) and do all of the above. The new code is simpler because no dummy picture struct has to be generated in DiveListView::loadImageFromURL(). The tests were extended to check for all hash<->filename associations. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core')
-rw-r--r--core/imagedownloader.cpp3
-rw-r--r--core/qthelper.cpp5
-rw-r--r--core/qthelper.h2
3 files changed, 5 insertions, 5 deletions
diff --git a/core/imagedownloader.cpp b/core/imagedownloader.cpp
index 3b55dfd06..e486830d2 100644
--- a/core/imagedownloader.cpp
+++ b/core/imagedownloader.cpp
@@ -71,8 +71,7 @@ void ImageDownloader::saveImage(QNetworkReply *reply, bool &success)
stream.writeRawData(imageData.data(), imageData.length());
imageFile.waitForBytesWritten(-1);
imageFile.close();
- add_hash(imageFile.fileName(), hash.result());
- learnHash(picture, hash.result());
+ learnHash(QString(picture->filename), imageFile.fileName(), hash.result());
}
// This should be called to make the picture actually show.
// Problem is DivePictureModel is not in core.
diff --git a/core/qthelper.cpp b/core/qthelper.cpp
index 0029ca13a..e03f86739 100644
--- a/core/qthelper.cpp
+++ b/core/qthelper.cpp
@@ -1149,12 +1149,13 @@ QByteArray hashFile(const QString filename)
}
}
-void learnHash(const struct picture *picture, QByteArray hash)
+void learnHash(const QString &originalName, const QString &localName, const QByteArray &hash)
{
if (hash.isNull())
return;
+ add_hash(localName, hash);
QMutexLocker locker(&hashOfMutex);
- hashOf[QString(picture->filename)] = hash;
+ hashOf[originalName] = hash;
}
static bool haveHash(const QString &filename)
diff --git a/core/qthelper.h b/core/qthelper.h
index a71960c86..948ca234d 100644
--- a/core/qthelper.h
+++ b/core/qthelper.h
@@ -40,7 +40,7 @@ void hashPicture(struct picture *picture);
extern "C" char *hashstring(const char *filename);
QString localFilePath(const QString originalFilename);
QString fileFromHash(const char *hash);
-void learnHash(const struct picture *picture, QByteArray hash);
+void learnHash(const QString &originalName, const QString &localName, const QByteArray &hash);
weight_t string_to_weight(const char *str);
depth_t string_to_depth(const char *str);
pressure_t string_to_pressure(const char *str);