1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2025-09-04 01:42:44 +00:00

Add UserLoader back + misc regression fixes

This commit is contained in:
Chris Josten 2021-08-18 00:04:27 +02:00
parent bb1e3ea21d
commit e04ec364c1
15 changed files with 406 additions and 21 deletions

View file

@ -185,8 +185,8 @@ Page {
if (force || (appWindow.apiClient.authenticated && !_modelsLoaded)) {
_modelsLoaded = true;
mediaLibraryModel.reload()
//userResumeModel.reload()
//showNextUpModel.reload()
userResumeModel.reload()
showNextUpModel.reload()
}
}
@ -225,7 +225,7 @@ Page {
value: model.imageBlurHashes["Primary"][model.imageTags["Primary"]]
}
landscape: !isPortrait
progress: (typeof model.userData !== "undefined") ? model.userData.playedPercentage / 100 : 0.0
progress: (typeof model.userDataPlayedProgress !== 0.0) ? model.userDataPlayedPercentage / 100 : 0.0
onClicked: {
pageStack.push(Utils.getPageUrl(model.mediaType, model.type, model.isFolder), {"itemId": model.jellyfinId, "itemData": model.qtObject})

View file

@ -28,6 +28,8 @@ Page {
id: settingsPage
allowedOrientations: Orientation.All
property alias loggedInUser: userLoader.data
SilicaFlickable {
anchors.fill: parent
contentHeight: content.height
@ -58,9 +60,10 @@ Page {
rightMargin: Theme.horizontalPageMargin
}
height: user.implicitHeight + server.implicitHeight + Theme.paddingMedium
QtObject {
id: loggedInUser
//apiClient: ApiClient
J.UserLoader{
id: userLoader
apiClient: appWindow.apiClient
userId: appWindow.apiClient.userId
}
RemoteImage {
id: userIcon
@ -81,7 +84,7 @@ Page {
bottom: parent.verticalCenter
right: parent.right
}
text: loggedInUser.status == User.Ready ? loggedInUser.name : apiClient.userId
text: userLoader.status === J.UserLoader.Ready ? loggedInUser.name : apiClient.userId
color: Theme.highlightColor
}

View file

@ -33,6 +33,8 @@ Dialog {
property string loginMessage
property Page firstPage
property QtObject /*User*/ selectedUser: null
property bool userSelected: false
property bool selectedUserHasPassword: true
property string error
@ -66,13 +68,13 @@ Dialog {
}
}
QtObject { id: userModel; }
/*PublicUserModel {
J.UserModel {
id: userModel
apiClient: appWindow.apiClient
Component.onCompleted: reload();
}*/
loader: J.PublicUsersLoader {
id: userLoader
apiClient: appWindow.apiClient
}
}
DialogHeader {
id: dialogHeader
@ -100,14 +102,15 @@ Dialog {
width: parent.width
Repeater {
id: userRepeater
model: 0 //userModel
model: userModel
delegate: UserGridDelegate {
name: model.name
image: model.primaryImageTag ? "%1/Users/%2/Images/Primary?tag=%3".arg(apiClient.baseUrl).arg(model.jellyfinId).arg(model.primaryImageTag) : ""
image: model.primaryImageTag ? "%1/Users/%2/Images/Primary?tag=%3".arg(apiClient.baseUrl).arg(model.userId).arg(model.primaryImageTag) : ""
highlighted: model.name === username.text
onHighlightedChanged: {
if (highlighted) {
selectedUser = model.qtObject
userSelected = true
selectedUserHasPassword = model.hasPassword
}
}
onClicked: {
@ -138,7 +141,7 @@ Dialog {
// Wil be executed before the onHighlightChanged of the UserDelegate
// This is done to update the UI after an user is selected and this field has
// been changed, to not let the UI be in an invalid state (e.g. no user selected, password field disabled)
selectedUser = null
userSelected = false
}
}
@ -199,7 +202,7 @@ Dialog {
},
State {
name: "users"
when: userRepeater.count != 0 && selectedUser === null
when: userRepeater.count != 0 && !userSelected
PropertyChanges {
target: userList
visible: true
@ -207,7 +210,7 @@ Dialog {
},
State {
name: "selectedUserPassword"
when: selectedUser !== null && selectedUser.hasPassword
when: userSelected && selectedUserHasPassword
extend: "users"
PropertyChanges {
target: password
@ -216,7 +219,7 @@ Dialog {
},
State {
name: "selectedUserNoPassword"
when: selectedUser !== null && !selectedUser.hasPassword
when: userSelected && !selectedUserHasPassword
extend: "users"
PropertyChanges {
target: password