summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2020-09-17 20:38:05 +0300
committerGeorge Hazan <ghazan@miranda.im>2020-09-17 20:38:05 +0300
commit73c1261a4fd2a7adfa496e054846c61167ce7fff (patch)
treeedfd2f9f92f3a8bbe528ebc0e2628db91ee9c3c6
parent5d2c869e92a471e883990a0d18f4a1b37a5e10ad (diff)
muted chat not to generate any sounds either
-rw-r--r--include/m_chat_int.h4
-rw-r--r--plugins/TabSRMM/src/chat_tools.cpp2
-rw-r--r--src/mir_app/src/chat.h4
-rw-r--r--src/mir_app/src/chat_manager.cpp2
-rw-r--r--src/mir_app/src/chat_tools.cpp5
5 files changed, 10 insertions, 7 deletions
diff --git a/include/m_chat_int.h b/include/m_chat_int.h
index d0dfff4bce..f5605f80a6 100644
--- a/include/m_chat_int.h
+++ b/include/m_chat_int.h
@@ -75,6 +75,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define ICON_STATUS4 18
#define ICON_STATUS5 19
+#define CHATMODE_NORMAL 0
+#define CHATMODE_MUTE 1
+#define CHATMODE_UNMUTE 2
+
//structs
struct SESSION_INFO;
diff --git a/plugins/TabSRMM/src/chat_tools.cpp b/plugins/TabSRMM/src/chat_tools.cpp
index ad2b476e04..1e3043a4a4 100644
--- a/plugins/TabSRMM/src/chat_tools.cpp
+++ b/plugins/TabSRMM/src/chat_tools.cpp
@@ -406,6 +406,8 @@ BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight
if (!(db_get_dw(0, CHAT_MODULE, "SoundFlags", GC_EVENT_HIGHLIGHT) & params->iEvent))
params->sound = nullptr;
+ else if (CHATMODE_MUTE == db_get_b(si->hContact, "SRMM", "MuteMode", CHATMODE_NORMAL))
+ params->sound = nullptr;
}
else {
switch (params->iEvent) {
diff --git a/src/mir_app/src/chat.h b/src/mir_app/src/chat.h
index edefe3af39..790bb5ec18 100644
--- a/src/mir_app/src/chat.h
+++ b/src/mir_app/src/chat.h
@@ -25,10 +25,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <m_popup.h>
#include <m_fontservice.h>
-#define CHATMODE_NORMAL 0
-#define CHATMODE_MUTE 1
-#define CHATMODE_UNMUTE 2
-
void Srmm_CreateToolbarIcons(HWND hwndDlg, int flags);
void Srmm_ProcessToolbarHotkey(MCONTACT hContact, INT_PTR iButtonFrom, HWND hwndDlg);
diff --git a/src/mir_app/src/chat_manager.cpp b/src/mir_app/src/chat_manager.cpp
index 74b56fed8c..7456567452 100644
--- a/src/mir_app/src/chat_manager.cpp
+++ b/src/mir_app/src/chat_manager.cpp
@@ -78,7 +78,7 @@ static SESSION_INFO* GetActiveSession(void)
// Log manager functions
// Necessary to keep track of events in a window log
-static LOGINFO *LM_AddEvent(LOGINFO **ppLogListStart, LOGINFO **ppLogListEnd)
+static LOGINFO* LM_AddEvent(LOGINFO **ppLogListStart, LOGINFO **ppLogListEnd)
{
if (!ppLogListStart || !ppLogListEnd)
return nullptr;
diff --git a/src/mir_app/src/chat_tools.cpp b/src/mir_app/src/chat_tools.cpp
index 424ead734e..682c176aeb 100644
--- a/src/mir_app/src/chat_tools.cpp
+++ b/src/mir_app/src/chat_tools.cpp
@@ -367,10 +367,11 @@ BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight
BOOL bInactive = si->pDlg == nullptr || !si->pDlg->IsActive();
int iEvent = gce->iType;
+ bool bMute = db_get_b(si->hContact, "SRMM", "MuteMode", CHATMODE_NORMAL) == CHATMODE_MUTE;
if (bHighlight) {
gce->iType |= GC_EVENT_HIGHLIGHT;
- if (bInactive || !g_Settings->bSoundsFocus)
+ if (!bMute && (bInactive || !g_Settings->bSoundsFocus))
Skin_PlaySound("ChatHighlight");
if (Contact_IsHidden(si->hContact))
Contact_Hide(si->hContact, false);
@@ -419,7 +420,7 @@ BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight
}
if (db_get_dw(0, CHAT_MODULE, "SoundFlags", GC_EVENT_HIGHLIGHT) & iEvent)
- if (szSound && (bInactive || !g_Settings->bSoundsFocus))
+ if (!bMute && szSound && (bInactive || !g_Settings->bSoundsFocus))
Skin_PlaySound(szSound);
}