From df40f6846b509087282178bffe572117d8d3eb33 Mon Sep 17 00:00:00 2001
From: Martin Jones <martin.jones@nokia.com>
Date: Wed, 21 Jul 2010 10:36:17 +1000
Subject: font.letterSpacing used percentage rather than absolute values. ...
 and percentage is useless.

Task-number: QTBUG-12282
Reviewed-by: Warwick Allison
(cherry picked from commit 78a01438e5a37fd1778924f73ca8bfa55960b0d0)
---
 src/declarative/QmlChanges.txt                                    | 5 ++++-
 src/declarative/graphicsitems/qdeclarativetext.cpp                | 3 +--
 src/declarative/graphicsitems/qdeclarativetextedit.cpp            | 3 +--
 src/declarative/graphicsitems/qdeclarativetextinput.cpp           | 3 +--
 src/declarative/qml/qdeclarativevaluetype.cpp                     | 2 +-
 tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp  | 8 ++++----
 .../declarative/qmlvisual/qdeclarativetext/font/plaintext.qml     | 4 ++--
 .../auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml | 4 ++--
 8 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt
index 872f6cb..6a2537b 100644
--- a/src/declarative/QmlChanges.txt
+++ b/src/declarative/QmlChanges.txt
@@ -1,9 +1,12 @@
 =============================================================================
-The changes below are pre Qt 4.7.0 tech preview
+The changes below are pre Qt 4.7.0 RC1
 
 TextInput
    - copy(), cut() and paste() functions added
+Font.letterSpacing
+   - was percentage based.  Now specified in pixels.
 
+=============================================================================
 The changes below are pre Qt 4.7.0 beta 2
 
 QDeclarativeView
diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp
index ea418cf..cf630c8 100644
--- a/src/declarative/graphicsitems/qdeclarativetext.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetext.cpp
@@ -301,8 +301,7 @@ QDeclarativeTextPrivate::~QDeclarativeTextPrivate()
     Sets the letter spacing for the font.
 
     Letter spacing changes the default spacing between individual letters in the font.
-    A value of 100 will keep the spacing unchanged; a value of 200 will enlarge the spacing after a character by
-    the width of the character itself.
+    A positive value increases the letter spacing by the corresponding pixels; a negative value decreases the spacing.
 */
 
 /*!
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
index f3eef23..8a411f2 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
@@ -212,8 +212,7 @@ QString QDeclarativeTextEdit::text() const
     Sets the letter spacing for the font.
 
     Letter spacing changes the default spacing between individual letters in the font.
-    A value of 100 will keep the spacing unchanged; a value of 200 will enlarge the spacing after a character by
-    the width of the character itself.
+    A positive value increases the letter spacing by the corresponding pixels; a negative value decreases the spacing.
 */
 
 /*!
diff --git a/src/declarative/graphicsitems/qdeclarativetextinput.cpp b/src/declarative/graphicsitems/qdeclarativetextinput.cpp
index 2a5d73d..321b121 100644
--- a/src/declarative/graphicsitems/qdeclarativetextinput.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextinput.cpp
@@ -176,8 +176,7 @@ void QDeclarativeTextInput::setText(const QString &s)
     Sets the letter spacing for the font.
 
     Letter spacing changes the default spacing between individual letters in the font.
-    A value of 100 will keep the spacing unchanged; a value of 200 will enlarge the spacing after a character by
-    the width of the character itself.
+    A positive value increases the letter spacing by the corresponding pixels; a negative value decreases the spacing.
 */
 
 /*!
diff --git a/src/declarative/qml/qdeclarativevaluetype.cpp b/src/declarative/qml/qdeclarativevaluetype.cpp
index c17ec95..61e550a 100644
--- a/src/declarative/qml/qdeclarativevaluetype.cpp
+++ b/src/declarative/qml/qdeclarativevaluetype.cpp
@@ -973,7 +973,7 @@ qreal QDeclarativeFontValueType::letterSpacing() const
 
 void QDeclarativeFontValueType::setLetterSpacing(qreal size)
 {
-    font.setLetterSpacing(QFont::PercentageSpacing, size);
+    font.setLetterSpacing(QFont::AbsoluteSpacing, size);
 }
 
 qreal QDeclarativeFontValueType::wordSpacing() const
diff --git a/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp b/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
index 80198eb..a1d9f02 100644
--- a/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
+++ b/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
@@ -847,22 +847,22 @@ void tst_qdeclarativetext::letterSpacing()
         QCOMPARE(textObject->font().letterSpacing(), 0.0);
     }
     {
-        QString componentStr = "import Qt 4.7\nText { text: \"Hello world!\"; font.letterSpacing: -50 }";
+        QString componentStr = "import Qt 4.7\nText { text: \"Hello world!\"; font.letterSpacing: -2 }";
         QDeclarativeComponent textComponent(&engine);
         textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
         QDeclarativeText *textObject = qobject_cast<QDeclarativeText*>(textComponent.create());
 
         QVERIFY(textObject != 0);
-        QCOMPARE(textObject->font().letterSpacing(), -50.);
+        QCOMPARE(textObject->font().letterSpacing(), -2.);
     }
     {
-        QString componentStr = "import Qt 4.7\nText { text: \"Hello world!\"; font.letterSpacing: 200 }";
+        QString componentStr = "import Qt 4.7\nText { text: \"Hello world!\"; font.letterSpacing: 3 }";
         QDeclarativeComponent textComponent(&engine);
         textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
         QDeclarativeText *textObject = qobject_cast<QDeclarativeText*>(textComponent.create());
 
         QVERIFY(textObject != 0);
-        QCOMPARE(textObject->font().letterSpacing(), 200.);
+        QCOMPARE(textObject->font().letterSpacing(), 3.);
     }
 }
 
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml
index 73dd4d7..e268a60 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml
@@ -34,10 +34,10 @@ Rectangle {
             text: s.text; font.underline: true; font.overline: true; font.strikeout: true
         }
         Text {
-            text: s.text; font.letterSpacing: 200
+            text: s.text; font.letterSpacing: 2
         }
         Text {
-            text: s.text; font.underline: true; font.letterSpacing: 200; font.capitalization: "AllUppercase"; color: "blue"
+            text: s.text; font.underline: true; font.letterSpacing: 2; font.capitalization: "AllUppercase"; color: "blue"
         }
         Text {
             text: s.text; font.overline: true; font.wordSpacing: 25; font.capitalization: "Capitalize"; color: "green"
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml
index b41b93a..a883b9c 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml
@@ -34,10 +34,10 @@ Rectangle {
             text: s.text; font.underline: true; font.overline: true; font.strikeout: true
         }
         Text {
-            text: s.text; font.letterSpacing: 200
+            text: s.text; font.letterSpacing: 2
         }
         Text {
-            text: s.text; font.underline: true; font.letterSpacing: 200; font.capitalization: "AllUppercase"; color: "blue"
+            text: s.text; font.underline: true; font.letterSpacing: 2; font.capitalization: "AllUppercase"; color: "blue"
         }
         Text {
             text: s.text; font.overline: true; font.wordSpacing: 25; font.capitalization: "Capitalize"; color: "green"
-- 
cgit v0.12