2019-07-08 13:52:41 +10:00
|
|
|
// Copyright 2019 miruka
|
|
|
|
// This file is part of harmonyqml, licensed under LGPLv3.
|
|
|
|
|
2019-07-13 19:34:58 +10:00
|
|
|
import QtQuick 2.12
|
|
|
|
import QtQuick.Layouts 1.12
|
2019-04-29 05:18:36 +10:00
|
|
|
import "../Base"
|
2019-03-22 14:28:14 +11:00
|
|
|
|
2019-05-03 04:20:21 +10:00
|
|
|
Column {
|
2019-04-21 07:45:51 +10:00
|
|
|
id: accountDelegate
|
2019-03-26 18:19:55 +11:00
|
|
|
width: parent.width
|
2019-03-22 14:28:14 +11:00
|
|
|
|
2019-07-08 12:41:32 +10:00
|
|
|
property var userInfo: users.find(model.userId)
|
2019-05-03 04:20:21 +10:00
|
|
|
property bool expanded: true
|
2019-04-29 02:40:18 +10:00
|
|
|
|
2019-07-21 23:26:47 +10:00
|
|
|
Component.onCompleted: {
|
|
|
|
expanded = ! window.uiState.collapseAccounts[model.userId]
|
|
|
|
}
|
|
|
|
|
|
|
|
onExpandedChanged: {
|
|
|
|
window.uiState.collapseAccounts[model.userId] = ! expanded
|
|
|
|
window.uiStateChanged()
|
|
|
|
}
|
|
|
|
|
2019-07-18 15:56:58 +10:00
|
|
|
HInteractiveRectangle {
|
2019-05-03 04:20:21 +10:00
|
|
|
width: parent.width
|
|
|
|
height: childrenRect.height
|
2019-03-26 09:29:46 +11:00
|
|
|
|
2019-07-13 07:06:37 +10:00
|
|
|
normalColor: theme.sidePane.account.background
|
2019-03-26 09:29:46 +11:00
|
|
|
|
2019-07-14 10:15:20 +10:00
|
|
|
TapHandler {
|
|
|
|
onTapped: pageStack.showPage(
|
|
|
|
"EditAccount/EditAccount", { "userId": model.userId }
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2019-07-13 07:06:37 +10:00
|
|
|
HRowLayout {
|
|
|
|
id: row
|
|
|
|
width: parent.width
|
2019-03-26 09:29:46 +11:00
|
|
|
|
2019-07-13 07:06:37 +10:00
|
|
|
HUserAvatar {
|
|
|
|
id: avatar
|
|
|
|
// Need to do this because conflict with the model property
|
|
|
|
Component.onCompleted: userId = model.userId
|
2019-03-26 09:29:46 +11:00
|
|
|
}
|
2019-03-26 18:19:55 +11:00
|
|
|
|
2019-07-13 07:06:37 +10:00
|
|
|
HColumnLayout {
|
2019-04-29 02:40:18 +10:00
|
|
|
Layout.fillWidth: true
|
2019-07-13 07:06:37 +10:00
|
|
|
Layout.fillHeight: true
|
2019-03-26 18:19:55 +11:00
|
|
|
|
2019-07-13 07:06:37 +10:00
|
|
|
HLabel {
|
|
|
|
id: accountLabel
|
|
|
|
text: userInfo.displayName || model.userId
|
2019-07-19 14:10:46 +10:00
|
|
|
font.pixelSize: theme.fontSize.big
|
|
|
|
elide: HLabel.ElideRight
|
2019-07-13 07:06:37 +10:00
|
|
|
leftPadding: sidePane.currentSpacing
|
|
|
|
rightPadding: leftPadding
|
2019-07-16 19:08:27 +10:00
|
|
|
|
|
|
|
Layout.fillWidth: true
|
2019-07-13 07:06:37 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
HTextField {
|
2019-07-19 14:10:46 +10:00
|
|
|
visible: false // TODO
|
|
|
|
|
2019-07-13 07:06:37 +10:00
|
|
|
id: statusEdit
|
2019-07-21 21:14:16 +10:00
|
|
|
// text: userInfo.statusMessage
|
2019-07-13 07:06:37 +10:00
|
|
|
placeholderText: qsTr("Set status message")
|
|
|
|
font.pixelSize: theme.fontSize.small
|
|
|
|
background: null
|
2019-07-19 10:39:13 +10:00
|
|
|
bordered: false
|
2019-07-13 07:06:37 +10:00
|
|
|
|
|
|
|
padding: 0
|
|
|
|
leftPadding: accountLabel.leftPadding
|
|
|
|
rightPadding: leftPadding
|
|
|
|
Layout.fillWidth: true
|
|
|
|
|
|
|
|
onEditingFinished: {
|
|
|
|
//Backend.setStatusMessage(model.userId, text) TODO
|
|
|
|
pageStack.forceActiveFocus()
|
|
|
|
}
|
2019-03-26 18:19:55 +11:00
|
|
|
}
|
|
|
|
}
|
2019-03-26 09:29:46 +11:00
|
|
|
|
2019-07-13 07:06:37 +10:00
|
|
|
ExpandButton {
|
|
|
|
id: expandButton
|
|
|
|
expandableItem: accountDelegate
|
|
|
|
Layout.preferredHeight: row.height
|
|
|
|
}
|
2019-03-22 14:28:14 +11:00
|
|
|
}
|
|
|
|
}
|
2019-03-26 18:19:55 +11:00
|
|
|
|
2019-05-03 04:20:21 +10:00
|
|
|
RoomCategoriesList {
|
|
|
|
id: roomCategoriesList
|
|
|
|
visible: height > 0
|
|
|
|
width: parent.width
|
|
|
|
height: childrenRect.height * (accountDelegate.expanded ? 1 : 0)
|
|
|
|
clip: heightAnimation.running
|
2019-03-26 18:19:55 +11:00
|
|
|
|
2019-07-07 14:24:23 +10:00
|
|
|
userId: userInfo.userId
|
2019-03-26 18:19:55 +11:00
|
|
|
|
2019-05-03 04:20:21 +10:00
|
|
|
Behavior on height {
|
2019-07-07 07:42:04 +10:00
|
|
|
HNumberAnimation { id: heightAnimation }
|
2019-05-03 04:20:21 +10:00
|
|
|
}
|
2019-03-26 18:19:55 +11:00
|
|
|
}
|
2019-03-22 14:28:14 +11:00
|
|
|
}
|