fix(community): fix community images not updating without a force reset
Fixes #16688
This commit is contained in:
parent
27ececad63
commit
85dd85d56d
|
@ -327,11 +327,29 @@ QtObject:
|
|||
|
||||
self.items[ind].members.updateToTheseItems(item.members.getItems())
|
||||
|
||||
let dataIndex = self.createIndex(ind, 0, nil)
|
||||
defer: dataIndex.delete
|
||||
|
||||
# Images come in the form of local URLs that do not change when they get updated
|
||||
# eg: localhost://communityId="0x1234...890"&format="thumbnail"
|
||||
# This means that the iamge won't update unless forced to
|
||||
if item.image != "" and self.items[ind].image == item.image:
|
||||
self.items[ind].image = ""
|
||||
self.dataChanged(dataIndex, dataIndex, @[ModelRole.Image.int])
|
||||
|
||||
self.items[ind].image = item.image
|
||||
roles.add(ModelRole.Image.int)
|
||||
# Same thing for the banner
|
||||
if item.bannerImageData != "" and self.items[ind].bannerImageData == item.bannerImageData:
|
||||
self.items[ind].bannerImageData = ""
|
||||
self.dataChanged(dataIndex, dataIndex, @[ModelRole.BannerImageData.int])
|
||||
|
||||
self.items[ind].bannerImageData = item.bannerImageData
|
||||
roles.add(ModelRole.BannerImageData.int)
|
||||
|
||||
if roles.len == 0:
|
||||
return
|
||||
|
||||
let dataIndex = self.createIndex(ind, 0, nil)
|
||||
defer: dataIndex.delete
|
||||
self.dataChanged(dataIndex, dataIndex, roles)
|
||||
|
||||
proc updateMemberItemInSections*(
|
||||
|
|
|
@ -54,6 +54,7 @@ Loader {
|
|||
width: parent.width
|
||||
height: parent.height
|
||||
image.source: root.asset.isImage ? root.asset.name : ""
|
||||
image.cache: root.asset.cache
|
||||
showLoadingIndicator: true
|
||||
border.width: root.asset.imgIsIdenticon ? 1 : 0
|
||||
border.color: Theme.palette.directColor7
|
||||
|
|
|
@ -40,6 +40,7 @@ QtObject {
|
|||
property bool isImage: isImgSrc(root.name)
|
||||
property int imgStatus
|
||||
property bool imgIsIdenticon: false
|
||||
property bool cache: true
|
||||
|
||||
// ring settings hints
|
||||
readonly property real ringPxSize: Math.max(1.5, root.width / 24.0)
|
||||
|
|
|
@ -290,6 +290,7 @@ Item {
|
|||
asset.name: assetName
|
||||
asset.isImage: chatContentModule && chatContentModule.chatDetails.icon !== ""
|
||||
asset.isLetterIdenticon: chatContentModule && chatContentModule.chatDetails.icon === ""
|
||||
asset.cache: false
|
||||
ringSettings.ringSpecModel: chatContentModule && chatContentModule.chatDetails.type === Constants.chatType.oneToOne ?
|
||||
Utils.getColorHashAsJson(chatContentModule.chatDetails.id) : ""
|
||||
asset.color: chatContentModule?
|
||||
|
|
|
@ -34,6 +34,7 @@ Control {
|
|||
asset.name: root.image
|
||||
asset.color: root.color
|
||||
asset.isImage: true
|
||||
asset.cache: false
|
||||
type: StatusChatInfoButton.Type.OneToOneChat
|
||||
hoverEnabled: root.amISectionAdmin
|
||||
onClicked: if(root.amISectionAdmin) root.infoButtonClicked()
|
||||
|
|
|
@ -30,6 +30,7 @@ RowLayout {
|
|||
title: root.joinCommunity ? root.name : root.channelName
|
||||
subTitle: root.joinCommunity ? root.communityDesc : root.channelDesc
|
||||
asset.color: root.color
|
||||
asset.cache: false
|
||||
enabled: false
|
||||
type: StatusChatInfoButton.Type.CommunityChat
|
||||
layer.enabled: root.joinCommunity // Blured when joining community but not when entering channel
|
||||
|
|
|
@ -118,6 +118,7 @@ StatusSectionLayout {
|
|||
asset.name: community.image
|
||||
asset.color: community.color
|
||||
asset.isImage: true
|
||||
asset.cache: false
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: Theme.halfPadding
|
||||
Layout.rightMargin: Theme.halfPadding
|
||||
|
|
|
@ -704,6 +704,7 @@ Item {
|
|||
icon.name: model.icon
|
||||
icon.source: model.image
|
||||
identicon.asset.color: (hovered || identicon.highlighted || checked) ? model.color : icon.color
|
||||
identicon.asset.cache: false
|
||||
tooltip.text: model.name
|
||||
checked: model.active
|
||||
badge.value: model.notificationsCount
|
||||
|
|
|
@ -96,6 +96,7 @@ Item {
|
|||
visible: root.state === d.dataImageState
|
||||
|
||||
image.source: root.dataImage
|
||||
image.cache: false
|
||||
showLoadingIndicator: true
|
||||
border.width: 1
|
||||
border.color: Theme.palette.border
|
||||
|
|
|
@ -174,6 +174,7 @@ StatusDialog {
|
|||
asset.name: visible ? d.communityDetails.image : ""
|
||||
asset.isImage: (asset.name !== "")
|
||||
asset.color: visible ? d.communityDetails.color : ""
|
||||
asset.cache: false
|
||||
}
|
||||
Item { Layout.fillWidth: true }
|
||||
StatusBaseText {
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit d99fdf1b672c2f8207371e7e2386a403196341b9
|
||||
Subproject commit d6a8ef4695329d081fbfeadb493fc6fb6c935edc
|
Loading…
Reference in New Issue