ThumbnailPage.qml Example File
demos/flickr/qml/ThumbnailPage.qml
/****************************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Components project on Qt Labs.
**
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions contained
** in the Technology Preview License Agreement accompanying this package.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
****************************************************************************/
import QtQuick 1.0
import Qt.labs.components.native 1.0
import "UIConstants.js" as UI
FlickrPage {
property alias tags: photoFeedModel.tags
anchors { fill: parent; topMargin: statusBar.height; bottomMargin: toolBar.height }
tools: ToolBarLayout {
ToolButton {
iconSource: "qrc:/qml/images/tb_back.svg"
onClicked: Qt.quit();
}
ToolButton {
iconSource: "qrc:/qml/images/tb_reload.svg"
onClicked: {
if (searchBar.searching)
searchBar.hideSearch();
photoFeedModel.reload();
}
}
ToolButton {
iconSource: "qrc:/qml/images/tb_search.svg"
onClicked: searchBar.searching ? searchBar.hideSearch() : searchBar.search();
}
}
PhotoFeedModel { id: photoFeedModel }
GridView {
property int thumbnailsInRow: 4
function cellWidth() {
return Math.floor(width / thumbnailsInRow);
}
anchors { fill: parent; margins: UI.GRIDVIEW_MARGIN }
cacheBuffer: 2 * height
cellHeight: cellWidth
cellWidth: cellWidth()
delegate: Thumbnail {}
model: photoFeedModel
visible: !window.inPortrait
onWidthChanged: {
thumbnailsInRow = width / (UI.THUMBNAIL_WRAPPER_SIDE + UI.THUMBNAIL_SPACING);
}
}
ListView {
anchors { fill: parent; margins: UI.LISTVIEW_MARGIN }
cacheBuffer: 2 * height
delegate: ListDelegate {}
model: photoFeedModel
visible: window.inPortrait
}
}