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>
This commit is contained in:
Berthold Stoeger 2018-02-18 14:57:42 +01:00 committed by Lubomir I. Ivanov
parent b750a48f0f
commit f5eafe2a71
5 changed files with 21 additions and 14 deletions

View file

@ -1000,11 +1000,7 @@ void DiveListView::loadImageFromURL(QUrl url)
stream.writeRawData(imageData.data(), imageData.length());
imageFile.waitForBytesWritten(-1);
imageFile.close();
add_hash(imageFile.fileName(), hash.result());
struct picture picture;
picture.hash = NULL;
picture.filename = strdup(url.toString().toUtf8().data());
learnHash(&picture, hash.result());
learnHash(url.toString(), imageFile.fileName(), hash.result());
matchImagesToDives(QStringList(url.toString()));
}
}