Skip to content
Snippets Groups Projects
Commit c4b78891 authored by Thulinma's avatar Thulinma
Browse files

Fixes for pasting images, especially under windows where the image mime type...

Fixes for pasting images, especially under windows where the image mime type detection doesn't work as expected
parent 6941c3d3
No related branches found
No related tags found
No related merge requests found
Pipeline #1828 failed
......@@ -45,10 +45,8 @@ InputBar::paste(bool fromMouse)
{
const QMimeData *md = nullptr;
if (fromMouse) {
if (QGuiApplication::clipboard()->supportsSelection()) {
md = QGuiApplication::clipboard()->mimeData(QClipboard::Selection);
}
if (fromMouse && QGuiApplication::clipboard()->supportsSelection()) {
md = QGuiApplication::clipboard()->mimeData(QClipboard::Selection);
} else {
md = QGuiApplication::clipboard()->mimeData(QClipboard::Clipboard);
}
......@@ -69,7 +67,7 @@ InputBar::insertMimeData(const QMimeData *md)
const auto audio = formats.filter("audio/", Qt::CaseInsensitive);
const auto video = formats.filter("video/", Qt::CaseInsensitive);
if (!image.empty() && md->hasImage()) {
if (md->hasImage()) {
showPreview(*md, "", image);
} else if (!audio.empty()) {
showPreview(*md, "", audio);
......@@ -653,9 +651,15 @@ InputBar::showPreview(const QMimeData &source, QString path, const QStringList &
new dialogs::PreviewUploadOverlay(ChatPage::instance());
previewDialog_->setAttribute(Qt::WA_DeleteOnClose);
if (source.hasImage())
previewDialog_->setPreview(qvariant_cast<QImage>(source.imageData()), formats.front());
else if (!path.isEmpty())
if (source.hasImage()) {
if (formats.size() && formats.front().startsWith("image/")) {
// known format, keep as-is
previewDialog_->setPreview(qvariant_cast<QImage>(source.imageData()), formats.front());
} else {
// unknown image format, default to image/png
previewDialog_->setPreview(qvariant_cast<QImage>(source.imageData()), "image/png");
}
} else if (!path.isEmpty())
previewDialog_->setPreview(path);
else if (!formats.isEmpty()) {
auto mime = formats.first();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment