From da71c1c755b60a5f2544fd6708b97a8bc13f3679 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 9 Jan 2012 15:36:02 +0100 Subject: Introduce a QVariant themeHint() to QPlatformTheme. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Start on removing platform-specific code from QtWidgets. Change-Id: Ic2163a0ce6f2db2151cdf7ca93766b2d861eeb55 Reviewed-by: Samuel Rødal --- src/widgets/kernel/qwhatsthis.cpp | 19 ++++--------------- src/widgets/styles/qcommonstyle.cpp | 6 ++++-- src/widgets/styles/qwindowsstyle.cpp | 20 +++----------------- 3 files changed, 11 insertions(+), 34 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/kernel/qwhatsthis.cpp b/src/widgets/kernel/qwhatsthis.cpp index 7b29ac6e8f..e1a1cd05ef 100644 --- a/src/widgets/kernel/qwhatsthis.cpp +++ b/src/widgets/kernel/qwhatsthis.cpp @@ -43,6 +43,7 @@ #ifndef QT_NO_WHATSTHIS #include "qpointer.h" #include "qapplication.h" +#include #include "qdesktopwidget.h" #include "qevent.h" #include "qpixmap.h" @@ -59,12 +60,6 @@ #ifndef QT_NO_ACCESSIBILITY #include "qaccessible.h" #endif -#if defined(Q_WS_WIN) -#include "qt_windows.h" -#ifndef SPI_GETDROPSHADOW -#define SPI_GETDROPSHADOW 0x1024 -#endif -#endif QT_BEGIN_NAMESPACE @@ -221,15 +216,9 @@ QWhatsThat::QWhatsThat(const QString& txt, QWidget* parent, QWidget *showTextFor + Qt::TextWordWrap + Qt::TextExpandTabs, text); } -#if defined(Q_WS_WIN) - if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP - && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)) - { - BOOL shadow; - SystemParametersInfo(SPI_GETDROPSHADOW, 0, &shadow, 0); - shadowWidth = shadow ? 0 : 6; - } -#endif + shadowWidth = + QGuiApplicationPrivate::platformTheme()->themeHint(QPlatformTheme::DropShadow).toBool() ? + 0 : 6; resize(r.width() + 2*hMargin + shadowWidth, r.height() + 2*vMargin + shadowWidth); } diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 10c2dedaeb..c874770fdb 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -44,6 +44,7 @@ #include #include +#include #include #include #include @@ -72,6 +73,7 @@ #include #include #include +#include #include #include @@ -4313,7 +4315,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid break; #endif case PM_MaximumDragDistance: - ret = -1; + ret = QGuiApplicationPrivate::platformTheme()->themeHint(QPlatformTheme::MaximumScrollBarDragDistance).toInt(); break; #ifndef QT_NO_SLIDER @@ -4550,7 +4552,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid } break; case PM_TextCursorWidth: - ret = 1; + ret = QGuiApplicationPrivate::platformTheme()->themeHint(QPlatformTheme::TextCursorWidth).toInt(); break; case PM_TabBar_ScrollButtonOverlap: ret = 1; diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index 2f3d60eed8..1029433fe6 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -392,16 +392,9 @@ int QWindowsStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QW break; #endif case PM_MaximumDragDistance: -#if defined(Q_OS_WIN) - { - HDC hdcScreen = GetDC(0); - int dpi = GetDeviceCaps(hdcScreen, LOGPIXELSX); - ReleaseDC(0, hdcScreen); - ret = (int)(dpi * 1.375); - } -#else - ret = 60; -#endif + ret = QCommonStyle::pixelMetric(PM_MaximumDragDistance); + if (ret == -1) + ret = 60; break; #ifndef QT_NO_SLIDER @@ -530,13 +523,6 @@ int QWindowsStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QW ret = GetSystemMetrics(SM_CYFRAME); #endif break; - case PM_TextCursorWidth: { - DWORD caretWidth = 1; -#if defined(SPI_GETCARETWIDTH) - SystemParametersInfo(SPI_GETCARETWIDTH, 0, &caretWidth, 0); -#endif - ret = (int)caretWidth; - break; } #endif case PM_ToolBarItemMargin: ret = 1; -- cgit v1.2.3