From 518d874bc8cd43a6e87700be00c6f5132288bd35 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Thu, 8 May 2014 01:31:20 -0400 Subject: QMacStyle: Always draw status bar in active state if the window is main. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On OS X, most controls are drawn active or inactive based on their window's main state, NOT its key ("active" in Qt) state. Change-Id: If447d0a537bc594978f7202e7888ceacb54ec8fa Reviewed-by: Morten Johan Sørvig --- src/widgets/styles/qmacstyle_mac.mm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/widgets/styles/qmacstyle_mac.mm') diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index e165b8aa68..8bc454a795 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -3265,7 +3265,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai case PE_PanelStatusBar: { // Fill the status bar with the titlebar gradient. QLinearGradient linearGrad(0, opt->rect.top(), 0, opt->rect.bottom()); - if (opt->state & QStyle::State_Active) { + if (w ? qt_macWindowMainWindow(w->window()) : (opt->state & QStyle::State_Active)) { linearGrad.setColorAt(0, titlebarGradientActiveBegin); linearGrad.setColorAt(1, titlebarGradientActiveEnd); } else { @@ -3275,7 +3275,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai p->fillRect(opt->rect, linearGrad); // Draw the black separator line at the top of the status bar. - if (opt->state & QStyle::State_Active) + if (w ? qt_macWindowMainWindow(w->window()) : (opt->state & QStyle::State_Active)) p->setPen(titlebarSeparatorLineActive); else p->setPen(titlebarSeparatorLineInactive); -- cgit v1.2.3