diff --git a/kstyle/breeze.h b/kstyle/breeze.h --- a/kstyle/breeze.h +++ b/kstyle/breeze.h @@ -234,7 +234,8 @@ ArrowUp, ArrowDown, ArrowLeft, - ArrowRight + ArrowRight, + ArrowDown_Small, }; //* button type diff --git a/kstyle/breezehelper.cpp b/kstyle/breezehelper.cpp --- a/kstyle/breezehelper.cpp +++ b/kstyle/breezehelper.cpp @@ -1305,6 +1305,7 @@ case ArrowDown: arrow = QVector{QPointF( -4, -2 ), QPointF( 0, 2 ), QPointF( 4, -2 )}; break; case ArrowLeft: arrow = QVector{QPointF( 2, -4 ), QPointF( -2, 0 ), QPointF( 2, 4 )}; break; case ArrowRight: arrow = QVector{QPointF( -2, -4 ), QPointF( 2, 0 ), QPointF( -2, 4 )}; break; + case ArrowDown_Small: arrow = QVector{QPointF( 2, 4 ), QPointF( 4, 6 ), QPointF( 6, 4 )}; break; default: break; } diff --git a/kstyle/breezestyle.cpp b/kstyle/breezestyle.cpp --- a/kstyle/breezestyle.cpp +++ b/kstyle/breezestyle.cpp @@ -2726,15 +2726,9 @@ // get relevant state flags const State& state( option->state ); const bool autoRaise( state & State_AutoRaise ); - const bool hasPopupMenu( toolButtonOption->features & QStyleOptionToolButton::MenuButtonPopup ); - const bool hasInlineIndicator( - toolButtonOption->features&QStyleOptionToolButton::HasMenu - && toolButtonOption->features&QStyleOptionToolButton::PopupDelay - && !hasPopupMenu ); const int marginWidth( autoRaise ? Metrics::ToolButton_MarginWidth : Metrics::Button_MarginWidth + Metrics::Frame_FrameWidth ); - if( hasInlineIndicator ) size.rwidth() += Metrics::ToolButton_InlineIndicatorWidth; size = expandSize( size, marginWidth ); return size; @@ -6099,7 +6093,7 @@ copy.rect = menuRect; if( sunken && !flat ) copy.rect.translate( 1, 1 ); - drawPrimitive( PE_IndicatorArrowDown, ©, painter, widget ); + drawIndicatorArrowPrimitive( ArrowDown_Small, ©, painter, widget ); } @@ -6127,7 +6121,6 @@ const int marginWidth( flat ? Metrics::ToolButton_MarginWidth : Metrics::Button_MarginWidth + Metrics::Frame_FrameWidth ); contentsRect = insideMargin( contentsRect, marginWidth, 0 ); - contentsRect.setRight( contentsRect.right() - Metrics::ToolButton_InlineIndicatorWidth ); contentsRect = visualRect( option, contentsRect ); }