Add support for saving embedded album covers

Fixes #286
This commit is contained in:
Jonas Kvinge
2021-02-26 21:03:51 +01:00
parent e4c89c1aed
commit 133f094d72
79 changed files with 3509 additions and 1804 deletions

View File

@@ -31,8 +31,10 @@
#include <QNetworkRequest>
#include <QUrl>
#include "core/utilities.h"
#include "core/networkaccessmanager.h"
#include "widgets/busyindicator.h"
#include "albumcoverimageresult.h"
#include "coverfromurldialog.h"
#include "ui_coverfromurldialog.h"
@@ -47,17 +49,17 @@ CoverFromURLDialog::~CoverFromURLDialog() {
delete ui_;
}
QImage CoverFromURLDialog::Exec() {
AlbumCoverImageResult CoverFromURLDialog::Exec() {
// reset state
ui_->url->setText("");;
last_image_ = QImage();
last_album_cover_ = AlbumCoverImageResult();
QClipboard *clipboard = QApplication::clipboard();
ui_->url->setText(clipboard->text());
exec();
return last_image_;
return last_album_cover_;
}
@@ -89,11 +91,13 @@ void CoverFromURLDialog::LoadCoverFromURLFinished() {
return;
}
QImage image;
image.loadFromData(reply->readAll());
AlbumCoverImageResult result;
result.image_data = reply->readAll();
result.image.loadFromData(result.image_data);
result.mime_type = Utilities::MimeTypeFromData(result.image_data);
if (!image.isNull()) {
last_image_ = image;
if (!result.image.isNull()) {
last_album_cover_ = result;
QDialog::accept();
}
else {