~ubuntu-branches/ubuntu/vivid/qtdeclarative-opensource-src-gles/vivid

« back to all changes in this revision

Viewing changes to examples/quick/demos/photoviewer/main.qml

  • Committer: Package Import Robot
  • Author(s): Timo Jyrinki
  • Date: 2014-10-29 07:54:05 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20141029075405-gq1uzomnw3but9g2
Tags: 5.3.2-0ubuntu1
Sync package with qtdeclarative-opensource-src - 5.3.2-3ubuntu1 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
 
4
** Contact: http://www.qt-project.org/legal
 
5
**
 
6
** This file is part of the QtQml module of the Qt Toolkit.
 
7
**
 
8
** $QT_BEGIN_LICENSE:LGPL$
 
9
** Commercial License Usage
 
10
** Licensees holding valid commercial Qt licenses may use this file in
 
11
** accordance with the commercial license agreement provided with the
 
12
** Software or, alternatively, in accordance with the terms contained in
 
13
** a written agreement between you and Digia.  For licensing terms and
 
14
** conditions see http://qt.digia.com/licensing.  For further information
 
15
** use the contact form at http://qt.digia.com/contact-us.
 
16
**
 
17
** GNU Lesser General Public License Usage
 
18
** Alternatively, this file may be used under the terms of the GNU Lesser
 
19
** General Public License version 2.1 as published by the Free Software
 
20
** Foundation and appearing in the file LICENSE.LGPL included in the
 
21
** packaging of this file.  Please review the following information to
 
22
** ensure the GNU Lesser General Public License version 2.1 requirements
 
23
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 
24
**
 
25
** In addition, as a special exception, Digia gives you certain additional
 
26
** rights.  These rights are described in the Digia Qt LGPL Exception
 
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 
28
**
 
29
** GNU General Public License Usage
 
30
** Alternatively, this file may be used under the terms of the GNU
 
31
** General Public License version 3.0 as published by the Free Software
 
32
** Foundation and appearing in the file LICENSE.GPL included in the
 
33
** packaging of this file.  Please review the following information to
 
34
** ensure the GNU General Public License version 3.0 requirements will be
 
35
** met: http://www.gnu.org/copyleft/gpl.html.
 
36
**
 
37
**
 
38
** $QT_END_LICENSE$
 
39
**
 
40
****************************************************************************/
 
41
 
 
42
import QtQuick 2.2
 
43
import QtQuick.Controls 1.1
 
44
import QtQml.Models 2.1
 
45
import "PhotoViewerCore"
 
46
 
 
47
ApplicationWindow {
 
48
    id: mainWindow
 
49
 
 
50
    visible: true
 
51
 
 
52
    Rectangle {
 
53
        focus: true
 
54
 
 
55
        Keys.onBackPressed: {
 
56
            event.accepted = true
 
57
            backButton.clicked()
 
58
        }
 
59
    }
 
60
 
 
61
    property real downloadProgress: 0
 
62
    property bool imageLoading: false
 
63
    property bool editMode: false
 
64
 
 
65
    width: 800; height: 480; color: "#d5d6d8"
 
66
 
 
67
    ListModel {
 
68
        id: photosModel
 
69
        ListElement { tag: "Flowers" }
 
70
        ListElement { tag: "Wildlife" }
 
71
        ListElement { tag: "Prague" }
 
72
    }
 
73
 
 
74
    DelegateModel { id: albumVisualModel; model: photosModel; delegate: AlbumDelegate {} }
 
75
 
 
76
    GridView {
 
77
        id: albumView; width: parent.width; height: parent.height; cellWidth: 210; cellHeight: 220
 
78
        model: albumVisualModel.parts.album; visible: albumsShade.opacity != 1.0
 
79
    }
 
80
 
 
81
    Column {
 
82
        spacing: 20; anchors { bottom: parent.bottom; right: parent.right; rightMargin: 20; bottomMargin: 20 }
 
83
        Button {
 
84
            id: newButton; label: qsTr("Add"); rotation: 3
 
85
            anchors.horizontalCenter: parent.horizontalCenter
 
86
            onClicked: {
 
87
                mainWindow.editMode = false
 
88
                photosModel.append( { tag: "" } )
 
89
                albumView.positionViewAtIndex(albumView.count - 1, GridView.Contain)
 
90
            }
 
91
        }
 
92
        Button {
 
93
            id: deleteButton; label: qsTr("Edit"); rotation: -2;
 
94
            onClicked: mainWindow.editMode = !mainWindow.editMode
 
95
            anchors.horizontalCenter: parent.horizontalCenter
 
96
        }
 
97
        Button {
 
98
            id: quitButton; label: qsTr("Quit"); rotation: -2;
 
99
            onClicked: Qt.quit()
 
100
            anchors.horizontalCenter: parent.horizontalCenter
 
101
        }
 
102
    }
 
103
 
 
104
    Rectangle {
 
105
        id: albumsShade; color: mainWindow.color
 
106
        width: parent.width; height: parent.height; opacity: 0.0
 
107
    }
 
108
 
 
109
    ListView { anchors.fill: parent; model: albumVisualModel.parts.browser; interactive: false }
 
110
 
 
111
    Button {
 
112
        id: backButton
 
113
        label: qsTr("Back")
 
114
        rotation: 3
 
115
        x: parent.width - backButton.width - 6
 
116
        y: -backButton.height - 8
 
117
        visible: Qt.platform.os !== "android"
 
118
    }
 
119
 
 
120
    Rectangle { id: photosShade; color: 'black'; width: parent.width; height: parent.height; opacity: 0; visible: opacity != 0.0 }
 
121
 
 
122
    ListView { anchors.fill: parent; model: albumVisualModel.parts.fullscreen; interactive: false }
 
123
 
 
124
    Item { id: foreground; anchors.fill: parent }
 
125
 
 
126
    ProgressBar {
 
127
        progress: mainWindow.downloadProgress; width: parent.width; height: 4
 
128
        anchors.bottom: parent.bottom; opacity: mainWindow.imageLoading; visible: opacity != 0.0
 
129
    }
 
130
}