From kwin Thu Aug 25 19:20:19 2011 From: Martin =?ISO-8859-1?Q?Gr=E4=DFlin?= Date: Thu, 25 Aug 2011 19:20:19 +0000 To: kwin Subject: Re: [PATCH] tabstrip deco: make outline color configurable Message-Id: <1699623.2P2kgTWv6s () martin-desktop> X-MARC-Message: https://marc.info/?l=kwin&m=131430004829159 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============0692631199176383111==" --===============0692631199176383111== Content-Type: multipart/signed; boundary="nextPart5502916.7SZWTMLrt4"; micalg="pgp-sha1"; protocol="application/pgp-signature" Content-Transfer-Encoding: 7Bit --nextPart5502916.7SZWTMLrt4 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" Hi, thanks for the patch, but could you please post it on http://reviewboard.kde.org so that we can easilier track the state of it? Patches to the mailinglist get easily lost... Cheers Martin On Thursday 25 August 2011 17:37:55 Melchior FRANZ wrote: > From 43c2607cd7bbf91b5a920bf5708b42d5c5e5e007 Mon Sep 17 00:00:00 2001 > From: Melchior FRANZ > Date: Thu, 25 Aug 2011 16:30:45 +0200 > Subject: [PATCH 1/1] tabstrip: make outline color configurable > > In addition to the foreground and background color the tabstrip window > decoration also has an outline color, which is currently hardcoded as > white. This doesn't fit very well in certain color combinations, so it > is desirable to make this color configurable. > > Signed-off-by: Melchior FRANZ > --- > The config dialog (attached screenshot) isn't particularly pleasing, > but I found it hard to align the three different widgets in a meaningful > way. The first screenshot shows the deco with grouped windows and black > as outline color. You see that the widget composition doesn't become > unclear. The second screenshot shows windows with different combinations > copied together as an illustration. The top row corresponds to the > currently hardcoded outline color white. > > > kwin/clients/tabstrip/config/tabstripconfig.cpp | 4 ++++ > kwin/clients/tabstrip/config/tabstripconfig.ui | 20 ++++++++++++++++++++ > kwin/clients/tabstrip/tabstripdecoration.cpp | 8 ++++---- > kwin/clients/tabstrip/tabstripfactory.cpp | 2 ++ > kwin/clients/tabstrip/tabstripfactory.h | 6 ++++++ > 5 files changed, 36 insertions(+), 4 deletions(-) > > diff --git a/kwin/clients/tabstrip/config/tabstripconfig.cpp b/kwin/clients/tabstrip/config/tabstripconfig.cpp > index 4174cba..4ddd8fd 100644 > --- a/kwin/clients/tabstrip/config/tabstripconfig.cpp > +++ b/kwin/clients/tabstrip/config/tabstripconfig.cpp > @@ -49,6 +49,7 @@ TabstripConfig::TabstripConfig( KConfig *c, QWidget *parent ) > connect( ui->center, SIGNAL(clicked()), SIGNAL(changed()) ); > connect( ui->right, SIGNAL(clicked()), SIGNAL(changed()) ); > connect( ui->showIcon, SIGNAL(clicked()), SIGNAL(changed()) ); > + connect( ui->outlineColor, SIGNAL(clicked()), SIGNAL(changed()) ); > load( cg ); > ui->show(); > } > @@ -67,6 +68,7 @@ void TabstripConfig::load( KConfigGroup &c ) > ui->center->setChecked( align == "Center" ); > ui->right->setChecked( align == "Right" ); > ui->showIcon->setChecked( c.readEntry( "ShowIcon", true ) ); > + ui->outlineColor->setColor( c.readEntry( "OutlineColor", QColor( Qt::white ) ) ); > } > > void TabstripConfig::save( KConfigGroup &c ) > @@ -79,6 +81,7 @@ void TabstripConfig::save( KConfigGroup &c ) > else > c.writeEntry( "TitleAlignment", "Right" ); > c.writeEntry( "ShowIcon", ui->showIcon->isChecked() ); > + c.writeEntry( "OutlineColor", ui->outlineColor->color() ); > config->sync(); > } > > @@ -88,5 +91,6 @@ void TabstripConfig::defaults() > ui->center->setChecked( true ); > ui->right->setChecked( false ); > ui->showIcon->setChecked( true ); > + ui->outlineColor->setColor( Qt::white ); > emit changed(); > } > diff --git a/kwin/clients/tabstrip/config/tabstripconfig.ui b/kwin/clients/tabstrip/config/tabstripconfig.ui > index 1a21e05..8927f9d 100644 > --- a/kwin/clients/tabstrip/config/tabstripconfig.ui > +++ b/kwin/clients/tabstrip/config/tabstripconfig.ui > @@ -51,6 +51,26 @@ > > > > + > + > + > + > + > + O&utline Color: > + > + > + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter > + > + > + outlineColor > + > + > + > + > + > + > + > + > > > > diff --git a/kwin/clients/tabstrip/tabstripdecoration.cpp b/kwin/clients/tabstrip/tabstripdecoration.cpp > index ae46872..a159a96 100644 > --- a/kwin/clients/tabstrip/tabstripdecoration.cpp > +++ b/kwin/clients/tabstrip/tabstripdecoration.cpp > @@ -81,7 +81,7 @@ void TabstripDecoration::paintTab( QPainter &painter, const QRect &geom, ClientG > // Draw border around the tab > painter.setPen( Qt::black ); > painter.drawRect( geom.adjusted( 0, 0, -1, -1 )); > - painter.setPen( Qt::white ); > + painter.setPen( TabstripFactory::outlineColor() ); > painter.drawRect( geom.adjusted( 1, 1, -2, -2 )); > > // Background > @@ -132,7 +132,7 @@ void TabstripDecoration::paintEvent( QPaintEvent * ) > // Draw black/white border around the main window > painter.setPen( Qt::black ); > painter.drawRect( 0, titlebar.height() - 1, frame.width() - 1, frame.height() - titlebar.height() ); > - painter.setPen( Qt::white ); > + painter.setPen( TabstripFactory::outlineColor() ); > painter.drawRect( 1, titlebar.height(), frame.width() - 3, frame.height() - titlebar.height() - 2 ); > > QList< ClientGroupItem > tabList = clientGroupItems(); > @@ -176,7 +176,7 @@ void TabstripDecoration::paintEvent( QPaintEvent * ) > painter.setPen( Qt::black ); > painter.drawRect( 0, 0, allTabGeom.left(), allTabGeom.height() - 1 ); > painter.drawRect( allTabGeom.right() - 1, 0, frame.width() - allTabGeom.right(), allTabGeom.height() - 1 ); > - painter.setPen( Qt::white ); > + painter.setPen( TabstripFactory::outlineColor() ); > painter.drawRect( 1, 1, allTabGeom.left() - 2, allTabGeom.height() - 3 ); > painter.drawRect( allTabGeom.right(), 1, frame.width() - allTabGeom.right() - 2, allTabGeom.height() - 3 ); > > @@ -189,7 +189,7 @@ void TabstripDecoration::paintEvent( QPaintEvent * ) > // Draw border around the titlebar > painter.setPen( Qt::black ); > painter.drawRect( titlebar.adjusted( 0, 0, -1, -1 )); > - painter.setPen( Qt::white ); > + painter.setPen( TabstripFactory::outlineColor() ); > painter.drawRect( titlebar.adjusted( 1, 1, -2, -2 )); > > // Background > diff --git a/kwin/clients/tabstrip/tabstripfactory.cpp b/kwin/clients/tabstrip/tabstripfactory.cpp > index 591a148..6b34c01 100644 > --- a/kwin/clients/tabstrip/tabstripfactory.cpp > +++ b/kwin/clients/tabstrip/tabstripfactory.cpp > @@ -36,6 +36,7 @@ extern "C" > > Qt::AlignmentFlag TabstripFactory::titlealign = Qt::AlignCenter; > bool TabstripFactory::show_icon = true; > +QColor TabstripFactory::outline_color = Qt::white; > > TabstripFactory::TabstripFactory() > { > @@ -88,6 +89,7 @@ bool TabstripFactory::readConfig() > else if( align == "Right" ) > titlealign = Qt::AlignRight; > show_icon = cg.readEntry( "ShowIcon", true ); > + outline_color = cg.readEntry( "OutlineColor", QColor( Qt::white ) ); > return ( titlealign != oldalign ); > } > > diff --git a/kwin/clients/tabstrip/tabstripfactory.h b/kwin/clients/tabstrip/tabstripfactory.h > index 2b667f0..0b610c2 100644 > --- a/kwin/clients/tabstrip/tabstripfactory.h > +++ b/kwin/clients/tabstrip/tabstripfactory.h > @@ -37,11 +37,13 @@ class TabstripFactory : public KDecorationFactoryUnstable > QList< KDecorationDefines::BorderSize > borderSizes() const; > static Qt::AlignmentFlag titleAlign(); > static bool showIcon(); > + static QColor &outlineColor(); > private: > bool readConfig(); > bool initialized; > static Qt::AlignmentFlag titlealign; > static bool show_icon; > + static QColor outline_color; > }; > > inline Qt::AlignmentFlag TabstripFactory::titleAlign() > @@ -53,5 +55,9 @@ inline bool TabstripFactory::showIcon() > { > return show_icon; > } > +inline QColor &TabstripFactory::outlineColor() > + { > + return outline_color; > + } > > #endif > -- > 1.7.6.GIT > --nextPart5502916.7SZWTMLrt4 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iEYEABECAAYFAk5WoHMACgkQqVXwidMiVrq4kQCeK3X1latXnGHWXbscTkJ0o9nx vaUAoIrNLQXM2/7EiiGD5BOiuJ3zv30z =3nvU -----END PGP SIGNATURE----- --nextPart5502916.7SZWTMLrt4-- --===============0692631199176383111== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kwin mailing list kwin@kde.org https://mail.kde.org/mailman/listinfo/kwin --===============0692631199176383111==--