diff --git a/kdecoration/breezebutton.cpp b/kdecoration/breezebutton.cpp --- a/kdecoration/breezebutton.cpp +++ b/kdecoration/breezebutton.cpp @@ -201,8 +201,8 @@ case DecorationButtonType::Close: { - painter->drawLine( QPointF( 5, 5 ), QPointF( 13, 13 ) ); - painter->drawLine( 13, 5, 5, 13 ); + painter->drawLine( QPointF( 4.5, 4.5 ), QPointF( 13.5, 13.5 ) ); + painter->drawLine( QPointF(13.5, 4.5), QPointF(4.5, 13.5) ); break; } @@ -213,27 +213,34 @@ pen.setJoinStyle( Qt::RoundJoin ); painter->setPen( pen ); - painter->drawPolygon( QVector{ - QPointF( 4, 9 ), - QPointF( 9, 4 ), - QPointF( 14, 9 ), - QPointF( 9, 14 )} ); + //overlapping windows icon + painter->drawRect( QRectF( QPointF( 4.5, 6.5 ), QPointF( 11.5, 13.5 ) ) ); + painter->drawPolyline( QVector{ + QPointF( 6.5, 6.5 ), + QPointF( 6.5, 4.5 ), + QPointF( 13.5, 4.5 ), + QPointF( 13.5, 11.5 ), + QPointF( 11.5, 11.5 )} ); } else { - painter->drawPolyline( QVector{ - QPointF( 4, 11 ), - QPointF( 9, 6 ), - QPointF( 14, 11 )}); + //large square + pen.setJoinStyle( Qt::RoundJoin ); + painter->setPen( pen ); + + painter->drawRect( QRectF( QPointF( 4.5, 4.5 ), QPointF( 13.5, 13.5 ) ) ); } break; } case DecorationButtonType::Minimize: { - painter->drawPolyline( QVector{ - QPointF( 4, 7 ), - QPointF( 9, 12 ), - QPointF( 14, 7 ) }); + //tiny filled square + pen.setJoinStyle( Qt::RoundJoin ); + painter->setBrush( pen.color() ); + painter->setPen( pen ); + + painter->drawRect( QRectF( QPointF( 7.5, 7.5 ), QPointF( 10.5, 10.5 ) ) ); + break; } @@ -302,30 +309,38 @@ case DecorationButtonType::KeepBelow: { - painter->drawPolyline( QVector { - QPointF( 4, 5 ), - QPointF( 9, 10 ), - QPointF( 14, 5 ) }); - - painter->drawPolyline( QVector { - QPointF( 4, 9 ), - QPointF( 9, 14 ), - QPointF( 14, 9 ) }); + //horizontal lines + painter->drawLine( QPointF( 4.5, 13.5 ), QPointF( 13.5, 13.5 ) ); + painter->drawLine( QPointF( 9.5, 9.5 ), QPointF( 13.5, 9.5 ) ); + painter->drawLine( QPointF( 9.5, 5.5 ), QPointF( 13.5, 5.5 ) ); + + //arrow + painter->drawLine( QPointF( 4.5, 3.5 ), QPointF( 4.5, 11.5 ) ); + + painter->drawPolyline( QVector{ + QPointF( 2.5, 9.5 ), + QPointF( 4.5, 11.5 ), + QPointF( 6.5, 9.5 )} ); + break; } case DecorationButtonType::KeepAbove: { - painter->drawPolyline( QVector { - QPointF( 4, 9 ), - QPointF( 9, 4 ), - QPointF( 14, 9 ) }); - - painter->drawPolyline( QVector { - QPointF( 4, 13 ), - QPointF( 9, 8 ), - QPointF( 14, 13 ) }); + //horizontal lines + painter->drawLine( QPointF( 4.5, 4.5 ), QPointF( 13.5, 4.5 ) ); + painter->drawLine( QPointF( 4.5, 8.5 ), QPointF( 8.5, 8.5 ) ); + painter->drawLine( QPointF( 4.5, 12.5 ), QPointF( 8.5, 12.5 ) ); + + //arrow + painter->drawLine( QPointF( 13.5, 6.5 ), QPointF( 13.5, 14.5 ) ); + + painter->drawPolyline( QVector{ + QPointF( 11.5, 8.5 ), + QPointF( 13.5, 6.5 ), + QPointF( 15.5, 8.5 )} ); + break; } diff --git a/kdecoration/breezesettingsdata.kcfg b/kdecoration/breezesettingsdata.kcfg --- a/kdecoration/breezesettingsdata.kcfg +++ b/kdecoration/breezesettingsdata.kcfg @@ -32,7 +32,7 @@ - true + false diff --git a/kstyle/breeze.kcfg b/kstyle/breeze.kcfg --- a/kstyle/breeze.kcfg +++ b/kstyle/breeze.kcfg @@ -33,7 +33,7 @@ - true + false diff --git a/kstyle/breezehelper.cpp b/kstyle/breezehelper.cpp --- a/kstyle/breezehelper.cpp +++ b/kstyle/breezehelper.cpp @@ -1368,27 +1368,30 @@ { case ButtonClose: { - painter->drawLine( QPointF( 5, 5 ), QPointF( 13, 13 ) ); - painter->drawLine( 13, 5, 5, 13 ); + painter->drawLine( QPointF( 4.5, 4.5 ), QPointF( 13.5, 13.5 ) ); + painter->drawLine( QPointF(13.5, 4.5), QPointF(4.5, 13.5) ); break; } case ButtonMaximize: { - painter->drawPolyline( QVector{ - QPointF( 4, 11 ), - QPointF( 9, 6 ), - QPointF( 14, 11 )}); + //large square + pen.setJoinStyle( Qt::RoundJoin ); + painter->setPen( pen ); + + painter->drawRect( QRectF( QPointF( 4.5, 4.5 ), QPointF( 13.5, 13.5 ) ) ); break; } case ButtonMinimize: { - painter->drawPolyline(QVector{ - QPointF( 4, 7 ), - QPointF( 9, 12 ), - QPointF( 14, 7 )} ); + //tiny filled square + pen.setJoinStyle( Qt::RoundJoin ); + painter->setBrush( pen.color() ); + painter->setPen( pen ); + + painter->drawRect( QRectF( QPointF( 7.5, 7.5 ), QPointF( 10.5, 10.5 ) ) ); break; } @@ -1396,11 +1399,18 @@ { pen.setJoinStyle( Qt::RoundJoin ); painter->setPen( pen ); - painter->drawPolygon( QVector{ - QPointF( 4.5, 9 ), - QPointF( 9, 4.5 ), - QPointF( 13.5, 9 ), - QPointF( 9, 13.5 )}); + + //disable antialiasing to remove blur at small sizes + painter->setRenderHints( QPainter::Antialiasing, false ); + + //overlapping windows icon + painter->drawRect( QRectF( QPointF( 4, 6 ), QPointF( 11, 13 ) ) ); + painter->drawPolyline( QVector{ + QPointF( 6, 6 ), + QPointF( 6, 4 ), + QPointF( 13, 4 ), + QPointF( 13, 11 ), + QPointF( 11, 11 )} ); break; }