@@ -34,6 +34,7 @@
|
|||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
#include <QImage>
|
#include <QImage>
|
||||||
#include <QtDebug>
|
#include <QtDebug>
|
||||||
|
#include <QTemporaryFile>
|
||||||
|
|
||||||
#include "core/logging.h"
|
#include "core/logging.h"
|
||||||
#include "core/application.h"
|
#include "core/application.h"
|
||||||
@@ -181,16 +182,26 @@ bool GPodDevice::CopyToStorage(const CopyJob &job) {
|
|||||||
bool result = false;
|
bool result = false;
|
||||||
if (!job.metadata_.image().isNull()) {
|
if (!job.metadata_.image().isNull()) {
|
||||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0))
|
#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0))
|
||||||
result = itdb_track_set_thumbnails_from_data(track, job.metadata_.image().constBits(), job.metadata_.image().sizeInBytes());
|
// Workaround, see issue: https://github.com/strawberrymusicplayer/strawberry/issues/519
|
||||||
track->has_artwork = 1;
|
// result = itdb_track_set_thumbnails_from_data(track, job.metadata_.image().constBits(), job.metadata_.image().sizeInBytes());
|
||||||
|
QTemporaryFile cover_file;
|
||||||
|
if (cover_file.open()) {
|
||||||
|
QImage image = job.metadata_.image();
|
||||||
|
if (image.save(cover_file.fileName())) {
|
||||||
|
result = itdb_track_set_thumbnails(track, cover_file.fileName().toLocal8Bit().constData());
|
||||||
|
if (result) track->has_artwork = 1;
|
||||||
|
}
|
||||||
|
cover_file.close();
|
||||||
|
cover_file.remove();
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
result = itdb_track_set_thumbnails_from_data(track, job.metadata_.image().constBits(), job.metadata_.image().byteCount());
|
result = itdb_track_set_thumbnails_from_data(track, job.metadata_.image().constBits(), job.metadata_.image().byteCount());
|
||||||
track->has_artwork = 1;
|
if (result) track->has_artwork = 1;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else if (!job.cover_source_.isEmpty()) {
|
else if (!job.cover_source_.isEmpty()) {
|
||||||
result = itdb_track_set_thumbnails(track, job.cover_source_.toLocal8Bit().constData());
|
result = itdb_track_set_thumbnails(track, job.cover_source_.toLocal8Bit().constData());
|
||||||
track->has_artwork = 1;
|
if (result) track->has_artwork = 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
result = true;
|
result = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user