Mute/Unmute Chatrooms

This commit is contained in:
Christophe Deschamps 2025-06-19 18:30:57 +02:00
parent 0470988c32
commit 7484962441
8 changed files with 96 additions and 5 deletions

View file

@ -319,6 +319,8 @@ void Notifier::notifyReceivedMessages(const std::shared_ptr<linphone::ChatRoom>
const list<shared_ptr<linphone::ChatMessage>> &messages) {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
if (room->getMuted()) return;
QString txt;
QString remoteAddress;

View file

@ -1774,6 +1774,18 @@
<extracomment>&quot;Supprimer&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="340"/>
<source>chat_room_mute</source>
<extracomment>&quot;Mute&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="340"/>
<source>chat_room_unmute</source>
<extracomment>&quot;Unmute&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="346"/>
<source>chat_list_delete_chat_popup_title</source>
@ -3082,6 +3094,12 @@ Error</extracomment>
<extracomment>&quot;Sourdine&quot;</extracomment>
<translation>Stummschalten</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="117"/>
<source>group_infos_unmute</source>
<extracomment>&quot;Réactiver les notifications&quot;</extracomment>
<translation>Unmute</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="139"/>
<source>group_infos_meeting</source>
@ -4245,6 +4263,12 @@ Error</extracomment>
<extracomment>&quot;Sourdine&quot;</extracomment>
<translation>Stummschalten</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/OneOneConversationInfos.qml" line="74"/>
<source>one_one_infos_unmute</source>
<extracomment>&quot;Réactiver les notifications&quot;</extracomment>
<translation>Unmute</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/OneOneConversationInfos.qml" line="86"/>
<source>one_one_infos_search</source>

View file

@ -1736,6 +1736,18 @@
<extracomment>&quot;Supprimer&quot;</extracomment>
<translation>Delete</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="340"/>
<source>chat_room_mute</source>
<extracomment>&quot;Sourdine&quot;</extracomment>
<translation>Mute</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="340"/>
<source>chat_room_unmute</source>
<extracomment>&quot;Unmute&quot;</extracomment>
<translation>Unmute</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="346"/>
<source>chat_list_delete_chat_popup_title</source>
@ -3005,6 +3017,12 @@ Only your correspondent can decrypt them.</translation>
<extracomment>&quot;Sourdine&quot;</extracomment>
<translation>Mute</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="117"/>
<source>group_infos_unmute</source>
<extracomment>&quot;Réactiver les notifications&quot;</extracomment>
<translation>Unmute</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="139"/>
<source>group_infos_meeting</source>
@ -4158,6 +4176,12 @@ Only your correspondent can decrypt them.</translation>
<extracomment>&quot;Sourdine&quot;</extracomment>
<translation>Mute</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/OneOneConversationInfos.qml" line="74"/>
<source>one_one_infos_unmute</source>
<extracomment>&quot;Réactiver les notifications&quot;</extracomment>
<translation>Unmute</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/OneOneConversationInfos.qml" line="86"/>
<source>one_one_infos_search</source>

View file

@ -1736,6 +1736,18 @@
<extracomment>&quot;Supprimer&quot;</extracomment>
<translation>Supprimer</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="340"/>
<source>chat_room_mute</source>
<extracomment>&quot;Sourdine&quot;</extracomment>
<translation>Mettre en sourdine</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="340"/>
<source>chat_room_unmute</source>
<extracomment>&quot;Unmute&quot;</extracomment>
<translation>Enlever la sourdine </translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="346"/>
<source>chat_list_delete_chat_popup_title</source>
@ -3005,6 +3017,12 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<extracomment>&quot;Sourdine&quot;</extracomment>
<translation>Sourdine</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="117"/>
<source>group_infos_unmute</source>
<extracomment>&quot;Réactiver les notifications&quot;</extracomment>
<translation>Réactiver les notifications</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="139"/>
<source>group_infos_meeting</source>
@ -4158,6 +4176,12 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<extracomment>&quot;Sourdine&quot;</extracomment>
<translation>Sourdine</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/OneOneConversationInfos.qml" line="74"/>
<source>one_one_infos_unmute</source>
<extracomment>&quot;Réactiver les notifications&quot;</extracomment>
<translation>Réactiver les notifications</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/OneOneConversationInfos.qml" line="86"/>
<source>one_one_infos_search</source>

View file

@ -335,6 +335,17 @@ ListView {
visible: mouseArea.containsMouse || hovered || popup.opened
enabled: visible
popup.contentItem: ColumnLayout {
IconLabelButton {
//: "Sourdine"
text: modelData.core.muted ? qsTr("chat_room_unmute") : qsTr("chat_room_mute")
icon.source: modelData.core.muted ? AppIcons.bell : AppIcons.bellSlash
spacing: Math.round(10 * DefaultStyle.dp)
Layout.fillWidth: true
onClicked: {
modelData.core.muted = !modelData.core.muted
chatroomPopup.close()
}
}
IconLabelButton {
//: "Supprimer"
text: qsTr("chat_room_delete")

View file

@ -81,6 +81,14 @@ RowLayout {
capitalization: Font.Capitalize
}
}
EffectImage {
visible: mainItem.chat?.core.muted
Layout.preferredWidth: 20 * DefaultStyle.dp
Layout.alignment: Qt.AlignVCenter
Layout.preferredHeight: 20 * DefaultStyle.dp
colorizationColor: DefaultStyle.main1_500_main
imageSource: AppIcons.bellSlash
}
},
RowLayout {
anchors.right: parent.right

View file

@ -116,10 +116,8 @@ ColumnLayout {
button.icon.height: Math.round(24 * DefaultStyle.dp)
button.icon.source: chatCore.muted ? AppIcons.bell : AppIcons.bellSlash
//: "Sourdine"
label: qsTr("group_infos_mute")
button.onClicked: {
chatCore.muted = !chatCore.muted
}
label: chatCore.muted ? qsTr("group_infos_unmute") : qsTr("group_infos_mute")
button.onClicked: chatCore.muted = !chatCore.muted
}
LabelButton {
visible: !SettingsCpp.disableMeetingsFeature

View file

@ -71,7 +71,7 @@ ColumnLayout {
button.icon.height: Math.round(24 * DefaultStyle.dp)
button.icon.source: mainItem.chatCore.muted ? AppIcons.bell : AppIcons.bellSlash
//: "Sourdine"
label: qsTr("one_one_infos_mute")
label: mainItem.chatCore.muted ? qsTr("one_one_infos_unmute") : qsTr("one_one_infos_mute")
button.onClicked: {
mainItem.chatCore.muted = !mainItem.chatCore.muted
}