Port invite dialog to use ItemDelegate

This commit is contained in:
Loren Burkholder 2021-11-13 14:22:09 -05:00
parent d645c43618
commit 07aa89cca1
1 changed files with 39 additions and 23 deletions

View File

@ -98,37 +98,53 @@ ApplicationWindow {
Layout.fillWidth: true
Layout.fillHeight: true
model: invitees
spacing: Nheko.paddingMedium
delegate: RowLayout {
spacing: Nheko.paddingMedium
delegate: ItemDelegate {
id: del
Avatar {
width: Nheko.avatarSize
height: Nheko.avatarSize
userid: model.mxid
url: model.avatarUrl.replace("mxc://", "image://MxcImage/")
displayName: model.displayName
onClicked: TimelineManager.openGlobalUserProfile(model.mxid)
hoverEnabled: true
width: ListView.view.width
height: layout.implicitHeight
onClicked: TimelineManager.openGlobalUserProfile(model.mxid)
background: Rectangle {
color: del.hovered ? Nheko.colors.dark : inviteDialogRoot.color
}
ColumnLayout {
spacing: Nheko.paddingSmall
RowLayout {
id: layout
Label {
text: model.displayName
color: TimelineManager.userColor(model ? model.mxid : "", Nheko.colors.window)
font.pointSize: fontMetrics.font.pointSize
spacing: Nheko.paddingMedium
Avatar {
width: Nheko.avatarSize
height: Nheko.avatarSize
userid: model.mxid
url: model.avatarUrl.replace("mxc://", "image://MxcImage/")
displayName: model.displayName
enabled: false
}
Label {
text: model.mxid
color: Nheko.colors.buttonText
font.pointSize: fontMetrics.font.pointSize * 0.9
}
ColumnLayout {
spacing: Nheko.paddingSmall
Label {
text: model.displayName
color: TimelineManager.userColor(model ? model.mxid : "", Nheko.colors.window)
font.pointSize: fontMetrics.font.pointSize
}
Label {
text: model.mxid
color: Nheko.colors.buttonText
font.pointSize: fontMetrics.font.pointSize * 0.9
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
}