1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2024-12-23 06:25:17 +00:00
harbour-sailfin/qtquick/qml/pages/DetailPage.qml

65 lines
1.7 KiB
QML
Raw Normal View History

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Window 2.12
import nl.netsoj.chris.Jellyfin 1.0 as J
import "../components"
import "../.."
2021-03-29 21:48:16 +00:00
import ".."
Page {
2021-03-29 21:48:16 +00:00
id: detailPage
property bool _modelsLoaded: false
property StackView stackView: StackView.view
property string itemId
2021-03-29 21:48:16 +00:00
property alias jellyfinItem: jellyfinItemLoader.data
header: ToolBar {
Label {
anchors.horizontalCenter: parent.horizontalCenter
font.pixelSize: SailfinStyle.fontSizeLarge
text: jellyfinItem.name
}
}
MouseArea {
anchors.fill: parent
onClicked: stackView.pop()
}
J.ItemLoader {
2021-03-29 21:48:16 +00:00
id: jellyfinItemLoader
itemId: detailPage.itemId
apiClient: ApiClient
}
Image {
2021-03-29 21:48:16 +00:00
anchors.top: parent.top
width: parent.width
height: parent.height / 3
source: ApiClient.baseUrl + "/Items/" + itemId + "/Images/Primary?tag=" + jellyfinItem.tag
}
J.ItemModel {
id: tracks
loader: J.UserItemsLoader {
apiClient: ApiClient
parentId: detailPage.itemId
}
}
2021-03-29 21:48:16 +00:00
ListView {
width: parent.width
height: parent.height / 3 * 2
anchors.bottom: parent.bottom
model: tracks
header: Label {
text: "Play count: %1".arg(jellyfinItem.userData.playCount)
}
delegate: ItemDelegate {
2021-03-29 21:48:16 +00:00
icon.source: ApiClient.baseUrl + "/Items/" + model.jellyfinId + "/Images/Primary?tag=" + model.tag
text: model.name
width: ListView.view.width
onClicked: playbackManager.playItemInList(tracks, model.index)
2021-03-29 21:48:16 +00:00
}
}
}