diff options
Diffstat (limited to 'plugins/TabSRMM/src/msgdlgother.cpp')
-rw-r--r-- | plugins/TabSRMM/src/msgdlgother.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/plugins/TabSRMM/src/msgdlgother.cpp b/plugins/TabSRMM/src/msgdlgother.cpp index e6ebb9eb48..a21f3f99a0 100644 --- a/plugins/TabSRMM/src/msgdlgother.cpp +++ b/plugins/TabSRMM/src/msgdlgother.cpp @@ -1219,7 +1219,7 @@ void CMsgDialog::RemakeLog() m_szMicroLf[0] = 0; m_lastEventTime = 0; m_iLastEventType = -1; - m_pLog->LogEvents(m_hDbEventFirst, -1, 0); + StreamEvents(m_hDbEventFirst, -1, 0); } ///////////////////////////////////////////////////////////////////////////////////////// @@ -1228,7 +1228,7 @@ void CMsgDialog::ReplayQueue() { for (int i = 0; i < m_iNextQueuedEvent; i++) if (m_hQueuedEvents[i] != 0) - m_pLog->LogEvents(m_hQueuedEvents[i], 1, 1); + StreamEvents(m_hQueuedEvents[i], 1, 1); m_iNextQueuedEvent = 0; SetDlgItemText(m_hwnd, IDC_LOGFROZENTEXT, m_bNotOnList ? TranslateT("Contact not on list. You may add it...") : @@ -1696,6 +1696,19 @@ void CMsgDialog::SplitterMoved(int coord, HWND hwnd) ///////////////////////////////////////////////////////////////////////////////////////// +void CMsgDialog::StreamEvents(MEVENT hDbEventFirst, int count, bool bAppend) +{ + m_pLog->LogEvents(hDbEventFirst, count, bAppend); + + DM_ScrollToBottom(0, 0); + if (bAppend && hDbEventFirst) + m_hDbEventLast = hDbEventFirst; + else + m_hDbEventLast = db_event_last(m_hContact); +} + +///////////////////////////////////////////////////////////////////////////////////////// + bool CMsgDialog::TabAutoComplete() { LRESULT lResult = m_message.SendMsg(EM_GETSEL, 0, 0); |