From 22167f33f20d7ea0279d5950430c259d3ab2e675 Mon Sep 17 00:00:00 2001
From: fourtf <tf.four@gmail.com>
Date: Sun, 24 Jun 2018 17:33:55 +0200
Subject: [PATCH] Fixes #491, font size in notebooktab too big

---
 src/main.cpp               | 5 +++--
 src/widgets/basewindow.cpp | 8 ++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/main.cpp b/src/main.cpp
index f28c3d688..06e3d5292 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -33,9 +33,10 @@ void installCustomPalette();
 
 int main(int argc, char *argv[])
 {
-//    QApplication::setAttribute(Qt::AA_Use96Dpi, false);
+    QApplication::setAttribute(Qt::AA_Use96Dpi, true);
 #ifdef Q_OS_WIN32
-//    QApplication::setAttribute(Qt::AA_DisableHighDpiScaling, true);
+    //    QApplication::setAttribute(Qt::AA_DisableHighDpiScaling, true);
+    QApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
 #endif
     //    QApplication::setAttribute(Qt::AA_UseSoftwareOpenGL, true);
     QApplication a(argc, argv);
diff --git a/src/widgets/basewindow.cpp b/src/widgets/basewindow.cpp
index 7a64e3411..676a25249 100644
--- a/src/widgets/basewindow.cpp
+++ b/src/widgets/basewindow.cpp
@@ -415,12 +415,12 @@ bool BaseWindow::nativeEvent(const QByteArray &eventType, void *message, long *r
         case WM_DPICHANGED: {
             int dpi = HIWORD(msg->wParam);
 
-            float oldScale = this->scale;
             float _scale = dpi / 96.f;
-            float resizeScale = _scale / oldScale;
 
-            this->resize(static_cast<int>(this->width() * resizeScale),
-                         static_cast<int>(this->height() * resizeScale));
+            auto *prcNewWindow = reinterpret_cast<RECT *>(msg->lParam);
+            SetWindowPos(msg->hwnd, nullptr, prcNewWindow->left, prcNewWindow->top,
+                         prcNewWindow->right - prcNewWindow->left,
+                         prcNewWindow->bottom - prcNewWindow->top, SWP_NOZORDER | SWP_NOACTIVATE);
 
             this->nativeScale_ = _scale;
             this->updateScale();