summaryrefslogtreecommitdiffstats
path: root/opensuse/core/qt3/0055-qtextedit_zoom.patch
blob: ad4174a1f42d4d9a3abe969c45fb65d6c5739848 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
qt-bugs@ issue : 
bugs.kde.org number :
applied: yes
author: Waldo Bastian <bastian@kde.org>

QTextEdit::zoomIn /QTextEdit::zoomOut does not work if the original
font had its size specified in pixels instead of points.
pointSize() returns 0 in such case.

Index: widgets/qtextedit.cpp
================================================================================
--- src/widgets/qtextedit.cpp
+++ src/widgets/qtextedit.cpp
@@ -5767,7 +5767,11 @@
 void QTextEdit::zoomIn( int range )
 {
     QFont f( QScrollView::font() );
-    f.setPointSize( QFontInfo(f).pointSize() + range );
+    QFontInfo fi(f);
+    if (fi.pointSize() <= 0)
+       f.setPixelSize( fi.pixelSize() + range );
+    else
+       f.setPointSize( fi.pointSize() + range );
     setFont( f );
 }
 
@@ -5782,7 +5786,11 @@
 void QTextEdit::zoomOut( int range )
 {
     QFont f( QScrollView::font() );
-    f.setPointSize( QMAX( 1, QFontInfo(f).pointSize() - range ) );
+    QFontInfo fi(f);
+    if (fi.pointSize() <= 0)
+       f.setPixelSize( QMAX( 1, fi.pixelSize() - range ) );
+    else
+       f.setPointSize( QMAX( 1, fi.pointSize() - range ) );
     setFont( f );
 }