forked from pool/breeze
Accepting request 432456 from home:wolfi323:branches:KDE:Frameworks5:LTS
- Add add-support-for-Q3ListView-to-the-KDE4-style.patch to fix the display of the collapse/expand icon in Q3ListView that still may be used by some KDE4 applications, knode e.g. (boo#973728) OBS-URL: https://build.opensuse.org/request/show/432456 OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5:LTS/breeze?expand=0&rev=11
This commit is contained in:
parent
99aa1eeb20
commit
1b40ac8fc9
88
add-support-for-Q3ListView-to-the-KDE4-style.patch
Normal file
88
add-support-for-Q3ListView-to-the-KDE4-style.patch
Normal file
@ -0,0 +1,88 @@
|
||||
diff --git a/kstyle/breezestyle.cpp b/kstyle/breezestyle.cpp
|
||||
index 8a02d75..359d1ab 100644
|
||||
--- a/kstyle/breezestyle.cpp
|
||||
+++ b/kstyle/breezestyle.cpp
|
||||
@@ -929,6 +929,7 @@ namespace Breeze
|
||||
case CC_ToolButton: fcn = &Style::drawToolButtonComplexControl; break;
|
||||
case CC_ComboBox: fcn = &Style::drawComboBoxComplexControl; break;
|
||||
case CC_SpinBox: fcn = &Style::drawSpinBoxComplexControl; break;
|
||||
+ case CC_Q3ListView: fcn = &Style::drawQ3ListViewComplexControl; break;
|
||||
case CC_Slider: fcn = &Style::drawSliderComplexControl; break;
|
||||
case CC_Dial: fcn = &Style::drawDialComplexControl; break;
|
||||
case CC_ScrollBar: fcn = &Style::drawScrollBarComplexControl; break;
|
||||
@@ -6122,6 +6123,63 @@ namespace Breeze
|
||||
}
|
||||
|
||||
//______________________________________________________________
|
||||
+ bool Style::drawQ3ListViewComplexControl( const QStyleOptionComplex* option, QPainter* painter, const QWidget* widget ) const
|
||||
+ {
|
||||
+
|
||||
+ const QStyleOptionQ3ListView* optListView( qstyleoption_cast<const QStyleOptionQ3ListView*>( option ) );
|
||||
+ if( !optListView ) return true;
|
||||
+
|
||||
+ // this is copied from skulpture code
|
||||
+ // Copyright ( c ) 2007-2010 Christoph Feck <christoph@maxiom.de>
|
||||
+ if( optListView->subControls & QStyle::SC_Q3ListView )
|
||||
+ {
|
||||
+ painter->fillRect(
|
||||
+ optListView->rect,
|
||||
+ optListView->viewportPalette.brush( optListView->viewportBGRole ) );
|
||||
+ }
|
||||
+
|
||||
+ if( optListView->subControls & QStyle::SC_Q3ListViewBranch )
|
||||
+ {
|
||||
+
|
||||
+ QStyleOption opt = *static_cast<const QStyleOption*>( option );
|
||||
+ int y = optListView->rect.y();
|
||||
+
|
||||
+ for ( int i = 1; i < optListView->items.size(); ++i )
|
||||
+ {
|
||||
+ QStyleOptionQ3ListViewItem item = optListView->items.at( i );
|
||||
+ if( y + item.totalHeight > 0 && y < optListView->rect.height() )
|
||||
+ {
|
||||
+ opt.state = QStyle::State_Item;
|
||||
+ if ( i + 1 < optListView->items.size() )
|
||||
+ { opt.state |= QStyle::State_Sibling; }
|
||||
+
|
||||
+ if(
|
||||
+ item.features & QStyleOptionQ3ListViewItem::Expandable
|
||||
+ || ( item.childCount > 0 && item.height > 0 ) )
|
||||
+ { opt.state |= QStyle::State_Children | ( item.state & QStyle::State_Open ); }
|
||||
+
|
||||
+ opt.rect = QRect( optListView->rect.left(), y, optListView->rect.width(), item.height );
|
||||
+ drawIndicatorBranchPrimitive( &opt, painter, widget );
|
||||
+
|
||||
+ if( ( opt.state & QStyle::State_Sibling ) && item.height < item.totalHeight )
|
||||
+ {
|
||||
+ opt.state = QStyle::State_Sibling;
|
||||
+ opt.rect = QRect(
|
||||
+ optListView->rect.left(), y + item.height,
|
||||
+ optListView->rect.width(), item.totalHeight - item.height );
|
||||
+ drawIndicatorBranchPrimitive( &opt, painter, widget );
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ y += item.totalHeight;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ //______________________________________________________________
|
||||
bool Style::drawSliderComplexControl( const QStyleOptionComplex* option, QPainter* painter, const QWidget* widget ) const
|
||||
{
|
||||
|
||||
diff --git a/kstyle/breezestyle.h b/kstyle/breezestyle.h
|
||||
index a627252..dcbfe4a 100644
|
||||
--- a/kstyle/breezestyle.h
|
||||
+++ b/kstyle/breezestyle.h
|
||||
@@ -320,6 +320,7 @@ namespace Breeze
|
||||
bool drawToolButtonComplexControl( const QStyleOptionComplex*, QPainter*, const QWidget* ) const;
|
||||
bool drawComboBoxComplexControl( const QStyleOptionComplex*, QPainter*, const QWidget* ) const;
|
||||
bool drawSpinBoxComplexControl( const QStyleOptionComplex*, QPainter*, const QWidget* ) const;
|
||||
+ bool drawQ3ListViewComplexControl( const QStyleOptionComplex*, QPainter*, const QWidget* ) const;
|
||||
bool drawSliderComplexControl( const QStyleOptionComplex*, QPainter*, const QWidget* ) const;
|
||||
bool drawDialComplexControl( const QStyleOptionComplex*, QPainter*, const QWidget* ) const;
|
||||
bool drawScrollBarComplexControl( const QStyleOptionComplex*, QPainter*, const QWidget* ) const;
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Oct 2 11:17:40 UTC 2016 - wbauer@tmo.at
|
||||
|
||||
- Add add-support-for-Q3ListView-to-the-KDE4-style.patch to fix
|
||||
the display of the collapse/expand icon in Q3ListView that still
|
||||
may be used by some KDE4 applications, knode e.g. (boo#973728)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 29 16:36:28 UTC 2016 - fabian@ritter-vogt.de
|
||||
|
||||
|
@ -31,6 +31,8 @@ Group: System/GUI/KDE
|
||||
Url: http://www.kde.org
|
||||
#Source: http://download.kde.org/stable/plasma/%{version}/breeze-%{version}.tar.xz
|
||||
Source: breeze-%{version}.tar.xz
|
||||
# PATCH-FIX-OPENSUSE add-support-for-Q3ListView-to-the-KDE4-style.patch boo#973728 wbauer@tmo.at -- fixes collapse/expand icon in Q3ListView that still may be used by some KDE4 applications (knode e.g.)
|
||||
Patch: add-support-for-Q3ListView-to-the-KDE4-style.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -39,6 +41,7 @@ This package contains kde4 backport of new default Plasma 5 style.
|
||||
|
||||
%prep
|
||||
%setup -q -n breeze-%{version}
|
||||
%patch -p1
|
||||
|
||||
%build
|
||||
%cmake_kde4 -d build -- -DBUILD_po=OFF -DUSE_KDE4=ON
|
||||
|
Loading…
Reference in New Issue
Block a user