From 966d9fb7d76dac2af2580972d68a5d9718080b73 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Sun, 6 May 2018 22:04:56 +0800 Subject: [PATCH] scale in-place image preview according to scale factor --- src/vpreviewmanager.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/vpreviewmanager.cpp b/src/vpreviewmanager.cpp index 38a15913..5bbd543b 100644 --- a/src/vpreviewmanager.cpp +++ b/src/vpreviewmanager.cpp @@ -284,16 +284,22 @@ QString VPreviewManager::imageResourceName(const ImageLinkInfo &p_link) } // Resize the image. + qreal sf = VUtils::calculateScaleFactor(); if (p_link.m_width > 0) { if (p_link.m_height > 0) { - m_editor->addImage(name, image.scaled(p_link.m_width, p_link.m_height)); + m_editor->addImage(name, image.scaled(p_link.m_width * sf, + p_link.m_height * sf)); } else { - m_editor->addImage(name, image.scaledToWidth(p_link.m_width)); + m_editor->addImage(name, image.scaledToWidth(p_link.m_width * sf)); } } else if (p_link.m_height > 0) { - m_editor->addImage(name, image.scaledToHeight(p_link.m_height)); + m_editor->addImage(name, image.scaledToHeight(p_link.m_height * sf)); } else { - m_editor->addImage(name, image); + if (sf < 1.1) { + m_editor->addImage(name, image); + } else { + m_editor->addImage(name, image.scaledToWidth(image.width() * sf)); + } } return name;