Browse Source

scale in-place image preview according to scale factor

Le Tan 7 years ago
parent
commit
966d9fb7d7
1 changed files with 10 additions and 4 deletions
  1. 10 4
      src/vpreviewmanager.cpp

+ 10 - 4
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;