From 0fbb41dea783d15797fa2af2d3d8737fe770bcfb Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Wed, 26 Sep 2012 12:37:39 +0200 Subject: [PATCH] Better drawn 1-pixel thick splitter on Mac MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I72effdfb997a7733fbbd270db719c163d1d53a66 Reviewed-by: Jens Bache-Wiig Reviewed-by: Morten Johan Sørvig --- src/widgets/styles/qmacstyle_mac.mm | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index ff96db624d2..235a3214cb8 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -4519,15 +4519,25 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter } break; } - case CE_Splitter: { - HIThemeSplitterDrawInfo sdi; - sdi.version = qt_mac_hitheme_version; - sdi.state = tds; - sdi.adornment = qt_mac_is_metal(w) ? kHIThemeSplitterAdornmentMetal - : kHIThemeSplitterAdornmentNone; - HIRect hirect = qt_hirectForQRect(opt->rect); - HIThemeDrawPaneSplitter(&hirect, &sdi, cg, kHIThemeOrientationNormal); - break; } + case CE_Splitter: + if (opt->rect.width() > 1 && opt->rect.height() > 1){ + HIThemeSplitterDrawInfo sdi; + sdi.version = qt_mac_hitheme_version; + sdi.state = tds; + sdi.adornment = qt_mac_is_metal(w) ? kHIThemeSplitterAdornmentMetal + : kHIThemeSplitterAdornmentNone; + HIRect hirect = qt_hirectForQRect(opt->rect); + HIThemeDrawPaneSplitter(&hirect, &sdi, cg, kHIThemeOrientationNormal); + } else { + QPen oldPen = p->pen(); + p->setPen(opt->palette.dark().color()); + if (opt->state & QStyle::State_Horizontal) + p->drawLine(opt->rect.topLeft(), opt->rect.bottomLeft()); + else + p->drawLine(opt->rect.topLeft(), opt->rect.topRight()); + p->setPen(oldPen); + } + break; case CE_RubberBand: if (const QStyleOptionRubberBand *rubber = qstyleoption_cast(opt)) { QColor fillColor(opt->palette.color(QPalette::Disabled, QPalette::Highlight));