43 lines
1.1 KiB
QML
43 lines
1.1 KiB
QML
|
import QtQuick
|
||
|
import QtQuick.Controls
|
||
|
import QtQuick.Layouts
|
||
|
|
||
|
ColumnLayout {
|
||
|
anchors.fill: parent
|
||
|
Label {
|
||
|
text: "Comics"
|
||
|
font.pixelSize: 20
|
||
|
}
|
||
|
GridView {
|
||
|
id: gridView
|
||
|
clip: true
|
||
|
cellHeight: cellWidth * 3 / 2
|
||
|
cellWidth: width / Math.max(Math.floor(width / (65 * 2)), 1)
|
||
|
Layout.fillWidth: true
|
||
|
Layout.fillHeight: true
|
||
|
model: AppController.comicsModel
|
||
|
delegate: Button {
|
||
|
width: GridView.view.cellWidth
|
||
|
height: GridView.view.cellHeight
|
||
|
Column {
|
||
|
Image {
|
||
|
source: AppController.coverImageSource(model.hash)
|
||
|
width: gridView.cellWidth
|
||
|
height: gridView.cellHeight
|
||
|
fillMode: Image.PreserveAspectFit
|
||
|
retainWhileLoading: true
|
||
|
}
|
||
|
}
|
||
|
|
||
|
onClicked: function() {
|
||
|
AppController.selectedComicId = model.comicId
|
||
|
}
|
||
|
}
|
||
|
ScrollBar.vertical: ScrollBar { }
|
||
|
}
|
||
|
|
||
|
Component.onCompleted: function() {
|
||
|
AppController.updateComicsInFolder()
|
||
|
}
|
||
|
}
|