aboutsummaryrefslogtreecommitdiffstats
path: root/core/imagedownloader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/imagedownloader.cpp')
-rw-r--r--core/imagedownloader.cpp47
1 files changed, 14 insertions, 33 deletions
diff --git a/core/imagedownloader.cpp b/core/imagedownloader.cpp
index faa0d7ff7..db2d81b99 100644
--- a/core/imagedownloader.cpp
+++ b/core/imagedownloader.cpp
@@ -15,12 +15,6 @@
#include <QtConcurrent>
-static QUrl cloudImageURL(const char *filename)
-{
- QString hash = hashString(filename);
- return QUrl::fromUserInput(QString("https://cloud.subsurface-divelog.org/images/").append(hash));
-}
-
// Note: this is a global instead of a function-local variable on purpose.
// We don't want this to be generated in a different thread context if
// ImageDownloader::instance() is called from a worker thread.
@@ -35,9 +29,9 @@ ImageDownloader::ImageDownloader()
connect(&manager, &QNetworkAccessManager::finished, this, &ImageDownloader::saveImage);
}
-void ImageDownloader::load(QString filename, bool fromHash)
+void ImageDownloader::load(QString filename)
{
- QUrl url = fromHash ? cloudImageURL(qPrintable(filename)) : QUrl::fromUserInput(filename);
+ QUrl url = QUrl::fromUserInput(filename);
// If this is a file, we tried previously -> don't bother trying it again
if (url.scheme() == "file" || !url.isValid()) {
@@ -47,7 +41,6 @@ void ImageDownloader::load(QString filename, bool fromHash)
QNetworkRequest request(url);
request.setAttribute(QNetworkRequest::User, filename);
- request.setAttribute(static_cast<QNetworkRequest::Attribute>(QNetworkRequest::User + 1), fromHash);
manager.get(request);
}
@@ -56,11 +49,7 @@ void ImageDownloader::saveImage(QNetworkReply *reply)
QString filename = reply->request().attribute(QNetworkRequest::User).toString();
if (reply->error() != QNetworkReply::NoError) {
- bool fromHash = reply->request().attribute(static_cast<QNetworkRequest::Attribute>(QNetworkRequest::User + 1)).toBool();
- if (fromHash)
- load(filename, false);
- else
- emit failed(filename);
+ emit failed(filename);
} else {
QByteArray imageData = reply->readAll();
QCryptographicHash hash(QCryptographicHash::Sha1);
@@ -84,11 +73,11 @@ void ImageDownloader::saveImage(QNetworkReply *reply)
reply->deleteLater();
}
-static void loadPicture(QString filename, bool fromHash)
+static void loadPicture(QString filename)
{
// This has to be done in UI main thread, because QNetworkManager refuses
// to treat requests from other threads.
- QMetaObject::invokeMethod(ImageDownloader::instance(), "load", Qt::AutoConnection, Q_ARG(QString, filename), Q_ARG(bool, fromHash));
+ QMetaObject::invokeMethod(ImageDownloader::instance(), "load", Qt::AutoConnection, Q_ARG(QString, filename));
}
// Overwrite QImage::load() so that we can perform better error reporting.
@@ -117,24 +106,16 @@ static std::pair<QImage,bool> getHashedImage(const QString &file_in, bool tryDow
// This did not load anything. Let's try to get the image from other sources
QString filenameLocal = localFilePath(qPrintable(file));
qDebug() << QStringLiteral("Translated filename: %1 -> %2").arg(file, filenameLocal);
- if (filenameLocal.isNull()) {
- // That didn't produce a local filename.
- // Try the cloud server
- // TODO: This is dead code at the moment.
- loadPicture(file, true);
- stillLoading = true;
+ // Load locally from translated file name if it is different
+ if (filenameLocal != file)
+ thumb = loadImage(filenameLocal);
+ if (!thumb.isNull()) {
+ // Make sure the hash still matches the image file
+ hashPicture(filenameLocal);
} else {
- // Load locally from translated file name if it is different
- if (filenameLocal != file)
- thumb = loadImage(filenameLocal);
- if (!thumb.isNull()) {
- // Make sure the hash still matches the image file
- hashPicture(filenameLocal);
- } else {
- // Interpret filename as URL
- loadPicture(filenameLocal, false);
- stillLoading = true;
- }
+ // Interpret filename as URL
+ loadPicture(filenameLocal);
+ stillLoading = true;
}
}
return { thumb, stillLoading };