diff options
Diffstat (limited to 'src/widgets/dialogs')
-rw-r--r-- | src/widgets/dialogs/qwizard.cpp | 10 | ||||
-rw-r--r-- | src/widgets/dialogs/qwizard_win.cpp | 36 | ||||
-rw-r--r-- | src/widgets/dialogs/qwizard_win_p.h | 16 |
3 files changed, 32 insertions, 30 deletions
diff --git a/src/widgets/dialogs/qwizard.cpp b/src/widgets/dialogs/qwizard.cpp index 40db586f0e..7558054da5 100644 --- a/src/widgets/dialogs/qwizard.cpp +++ b/src/widgets/dialogs/qwizard.cpp @@ -1336,7 +1336,7 @@ void QWizardPrivate::updateMinMaxSizes(const QWizardLayoutInfo &info) int extraHeight = 0; #if QT_CONFIG(style_windowsvista) if (isVistaThemeEnabled()) - extraHeight = vistaHelper->titleBarSize() + vistaHelper->topOffset(); + extraHeight = vistaHelper->titleBarSize() + vistaHelper->topOffset(q); #endif QSize minimumSize = mainLayout->totalMinimumSize() + QSize(0, extraHeight); QSize maximumSize = mainLayout->totalMaximumSize(); @@ -1595,8 +1595,8 @@ bool QWizardPrivate::handleAeroStyleChange() bool vistaMargins = false; if (isVistaThemeEnabled()) { - const int topOffset = vistaHelper->topOffset(); - const int topPadding = vistaHelper->topPadding(); + const int topOffset = vistaHelper->topOffset(q); + const int topPadding = vistaHelper->topPadding(q); if (isVistaThemeEnabled(QVistaHelper::VistaAero)) { if (isWindow) { vistaHelper->setDWMTitleBar(QVistaHelper::ExtendedTitleBar); @@ -3214,7 +3214,7 @@ void QWizard::resizeEvent(QResizeEvent *event) int heightOffset = 0; #if QT_CONFIG(style_windowsvista) if (d->isVistaThemeEnabled()) { - heightOffset = d->vistaHelper->topOffset(); + heightOffset = d->vistaHelper->topOffset(this); if (d->isVistaThemeEnabled(QVistaHelper::VistaAero)) heightOffset += d->vistaHelper->titleBarSize(); } @@ -3246,7 +3246,7 @@ void QWizard::paintEvent(QPaintEvent * event) if (d->isVistaThemeEnabled(QVistaHelper::VistaBasic)) { QPainter painter(this); QColor color = d->vistaHelper->basicWindowFrameColor(); - painter.fillRect(0, 0, width(), QVistaHelper::topOffset(), color); + painter.fillRect(0, 0, width(), QVistaHelper::topOffset(this), color); } d->vistaHelper->paintEvent(event); } diff --git a/src/widgets/dialogs/qwizard_win.cpp b/src/widgets/dialogs/qwizard_win.cpp index 95f8f6a878..47ac41a791 100644 --- a/src/widgets/dialogs/qwizard_win.cpp +++ b/src/widgets/dialogs/qwizard_win.cpp @@ -87,7 +87,7 @@ QVistaBackButton::QVistaBackButton(QWidget *widget) QSize QVistaBackButton::sizeHint() const { ensurePolished(); - int size = int(QStyleHelper::dpiScaled(32)); + int size = int(QStyleHelper::dpiScaled(32, this)); int width = size, height = size; return QSize(width, height); } @@ -156,7 +156,7 @@ QVistaHelper::QVistaHelper(QWizard *wizard) backButton_ = new QVistaBackButton(wizard); backButton_->hide(); - iconSpacing = QStyleHelper::dpiScaled(7); + iconSpacing = QStyleHelper::dpiScaled(7, wizard); } QVistaHelper::~QVistaHelper() @@ -229,7 +229,7 @@ bool QVistaHelper::setDWMTitleBar(TitleBarChangeType type) if (type == NormalTitleBar) mar.cyTopHeight = 0; else - mar.cyTopHeight = (titleBarSize() + topOffset()) * QVistaHelper::m_devicePixelRatio; + mar.cyTopHeight = (titleBarSize() + topOffset(wizard)) * QVistaHelper::m_devicePixelRatio; if (const HWND wizardHandle = wizardHWND()) if (SUCCEEDED(DwmExtendFrameIntoClientArea(wizardHandle, &mar))) value = true; @@ -275,7 +275,7 @@ void QVistaHelper::drawTitleBar(QPainter *painter) if (vistaState() == VistaAero && isWindow) drawBlackRect(QRect(0, 0, wizard->width(), - titleBarSize() + topOffset()), hdc); + titleBarSize() + topOffset(wizard)), hdc); // The button is positioned in QWizardPrivate::handleAeroStyleChange(), // all calculation is relative to it. const int btnTop = backButton_->mapToParent(QPoint()).y(); @@ -293,7 +293,7 @@ void QVistaHelper::drawTitleBar(QPainter *painter) int glowOffset = 0; if (vistaState() == VistaAero) { - glowOffset = glowSize(); + glowOffset = glowSize(wizard); textHeight += 2 * glowOffset; textWidth += 2 * glowOffset; } @@ -314,10 +314,10 @@ void QVistaHelper::drawTitleBar(QPainter *painter) const QIcon windowIcon = wizard->windowIcon(); if (!windowIcon.isNull()) { - const int size = QVistaHelper::iconSize(); + const int size = QVistaHelper::iconSize(wizard); const int iconLeft = (wizard->layoutDirection() == Qt::LeftToRight - ? leftMargin() - : wizard->width() - leftMargin() - size); + ? leftMargin(wizard) + : wizard->width() - leftMargin(wizard) - size); const QPoint pos(origin.x() + iconLeft, origin.y() + verticalCenter - size / 2); const QPoint posDp = pos * QVistaHelper::m_devicePixelRatio; @@ -427,7 +427,7 @@ void QVistaHelper::resizeEvent(QResizeEvent * event) { Q_UNUSED(event); rtTop = QRect (0, 0, wizard->width(), frameSize()); - int height = captionSize() + topOffset(); + int height = captionSize() + topOffset(wizard); if (vistaState() == VistaBasic) height -= titleBarSize(); rtTitle = QRect (0, frameSize(), wizard->width(), height); @@ -637,7 +637,7 @@ bool QVistaHelper::drawTitleText(QPainter *painter, const QString &text, const Q RECT rctext ={0,0, rectDp.width(), rectDp.height()}; dto.dwFlags = DTT_COMPOSITED|DTT_GLOWSIZE; - dto.iGlowSize = glowSize(); + dto.iGlowSize = glowSize(wizard); DrawThemeTextEx(hTheme, dcMem, 0, 0, reinterpret_cast<LPCWSTR>(text.utf16()), -1, uFormat, &rctext, &dto ); BitBlt(hdc, rectDp.left(), rectDp.top(), rectDp.width(), rectDp.height(), dcMem, 0, 0, SRCCOPY); @@ -714,27 +714,27 @@ int QVistaHelper::captionSizeDp() int QVistaHelper::titleOffset() { - int iconOffset = wizard ->windowIcon().isNull() ? 0 : iconSize() + iconSpacing; - return leftMargin() + iconOffset; + int iconOffset = wizard ->windowIcon().isNull() ? 0 : iconSize(wizard) + iconSpacing; + return leftMargin(wizard) + iconOffset; } -int QVistaHelper::iconSize() +int QVistaHelper::iconSize(const QPaintDevice *device) { - return QStyleHelper::dpiScaled(16); // Standard Aero + return QStyleHelper::dpiScaled(16, device); // Standard Aero } -int QVistaHelper::glowSize() +int QVistaHelper::glowSize(const QPaintDevice *device) { - return QStyleHelper::dpiScaled(10); + return QStyleHelper::dpiScaled(10, device); } -int QVistaHelper::topOffset() +int QVistaHelper::topOffset(const QPaintDevice *device) { if (vistaState() != VistaAero) return titleBarSize() + 3; static const int aeroOffset = QOperatingSystemVersion::current() < QOperatingSystemVersion::Windows8 ? - QStyleHelper::dpiScaled(4) : QStyleHelper::dpiScaled(13); + QStyleHelper::dpiScaled(4, device) : QStyleHelper::dpiScaled(13, device); return aeroOffset + titleBarSize(); } diff --git a/src/widgets/dialogs/qwizard_win_p.h b/src/widgets/dialogs/qwizard_win_p.h index b3796e3f48..2469496b61 100644 --- a/src/widgets/dialogs/qwizard_win_p.h +++ b/src/widgets/dialogs/qwizard_win_p.h @@ -108,10 +108,10 @@ public: static VistaState vistaState(); static int titleBarSize() { return QVistaHelper::titleBarSizeDp() / QVistaHelper::m_devicePixelRatio; } static int titleBarSizeDp() { return QVistaHelper::frameSizeDp() + QVistaHelper::captionSizeDp(); } - static int topPadding() { // padding under text - return int(QStyleHelper::dpiScaled(4)); + static int topPadding(const QPaintDevice *device) { // padding under text + return int(QStyleHelper::dpiScaled(4, device)); } - static int topOffset(); + static int topOffset(const QPaintDevice *device); static HDC backingStoreDC(const QWidget *wizard, QPoint *offset); @@ -125,10 +125,12 @@ private: static int captionSize() { return QVistaHelper::captionSizeDp() / QVistaHelper::m_devicePixelRatio; } static int captionSizeDp(); - static int backButtonSize() { return int(QStyleHelper::dpiScaled(30)); } - static int iconSize(); - static int glowSize(); - int leftMargin() { return backButton_->isVisible() ? backButtonSize() + iconSpacing : 0; } + static int backButtonSize(const QPaintDevice *device) + { return int(QStyleHelper::dpiScaled(30, device)); } + static int iconSize(const QPaintDevice *device); + static int glowSize(const QPaintDevice *device); + int leftMargin(const QPaintDevice *device) + { return backButton_->isVisible() ? backButtonSize(device) + iconSpacing : 0; } int titleOffset(); void drawTitleBar(QPainter *painter); |