diff options
author | Tobias Markmann <tm@ayena.de> | 2016-10-19 13:56:14 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2016-10-19 13:56:14 (GMT) |
commit | bcd3660a3527327117b46e104d16204a64fe0b9f (patch) | |
tree | 79136e46ff58f5a83bc268642f455283591bfb0e /Swift | |
parent | 02e7140ee68229dcd439f7e333cd3858265cab08 (diff) | |
download | swift-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')
-rw-r--r-- | Swift/QtUI/QtWebKitChatView.cpp | 7 |
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) { |