mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-22 04:21:44 +00:00
parent
8462c1c013
commit
76688733f5
@ -560,6 +560,18 @@ QtObject:
|
||||
selectedChannel.muted = false
|
||||
self.status.chat.unmuteChat(selectedChannel)
|
||||
self.chats.updateChat(selectedChannel)
|
||||
|
||||
proc muteCurrentChannel*(self: ChatsView) {.slot.} =
|
||||
self.activeChannel.mute()
|
||||
let channel = self.chats.getChannelById(self.activeChannel.id())
|
||||
channel.muted = true
|
||||
self.chats.updateChat(channel)
|
||||
|
||||
proc unmuteCurrentChannel*(self: ChatsView) {.slot.} =
|
||||
self.activeChannel.unmute()
|
||||
let channel = self.chats.getChannelById(self.activeChannel.id())
|
||||
channel.muted = false
|
||||
self.chats.updateChat(channel)
|
||||
|
||||
proc channelIsMuted*(self: ChatsView, channelIndex: int): bool {.slot.} =
|
||||
if (self.chats.chats.len == 0): return false
|
||||
|
@ -125,6 +125,15 @@ QtObject:
|
||||
read = isMember
|
||||
notify = membershipChanged
|
||||
|
||||
proc mutedChanged*(self: ChatItemView) {.signal.}
|
||||
|
||||
proc muted*(self: ChatItemView): bool {.slot.} =
|
||||
return ?.self.chatItem.muted
|
||||
|
||||
QtProperty[bool] muted:
|
||||
read = muted
|
||||
notify = mutedChanged
|
||||
|
||||
proc contains*(self: ChatItemView, pubKey: string): bool {.slot.} =
|
||||
if self.chatItem.isNil: return false
|
||||
return self.chatItem.contains(pubKey)
|
||||
@ -132,3 +141,13 @@ QtObject:
|
||||
proc isAdmin*(self: ChatItemView, pubKey: string): bool {.slot.} =
|
||||
if self.chatItem.isNil: return false
|
||||
return self.chatItem.isAdmin(pubKey)
|
||||
|
||||
proc mute*(self: ChatItemView) {.slot.} =
|
||||
self.status.chat.muteChat(self.chatItem)
|
||||
self.chatItem.muted = true
|
||||
self.mutedChanged()
|
||||
|
||||
proc unmute*(self: ChatItemView) {.slot.} =
|
||||
self.status.chat.unmuteChat(self.chatItem)
|
||||
self.chatItem.muted = false
|
||||
self.mutedChanged()
|
||||
|
@ -32,6 +32,7 @@ Rectangle {
|
||||
chatName: chatsModel.activeChannel.name
|
||||
chatType: chatsModel.activeChannel.chatType
|
||||
identicon: chatsModel.activeChannel.identicon
|
||||
muted: chatsModel.activeChannel.muted
|
||||
identiconSize: 36
|
||||
|
||||
onClicked: {
|
||||
@ -55,6 +56,7 @@ Rectangle {
|
||||
chatName: chatsModel.activeChannel.name
|
||||
chatType: chatsModel.activeChannel.chatType
|
||||
identicon: chatsModel.activeChannel.identicon
|
||||
muted: chatsModel.activeChannel.muted
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -83,6 +83,7 @@ Rectangle {
|
||||
anchors.right: contactTime.left
|
||||
anchors.rightMargin: Style.current.smallPadding
|
||||
elide: Text.ElideRight
|
||||
color: muted ? Style.current.secondaryText : Style.current.textColor
|
||||
font.weight: Font.Medium
|
||||
font.pixelSize: 15
|
||||
anchors.left: channelIcon.visible ? channelIcon.right : contactImage.right
|
||||
|
4
ui/app/img/bell-disabled.svg
Normal file
4
ui/app/img/bell-disabled.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="13" height="14" viewBox="0 0 13 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.95186 2.11736C8.16545 1.90377 8.14277 1.54794 7.87625 1.40578C7.38934 1.14607 6.83479 0.999998 6.25002 0.999998C4.52863 0.999998 3.0692 2.26576 2.82576 3.96984L2.39144 7.01005C2.36619 7.18684 2.68245 7.38677 2.80873 7.26049L7.95186 2.11736Z" fill="#939BA1"/>
|
||||
<path d="M0.202001 11.9879C-0.0730994 12.282 -0.0672105 12.7434 0.219669 13.0303C0.512563 13.3232 0.987436 13.3232 1.28033 13.0303L3.16421 11.1464C3.25798 11.0527 3.38516 11 3.51777 11H3.75C4.02614 11 4.24359 11.2273 4.31171 11.4949C4.53197 12.3601 5.31626 13 6.25 13C7.18374 13 7.96803 12.3601 8.18829 11.4949C8.25641 11.2273 8.47386 11 8.75 11H10.8358C11.7267 11 12.1729 9.92286 11.5429 9.29289L10.9571 8.7071C10.4981 8.24811 10.2004 7.65264 10.1086 7.01005L9.79296 4.80054C9.7707 4.64475 9.8231 4.48756 9.93438 4.37628L12.2803 2.03033C12.5732 1.73744 12.5732 1.26256 12.2803 0.969668C11.9935 0.682807 11.532 0.676903 11.238 0.951949C11.2322 0.958112 11.2263 0.964201 11.2203 0.970214L0.220328 11.9702C0.214295 11.9762 0.208185 11.9822 0.202001 11.9879Z" fill="#939BA1"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
@ -1,5 +1,6 @@
|
||||
import QtQuick 2.13
|
||||
import QtQuick.Controls 2.13
|
||||
import QtGraphicalEffects 1.13
|
||||
import "../../imports"
|
||||
import "../../shared"
|
||||
import "../../shared/status"
|
||||
@ -13,6 +14,7 @@ Item {
|
||||
property string identicon
|
||||
property int identiconSize: 40
|
||||
property bool isCompact: false
|
||||
property bool muted: false
|
||||
|
||||
property string profileImage: chatType === Constants.chatTypeOneToOne ? appMain.getProfileImage(chatId) || "" : ""
|
||||
|
||||
@ -61,6 +63,35 @@ Item {
|
||||
font.pixelSize: 15
|
||||
}
|
||||
|
||||
SVGImage {
|
||||
property bool hovered: false
|
||||
|
||||
id: bellImg
|
||||
visible: root.muted
|
||||
source: "../../app/img/bell-disabled.svg"
|
||||
anchors.verticalCenter: chatName.verticalCenter
|
||||
anchors.left: chatName.right
|
||||
anchors.leftMargin: 4
|
||||
width: 12.5
|
||||
height: 12.5
|
||||
|
||||
ColorOverlay {
|
||||
anchors.fill: parent
|
||||
source: parent
|
||||
color: bellImg.hovered ? Style.current.textColor : Style.current.darkGrey
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
hoverEnabled: true
|
||||
onEntered: bellImg.hovered = true
|
||||
onExited: bellImg.hovered = false
|
||||
onClicked: {
|
||||
chatsModel.unmuteCurrentChannel()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: profileModel.contacts
|
||||
|
@ -13,6 +13,7 @@ Button {
|
||||
property string identicon
|
||||
property int identiconSize: 40
|
||||
property bool isCompact: false
|
||||
property bool muted: false
|
||||
|
||||
implicitHeight: 48
|
||||
implicitWidth: content.width + 8
|
||||
@ -24,6 +25,7 @@ Button {
|
||||
chatId: control.chatId
|
||||
chatName: control.chatName
|
||||
chatType: control.chatType
|
||||
muted: control.muted
|
||||
identicon: {
|
||||
if (control.chatType === Constants.chatTypeOneToOne) {
|
||||
return appMain.getProfileImage(control.chatId) || control.identicon
|
||||
|
Loading…
x
Reference in New Issue
Block a user