[libreoffice] Resolves: fdo#42749 KDE oxygen theme and scrollbars
Caolán McNamara
caolanm at fedoraproject.org
Fri Nov 11 14:36:55 UTC 2011
commit af45565ec32218781d6a5543ea5a88da3db812e8
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Nov 11 14:36:48 2011 +0000
Resolves: fdo#42749 KDE oxygen theme and scrollbars
...tal-scrollbars-with-KDE-oxygen-style-bnc-.patch | 65 ++++++++++++++++++++
libreoffice.spec | 7 ++-
2 files changed, 70 insertions(+), 2 deletions(-)
---
diff --git a/0001-fix-horizontal-scrollbars-with-KDE-oxygen-style-bnc-.patch b/0001-fix-horizontal-scrollbars-with-KDE-oxygen-style-bnc-.patch
new file mode 100644
index 0000000..223f582
--- /dev/null
+++ b/0001-fix-horizontal-scrollbars-with-KDE-oxygen-style-bnc-.patch
@@ -0,0 +1,65 @@
+From 936d19e606cbf29d41bff42db559a01f5deb240c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lunak at suse.cz>
+Date: Thu, 20 Oct 2011 19:05:13 +0200
+Subject: [PATCH] fix horizontal scrollbars with KDE oxygen style (bnc#722918)
+
+Apparently there are two style flags for detecting the widget
+is horizontal.
+---
+ vcl/unx/kde4/KDESalGraphics.cxx | 19 +++++++++++++------
+ 1 files changed, 13 insertions(+), 6 deletions(-)
+
+diff --git a/vcl/unx/kde4/KDESalGraphics.cxx b/vcl/unx/kde4/KDESalGraphics.cxx
+index 5dbe491..60cd4ed 100644
+--- a/vcl/unx/kde4/KDESalGraphics.cxx
++++ b/vcl/unx/kde4/KDESalGraphics.cxx
+@@ -493,10 +493,9 @@ sal_Bool KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
+ if (sbVal->mnVisibleSize < sbVal->mnMax)
+ option.state = QStyle::State_MouseOver;
+
+- //horizontal or vertical
+- if (part == PART_DRAW_BACKGROUND_VERT)
+- option.orientation = Qt::Vertical;
+- else
++ bool horizontal = ( part == PART_DRAW_BACKGROUND_HORZ ); //horizontal or vertical
++ option.orientation = horizontal ? Qt::Horizontal : Qt::Vertical;
++ if( horizontal )
+ option.state |= QStyle::State_Horizontal;
+
+ //setup parameters from the OO values
+@@ -592,7 +591,10 @@ sal_Bool KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
+ option.maximum = slVal->mnMax;
+ option.minimum = slVal->mnMin;
+ option.sliderPosition = option.sliderValue = slVal->mnCur;
+- option.orientation = (part == PART_TRACK_HORZ_AREA) ? Qt::Horizontal : Qt::Vertical;
++ bool horizontal = ( part == PART_TRACK_HORZ_AREA ); //horizontal or vertical
++ option.orientation = horizontal ? Qt::Horizontal : Qt::Vertical;
++ if( horizontal )
++ option.state |= QStyle::State_Horizontal;
+
+ draw( QStyle::CC_Slider, &option, m_image, vclStateValue2StateFlag(nControlState, value) );
+ }
+@@ -901,7 +903,10 @@ sal_Bool KDESalGraphics::getNativeControlRegion( ControlType type, ControlPart p
+ if( part == PART_TRACK_VERT_AREA || part == PART_TRACK_HORZ_AREA )
+ {
+ QStyleOptionSlider option;
+- option.orientation = ( part == PART_TRACK_HORZ_AREA ) ? Qt::Horizontal : Qt::Vertical;
++ bool horizontal = ( part == PART_TRACK_HORZ_AREA ); //horizontal or vertical
++ option.orientation = horizontal ? Qt::Horizontal : Qt::Vertical;
++ if( horizontal )
++ option.state |= QStyle::State_Horizontal;
+ // getNativeControlRegion usually gets ImplControlValue as 'val' (i.e. not the proper
+ // subclass), so use random sensible values (doesn't matter anyway, as the wanted
+ // geometry here depends only on button sizes)
+@@ -971,6 +976,8 @@ sal_Bool KDESalGraphics::hitTestNativeControl( ControlType nType, ControlPart nP
+ rect.moveTo( 0, 0 );
+ QStyleOptionSlider options;
+ options.orientation = bHorizontal ? Qt::Horizontal : Qt::Vertical;
++ if( bHorizontal )
++ options.state |= QStyle::State_Horizontal;
+ options.rect = rect;
+ // some random sensible values, since we call this code only for scrollbar buttons,
+ // the slider position does not exactly matter
+--
+1.7.6.4
+
diff --git a/libreoffice.spec b/libreoffice.spec
index 6453266..c21e184 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -71,7 +71,7 @@ Source32: http://dev-www.libreoffice.org/src/0ff7d225d087793c8c2c680d77aac
Source33: http://hg.services.openoffice.org/binaries/067201ea8b126597670b5eff72e1f66c-mythes-1.2.0.tar.gz
%endif
BuildRequires: zip, findutils, autoconf, flex, bison, icu, gperf, gcc-c++
-BuildRequires: binutils, java-devel <= 1.6.0, boost-devel, zlib-devel
+BuildRequires: binutils, java-devel = 1.6.0, boost-devel, zlib-devel
BuildRequires: python-devel, expat-devel, libxml2-devel, libxslt-devel, bc
BuildRequires: neon-devel, libcurl-devel, libidn-devel, pam-devel, cups-devel
BuildRequires: libXext-devel, libXt-devel, libICE-devel, libjpeg-devel, make
@@ -140,6 +140,7 @@ Patch35: libreoffice-gcj.patch
Patch36: libreoffice-rhel6poppler.patch
%endif
Patch37: 0001-Related-i58612-don-t-crash-anyway.patch
+Patch38: 0001-fix-horizontal-scrollbars-with-KDE-oxygen-style-bnc-.patch
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%define instdir %{_libdir}
@@ -823,6 +824,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc
%patch36 -p0 -b .rhel6poppler.patch
%endif
%patch37 -p1 -b .i58612-don-t-crash-anyway.patch
+%patch38 -p1 -b .fix-horizontal-scrollbars-with-KDE-oxygen-style-bnc-.patch
# these are horribly incomplete--empty translations and copied english
# strings with spattering of translated strings
@@ -2125,8 +2127,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%endif
%changelog
-* Thu Nov 10 2011 Caolán McNamara <caolanm at redhat.com> - 3.4.4.2-3
+* Fri Nov 11 2011 Caolán McNamara <caolanm at redhat.com> - 3.4.4.2-3
- Related: fdo#42534 0001-Related-i58612-don-t-crash-anyway.patch
+- Resolves: fdo#42749 KDE oxygen theme and scrollbars
* Thu Nov 10 2011 Stephan Bergmann <sbergman at redhat.com> - 3.4.4.2-2
- Patch to backport reading AES-encrypted ODF 1.2 documents
More information about the scm-commits
mailing list