summaryrefslogtreecommitdiff
path: root/plugins/Clist_modern/src
diff options
context:
space:
mode:
authordartraiden <wowemuh@gmail.com>2019-07-21 19:59:18 +0300
committerdartraiden <wowemuh@gmail.com>2019-07-21 19:59:18 +0300
commitb078dfb78c89aea87cd422eae52694738e473cf3 (patch)
treeca896e82a8a5ce81f80d041f4aee7fdeeb007162 /plugins/Clist_modern/src
parentee7e29d02e94e969c1154515cd0c408c591a2414 (diff)
Restore "Free for chat" status support (fixes #1963)
Diffstat (limited to 'plugins/Clist_modern/src')
-rw-r--r--plugins/Clist_modern/src/modern_clc.h1
-rw-r--r--plugins/Clist_modern/src/modern_clcmsgs.cpp1
-rw-r--r--plugins/Clist_modern/src/modern_clcopts.cpp7
-rw-r--r--plugins/Clist_modern/src/modern_clcpaint.cpp3
-rw-r--r--plugins/Clist_modern/src/modern_clcpaint.h1
-rw-r--r--plugins/Clist_modern/src/modern_clisttray.cpp1
-rw-r--r--plugins/Clist_modern/src/modern_clui.cpp6
-rw-r--r--plugins/Clist_modern/src/modern_contact.cpp3
-rw-r--r--plugins/Clist_modern/src/modern_rowheight_funcs.cpp2
-rw-r--r--plugins/Clist_modern/src/resource.h2
10 files changed, 21 insertions, 6 deletions
diff --git a/plugins/Clist_modern/src/modern_clc.h b/plugins/Clist_modern/src/modern_clc.h
index 967d6b17aa..c26cc854b2 100644
--- a/plugins/Clist_modern/src/modern_clc.h
+++ b/plugins/Clist_modern/src/modern_clc.h
@@ -82,6 +82,7 @@ void clcSetDelayTimer(UINT_PTR uIDEvent, HWND hwnd, int nDelay = -1);
#define FONTID_DND 11
#define FONTID_NA 12
#define FONTID_OCCUPIED 13
+#define FONTID_CHAT 14
#define FONTID_INVISIBLE 15
#define FONTID_CONTACT_TIME 18
#define FONTID_CLOSEDGROUPS 19
diff --git a/plugins/Clist_modern/src/modern_clcmsgs.cpp b/plugins/Clist_modern/src/modern_clcmsgs.cpp
index 79aaedf31f..12928facf9 100644
--- a/plugins/Clist_modern/src/modern_clcmsgs.cpp
+++ b/plugins/Clist_modern/src/modern_clcmsgs.cpp
@@ -87,6 +87,7 @@ LRESULT cli_ProcessExternalMessages(HWND hwnd, ClcData *dat, UINT msg, WPARAM wP
dat->fontModernInfo[FONTID_DND].colour = lParam;
dat->fontModernInfo[FONTID_NA].colour = lParam;
dat->fontModernInfo[FONTID_OCCUPIED].colour = lParam;
+ dat->fontModernInfo[FONTID_CHAT].colour = lParam;
dat->fontModernInfo[FONTID_INVISIBLE].colour = lParam;
dat->fontModernInfo[FONTID_CONTACT_TIME].colour = lParam;
break;
diff --git a/plugins/Clist_modern/src/modern_clcopts.cpp b/plugins/Clist_modern/src/modern_clcopts.cpp
index 790ae94055..5bf36d5ccf 100644
--- a/plugins/Clist_modern/src/modern_clcopts.cpp
+++ b/plugins/Clist_modern/src/modern_clcopts.cpp
@@ -74,6 +74,7 @@ static fontOptionsList[] =
{ FIDF_CLASSGENERAL, FONTID_DND, CLCGROUP, LPGENW("Do not disturb contacts"), DEFAULT_COLOUR, DEFAULT_FAMILY, DEFAULT_CHARSET, FONTF_NORMAL, DEFAULT_SIZE, DEFAULT_EFFECT },
{ FIDF_CLASSGENERAL, FONTID_NA, CLCGROUP, LPGENW("Not available contacts"), DEFAULT_COLOUR, DEFAULT_FAMILY, DEFAULT_CHARSET, FONTF_NORMAL, DEFAULT_SIZE, DEFAULT_EFFECT },
{ FIDF_CLASSGENERAL, FONTID_OCCUPIED, CLCGROUP, LPGENW("Occupied contacts"), DEFAULT_COLOUR, DEFAULT_FAMILY, DEFAULT_CHARSET, FONTF_NORMAL, DEFAULT_SIZE, DEFAULT_EFFECT },
+ { FIDF_CLASSGENERAL, FONTID_CHAT, CLCGROUP, LPGENW("Free for chat contacts"), DEFAULT_COLOUR, DEFAULT_FAMILY, DEFAULT_CHARSET, FONTF_NORMAL, DEFAULT_SIZE, DEFAULT_EFFECT },
{ FIDF_CLASSGENERAL, FONTID_INVISIBLE, CLCGROUP, LPGENW("Invisible contacts"), DEFAULT_COLOUR, DEFAULT_FAMILY, DEFAULT_CHARSET, FONTF_NORMAL, DEFAULT_SIZE, DEFAULT_EFFECT },
{ FIDF_CLASSGENERAL, FONTID_OFFLINE, CLCGROUP, LPGENW("Offline contacts"), DEFAULT_GREYCOLOUR, DEFAULT_FAMILY, DEFAULT_CHARSET, FONTF_NORMAL, DEFAULT_SIZE, DEFAULT_EFFECT },
{ FIDF_CLASSGENERAL, FONTID_INVIS, CLCGROUP, LPGENW("Online contacts to whom you have a different visibility"), DEFAULT_COLOUR, DEFAULT_FAMILY, DEFAULT_CHARSET, FONTF_NORMAL, DEFAULT_SIZE, DEFAULT_EFFECT },
@@ -253,7 +254,8 @@ static const struct CheckBoxValues_t greyoutValues[] = {
{ PF2_LONGAWAY, LPGENW("Not available") },
{ PF2_LIGHTDND, LPGENW("Occupied") },
{ PF2_HEAVYDND, LPGENW("Do not disturb") },
- { PF2_INVISIBLE, LPGENW("Invisible") },
+ { PF2_FREECHAT, LPGENW("Free for chat") },
+ { PF2_INVISIBLE, LPGENW("Invisible") }
};
static const struct CheckBoxValues_t offlineValues[] = {
@@ -263,7 +265,8 @@ static const struct CheckBoxValues_t offlineValues[] = {
{ PF2_LONGAWAY, LPGENW("Not available") },
{ PF2_LIGHTDND, LPGENW("Occupied") },
{ PF2_HEAVYDND, LPGENW("Do not disturb") },
- { PF2_INVISIBLE, LPGENW("Invisible") },
+ { PF2_FREECHAT, LPGENW("Free for chat") },
+ { PF2_INVISIBLE, LPGENW("Invisible") }
};
static void FillCheckBoxTree(HWND hwndTree, const struct CheckBoxValues_t *values, int nValues, DWORD style)
diff --git a/plugins/Clist_modern/src/modern_clcpaint.cpp b/plugins/Clist_modern/src/modern_clcpaint.cpp
index 04280de335..0e25c8159c 100644
--- a/plugins/Clist_modern/src/modern_clcpaint.cpp
+++ b/plugins/Clist_modern/src/modern_clcpaint.cpp
@@ -54,6 +54,7 @@ const char* CLCPaint::HASHTEXT[hi_LastItem] = {
"DND",
"NA",
"OCCUPIED",
+ "FREECHAT",
"INVISIBLE",
"IDLE",
"OFFLINE",
@@ -170,6 +171,7 @@ int CLCPaint::GetBasicFontID(ClcContact *contact)
case ID_STATUS_DND: return FONTID_DND;
case ID_STATUS_NA: return FONTID_NA;
case ID_STATUS_OCCUPIED: return FONTID_OCCUPIED;
+ case ID_STATUS_FREECHAT: return FONTID_CHAT;
case ID_STATUS_INVISIBLE: return FONTID_INVISIBLE;
}
@@ -521,6 +523,7 @@ MODERNMASK* CLCPaint::_GetCLCContactRowBackModernMask(ClcGroup *group, ClcContac
case ID_STATUS_DND: _AddParamShort(mpModernMask, hi_Status, hi_DND); break;
case ID_STATUS_NA: _AddParamShort(mpModernMask, hi_Status, hi_NA); break;
case ID_STATUS_OCCUPIED: _AddParamShort(mpModernMask, hi_Status, hi_OCCUPIED); break;
+ case ID_STATUS_FREECHAT: _AddParamShort(mpModernMask, hi_Status, hi_FREECHAT); break;
case ID_STATUS_INVISIBLE: _AddParamShort(mpModernMask, hi_Status, hi_INVISIBLE); break;
case ID_STATUS_IDLE: _AddParamShort(mpModernMask, hi_Status, hi_IDLE); break;
default: _AddParamShort(mpModernMask, hi_Status, hi_OFFLINE);
diff --git a/plugins/Clist_modern/src/modern_clcpaint.h b/plugins/Clist_modern/src/modern_clcpaint.h
index d6bb60af40..20699e003c 100644
--- a/plugins/Clist_modern/src/modern_clcpaint.h
+++ b/plugins/Clist_modern/src/modern_clcpaint.h
@@ -62,6 +62,7 @@ private:
hi_DND,
hi_NA,
hi_OCCUPIED,
+ hi_FREECHAT,
hi_INVISIBLE,
hi_IDLE,
hi_OFFLINE,
diff --git a/plugins/Clist_modern/src/modern_clisttray.cpp b/plugins/Clist_modern/src/modern_clisttray.cpp
index 596a7256df..e464d57e8b 100644
--- a/plugins/Clist_modern/src/modern_clisttray.cpp
+++ b/plugins/Clist_modern/src/modern_clisttray.cpp
@@ -63,6 +63,7 @@ int GetStatusVal(int status)
switch (status) {
case ID_STATUS_OFFLINE: return 50;
case ID_STATUS_ONLINE: return 100;
+ case ID_STATUS_FREECHAT: return 110;
case ID_STATUS_INVISIBLE: return 120;
case ID_STATUS_AWAY: return 200;
case ID_STATUS_DND: return 210;
diff --git a/plugins/Clist_modern/src/modern_clui.cpp b/plugins/Clist_modern/src/modern_clui.cpp
index cf75e7b84e..6641cd1c62 100644
--- a/plugins/Clist_modern/src/modern_clui.cpp
+++ b/plugins/Clist_modern/src/modern_clui.cpp
@@ -119,7 +119,8 @@ OVERLAYICONINFO g_pAvatarOverlayIcons[MAX_STATUS_COUNT] =
{ "AVATAR_OVERLAY_DND", LPGEN("Do not disturb"), IDI_AVATAR_OVERLAY_DND, -1 },
{ "AVATAR_OVERLAY_NA", LPGEN("Not available"), IDI_AVATAR_OVERLAY_NA, -1 },
{ "AVATAR_OVERLAY_OCCUPIED", LPGEN("Occupied"), IDI_AVATAR_OVERLAY_OCCUPIED, -1 },
- { "AVATAR_OVERLAY_INVISIBLE", LPGEN("Invisible"), IDI_AVATAR_OVERLAY_INVISIBLE, -1 },
+ { "AVATAR_OVERLAY_CHAT", LPGEN("Free for chat"), IDI_AVATAR_OVERLAY_CHAT, -1 },
+ { "AVATAR_OVERLAY_INVISIBLE", LPGEN("Invisible"), IDI_AVATAR_OVERLAY_INVISIBLE, -1 }
};
OVERLAYICONINFO g_pStatusOverlayIcons[MAX_STATUS_COUNT] =
@@ -130,7 +131,8 @@ OVERLAYICONINFO g_pStatusOverlayIcons[MAX_STATUS_COUNT] =
{ "STATUS_OVERLAY_DND", LPGEN("Do not disturb"), IDI_STATUS_OVERLAY_DND, -1 },
{ "STATUS_OVERLAY_NA", LPGEN("Not available"), IDI_STATUS_OVERLAY_NA, -1 },
{ "STATUS_OVERLAY_OCCUPIED", LPGEN("Occupied"), IDI_STATUS_OVERLAY_OCCUPIED, -1 },
- { "STATUS_OVERLAY_INVISIBLE", LPGEN("Invisible"), IDI_STATUS_OVERLAY_INVISIBLE, -1 },
+ { "STATUS_OVERLAY_CHAT", LPGEN("Free for chat"), IDI_STATUS_OVERLAY_CHAT, -1 },
+ { "STATUS_OVERLAY_INVISIBLE", LPGEN("Invisible"), IDI_STATUS_OVERLAY_INVISIBLE, -1 }
};
//////////////// CLUI CLASS IMPLEMENTATION // ///////////////////////////////
diff --git a/plugins/Clist_modern/src/modern_contact.cpp b/plugins/Clist_modern/src/modern_contact.cpp
index d3592fb2f7..78789e5d80 100644
--- a/plugins/Clist_modern/src/modern_contact.cpp
+++ b/plugins/Clist_modern/src/modern_contact.cpp
@@ -36,7 +36,8 @@ static statusModeOrder[] =
{ ID_STATUS_DND, 110 },
{ ID_STATUS_NA, 450 },
{ ID_STATUS_OCCUPIED, 100 },
- { ID_STATUS_INVISIBLE, 20 },
+ { ID_STATUS_FREECHAT, 0 },
+ { ID_STATUS_INVISIBLE, 20 }
};
static int LocaleId = -1;
diff --git a/plugins/Clist_modern/src/modern_rowheight_funcs.cpp b/plugins/Clist_modern/src/modern_rowheight_funcs.cpp
index f9e3497a45..588ba21e21 100644
--- a/plugins/Clist_modern/src/modern_rowheight_funcs.cpp
+++ b/plugins/Clist_modern/src/modern_rowheight_funcs.cpp
@@ -324,7 +324,7 @@ BOOL RowHeights_Alloc(ClcData *dat, int size)
static int contact_fonts[] = {
FONTID_CONTACTS, FONTID_INVIS, FONTID_OFFLINE, FONTID_NOTONLIST, FONTID_OFFINVIS,
- FONTID_AWAY, FONTID_DND, FONTID_NA, FONTID_OCCUPIED, FONTID_INVISIBLE };
+ FONTID_AWAY, FONTID_DND, FONTID_NA, FONTID_OCCUPIED, FONTID_CHAT, FONTID_INVISIBLE };
static int other_fonts[] = { FONTID_OPENGROUPS, FONTID_OPENGROUPCOUNTS, FONTID_CLOSEDGROUPS, FONTID_CLOSEDGROUPCOUNTS, FONTID_DIVIDERS, FONTID_CONTACT_TIME };
diff --git a/plugins/Clist_modern/src/resource.h b/plugins/Clist_modern/src/resource.h
index 4d1e111c47..ddaf7b5b40 100644
--- a/plugins/Clist_modern/src/resource.h
+++ b/plugins/Clist_modern/src/resource.h
@@ -71,6 +71,7 @@
#define IDI_AVATAR_OVERLAY_AWAY 362
#define IDI_AVATAR_OVERLAY_DND 363
#define IDI_AVATAR_OVERLAY_INVISIBLE 364
+#define IDI_AVATAR_OVERLAY_CHAT 366
#define IDI_ICQC1 367
#define IDI_ICQC2 368
#define IDI_ICQC3 369
@@ -93,6 +94,7 @@
#define IDI_STATUS_OVERLAY_AWAY 405
#define IDI_STATUS_OVERLAY_DND 406
#define IDI_STATUS_OVERLAY_INVISIBLE 407
+#define IDI_STATUS_OVERLAY_CHAT 409
#define IDR_TGA_DEFAULT_SKIN 413
#define IDR_MSF_DEFAULT_SKIN 413
#define IDD_OPT_CLUI_2 451