diff options
Diffstat (limited to 'plugins/Clist_modern/src/modern_cachefuncs.cpp')
| -rw-r--r-- | plugins/Clist_modern/src/modern_cachefuncs.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/Clist_modern/src/modern_cachefuncs.cpp b/plugins/Clist_modern/src/modern_cachefuncs.cpp index 46b4e95d48..0259ab7c8a 100644 --- a/plugins/Clist_modern/src/modern_cachefuncs.cpp +++ b/plugins/Clist_modern/src/modern_cachefuncs.cpp @@ -354,12 +354,24 @@ int GetStatusMessage(wchar_t *text, int text_size, ClcCacheEntry *pdnce, BOOL xs // Get StatusMsg if (pdnce->hContact && text[0] == '\0') { + if (noAwayMsg && ServiceExists(MS_LASTSEEN_GET)) { + ptrW pwszLastSeen((LPWSTR)CallService(MS_LASTSEEN_GET, (WPARAM)pdnce->hContact)); + if (pwszLastSeen) { + CMStringW wszLastSeen(Translate("Last seen: ")); + wszLastSeen.AppendFormat(L"%s", pwszLastSeen); + CopySkipUnprintableChars(text, (wchar_t*)wszLastSeen.c_str(), text_size - 1); + if (text[0] != '\0') + return 1; + } + } + ptrW tszStatusMsg(g_plugin.getWStringA(pdnce->hContact, "StatusMsg")); if (tszStatusMsg != nullptr) { CopySkipUnprintableChars(text, tszStatusMsg, text_size - 1); if (text[0] != '\0') return 1; } + } // Get XStatusMsg |
