summaryrefslogtreecommitdiffstats
path: root/demos/declarative
diff options
context:
space:
mode:
authorIan Walters <ian.walters@nokia.com>2009-05-14 03:17:54 (GMT)
committerIan Walters <ian.walters@nokia.com>2009-05-14 03:17:54 (GMT)
commit19e5cdcbada9be89121055852f4600fba3c432d1 (patch)
treeeff3ddf3709ab9f274813fdaf09ece68c03d6723 /demos/declarative
parentf038283bd01426a7a9d6b2b8fc677b0205481aa3 (diff)
parent46e7c3f7132aac3838bca4510675f8ad7f70a115 (diff)
downloadQt-19e5cdcbada9be89121055852f4600fba3c432d1.zip
Qt-19e5cdcbada9be89121055852f4600fba3c432d1.tar.gz
Qt-19e5cdcbada9be89121055852f4600fba3c432d1.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'demos/declarative')
-rw-r--r--demos/declarative/flickr/content/ImageDetails.qml33
-rw-r--r--demos/declarative/flickr/content/Slider.qml10
-rw-r--r--demos/declarative/flickr/flickr.qml27
3 files changed, 31 insertions, 39 deletions
diff --git a/demos/declarative/flickr/content/ImageDetails.qml b/demos/declarative/flickr/content/ImageDetails.qml
index 5c2d885..d575be9 100644
--- a/demos/declarative/flickr/content/ImageDetails.qml
+++ b/demos/declarative/flickr/content/ImageDetails.qml
@@ -2,8 +2,6 @@ Flipable {
id: Container
property var frontContainer: ContainerFront
- property var flickableArea: Flickable
- property var slider: Slider
property string photoTitle: ""
property string photoDescription: ""
property string photoTags: ""
@@ -77,13 +75,28 @@ Flipable {
Progress { anchors.centeredIn: parent; width: 200; height: 18; progress: BigImage.progress; visible: BigImage.status }
Flickable {
id: Flick; width: Container.width - 10; height: Container.height - 10
- x: 5; y: 5; clip: true; viewportWidth: (BigImage.width * BigImage.scale) + BigImage.x;
- viewportHeight: BigImage.height * BigImage.scale
-
- Image {
- id: BigImage; source: Container.photoUrl; scale: Slider.value
- x:Math.max(0, ((Flick.width/2)-(width * scale / 2)));
- y:Math.max(0, (Flick.height/2)-(height * scale / 2));
+ x: 5; y: 5; clip: true;
+ viewportWidth: ImageContainer.width; viewportHeight: ImageContainer.height
+
+ Item {
+ id: ImageContainer
+ width: Math.max(BigImage.width * BigImage.scale, Flick.width);
+ height: Math.max(BigImage.height * BigImage.scale, Flick.height);
+
+ Image {
+ id: BigImage; source: Container.photoUrl; scale: Slider.value
+ // Center image if it is smaller than the flickable area.
+ x: ImageContainer.width > width*scale ? (ImageContainer.width - width*scale) / 2 : 0
+ y: ImageContainer.height > height*scale ? (ImageContainer.height - height*scale) / 2 : 0
+ anchors.centeredIn: parent
+ onStatusChanged : {
+ // Default scale shows the entire image.
+ if (status == 0 && width != 0) {
+ Slider.minimum = Math.min(Flick.width / width, Flick.height / height);
+ Slider.value = Math.min(Slider.minimum, 1);
+ }
+ }
+ }
}
}
@@ -96,7 +109,7 @@ Flipable {
anchors.centeredIn: parent; color: "white"; font.bold: true
}
- Slider { id: Slider; x: 25; y: 374; visible: BigImage.status == 0; imageWidth: Container.photoWidth; imageHeight: Container.photoHeight }
+ Slider { id: Slider; x: 25; y: 374; visible: { BigImage.status == 0 && maximum > minimum } }
}
states: [
diff --git a/demos/declarative/flickr/content/Slider.qml b/demos/declarative/flickr/content/Slider.qml
index c6a3e5e..92f4993 100644
--- a/demos/declarative/flickr/content/Slider.qml
+++ b/demos/declarative/flickr/content/Slider.qml
@@ -1,11 +1,12 @@
Item {
id: Slider; width: 400; height: 16
- property var value: Handle.x / Slider.xMax
+ // value is read/write.
+ property real value
+ onValueChanged: { Handle.x = (value - minimum) * Slider.xMax / (maximum - minimum); }
+ property real maximum: 1
+ property real minimum: 1
property int xMax: Slider.width - Handle.width - 2
- property var handle: Handle
- property int imageWidth
- property int imageHeight
Rect {
id: Container; anchors.fill: parent; gradientColor: "#66000000";
@@ -20,6 +21,7 @@ Item {
MouseRegion {
anchors.fill: parent; drag.target: parent
drag.axis: "x"; drag.xmin: 2; drag.xmax: Slider.xMax
+ onPositionChanged: { value = (maximum - minimum) * Handle.x / Slider.xMax + minimum; }
}
}
}
diff --git a/demos/declarative/flickr/flickr.qml b/demos/declarative/flickr/flickr.qml
index b33b00f..b113f56 100644
--- a/demos/declarative/flickr/flickr.qml
+++ b/demos/declarative/flickr/flickr.qml
@@ -48,7 +48,6 @@ Item {
Script {
function photoClicked() {
ImageDetails.photoTitle = title;
- ImageDetails.flickableArea.yPosition = 0;
ImageDetails.photoDescription = description;
ImageDetails.photoTags = tags;
ImageDetails.photoWidth = photoWidth;
@@ -58,7 +57,6 @@ Item {
ImageDetails.photoDate = photoDate;
ImageDetails.photoUrl = url;
ImageDetails.rating = 0;
- ImageDetails.slider.handle.x = ImageDetails.slider.xMax;
Wrapper.state = "Details";
}
}
@@ -194,7 +192,7 @@ Item {
transitions: [
Transition {
fromState: "*"; toState: "*"
- NumericAnimation { properties: "y"; duration: 650; easing: "easeOutBounce(amplitude:0.1)" }
+ NumericAnimation { properties: "y"; duration: 1000; easing: "easeOutBounce(amplitude:0.5)" }
}
]
}
@@ -203,27 +201,6 @@ Item {
id: CategoryText; anchors.horizontalCenter: parent.horizontalCenter; y: 15;
text: "Flickr - " +
(FeedModel.tags=="" ? "Uploads from everyone" : "Recent Uploads tagged " + FeedModel.tags)
- font.size: 16; font.bold: true; color: "white"; style: "Raised"; styleColor: "black"
- }
-
- Image {
- source: "content/pics/fingerpoint.png"
- opacity: finger.pressed ? 0 : 1
- x: finger.mouseX-16
- y: finger.mouseY-16
- }
-
- Image {
- source: "content/pics/fingerpoint-pressed.png"
- opacity: finger.pressed ? 1.0 : 0.0
- x: finger.mouseX-16
- y: finger.mouseY-16
- }
-
- MouseRegion {
- // this region is just to show where the finger is (good for videos)
- id: finger
- absorb: false
- anchors.fill: parent
+ font.size: 20; font.bold: true; color: "white"; style: "Raised"; styleColor: "black"
}
}