diff options
author | Gunnar Sletta <gunnar.sletta@digia.com> | 2012-11-03 19:47:20 +0100 |
---|---|---|
committer | Gunnar Sletta <gunnar.sletta@digia.com> | 2012-11-03 20:01:12 +0100 |
commit | d87d7f545aba8d323961fe3c8f0377aca5c7a75a (patch) | |
tree | ce07524f37f6cb1621db364713e22c79100acddc | |
parent | 78f0e8102a30fed8eb5c6f34c3670b053950e34c (diff) |
Added Slide.writeInText property.
-rw-r--r-- | examples/tutorial/SlideDeck.qml | 5 | ||||
-rw-r--r-- | src/Slide.qml | 30 |
2 files changed, 32 insertions, 3 deletions
diff --git a/examples/tutorial/SlideDeck.qml b/examples/tutorial/SlideDeck.qml index df571fb..50c13b5 100644 --- a/examples/tutorial/SlideDeck.qml +++ b/examples/tutorial/SlideDeck.qml @@ -150,6 +150,11 @@ Presentation centeredText: '<font color="red"><i>Use</i> rich text, <font color="blue">if <b>you</b> like...' } + Slide { + title: "Slide {}, continued" + writeInText: "You can also use the 'writeInText' property for text that should appear character-by-character, like this...\n\n\nProin vulputate pretium tortor, ut bibendum nisi ultricies et. Nullam pharetra tincidunt lorem eu consequat. Sed placerat sem non lacus dictum at lobortis tellus molestie. Fusce sit amet iaculis odio. Ut dictum nibh quis justo lacinia pulvinar. In hac habitasse platea dictumst. Aliquam erat volutpat." + } + diff --git a/src/Slide.qml b/src/Slide.qml index 3f45bd8..b44db9f 100644 --- a/src/Slide.qml +++ b/src/Slide.qml @@ -44,6 +44,7 @@ Item { property string title; property variant content: [] property string centeredText + property string writeInText; property real fontSize: parent.height * 0.05 property real fontScale: 1 @@ -76,7 +77,7 @@ Item { anchors.bottom: parent.top anchors.bottomMargin: parent.fontSize * 1.5 font.bold: true; - font.family: parent.slideFontFamily + font.family: slide.slideFontFamily color: slideTextColor horizontalAlignment: Text.Center z: 1 @@ -90,11 +91,34 @@ Item { text: centeredText horizontalAlignment: Text.Center font.pixelSize: baseFontSize - font.family: parent.slideFontFamily + font.family: slide.slideFontFamily color: slideTextColor wrapMode: Text.Wrap } + Text { + id: writeInTextId + property int length; + font.family: slide.slideFontFamily + font.pixelSize: baseFontSize + color: slideTextColor + + anchors.fill: parent; + wrapMode: Text.Wrap + + text: slide.writeInText.substring(0, length); + + NumberAnimation on length { + from: 0; + to: slide.writeInText.length; + duration: slide.writeInText.length * 50; + running: slide.visible && parent.visible + } + + visible: slide.writeInText != undefined; + } + + Column { id: contentId anchors.fill: parent @@ -140,7 +164,7 @@ Item { wrapMode: Text.WordWrap color: slide.slideTextColor horizontalAlignment: Text.AlignLeft - font.family: parent.slideFontFamily + font.family: slide.slideFontFamily } } } |