1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2025-09-05 10:12:46 +00:00

Added more fields to Jellyfin::Item, update qml

* [UI] Improved: series season page now shows favourite and watched marks

Refractored some more QML to support camelCase items
This commit is contained in:
Chris Josten 2020-10-10 14:30:49 +02:00
parent d81fa50715
commit 8a683df2a2
13 changed files with 131 additions and 70 deletions

View file

@ -83,7 +83,7 @@ Page {
//appWindow.itemData = ({})
}
if (status == PageStatus.Active) {
appWindow.itemData = jItem
}
}
}

View file

@ -43,7 +43,7 @@ BaseDetailPage {
cellHeight: Utils.usePortraitCover(itemData.CollectionType) ? Constants.libraryDelegatePosterHeight
: Constants.libraryDelegateHeight
header: PageHeader {
title: itemData.Name || qsTr("Loading")
title: itemData.name || qsTr("Loading")
}
PullDownMenu {
id: downMenu
@ -58,7 +58,7 @@ BaseDetailPage {
RemoteImage {
id: itemImage
anchors.fill: parent
source: Utils.itemModelImageUrl(ApiClient.baseUrl, model.id, model.imageTags["Primary"], "Primary", {"maxWidth": width})
source: Utils.itemModelImageUrl(ApiClient.baseUrl, model.id, model.imageTags.primary, "Primary", {"maxWidth": width})
fallbackColor: Utils.colorFromString(model.name)
fillMode: Image.PreserveAspectCrop
clip: true

View file

@ -68,7 +68,7 @@ BaseDetailPage {
shimColor: Theme.overlayBackgroundColor
shimOpacity: Theme.opacityOverlay
//width: model.userData.PlayedPercentage * parent.width / 100
visible: episodeProgress.width > 0 // It doesn't look nice when it's visible on every image
visible: episodeProgress.width > 0 || model.userData.played || model.userData.isFavorite // It doesn't look nice when it's visible on every image
}
Rectangle {
@ -78,9 +78,28 @@ BaseDetailPage {
bottom: parent.bottom
}
height: Theme.paddingMedium
width: model.userData.playedPercentage * parent.width / 100
width: model.userData.playedPercentage * parent.width / 100
color: Theme.highlightColor
}
Row {
spacing: Theme.paddingSmall
anchors {
bottom: episodeProgress.width > 0 ? episodeProgress.top : parent.bottom
bottomMargin: Theme.paddingMedium
right: parent.right
rightMargin: Theme.paddingMedium
}
Icon {
source: "image://theme/icon-s-checkmark"
visible: model.userData.played
}
Icon {
source: "image://theme/icon-s-favorite"
visible: model.userData.isFavorite
}
}
}
Label {
@ -129,9 +148,9 @@ BaseDetailPage {
}
onStatusChanged: {
if (status == PageStatus.Active) {
console.log(JSON.stringify(itemData))
episodeModel.show = itemData.seriesId
episodeModel.seasonId = itemData.jellyfinId
//console.log(JSON.stringify(itemData))
episodeModel.show = itemData.seriesId
episodeModel.seasonId = itemData.jellyfinId
}
}
}