summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@digia.com>2012-11-03 19:47:20 +0100
committerGunnar Sletta <gunnar.sletta@digia.com>2012-11-03 20:01:12 +0100
commitd87d7f545aba8d323961fe3c8f0377aca5c7a75a (patch)
treece07524f37f6cb1621db364713e22c79100acddc
parent78f0e8102a30fed8eb5c6f34c3670b053950e34c (diff)
Added Slide.writeInText property.
-rw-r--r--examples/tutorial/SlideDeck.qml5
-rw-r--r--src/Slide.qml30
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
}
}
}