[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: Re: [okular] ui: Port sidebar delegate to KColorScheme.
From: Albert Astals Cid <aacid () kde ! org>
Date: 2013-02-13 22:48:28
Message-ID: 8507765.4WbPh4PK2A () xps
[Download RAW message or body]
El Dimecres, 13 de febrer de 2013, a les 13:03:48, Eike Hein va escriure:
> Git commit a3b3545cabf1c52ce6c0a065dc415dc6fe97bf28 by Eike Hein.
> Committed on 13/02/2013 at 12:59.
> Pushed by hein into branch 'master'.
>
> Port sidebar delegate to KColorScheme.
Creating a KColorScheme seems like not cheap, can you not create one for every
paint?
> Certain KDE color schemes have Window Background and View Text
> not contrasting, which causes invisible icon labels when using
> QPalette::Text on QPalette::Base. An example is the default
> color scheme in openSUSE 12.3.
To be honest that seems like someone should not be creating color schemes.
Cheers,
Albert
>
> Thanks to Will Stephenson for noticing.
> CCMAIL:wstephenson@kde.org
>
> It turns out that the Places sidebar in Dolphin suffers from
> the same bug, so a similar change should be done there. Frank?
> CCMAIL:frank78ac@googlemail.com
>
> M +14 -8 ui/sidebar.cpp
>
> http://commits.kde.org/okular/a3b3545cabf1c52ce6c0a065dc415dc6fe97bf28
>
> diff --git a/ui/sidebar.cpp b/ui/sidebar.cpp
> index dbf66a9..a73779d 100644
> --- a/ui/sidebar.cpp
> +++ b/ui/sidebar.cpp
> @@ -29,6 +29,7 @@
> #include <kiconloader.h>
> #include <klocale.h>
> #include <kmenu.h>
> +#include <kcolorscheme.h>
>
> #include "settings.h"
>
> @@ -107,27 +108,32 @@ void SidebarDelegate::paint( QPainter *painter, const
> QStyleOptionViewItem &opti QColor foreColor;
> bool disabled = false;
> bool hover = false;
> +
> if ( !( option.state & QStyle::State_Enabled ) )
> {
> - backBrush = option.palette.brush( QPalette::Disabled,
> QPalette::Base ); - foreColor = option.palette.color(
> QPalette::Disabled, QPalette::Text ); + KColorScheme colorScheme(
> QPalette::Disabled, KColorScheme::Window ); + backBrush =
> colorScheme.background();
> + foreColor = colorScheme.foreground().color();
> disabled = true;
> }
> else if ( option.state & ( QStyle::State_HasFocus |
> QStyle::State_Selected ) ) {
> - backBrush = option.palette.brush( QPalette::Highlight );
> - foreColor = option.palette.color( QPalette::HighlightedText );
> + KColorScheme colorScheme( option.palette.currentColorGroup(),
> KColorScheme::Selection ); + backBrush = colorScheme.background();
> + foreColor = colorScheme.foreground().color();
> }
> else if ( option.state & QStyle::State_MouseOver )
> {
> - backBrush = option.palette.color( QPalette::Highlight ).light( 115
> ); - foreColor = option.palette.color( QPalette::HighlightedText );
> + KColorScheme colorScheme( option.palette.currentColorGroup(),
> KColorScheme::Selection ); + backBrush =
> colorScheme.background().color().light( 115 ); + foreColor =
> colorScheme.foreground().color();
> hover = true;
> }
> else /*if ( option.state & QStyle::State_Enabled )*/
> {
> - backBrush = option.palette.brush( QPalette::Base );
> - foreColor = option.palette.color( QPalette::Text );
> + KColorScheme colorScheme( option.palette.currentColorGroup(),
> KColorScheme::Window ); + backBrush = colorScheme.background();
> + foreColor = colorScheme.foreground().color();
> }
> QStyle *style = QApplication::style();
> QStyleOptionViewItemV4 opt( option );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic