diff options
author | dartraiden <wowemuh@gmail.com> | 2019-07-21 19:59:18 +0300 |
---|---|---|
committer | dartraiden <wowemuh@gmail.com> | 2019-07-21 19:59:18 +0300 |
commit | b078dfb78c89aea87cd422eae52694738e473cf3 (patch) | |
tree | ca896e82a8a5ce81f80d041f4aee7fdeeb007162 /src/mir_app | |
parent | ee7e29d02e94e969c1154515cd0c408c591a2414 (diff) |
Restore "Free for chat" status support (fixes #1963)
Diffstat (limited to 'src/mir_app')
-rw-r--r-- | src/mir_app/res/resource.rc | 3 | ||||
-rw-r--r-- | src/mir_app/src/clcidents.cpp | 1 | ||||
-rw-r--r-- | src/mir_app/src/clcutils.cpp | 1 | ||||
-rw-r--r-- | src/mir_app/src/clistmod.cpp | 3 | ||||
-rw-r--r-- | src/mir_app/src/menu_clist.cpp | 1 | ||||
-rw-r--r-- | src/mir_app/src/meta_services.cpp | 6 | ||||
-rw-r--r-- | src/mir_app/src/meta_utils.cpp | 11 | ||||
-rw-r--r-- | src/mir_app/src/skinicons.cpp | 3 |
8 files changed, 19 insertions, 10 deletions
diff --git a/src/mir_app/res/resource.rc b/src/mir_app/res/resource.rc index db270fefd9..90b54f150f 100644 --- a/src/mir_app/res/resource.rc +++ b/src/mir_app/res/resource.rc @@ -1310,7 +1310,8 @@ BEGIN MENUITEM "&Not available\tCtrl+3", ID_STATUS_NA
MENUITEM "Occ&upied\tCtrl+4", ID_STATUS_OCCUPIED
MENUITEM "&Do not disturb\tCtrl+5", ID_STATUS_DND
- MENUITEM "&Invisible\tCtrl+6", ID_STATUS_INVISIBLE
+ MENUITEM "&Free for chat\tCtrl+6", ID_STATUS_FREECHAT
+ MENUITEM "&Invisible\tCtrl+7", ID_STATUS_INVISIBLE
END
END
diff --git a/src/mir_app/src/clcidents.cpp b/src/mir_app/src/clcidents.cpp index 931975a599..0d4e3952b9 100644 --- a/src/mir_app/src/clcidents.cpp +++ b/src/mir_app/src/clcidents.cpp @@ -246,6 +246,7 @@ MIR_APP_DLL(int) Clist_GetGeneralizedStatus(char **szProto) int iStatusWeight;
switch (pa->iRealStatus) {
+ case ID_STATUS_FREECHAT: iStatusWeight = 110; break;
case ID_STATUS_ONLINE: iStatusWeight = 100; break;
case ID_STATUS_OCCUPIED: iStatusWeight = 60; break;
case ID_STATUS_DND: iStatusWeight = 40; break;
diff --git a/src/mir_app/src/clcutils.cpp b/src/mir_app/src/clcutils.cpp index 980a424d57..2ba762e39a 100644 --- a/src/mir_app/src/clcutils.cpp +++ b/src/mir_app/src/clcutils.cpp @@ -624,6 +624,7 @@ MIR_APP_DLL(int) Clist_ClcStatusToPf2(int status) case ID_STATUS_DND: return PF2_HEAVYDND;
case ID_STATUS_NA: return PF2_LONGAWAY;
case ID_STATUS_OCCUPIED: return PF2_LIGHTDND;
+ case ID_STATUS_FREECHAT: return PF2_FREECHAT;
case ID_STATUS_INVISIBLE: return PF2_INVISIBLE;
case ID_STATUS_OFFLINE: return MODEF_OFFLINE;
}
diff --git a/src/mir_app/src/clistmod.cpp b/src/mir_app/src/clistmod.cpp index 70a5fde409..ed2f250eb5 100644 --- a/src/mir_app/src/clistmod.cpp +++ b/src/mir_app/src/clistmod.cpp @@ -74,6 +74,9 @@ MIR_APP_DLL(wchar_t*) Clist_GetStatusModeDescription(int mode, int flags) case ID_STATUS_OCCUPIED:
descr = LPGENW("Occupied");
break;
+ case ID_STATUS_FREECHAT:
+ descr = LPGENW("Free for chat");
+ break;
case ID_STATUS_INVISIBLE:
descr = LPGENW("Invisible");
break;
diff --git a/src/mir_app/src/menu_clist.cpp b/src/mir_app/src/menu_clist.cpp index e266b712d5..181df23c64 100644 --- a/src/mir_app/src/menu_clist.cpp +++ b/src/mir_app/src/menu_clist.cpp @@ -63,6 +63,7 @@ MStatus g_statuses[MAX_STATUS_COUNT] = { ID_STATUS_NA, SKINICON_STATUS_NA, PF2_LONGAWAY },
{ ID_STATUS_OCCUPIED, SKINICON_STATUS_OCCUPIED, PF2_LIGHTDND },
{ ID_STATUS_DND, SKINICON_STATUS_DND, PF2_HEAVYDND },
+ { ID_STATUS_FREECHAT, SKINICON_STATUS_FREE4CHAT, PF2_FREECHAT },
{ ID_STATUS_INVISIBLE, SKINICON_STATUS_INVISIBLE, PF2_INVISIBLE },
};
diff --git a/src/mir_app/src/meta_services.cpp b/src/mir_app/src/meta_services.cpp index 7b89a95b1a..ad63a46862 100644 --- a/src/mir_app/src/meta_services.cpp +++ b/src/mir_app/src/meta_services.cpp @@ -56,16 +56,16 @@ INT_PTR Meta_GetCaps(WPARAM wParam, LPARAM) return PF1_IM | PF1_CHAT | PF1_FILESEND | PF1_MODEMSGRECV | PF1_NUMERICUSERID;
case PFLAGNUM_2:
- return PF2_ONLINE | PF2_INVISIBLE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND;
+ return PF2_ONLINE | PF2_INVISIBLE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND | PF2_FREECHAT;
case PFLAGNUM_3:
- return PF2_ONLINE | PF2_INVISIBLE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND;
+ return PF2_ONLINE | PF2_INVISIBLE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND | PF2_FREECHAT;
case PFLAGNUM_4:
return PF4_SUPPORTTYPING | PF4_AVATARS;
case PFLAGNUM_5:
- return PF2_INVISIBLE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND;
+ return PF2_INVISIBLE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND | PF2_FREECHAT;
case PFLAG_MAXLENOFMESSAGE:
return 2000;
diff --git a/src/mir_app/src/meta_utils.cpp b/src/mir_app/src/meta_utils.cpp index 2b7ccab6a2..75e02fa608 100644 --- a/src/mir_app/src/meta_utils.cpp +++ b/src/mir_app/src/meta_utils.cpp @@ -209,11 +209,12 @@ MCONTACT Meta_GetMostOnline(DBCachedContact *cc) static int GetStatusPriority(int status)
{
switch (status) {
- case ID_STATUS_AWAY: return 1;
- case ID_STATUS_OCCUPIED: return 2;
- case ID_STATUS_NA: return 3;
- case ID_STATUS_DND: return 4;
- case ID_STATUS_OFFLINE: return 5;
+ case ID_STATUS_FREECHAT: return 1;
+ case ID_STATUS_AWAY: return 2;
+ case ID_STATUS_OCCUPIED: return 3;
+ case ID_STATUS_NA: return 4;
+ case ID_STATUS_DND: return 5;
+ case ID_STATUS_OFFLINE: return 6;
}
return 0;
diff --git a/src/mir_app/src/skinicons.cpp b/src/mir_app/src/skinicons.cpp index b5ecd34c88..8f7f7c7624 100644 --- a/src/mir_app/src/skinicons.cpp +++ b/src/mir_app/src/skinicons.cpp @@ -108,7 +108,8 @@ static struct StandardIconDescription statusIcons[] = { ID_STATUS_NA, LPGEN("Not available"), -IDI_NA, PF2_LONGAWAY },
{ ID_STATUS_OCCUPIED, LPGEN("Occupied"), -IDI_OCCUPIED, PF2_LIGHTDND },
{ ID_STATUS_DND, LPGEN("Do not disturb"), -IDI_DND, PF2_HEAVYDND },
- { ID_STATUS_INVISIBLE, LPGEN("Invisible"), -IDI_INVISIBLE, PF2_INVISIBLE },
+ { ID_STATUS_FREECHAT, LPGEN("Free for chat"), -IDI_FREE4CHAT, PF2_FREECHAT },
+ { ID_STATUS_INVISIBLE, LPGEN("Invisible"), -IDI_INVISIBLE, PF2_INVISIBLE }
};
const char mainIconsFmt[] = "core_main_";
|