summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/global/qnamespace.h3
-rw-r--r--src/gui/text/qfont.cpp32
-rw-r--r--src/testlib/qtest.h4
-rw-r--r--src/widgets/styles/qstylehelper.cpp23
4 files changed, 22 insertions, 40 deletions
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
index f584a26dfc..d3b048579f 100644
--- a/src/corelib/global/qnamespace.h
+++ b/src/corelib/global/qnamespace.h
@@ -479,8 +479,7 @@ public:
AA_MacPluginApplication = 5,
AA_DontUseNativeMenuBar = 6,
AA_MacDontSwapCtrlAndMeta = 7,
- AA_S60DontConstructApplicationPanes = 8,
- AA_S60DisablePartialScreenInputMode = 9,
+ AA_Use96Dpi = 8,
AA_X11InitThreads = 10,
// Add new attributes before this line
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp
index 5bf9094615..1ac398967d 100644
--- a/src/gui/text/qfont.cpp
+++ b/src/gui/text/qfont.cpp
@@ -138,36 +138,32 @@ extern bool qt_is_gui_used;
Q_GUI_EXPORT int qt_defaultDpiX()
{
+ if (qApp->testAttribute(Qt::AA_Use96Dpi))
+ return 96;
+
if (!qt_is_gui_used)
return 75;
- int dpi;
- QScreen *screen = QGuiApplication::primaryScreen();
- if (screen) {
- dpi = qRound(screen->logicalDotsPerInchX());
- } else {
- //PI has not been initialised, or it is being initialised. Give a default dpi
- dpi = 100;
- }
+ if (const QScreen *screen = QGuiApplication::primaryScreen())
+ return qRound(screen->logicalDotsPerInchX());
- return dpi;
+ //PI has not been initialised, or it is being initialised. Give a default dpi
+ return 100;
}
Q_GUI_EXPORT int qt_defaultDpiY()
{
+ if (qApp->testAttribute(Qt::AA_Use96Dpi))
+ return 96;
+
if (!qt_is_gui_used)
return 75;
- int dpi;
- QScreen *screen = QGuiApplication::primaryScreen();
- if (screen) {
- dpi = qRound(screen->logicalDotsPerInchY());
- } else {
- //PI has not been initialised, or it is being initialised. Give a default dpi
- dpi = 100;
- }
+ if (const QScreen *screen = QGuiApplication::primaryScreen())
+ return qRound(screen->logicalDotsPerInchY());
- return dpi;
+ //PI has not been initialised, or it is being initialised. Give a default dpi
+ return 100;
}
Q_GUI_EXPORT int qt_defaultDpi()
diff --git a/src/testlib/qtest.h b/src/testlib/qtest.h
index 53b29e1064..da3a836636 100644
--- a/src/testlib/qtest.h
+++ b/src/testlib/qtest.h
@@ -254,6 +254,7 @@ int main(int argc, char *argv[]) \
int main(int argc, char *argv[]) \
{ \
QApplication app(argc, argv); \
+ app.setAttribute(Qt::AA_Use96Dpi, true); \
QTEST_DISABLE_KEYPAD_NAVIGATION \
TestObject tc; \
return QTest::qExec(&tc, argc, argv); \
@@ -267,6 +268,7 @@ int main(int argc, char *argv[]) \
int main(int argc, char *argv[]) \
{ \
QGuiApplication app(argc, argv); \
+ app.setAttribute(Qt::AA_Use96Dpi, true); \
TestObject tc; \
return QTest::qExec(&tc, argc, argv); \
}
@@ -277,6 +279,7 @@ int main(int argc, char *argv[]) \
int main(int argc, char *argv[]) \
{ \
QCoreApplication app(argc, argv); \
+ app.setAttribute(Qt::AA_Use96Dpi, true); \
TestObject tc; \
return QTest::qExec(&tc, argc, argv); \
}
@@ -287,6 +290,7 @@ int main(int argc, char *argv[]) \
int main(int argc, char *argv[]) \
{ \
QCoreApplication app(argc, argv); \
+ app.setAttribute(Qt::AA_Use96Dpi, true); \
TestObject tc; \
return QTest::qExec(&tc, argc, argv); \
}
diff --git a/src/widgets/styles/qstylehelper.cpp b/src/widgets/styles/qstylehelper.cpp
index 823d29bc83..8f2d7364c1 100644
--- a/src/widgets/styles/qstylehelper.cpp
+++ b/src/widgets/styles/qstylehelper.cpp
@@ -46,17 +46,13 @@
#include <private/qstyle_p.h>
#include <qmath.h>
-#if defined(Q_WS_WIN)
-#include "qt_windows.h"
-#elif defined(Q_WS_MAC)
-#include <private/qt_cocoa_helpers_mac_p.h>
-#endif
-
#include "qstylehelper_p.h"
#include <qstringbuilder.h>
QT_BEGIN_NAMESPACE
+Q_GUI_EXPORT int qt_defaultDpiX();
+
namespace QStyleHelper {
QString uniqueName(const QString &key, const QStyleOption *option, const QSize &size)
@@ -81,20 +77,7 @@ QString uniqueName(const QString &key, const QStyleOption *option, const QSize &
qreal dpiScaled(qreal value)
{
- static qreal scale = -1;
- if (scale < 0) {
- scale = 1.0;
-#if defined(Q_WS_WIN)
- {
- HDC hdcScreen = GetDC(0);
- int dpi = GetDeviceCaps(hdcScreen, LOGPIXELSX);
- ReleaseDC(0, hdcScreen);
- scale = dpi/96.0;
- }
-#elif defined(Q_WS_MAC)
- scale = qt_mac_get_scalefactor();
-#endif
- }
+ static const qreal scale = qreal(qt_defaultDpiX()) / 96.0;
return value * scale;
}