summaryrefslogtreecommitdiffstats
path: root/demos/declarative/flickr
diff options
context:
space:
mode:
Diffstat (limited to 'demos/declarative/flickr')
-rw-r--r--demos/declarative/flickr/common/ImageDetails.qml160
-rw-r--r--demos/declarative/flickr/common/LikeOMeter.qml2
-rw-r--r--demos/declarative/flickr/common/Loading.qml2
-rw-r--r--demos/declarative/flickr/common/MediaButton.qml41
-rw-r--r--demos/declarative/flickr/common/MediaLineEdit.qml104
-rw-r--r--demos/declarative/flickr/common/Progress.qml4
-rw-r--r--demos/declarative/flickr/common/RssModel.qml2
-rw-r--r--demos/declarative/flickr/common/ScrollBar.qml4
-rw-r--r--demos/declarative/flickr/common/Slider.qml2
-rw-r--r--demos/declarative/flickr/common/Star.qml2
-rw-r--r--demos/declarative/flickr/flickr-90.qml (renamed from demos/declarative/flickr/flickr-mobile-90.qml)4
-rw-r--r--demos/declarative/flickr/flickr-desktop.qml194
-rw-r--r--demos/declarative/flickr/flickr.qml (renamed from demos/declarative/flickr/flickr-mobile.qml)2
-rw-r--r--demos/declarative/flickr/mobile/Button.qml2
-rw-r--r--demos/declarative/flickr/mobile/GridDelegate.qml2
-rw-r--r--demos/declarative/flickr/mobile/ImageDetails.qml6
-rw-r--r--demos/declarative/flickr/mobile/ListDelegate.qml2
-rw-r--r--demos/declarative/flickr/mobile/TitleBar.qml2
-rw-r--r--demos/declarative/flickr/mobile/ToolBar.qml2
19 files changed, 20 insertions, 519 deletions
diff --git a/demos/declarative/flickr/common/ImageDetails.qml b/demos/declarative/flickr/common/ImageDetails.qml
deleted file mode 100644
index 862eeb1..0000000
--- a/demos/declarative/flickr/common/ImageDetails.qml
+++ /dev/null
@@ -1,160 +0,0 @@
-import Qt 4.6
-import org.webkit 1.0
-
-Flipable {
- id: container
-
- property var frontContainer: containerFront
- property string photoTitle: ""
- property string photoDescription: ""
- property string photoTags: ""
- property int photoWidth
- property int photoHeight
- property string photoType
- property string photoAuthor
- property string photoDate
- property string photoUrl
- property int rating: 2
- property var prevScale: 1.0
-
- signal closed
-
- transform: Rotation {
- id: detailsRotation
- origin.y: container.height / 2;
- origin.x: container.width / 2;
- axis.y: 1; axis.z: 0
- }
-
- front: Item {
- id: containerFront; anchors.fill: container
-
- Rectangle {
- anchors.fill: parent
- color: "black"; opacity: 0.4
- border.color: "white"; border.width: 2
- }
-
- MediaButton {
- id: backButton; x: 630; y: 370; text: "Back"
- onClicked: { container.closed() }
- }
-
- MediaButton {
- id: moreButton; x: 530; y: 370; text: "View..."
- onClicked: { container.state='Back' }
- }
-
- Text { id: titleText; style: Text.Raised; styleColor: "black"; color: "white"; elide: Text.ElideRight
- x: 220; y: 30; width: parent.width - 240; text: container.photoTitle; font.pointSize: 22 }
-
- LikeOMeter { x: 40; y: 250; rating: container.rating }
-
- Flickable { id: flickable; x: 220; width: 480; height: 210; y: 130; clip: true
- contentWidth: 480; contentHeight: descriptionText.height
-
- WebView { id: descriptionText; width: parent.width
- html: "<style TYPE=\"text/css\">body {color: white;} a:link {color: cyan; text-decoration: underline; }</style>" + container.photoDescription }
- }
-
- Text { id: size; color: "white"; width: 300; x: 40; y: 300
- text: "<b>Size:</b> " + container.photoWidth + 'x' + container.photoHeight }
- Text { id: type; color: "white"; width: 300; x: 40; anchors.top: size.bottom
- text: "<b>Type:</b> " + container.photoType }
-
- Text { id: author; color: "white"; width: 300; x: 220; y: 80
- text: "<b>Author:</b> " + container.photoAuthor }
- Text { id: date; color: "white"; width: 300; x: 220; anchors.top: author.bottom
- text: "<b>Published:</b> " + container.photoDate }
- Text { id: tagsLabel; color: "white"; x: 220; anchors.top: date.bottom;
- text: container.photoTags == "" ? "" : "<b>Tags:</b> " }
- Text { id: tags; color: "white"; width: parent.width-x-20;
- anchors.left: tagsLabel.right; anchors.top: date.bottom;
- elide: Text.ElideRight; text: container.photoTags }
-
- ScrollBar { id: scrollBar; x: 720; y: flickable.y; width: 7; height: flickable.height; opacity: 0;
- flickableArea: flickable; clip: true }
- }
-
- back: Item {
- anchors.fill: container
-
- Rectangle { anchors.fill: parent; color: "black"; opacity: 0.4; border.color: "white"; border.width: 2 }
-
- Progress { anchors.centerIn: parent; width: 200; height: 18; progress: bigImage.progress; visible: bigImage.status!=1 }
- Flickable {
- id: flick; width: container.width - 10; height: container.height - 10
- x: 5; y: 5; clip: true;
- contentWidth: imageContainer.width; contentHeight: 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
- anchors.centerIn: parent;
- smooth: !flick.moving
- onStatusChanged : {
- // Default scale shows the entire image.
- if (status == 1 && width != 0) {
- slider.minimum = Math.min(flick.width / width, flick.height / height);
- prevScale = Math.min(slider.minimum, 1);
- slider.value = prevScale;
- }
- }
- }
- }
- }
-
- MediaButton {
- id: backButton2; x: 630; y: 370; text: "Back"; onClicked: { container.state = '' }
- }
- Text {
- text: "Image Unavailable"
- visible: bigImage.status == 'Error'
- anchors.centerIn: parent; color: "white"; font.bold: true
- }
-
- Slider {
- id: slider; x: 25; y: 374; visible: { bigImage.status == 1 && maximum > minimum }
- onValueChanged: {
- if (bigImage.width * value > flick.width) {
- var xoff = (flick.width/2 + flick.contentX) * value / prevScale;
- flick.contentX = xoff - flick.width/2;
- }
- if (bigImage.height * value > flick.height) {
- var yoff = (flick.height/2 + flick.contentY) * value / prevScale;
- flick.contentY = yoff - flick.height/2;
- }
- prevScale = value;
- }
- }
- }
-
- states: [
- State {
- name: "Back"
- PropertyChanges { target: detailsRotation; angle: 180 }
- }
- ]
-
- transitions: [
- Transition {
- SequentialAnimation {
- PropertyAction {
- target: bigImage
- property: "smooth"
- value: false
- }
- NumberAnimation { easing.type: "InOutQuad"; properties: "angle"; duration: 500 }
- PropertyAction {
- target: bigImage
- property: "smooth"
- value: !flick.moving
- }
- }
- }
- ]
-}
diff --git a/demos/declarative/flickr/common/LikeOMeter.qml b/demos/declarative/flickr/common/LikeOMeter.qml
index 5ee048b..17e3998 100644
--- a/demos/declarative/flickr/common/LikeOMeter.qml
+++ b/demos/declarative/flickr/common/LikeOMeter.qml
@@ -1,4 +1,4 @@
-import Qt 4.6
+import Qt 4.7
Item {
id: container
diff --git a/demos/declarative/flickr/common/Loading.qml b/demos/declarative/flickr/common/Loading.qml
index 4c41717..8daed48 100644
--- a/demos/declarative/flickr/common/Loading.qml
+++ b/demos/declarative/flickr/common/Loading.qml
@@ -1,4 +1,4 @@
-import Qt 4.6
+import Qt 4.7
Image {
id: loading; source: "pics/loading.png"
diff --git a/demos/declarative/flickr/common/MediaButton.qml b/demos/declarative/flickr/common/MediaButton.qml
deleted file mode 100644
index 86ac948..0000000
--- a/demos/declarative/flickr/common/MediaButton.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-import Qt 4.6
-
-Item {
- id: container
-
- signal clicked
-
- property string text
-
- Image {
- id: buttonImage
- source: "pics/button.png"
- }
- Image {
- id: pressed
- source: "pics/button-pressed.png"
- opacity: 0
- }
- MouseArea {
- id: mouseRegion
- anchors.fill: buttonImage
- onClicked: { container.clicked(); }
- }
- Text {
- font.bold: true
- color: "white"
- anchors.centerIn: buttonImage
- text: container.text
- }
- width: buttonImage.width
- states: [
- State {
- name: "Pressed"
- when: mouseRegion.pressed == true
- PropertyChanges {
- target: pressed
- opacity: 1
- }
- }
- ]
-}
diff --git a/demos/declarative/flickr/common/MediaLineEdit.qml b/demos/declarative/flickr/common/MediaLineEdit.qml
deleted file mode 100644
index 9559f6a..0000000
--- a/demos/declarative/flickr/common/MediaLineEdit.qml
+++ /dev/null
@@ -1,104 +0,0 @@
-import Qt 4.6
-
-Item {
- id: container
-
- property string label
- property string text
-
- width: Math.max(94,labeltext.width + editor.width + 20)
- height: buttonImage.height
-
- states: [
- State {
- name: "Edit"
- PropertyChanges {
- target: labeltext
- text: container.label + ": "
- }
- PropertyChanges {
- target: labeltext
- x: 10
- }
- PropertyChanges {
- target: editor
- cursorVisible: true
- width: 100
- }
- PropertyChanges {
- target: container
- focus: true
- }
- StateChangeScript {
- script:editor.selectAll()
- }
- },
- State {
- // When returning to default state, typed text is propagated
- StateChangeScript {
- script: container.text = editor.text
- }
- }
- ]
- transitions: [
- Transition {
- NumberAnimation { properties: "x,width"; duration: 500; easing.type: "InOutQuad" }
- }
- ]
-
-
- BorderImage {
- id: buttonImage
- source: "pics/button.sci"
- anchors.left: container.left
- anchors.right: container.right
- }
-
- BorderImage {
- id: pressed
- source: "pics/button-pressed.sci"
- opacity: 0
- anchors.left: container.left
- anchors.right: container.right
- }
-
- MouseArea {
- id: mouseRegion
- anchors.fill: buttonImage
- onClicked: { container.state = container.state=="Edit" ? "" : "Edit" }
- states: [
- State {
- when: mouseRegion.pressed == true
- PropertyChanges {
- target: pressed
- opacity: 1
- }
- }
- ]
- }
-
- Text {
- id: labeltext
- font.bold: true
- color: "white"
- anchors.verticalCenter: container.verticalCenter
- x: (container.width - width)/2
- text: container.label + "..."
- }
-
- TextInput {
- id: editor
- font.bold: true
- color: "white"
- selectionColor: "green"
- width: 0
- clip: true
- anchors.left: labeltext.right
- anchors.verticalCenter: container.verticalCenter
- }
- Keys.forwardTo: [(returnKey), (editor)]
- Item {
- id: returnKey
- Keys.onReturnPressed: "container.state = ''"
- }
-}
diff --git a/demos/declarative/flickr/common/Progress.qml b/demos/declarative/flickr/common/Progress.qml
index fd9be10..f4d25a4 100644
--- a/demos/declarative/flickr/common/Progress.qml
+++ b/demos/declarative/flickr/common/Progress.qml
@@ -1,7 +1,7 @@
-import Qt 4.6
+import Qt 4.7
Item {
- property var progress: 0
+ property variant progress: 0
Rectangle {
anchors.fill: parent; smooth: true
diff --git a/demos/declarative/flickr/common/RssModel.qml b/demos/declarative/flickr/common/RssModel.qml
index ed9fd5c..d0960db 100644
--- a/demos/declarative/flickr/common/RssModel.qml
+++ b/demos/declarative/flickr/common/RssModel.qml
@@ -1,4 +1,4 @@
-import Qt 4.6
+import Qt 4.7
XmlListModel {
property string tags : ""
diff --git a/demos/declarative/flickr/common/ScrollBar.qml b/demos/declarative/flickr/common/ScrollBar.qml
index feebcb0..4022d23 100644
--- a/demos/declarative/flickr/common/ScrollBar.qml
+++ b/demos/declarative/flickr/common/ScrollBar.qml
@@ -1,9 +1,9 @@
-import Qt 4.6
+import Qt 4.7
Item {
id: container
- property var flickableArea
+ property variant flickableArea
Rectangle {
radius: 5
diff --git a/demos/declarative/flickr/common/Slider.qml b/demos/declarative/flickr/common/Slider.qml
index 05a87e7..4da370e 100644
--- a/demos/declarative/flickr/common/Slider.qml
+++ b/demos/declarative/flickr/common/Slider.qml
@@ -1,4 +1,4 @@
-import Qt 4.6
+import Qt 4.7
Item {
id: slider; width: 400; height: 16
diff --git a/demos/declarative/flickr/common/Star.qml b/demos/declarative/flickr/common/Star.qml
index 748a5ec..fcca742 100644
--- a/demos/declarative/flickr/common/Star.qml
+++ b/demos/declarative/flickr/common/Star.qml
@@ -1,4 +1,4 @@
-import Qt 4.6
+import Qt 4.7
Item {
id: container
diff --git a/demos/declarative/flickr/flickr-mobile-90.qml b/demos/declarative/flickr/flickr-90.qml
index 9fec242..d1830bf 100644
--- a/demos/declarative/flickr/flickr-mobile-90.qml
+++ b/demos/declarative/flickr/flickr-90.qml
@@ -1,4 +1,4 @@
-import Qt 4.6
+import Qt 4.7
Item {
width: 480; height: 320
@@ -6,6 +6,6 @@ Item {
Loader {
y: 320; rotation: -90
transformOrigin: Item.TopLeft
- source: "flickr-mobile.qml"
+ source: "flickr.qml"
}
}
diff --git a/demos/declarative/flickr/flickr-desktop.qml b/demos/declarative/flickr/flickr-desktop.qml
deleted file mode 100644
index 63b6ea2..0000000
--- a/demos/declarative/flickr/flickr-desktop.qml
+++ /dev/null
@@ -1,194 +0,0 @@
-import Qt 4.6
-
-import "common"
-
-Item {
- id: mainWindow; width: 800; height: 450
-
- property bool showPathView : false
-
- resources: [
- Component {
- id: photoDelegate
- Item {
- id: wrapper; width: 85; height: 85
- scale: wrapper.PathView.scale ? wrapper.PathView.scale : 1
- z: wrapper.PathView.z ? wrapper.PathView.z : 0
-
- transform: Rotation {
- id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2
- axis.y: 1; axis.z: 0
- angle: wrapper.PathView.angle ? wrapper.PathView.angle : 0
- }
-
- Connections {
- target: imageDetails
- onClosed: {
- if (wrapper.state == 'Details') {
- wrapper.state = '';
- imageDetails.photoUrl = "";
- }
- }
- }
-
- function photoClicked() {
- imageDetails.photoTitle = title;
- imageDetails.photoDescription = description;
- imageDetails.photoTags = tags;
- imageDetails.photoWidth = photoWidth;
- imageDetails.photoHeight = photoHeight;
- imageDetails.photoType = photoType;
- imageDetails.photoAuthor = photoAuthor;
- imageDetails.photoDate = photoDate;
- imageDetails.photoUrl = url;
- imageDetails.rating = 0;
- wrapper.state = "Details";
- }
-
- Rectangle {
- id: whiteRect; anchors.fill: parent; color: "white"; radius: 5
-
- Loading { x: 26; y: 26; visible: thumb.status!=1 }
- Image { id: thumb; source: imagePath; x: 5; y: 5 }
-
- Item {
- id: shadows
- Image { source: "common/pics/shadow-right.png"; x: whiteRect.width; height: whiteRect.height }
- Image { source: "common/pics/shadow-bottom.png"; y: whiteRect.height; width: whiteRect.width }
- Image { id: corner; source: "common/pics/shadow-corner.png"; x: whiteRect.width; y: whiteRect.height }
- }
- }
-
- MouseArea { anchors.fill: wrapper; onClicked: { photoClicked() } }
-
- states: [
- State {
- name: "Details"
- PropertyChanges { target: imageDetails; z: 2 }
- ParentChange { target: wrapper; parent: imageDetails.frontContainer }
- PropertyChanges { target: wrapper; x: 45; y: 35; scale: 1; z: 1000 }
- PropertyChanges { target: itemRotation; angle: 0 }
- PropertyChanges { target: shadows; opacity: 0 }
- PropertyChanges { target: imageDetails; y: 20 }
- PropertyChanges { target: photoGridView; y: -480 }
- PropertyChanges { target: photoPathView; y: -480 }
- PropertyChanges { target: viewModeButton; opacity: 0 }
- PropertyChanges { target: tagsEdit; opacity: 0 }
- PropertyChanges { target: fetchButton; opacity: 0 }
- PropertyChanges { target: categoryText; y: "-50" }
- }
- ]
-
- transitions: [
- Transition {
- from: "*"; to: "Details"
- SequentialAnimation {
- ParentAnimation {
- NumberAnimation { properties: "x,y,scale,opacity,angle"; duration: 500; easing.type: "InOutQuad" }
- }
- }
- },
- Transition {
- from: "Details"; to: "*"
- SequentialAnimation {
- ParentAnimation {
- NumberAnimation { properties: "x,y,scale,opacity,angle"; duration: 500; easing.type: "InOutQuad" }
- }
- PropertyAction { targets: wrapper; properties: "z" }
- }
- }
- ]
-
- }
- }
- ]
-
- Item {
- id: background
-
- anchors.fill: parent
-
- Image { source: "common/pics/background.png"; anchors.fill: parent }
- RssModel { id: rssModel; tags : tagsEdit.text }
- Loading { anchors.centerIn: parent; visible: rssModel.status == 2 }
-
- GridView {
- id: photoGridView; model: rssModel; delegate: photoDelegate; cacheBuffer: 100
- cellWidth: 105; cellHeight: 105; x:32; y: 80; width: 800; height: 330; z: 1
- }
-
- PathView {
- id: photoPathView; model: rssModel; delegate: photoDelegate
- y: -380; width: 800; height: 330; pathItemCount: 10; z: 1
- path: Path {
- startX: -50; startY: 40;
-
- PathAttribute { name: "scale"; value: 1 }
- PathAttribute { name: "angle"; value: -45 }
-
- PathCubic {
- x: 400; y: 220
- control1X: 140; control1Y: 40
- control2X: 210; control2Y: 220
- }
-
- PathAttribute { name: "scale"; value: 1.2 }
- PathAttribute { name: "z"; value: 1 }
- PathAttribute { name: "angle"; value: 0 }
-
- PathCubic {
- x: 850; y: 40
- control2X: 660; control2Y: 40
- control1X: 590; control1Y: 220
- }
-
- PathAttribute { name: "scale"; value: 1 }
- PathAttribute { name: "angle"; value: 45 }
- }
-
- }
-
- ImageDetails { id: imageDetails; width: 750; x: 25; y: 500; height: 410 }
-
- MediaButton {
- id: viewModeButton; x: 680; y: 410; text: "View Mode"
- onClicked: { if (mainWindow.showPathView == true) mainWindow.showPathView = false; else mainWindow.showPathView = true }
- }
-
- MediaButton {
- id: fetchButton
- text: "Update"
- anchors.right: viewModeButton.left; anchors.rightMargin: 5
- anchors.top: viewModeButton.top
- onClicked: { rssModel.reload(); }
- }
-
- MediaLineEdit {
- id: tagsEdit;
- label: "Tags"
- anchors.right: fetchButton.left; anchors.rightMargin: 5
- anchors.top: viewModeButton.top
- }
-
- states: State {
- name: "PathView"
- when: mainWindow.showPathView == true
- PropertyChanges { target: photoPathView; y: 80 }
- PropertyChanges { target: photoGridView; y: -380 }
- }
-
- transitions: [
- Transition {
- from: "*"; to: "*"
- NumberAnimation { properties: "y"; duration: 1000; easing.type: "OutBounce"; easing.amplitude: 0.5 }
- }
- ]
- }
-
- Text {
- id: categoryText; anchors.horizontalCenter: parent.horizontalCenter; y: 15;
- text: "Flickr - " +
- (rssModel.tags=="" ? "Uploads from everyone" : "Recent Uploads tagged " + rssModel.tags)
- font.pointSize: 20; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black"
- }
-}
diff --git a/demos/declarative/flickr/flickr-mobile.qml b/demos/declarative/flickr/flickr.qml
index 21e4c49..aa550d2 100644
--- a/demos/declarative/flickr/flickr-mobile.qml
+++ b/demos/declarative/flickr/flickr.qml
@@ -1,4 +1,4 @@
-import Qt 4.6
+import Qt 4.7
import "common" as Common
import "mobile" as Mobile
diff --git a/demos/declarative/flickr/mobile/Button.qml b/demos/declarative/flickr/mobile/Button.qml
index 4ba6b19..74b5aea 100644
--- a/demos/declarative/flickr/mobile/Button.qml
+++ b/demos/declarative/flickr/mobile/Button.qml
@@ -1,4 +1,4 @@
-import Qt 4.6
+import Qt 4.7
Item {
id: container
diff --git a/demos/declarative/flickr/mobile/GridDelegate.qml b/demos/declarative/flickr/mobile/GridDelegate.qml
index b54585b..5ab7b87 100644
--- a/demos/declarative/flickr/mobile/GridDelegate.qml
+++ b/demos/declarative/flickr/mobile/GridDelegate.qml
@@ -1,4 +1,4 @@
- import Qt 4.6
+ import Qt 4.7
Component {
id: photoDelegate
diff --git a/demos/declarative/flickr/mobile/ImageDetails.qml b/demos/declarative/flickr/mobile/ImageDetails.qml
index 2f4df8a..58b0b83 100644
--- a/demos/declarative/flickr/mobile/ImageDetails.qml
+++ b/demos/declarative/flickr/mobile/ImageDetails.qml
@@ -1,10 +1,10 @@
-import Qt 4.6
+import Qt 4.7
import "../common" as Common
Flipable {
id: container
- property var frontContainer: containerFront
+ property variant frontContainer: containerFront
property string photoTitle: ""
property string photoTags: ""
property int photoWidth
@@ -14,7 +14,7 @@ Flipable {
property string photoDate
property string photoUrl
property int rating: 2
- property var prevScale: 1.0
+ property variant prevScale: 1.0
signal closed
diff --git a/demos/declarative/flickr/mobile/ListDelegate.qml b/demos/declarative/flickr/mobile/ListDelegate.qml
index 381664b..28ec3d1 100644
--- a/demos/declarative/flickr/mobile/ListDelegate.qml
+++ b/demos/declarative/flickr/mobile/ListDelegate.qml
@@ -1,4 +1,4 @@
-import Qt 4.6
+import Qt 4.7
Component {
Item {
diff --git a/demos/declarative/flickr/mobile/TitleBar.qml b/demos/declarative/flickr/mobile/TitleBar.qml
index e92ba59..72b779f 100644
--- a/demos/declarative/flickr/mobile/TitleBar.qml
+++ b/demos/declarative/flickr/mobile/TitleBar.qml
@@ -1,4 +1,4 @@
-import Qt 4.6
+import Qt 4.7
Item {
id: titleBar
diff --git a/demos/declarative/flickr/mobile/ToolBar.qml b/demos/declarative/flickr/mobile/ToolBar.qml
index f96c767..b29ca16 100644
--- a/demos/declarative/flickr/mobile/ToolBar.qml
+++ b/demos/declarative/flickr/mobile/ToolBar.qml
@@ -1,4 +1,4 @@
-import Qt 4.6
+import Qt 4.7
Item {
id: toolbar