From b078dfb78c89aea87cd422eae52694738e473cf3 Mon Sep 17 00:00:00 2001
From: dartraiden <wowemuh@gmail.com>
Date: Sun, 21 Jul 2019 19:59:18 +0300
Subject: Restore "Free for chat" status support (fixes #1963)

---
 plugins/SeenPlugin/res/resource.rc | 3 +++
 plugins/SeenPlugin/src/utils.cpp   | 5 +++--
 2 files changed, 6 insertions(+), 2 deletions(-)

(limited to 'plugins/SeenPlugin')

diff --git a/plugins/SeenPlugin/res/resource.rc b/plugins/SeenPlugin/res/resource.rc
index abfd36e220..1446a3e89f 100644
--- a/plugins/SeenPlugin/res/resource.rc
+++ b/plugins/SeenPlugin/res/resource.rc
@@ -103,6 +103,9 @@ BEGIN
     RTEXT           "Do not disturb",IDC_STATIC,10,163,60,10
     CONTROL         "",ID_STATUS_DND,"ColourPicker",WS_TABSTOP,80,160,20,14
     CONTROL         "",40094,"ColourPicker",WS_TABSTOP,105,160,20,14
+    RTEXT           "Free for chat",IDC_STATIC,140,123,60,10
+    CONTROL         "",ID_STATUS_FREECHAT,"ColourPicker",WS_TABSTOP,210,120,20,14
+    CONTROL         "",40097,"ColourPicker",WS_TABSTOP,235,120,20,14
     RTEXT           "Invisible",IDC_STATIC,140,143,60,10
     CONTROL         "",ID_STATUS_INVISIBLE,"ColourPicker",WS_TABSTOP,210,140,20,14
     CONTROL         "",40098,"ColourPicker",WS_TABSTOP,235,140,20,14
diff --git a/plugins/SeenPlugin/src/utils.cpp b/plugins/SeenPlugin/src/utils.cpp
index a5ccd6ef54..59e62d1c71 100644
--- a/plugins/SeenPlugin/src/utils.cpp
+++ b/plugins/SeenPlugin/src/utils.cpp
@@ -426,7 +426,8 @@ DWORD StatusColors15bits[] = {
 	0x295C0000, // 0x005050E0, 0x00000000, DND - DarkRed
 	0x5EFD0000, // 0x00B8B8E8, 0x00000000, Not available - LightRed
 	0x295C0000, // 0x005050E0, 0x00000000, Occupied
-	0x76AF0000  // 0x00E8A878, 0x00000000, Invisible
+	0x43900000, // 0x0080E080, 0x00000000, Free for chat - LightGreen
+	0x76AF0000, // 0x00E8A878, 0x00000000, Invisible
 };
 
 DWORD GetDWordFromColors(COLORREF First, COLORREF Second)
@@ -498,7 +499,7 @@ void myPlaySound(MCONTACT hcontact, WORD newStatus, WORD oldStatus)
 	if (CallService(MS_IGNORE_ISIGNORED, (WPARAM)hcontact, IGNOREEVENT_USERONLINE)) return;
 	//oldStatus and hcontact are not used yet
 	char *soundname = nullptr;
-	if (newStatus == ID_STATUS_ONLINE) soundname = "LastSeenTrackedStatusOnline";
+	if ((newStatus == ID_STATUS_ONLINE) || (newStatus == ID_STATUS_FREECHAT)) soundname = "LastSeenTrackedStatusOnline";
 	else if (newStatus == ID_STATUS_OFFLINE) soundname = "LastSeenTrackedStatusOffline";
 	else if (oldStatus == ID_STATUS_OFFLINE) soundname = "LastSeenTrackedStatusFromOffline";
 	else soundname = "LastSeenTrackedStatusChange";
-- 
cgit v1.2.3