From 6712ce9307350ef5c04f184b0cb80cfe75af77c5 Mon Sep 17 00:00:00 2001
From: George Hazan <ghazan@miranda.im>
Date: Thu, 7 Mar 2019 22:38:02 +0300
Subject: Srmm_ModifyIcon now changes only tooltip and/or icon,
 Srmm_SetIconFlags controls flags

---
 plugins/Scriver/src/chat_window.cpp |  4 +---
 plugins/Scriver/src/msgdialog.cpp   | 23 +++++++----------------
 plugins/Scriver/src/msgoptions.cpp  |  1 -
 plugins/Scriver/src/msgs.cpp        | 11 -----------
 plugins/Scriver/src/stdafx.h        |  1 -
 5 files changed, 8 insertions(+), 32 deletions(-)

(limited to 'plugins/Scriver/src')

diff --git a/plugins/Scriver/src/chat_window.cpp b/plugins/Scriver/src/chat_window.cpp
index 9b2384c485..d3b8863594 100644
--- a/plugins/Scriver/src/chat_window.cpp
+++ b/plugins/Scriver/src/chat_window.cpp
@@ -515,9 +515,7 @@ void CChatRoomDlg::UpdateStatusBar()
 	sbd.pszText = L"";
 	SendMessage(m_hwndParent, CM_UPDATESTATUSBAR, (WPARAM)&sbd, (LPARAM)m_hwnd);
 
-	StatusIconData sid = {};
-	sid.szModule = SRMM_MODULE;
-	Srmm_ModifyIcon(m_hContact, &sid);
+	Srmm_SetIconFlags(m_hContact, SRMM_MODULE, 0, 0);
 }
 
 void CChatRoomDlg::UpdateTitle()
diff --git a/plugins/Scriver/src/msgdialog.cpp b/plugins/Scriver/src/msgdialog.cpp
index 2abee8259e..91db9a165a 100644
--- a/plugins/Scriver/src/msgdialog.cpp
+++ b/plugins/Scriver/src/msgdialog.cpp
@@ -769,17 +769,13 @@ void CSrmmWindow::UpdateStatusBar()
 		SendMessage(m_hwndParent, CM_UPDATESTATUSBAR, (WPARAM)&sbd, (LPARAM)m_hwnd);
 		UpdateReadChars();
 
-		StatusIconData sid = {};
-		sid.szModule = SRMM_MODULE;
-		sid.flags = MBF_DISABLED;
-		Srmm_ModifyIcon(m_hContact, &sid);
-		sid.dwId = 1;
-		if (IsTypingNotificationSupported() && g_dat.flags2 & SMF2_SHOWTYPINGSWITCH)
-			sid.flags = (g_plugin.getByte(m_hContact, SRMSGSET_TYPING, g_plugin.getByte(SRMSGSET_TYPINGNEW, SRMSGDEFSET_TYPINGNEW))) ? 0 : MBF_DISABLED;
-		else
-			sid.flags = MBF_HIDDEN;
+		Srmm_SetIconFlags(m_hContact, SRMM_MODULE, 0, MBF_DISABLED);
 
-		Srmm_ModifyIcon(m_hContact, &sid);
+		if (IsTypingNotificationSupported() && g_dat.flags2 & SMF2_SHOWTYPINGSWITCH) {
+			int mode = g_plugin.getByte(m_hContact, SRMSGSET_TYPING, g_plugin.getByte(SRMSGSET_TYPINGNEW, SRMSGDEFSET_TYPINGNEW));
+			Srmm_SetIconFlags(m_hContact, SRMM_MODULE, 1, mode ? 0 : MBF_DISABLED);
+		}
+		else Srmm_SetIconFlags(m_hContact, SRMM_MODULE, 1, MBF_HIDDEN);
 	}
 }
 
@@ -1273,14 +1269,9 @@ INT_PTR CSrmmWindow::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam)
 
 	case DM_SWITCHTYPING:
 		if (IsTypingNotificationSupported()) {
-			StatusIconData sid = {};
-			sid.szModule = SRMM_MODULE;
-			sid.dwId = 1;
-
 			BYTE typingNotify = (g_plugin.getByte(m_hContact, SRMSGSET_TYPING, g_plugin.getByte(SRMSGSET_TYPINGNEW, SRMSGDEFSET_TYPINGNEW)));
 			g_plugin.setByte(m_hContact, SRMSGSET_TYPING, (BYTE)!typingNotify);
-			sid.flags = typingNotify ? MBF_DISABLED : 0;
-			Srmm_ModifyIcon(m_hContact, &sid);
+			Srmm_SetIconFlags(m_hContact, SRMM_MODULE, 1, typingNotify ? MBF_DISABLED : 0);
 		}
 		break;
 
diff --git a/plugins/Scriver/src/msgoptions.cpp b/plugins/Scriver/src/msgoptions.cpp
index 6f2ec42c36..393ecddc0c 100644
--- a/plugins/Scriver/src/msgoptions.cpp
+++ b/plugins/Scriver/src/msgoptions.cpp
@@ -130,7 +130,6 @@ int IconsChanged(WPARAM, LPARAM)
 	LoadGlobalIcons();
 	FreeMsgLogIcons();
 	LoadMsgLogIcons();
-	ChangeStatusIcons();
 	Srmm_Broadcast(DM_REMAKELOG, 0, 0);
 	Srmm_Broadcast(DM_CHANGEICONS, 0, 1);
 	return 0;
diff --git a/plugins/Scriver/src/msgs.cpp b/plugins/Scriver/src/msgs.cpp
index 9913193237..8355dc8868 100644
--- a/plugins/Scriver/src/msgs.cpp
+++ b/plugins/Scriver/src/msgs.cpp
@@ -408,17 +408,6 @@ static void RegisterStatusIcons()
 	Srmm_AddIcon(&sid, &g_plugin);
 }
 
-void ChangeStatusIcons()
-{
-	StatusIconData sid = {};
-	sid.szModule = SRMM_MODULE;
-	sid.dwId = 1;
-	sid.hIcon = GetCachedIcon("scriver_TYPING");
-	sid.hIconDisabled = GetCachedIcon("scriver_TYPINGOFF");
-	sid.flags = MBF_HIDDEN;
-	Srmm_ModifyIcon(0, &sid);
-}
-
 int StatusIconPressed(WPARAM wParam, LPARAM lParam)
 {
 	StatusIconClickData *sicd = (StatusIconClickData *) lParam;
diff --git a/plugins/Scriver/src/stdafx.h b/plugins/Scriver/src/stdafx.h
index e1ae6b4b96..ad8cc20feb 100644
--- a/plugins/Scriver/src/stdafx.h
+++ b/plugins/Scriver/src/stdafx.h
@@ -98,7 +98,6 @@ struct CMPlugin : public PLUGIN<CMPlugin>
 extern HCURSOR hDragCursor;
 extern ITaskbarList3 *pTaskbarInterface;
 
-void ChangeStatusIcons();
 void LoadInfobarFonts();
 
 #define SPLITTER_HEIGHT   4
-- 
cgit v1.2.3