diff options
author | George Hazan <ghazan@miranda.im> | 2021-11-28 17:34:41 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2021-11-28 17:34:51 +0300 |
commit | 1a5dc583b048727752b8f72df676ec408908041f (patch) | |
tree | 5204a5dbcbe84ed7cff02bff9e6ee32ff8598c3f /plugins/Scriver | |
parent | 4f961df4a3bb6577a0024e341adb9fed6d965edf (diff) |
user typing notification for Discord group chats
Diffstat (limited to 'plugins/Scriver')
-rw-r--r-- | plugins/Scriver/src/msgs.h | 3 | ||||
-rw-r--r-- | plugins/Scriver/src/msgutils.cpp | 10 |
2 files changed, 8 insertions, 5 deletions
diff --git a/plugins/Scriver/src/msgs.h b/plugins/Scriver/src/msgs.h index ee0d355c24..63130cbd56 100644 --- a/plugins/Scriver/src/msgs.h +++ b/plugins/Scriver/src/msgs.h @@ -109,11 +109,10 @@ class CMsgDialog : public CSrmmBaseDialog static INT_PTR CALLBACK FilterWndProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
- bool m_bIncoming, m_bShowTyping, m_bWindowCascaded;
+ bool m_bIncoming, m_bWindowCascaded;
MEVENT m_hDbEventFirst, m_hDbEventLast, m_hDbUnreadEventFirst;
int m_minLogBoxHeight, m_minEditBoxHeight;
- int m_nTypeSecs, m_nTypeMode, m_nLastTyping;
int m_iShowUnread;
WORD m_wStatus;
DWORD m_lastMessage;
diff --git a/plugins/Scriver/src/msgutils.cpp b/plugins/Scriver/src/msgutils.cpp index 60c89a3801..3f2111f646 100644 --- a/plugins/Scriver/src/msgutils.cpp +++ b/plugins/Scriver/src/msgutils.cpp @@ -154,7 +154,10 @@ void CMsgDialog::NotifyTyping(int mode) // End user check m_nTypeMode = mode; - CallService(MS_PROTO_SELFISTYPING, m_hContact, m_nTypeMode); + if (isChat()) + Chat_DoEventHook(m_si, GC_USER_TYPNOTIFY, 0, 0, m_nTypeMode); + else + CallService(MS_PROTO_SELFISTYPING, m_hContact, m_nTypeMode); } void CMsgDialog::Reattach(HWND hwndContainer) @@ -525,7 +528,8 @@ void CMsgDialog::UpdateStatusBar() else if (m_nTypeSecs) { sbd.hIcon = g_plugin.getIcon(IDI_TYPING); sbd.pszText = szText; - mir_snwprintf(szText, TranslateT("%s is typing a message..."), Clist_GetContactDisplayName(m_hContact)); + mir_snwprintf(szText, TranslateT("%s is typing a message..."), + (m_pUserTyping) ? m_pUserTyping->pszNick : Clist_GetContactDisplayName(m_hContact)); m_nTypeSecs--; } else if (m_lastMessage) { @@ -577,7 +581,7 @@ void CMsgDialog::UpdateTabControl() void CMsgDialog::UserIsTyping(int iState) { - m_nTypeSecs = (iState > 0) ? iState : 0; + setTyping((iState > 0) ? iState : 0); } ///////////////////////////////////////////////////////////////////////////////////////// |