summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2016-10-19 13:56:14 (GMT)
committerTobias Markmann <tm@ayena.de>2016-10-19 13:56:14 (GMT)
commitbcd3660a3527327117b46e104d16204a64fe0b9f (patch)
tree79136e46ff58f5a83bc268642f455283591bfb0e /Swift/QtUI
parent02e7140ee68229dcd439f7e333cd3858265cab08 (diff)
downloadswift-bcd3660a3527327117b46e104d16204a64fe0b9f.zip
swift-bcd3660a3527327117b46e104d16204a64fe0b9f.tar.bz2
Scale QWebView DPI resolution to match desktop DPI resolution
Test-Information: Tested that at 1em scaling, the default, the main text in the chat style has the same height as the nicknames in the roster. Tested with Qt 5.4.2 on macOS 10.12 on a retina system, with Qt 5.4.2 on macOS 10.12 on a non-retina system, and Windows 8 with Qt 5.7.0 with QtWebKit Technology Preview 4. Change-Id: I10701c411d9f787bf497eb6aab208a0f3fda621c
Diffstat (limited to 'Swift/QtUI')
-rw-r--r--Swift/QtUI/QtWebKitChatView.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/Swift/QtUI/QtWebKitChatView.cpp b/Swift/QtUI/QtWebKitChatView.cpp
index c3320d8..414f098 100644
--- a/Swift/QtUI/QtWebKitChatView.cpp
+++ b/Swift/QtUI/QtWebKitChatView.cpp
@@ -8,6 +8,7 @@
#include <QApplication>
#include <QDesktopServices>
+#include <QDesktopWidget>
#include <QEventLoop>
#include <QFile>
#include <QFileDialog>
@@ -347,7 +348,11 @@ void QtWebKitChatView::resetView() {
assert(!body.isNull());
body.setAttribute("onscroll", "chatwindow.verticalScrollBarPositionChanged(document.body.scrollTop / (document.body.scrollHeight - window.innerHeight))");
- webView_->settings()->setFontSize(QWebSettings::DefaultFontSize, QApplication::font().pointSize());
+ // Adjust web view default 96 DPI setting to screen DPI.
+ // For more information see https://webkit.org/blog/57/css-units/
+ webView_->setZoomFactor(QApplication::desktop()->screen()->logicalDpiX() / 96.0);
+
+ body.setStyleProperty("font-size", QString("%1pt").arg(QApplication::font().pointSize()));
}
static QWebElement findElementWithID(QWebElement document, QString elementName, QString id) {