{
if ( testWFlags( WStyle_SysMenu) ) {
if ( testWFlags( WStyle_Tool ) ) {
ctrls |
= QStyle::SC_TitleBarCloseButton;
if ( d->window && testWFlags( WStyle_MinMax ) ) {
if ( d->window->isMinimized() )
ctrls |
= QStyle::SC_TitleBarUnshadeButton;
else
ctrls |
= QStyle::SC_TitleBarShadeButton;
}
} else {
ctrls |
= QStyle::SC_TitleBarSysMenu |
QStyle::SC_TitleBarCloseButton;
if ( d->window && testWFlags( WStyle_Minimize ) ) {
if( d->window && d->window->isMinimized() )
ctrls |
= QStyle::SC_TitleBarNormalButton;
else
ctrls |
= QStyle::SC_TitleBarMinButton;
}
if ( d->window && testWFlags( WStyle_Maximize ) && !d->window->isMaximized() )
ctrls |
= QStyle::SC_TitleBarMaxButton;
}
}
if( autoRaise() && hasMouse() ) {
under_mouse
= style
().
querySubControl(QStyle::CC_TitleBar,
this, p
);
ctrls ^= under_mouse;
}
QSharedDoubleBuffer buffer( this, rect() );
style
().
drawComplexControl(QStyle::CC_TitleBar, buffer.
painter(),
this, rect
(),
colorGroup(),
isEnabled
() ?
QStyle::Style_Enabled : QStyle::Style_Default, ctrls, d
->buttonDown
);
if(under_mouse
!= QStyle::SC_None) style
().
drawComplexControl(QStyle::CC_TitleBar, buffer.
painter(),
this, rect
(),
colorGroup(),
(isEnabled
() ?
QStyle::Style_Enabled : 0),
under_mouse, d->buttonDown);
}
void QTitleBar::paintEvent(QPaintEvent *)
{
QStyle::SCFlags ctrls = QStyle::SC_TitleBarLabel;
if ( testWFlags( WStyle_SysMenu) ) {
if ( testWFlags( WStyle_Tool ) ) {
ctrls |= QStyle::SC_TitleBarCloseButton;
if ( d->window && testWFlags( WStyle_MinMax ) ) {
if ( d->window->isMinimized() )
ctrls |= QStyle::SC_TitleBarUnshadeButton;
else
ctrls |= QStyle::SC_TitleBarShadeButton;
}
} else {
ctrls |= QStyle::SC_TitleBarSysMenu | QStyle::SC_TitleBarCloseButton;
if ( d->window && testWFlags( WStyle_Minimize ) ) {
if( d->window && d->window->isMinimized() )
ctrls |= QStyle::SC_TitleBarNormalButton;
else
ctrls |= QStyle::SC_TitleBarMinButton;
}
if ( d->window && testWFlags( WStyle_Maximize ) && !d->window->isMaximized() )
ctrls |= QStyle::SC_TitleBarMaxButton;
}
}
QStyle::SCFlags under_mouse = QStyle::SC_None;
if( autoRaise() && hasMouse() ) {
QPoint p(mapFromGlobal(QCursor::pos()));
under_mouse = style().querySubControl(QStyle::CC_TitleBar, this, p);
ctrls ^= under_mouse;
}
QSharedDoubleBuffer buffer( this, rect() );
style().drawComplexControl(QStyle::CC_TitleBar, buffer.painter(), this, rect(),
colorGroup(),
isEnabled() ? QStyle::Style_Enabled :
QStyle::Style_Default, ctrls, d->buttonDown);
if(under_mouse != QStyle::SC_None)
style().drawComplexControl(QStyle::CC_TitleBar, buffer.painter(), this, rect(),
colorGroup(),
QStyle::Style_MouseOver |
(isEnabled() ? QStyle::Style_Enabled : 0),
under_mouse, d->buttonDown);
}
To copy to clipboard, switch view to plain text mode
Bookmarks