Rework Backend, models and items organization
This commit is contained in:
@@ -7,7 +7,7 @@ Banner {
|
||||
color: HStyle.chat.inviteBanner.background
|
||||
|
||||
avatar.name: inviter ? inviter.displayname : ""
|
||||
//avatar.imageSource: inviter ? inviter.avatar_url : ""
|
||||
//avatar.imageUrl: inviter ? inviter.avatar_url : ""
|
||||
|
||||
labelText:
|
||||
(inviter ?
|
||||
|
@@ -14,8 +14,11 @@ HColumnLayout {
|
||||
.roomCategories.get(category)
|
||||
.rooms.get(roomId)
|
||||
|
||||
readonly property var sender: Backend.users.get(userId)
|
||||
|
||||
readonly property bool hasUnknownDevices:
|
||||
Backend.clients.get(userId).roomHasUnknownDevices(roomId)
|
||||
category == "Rooms" ?
|
||||
Backend.clients.get(userId).roomHasUnknownDevices(roomId) : false
|
||||
|
||||
id: chatPage
|
||||
onFocusChanged: sendBox.setFocus()
|
||||
@@ -38,7 +41,7 @@ HColumnLayout {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
|
||||
TypingUsersBar {}
|
||||
TypingMembersBar {}
|
||||
|
||||
InviteBanner {
|
||||
visible: category === "Invites"
|
||||
@@ -46,12 +49,12 @@ HColumnLayout {
|
||||
}
|
||||
|
||||
UnknownDevicesBanner {
|
||||
visible: category === "Rooms" && hasUnknownDevices
|
||||
visible: category == "Rooms" && hasUnknownDevices
|
||||
}
|
||||
|
||||
SendBox {
|
||||
id: sendBox
|
||||
visible: category === "Rooms" && ! hasUnknownDevices
|
||||
visible: category == "Rooms" && ! hasUnknownDevices
|
||||
}
|
||||
|
||||
LeftBanner {
|
||||
|
@@ -16,7 +16,7 @@ Row {
|
||||
|
||||
HAvatar {
|
||||
id: avatar
|
||||
name: displayName
|
||||
name: sender.displayName.value
|
||||
hidden: combine
|
||||
dimension: 28
|
||||
}
|
||||
@@ -26,12 +26,12 @@ Row {
|
||||
|
||||
id: contentLabel
|
||||
text: "<font color='" +
|
||||
Qt.hsla(Backend.hueFromString(displayName.value || dict.sender),
|
||||
Qt.hsla(Backend.hueFromString(sender.displayName.value),
|
||||
HStyle.chat.event.saturation,
|
||||
HStyle.chat.event.lightness,
|
||||
1) +
|
||||
"'>" +
|
||||
(displayName.value || dict.sender) + " " +
|
||||
sender.displayName.value + " " +
|
||||
ChatJS.getEventText(type, dict) +
|
||||
|
||||
" " +
|
||||
|
@@ -10,7 +10,7 @@ Row {
|
||||
HAvatar {
|
||||
id: avatar
|
||||
hidden: combine
|
||||
name: displayName
|
||||
name: sender.displayName.value
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
@@ -37,7 +37,7 @@ Row {
|
||||
visible: height > 0
|
||||
|
||||
id: nameLabel
|
||||
text: displayName.value || dict.sender
|
||||
text: sender.displayName.value
|
||||
color: Qt.hsla(Backend.hueFromString(text),
|
||||
HStyle.displayName.saturation,
|
||||
HStyle.displayName.lightness,
|
||||
|
@@ -26,8 +26,7 @@ Column {
|
||||
readonly property bool isUndecryptableEvent:
|
||||
type === "OlmEvent" || type === "MegolmEvent"
|
||||
|
||||
readonly property var displayName:
|
||||
Backend.getUserDisplayName(dict.sender)
|
||||
readonly property var sender: Backend.users.get(dict.sender)
|
||||
|
||||
readonly property bool isOwn:
|
||||
chatPage.userId === dict.sender
|
||||
|
@@ -18,7 +18,7 @@ HGlassRectangle {
|
||||
|
||||
HAvatar {
|
||||
id: avatar
|
||||
name: Backend.getUserDisplayName(chatPage.userId)
|
||||
name: chatPage.sender.displayName.value
|
||||
dimension: root.Layout.minimumHeight
|
||||
}
|
||||
|
||||
|
@@ -4,9 +4,9 @@ import "../Base"
|
||||
import "utils.js" as ChatJS
|
||||
|
||||
HGlassRectangle {
|
||||
property var typingUsers: chatPage.roomInfo.typingUsers
|
||||
property var typingMembers: chatPage.roomInfo.typingMembers
|
||||
|
||||
color: HStyle.chat.typingUsers.background
|
||||
color: HStyle.chat.typingMembers.background
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.minimumHeight: usersLabel.text ? usersLabel.implicitHeight : 0
|
||||
@@ -16,7 +16,7 @@ HGlassRectangle {
|
||||
id: usersLabel
|
||||
anchors.fill: parent
|
||||
|
||||
text: ChatJS.getTypingUsersText(typingUsers, chatPage.userId)
|
||||
text: ChatJS.getTypingMembersText(typingMembers, chatPage.userId)
|
||||
elide: Text.ElideMiddle
|
||||
maximumLineCount: 1
|
||||
}
|
@@ -84,9 +84,7 @@ function getHistoryVisibilityEventText(dict) {
|
||||
function getStateDisplayName(dict) {
|
||||
// The dict.content.displayname may be outdated, prefer
|
||||
// retrieving it fresh
|
||||
var name = Backend.getUserDisplayName(dict.state_key, false)
|
||||
return name === dict.state_key ?
|
||||
dict.content.displayname : name.result()
|
||||
return Backend.users.get(dict.state_key).displayName.value
|
||||
}
|
||||
|
||||
|
||||
@@ -168,7 +166,7 @@ function getLeftBannerText(leftEvent) {
|
||||
|
||||
if (info.membership)
|
||||
|
||||
var name = Backend.getUserDisplayName(leftEvent.sender, false).result()
|
||||
var name = Backend.users.get(leftEvent.sender).displayName.value
|
||||
|
||||
return "<b>" + name + "</b> " +
|
||||
(info.membership == "ban" ?
|
||||
@@ -187,19 +185,19 @@ function getLeftBannerText(leftEvent) {
|
||||
|
||||
function getLeftBannerAvatarName(leftEvent, accountId) {
|
||||
if (! leftEvent || leftEvent.state_key == leftEvent.sender) {
|
||||
return Backend.getUserDisplayName(accountId, false).result()
|
||||
return Backend.users.get(accountId).displayName.value
|
||||
}
|
||||
|
||||
return Backend.getUserDisplayName(leftEvent.sender, false).result()
|
||||
return Backend.users.get(leftEvent.sender).displayName.value
|
||||
}
|
||||
|
||||
|
||||
function getTypingUsersText(users, ourAccountId) {
|
||||
function getTypingMembersText(users, ourAccountId) {
|
||||
var names = []
|
||||
|
||||
for (var i = 0; i < users.length; i++) {
|
||||
if (users[i] !== ourAccountId) {
|
||||
names.push(Backend.getUserDisplayName(users[i], false).result())
|
||||
names.push(Backend.users.get(users[i]).displayName.value)
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user