2019-02-13 15:58:21 +01:00

78 lines
1.9 KiB
QML

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Dialogs 1.3
import QtAndroidTools 1.0
Page {
id: page
padding: 0
property var albumsList: null
function showAlbumsImages(index)
{
if(albumsList !== null && index < albumsList.length)
{
imagesGrid.model = QtAndroidImages.getAlbumImagesList(albumsList[index].id);
}
}
Component.onCompleted: {
var albumsNameList = new Array();
albumsList = QtAndroidImages.getAlbumsList();
for(var i = 0; i < albumsList.length; i++) albumsNameList.push(albumsList[i].name);
albums.model = albumsNameList;
albums.currentIndex = 0;
showAlbumsImages(0);
}
Rectangle {
id: topBar
anchors.top: parent.top
width: parent.width
height: albumsRow.implicitHeight * 1.5
color: "white"
Row {
id: albumsRow
anchors.centerIn: parent
spacing: 10
Text {
height: parent.height
text: "Albums"
verticalAlignment: Text.AlignVCenter
font.pointSize: 20
rightPadding: 20
}
ComboBox {
id: albums
onActivated: showAlbumsImages(index)
}
}
}
GridView {
id: imagesGrid
width: parent.width
height: parent.height - topBar.height
anchors.bottom: parent.bottom
boundsBehavior: Flickable.StopAtBounds
cellWidth: width / 3
cellHeight: cellWidth
delegate: Image {
width: imagesGrid.cellWidth
height: imagesGrid.cellHeight
source: "file://" + modelData
sourceSize.width: width
sourceSize.height: height
asynchronous: true
cache: false
}
}
}