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:
parent
bb1e3ea21d
commit
e04ec364c1
15 changed files with 406 additions and 21 deletions
|
@ -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})
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue