diff options
author | Michal Klocek <michal.klocek@theqtcompany.com> | 2015-04-30 11:43:44 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@theqtcompany.com> | 2015-05-27 12:23:28 +0000 |
commit | a5d615f5b49b29f91f979b4b338f7febbe445ebf (patch) | |
tree | c36c0d873259e0bbf8e0bb8849e6882de196e942 /examples/location/places/views/ImageView.qml | |
parent | 208a3723a02cda6ad1a99736c90bdc538c22a39a (diff) | |
download | qtlocation-a5d615f5b49b29f91f979b4b338f7febbe445ebf.tar.gz |
Rewrite 'places' example to use qtquickcontrols
This is a squash commit of:
* add qtquickcontrols window to 'places' example
* add MenuBar to 'places' example
* replace Slider in 'places' example
* add stackView and MessageForm to 'places' example
* replace SearchBox in 'places' example
* replace SearchCenter dialog in 'places' example
* replace SearchBoundingBox dialog in 'places' example
* replace SearchBoundingCircle dialog in 'places' example
* tune up categoryDelegate in 'places' example
* tune up SearchResultDelegate in 'places' example
* tune up PlacesDelegate in 'places' example
* replace OptionsDialog in 'places' example
* remove 'common' controls from location
* clean up filenames in 'places' example
* update MapComponent in 'places' example
* code style formating of places.qml
* remove backgroundRect from 'places' example
* tune up EditorialPage in 'places' example
* tune up ImageView in 'places' example
* tune up ReviewPage in 'places' example
* tune up SuggestionView in 'places' example
* update imports version numbers in 'places' example
* change searchBox and busyIndicator
* update design in 'places' example
Change-Id: I680c8b88f26689cb9728ee61617f7d2d3aa2a172
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'examples/location/places/views/ImageView.qml')
-rw-r--r-- | examples/location/places/views/ImageView.qml | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/examples/location/places/views/ImageView.qml b/examples/location/places/views/ImageView.qml new file mode 100644 index 00000000..a82a9d1d --- /dev/null +++ b/examples/location/places/views/ImageView.qml @@ -0,0 +1,151 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.5 +import QtLocation 5.5 +import QtQuick.Controls 1.4 + +Item { + id: root + property Place place + width: parent.width + height: parent.height + + GridView { + id: gridView + + anchors.fill: parent + + model: place.imageModel + + cellWidth: width / 3 + cellHeight: cellWidth + + delegate: Rectangle { + width: gridView.cellWidth + height: gridView.cellHeight + + color: "#30FFFFFF" + + Image { + anchors.fill: parent + anchors.margins: 5 + + source: url + + fillMode: Image.PreserveAspectFit + } + + MouseArea { + anchors.fill: parent + onClicked: { + listView.positionViewAtIndex(index, ListView.Contain); + root.state = "list"; + } + } + } + } + + ListView { + id: listView + + anchors.top: parent.top + anchors.bottom: position.top + width: parent.width + spacing: 10 + + model: place.imageModel + orientation: ListView.Horizontal + snapMode: ListView.SnapOneItem + + visible: false + + delegate: Item { + width: listView.width + height: listView.height + + Image { + anchors.fill: parent + source: url + fillMode: Image.PreserveAspectFit + + MouseArea { + anchors.fill: parent + onClicked: root.state = "" + } + } + + Button { + id: button + text: qsTr("Open url") + anchors.bottom: parent.bottom + anchors.horizontalCenter: parent.horizontalCenter + onClicked: { + Qt.openUrlExternally(supplier.url) + } + } + } + } + + Label { + id: position + + width: parent.width + anchors.bottom: parent.bottom + visible: listView.visible + + text: (listView.currentIndex + 1) + '/' + listView.model.totalCount + horizontalAlignment: Text.AlignRight + } + + states: [ + State { + name: "list" + PropertyChanges { + target: gridView + visible: false + } + PropertyChanges { + target: listView + visible: true + } + } + ] +} |