Fix exif rotation in unencrypted rooms

pull/547/head
Nicolas Werner 4 years ago
parent 5f4ab925da
commit 007ee38b04
No known key found for this signature in database
GPG Key ID: C8D75E610773F2D9
  1. 8
      src/MxcImageProvider.cpp
  2. 7
      src/Utils.cpp
  3. 4
      src/Utils.h

@ -69,7 +69,7 @@ MxcImageProvider::download(const QString &id,
QDir().mkpath(fileInfo.absolutePath());
if (fileInfo.exists()) {
QImage image(fileInfo.absoluteFilePath());
QImage image = utils::readImageFromFile(fileInfo.absoluteFilePath());
if (!image.isNull()) {
image = image.scaled(
requestedSize, Qt::KeepAspectRatio, Qt::SmoothTransformation);
@ -143,7 +143,8 @@ MxcImageProvider::download(const QString &id,
return;
}
} else {
QImage image(fileInfo.absoluteFilePath());
QImage image =
utils::readImageFromFile(fileInfo.absoluteFilePath());
if (!image.isNull()) {
then(id,
requestedSize,
@ -190,7 +191,8 @@ MxcImageProvider::download(const QString &id,
return;
}
QImage image(fileInfo.absoluteFilePath());
QImage image =
utils::readImageFromFile(fileInfo.absoluteFilePath());
image.setText("original filename",
QString::fromStdString(originalFilename));
image.setText("mxc url", "mxc://" + id);

@ -802,6 +802,13 @@ utils::restoreCombobox(QComboBox *combo, const QString &value)
}
}
QImage
utils::readImageFromFile(const QString &filename)
{
QImageReader reader(filename);
reader.setAutoTransform(true);
return reader.read();
}
QImage
utils::readImage(const QByteArray &data)
{

@ -310,6 +310,10 @@ centerWidget(QWidget *widget, QWidget *parent);
void
restoreCombobox(QComboBox *combo, const QString &value);
//! Read image respecting exif orientation
QImage
readImageFromFile(const QString &filename);
//! Read image respecting exif orientation
QImage
readImage(const QByteArray &data);

Loading…
Cancel
Save