From 15051a110d2575c2baa9a3b358977000c876abd9 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 19 May 2018 16:42:30 +0300 Subject: fixes #1371 (StdMsg: statusbar in conference show time instead topic) --- src/core/stdmsg/src/msgdialog.cpp | 19 +++++++++++-------- src/core/stdmsg/src/msgs.h | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/core/stdmsg/src/msgdialog.cpp b/src/core/stdmsg/src/msgdialog.cpp index 4750710aaf..d98eaac7ea 100644 --- a/src/core/stdmsg/src/msgdialog.cpp +++ b/src/core/stdmsg/src/msgdialog.cpp @@ -548,19 +548,22 @@ void CSrmmWindow::ShowAvatar() SendMessage(m_hwnd, DM_AVATARSIZECHANGE, 0, 0); } -void CSrmmWindow::ShowTime() +void CSrmmWindow::ShowTime(bool bForce) { - if (m_hTimeZone) { - SYSTEMTIME st; - GetSystemTime(&st); - if (m_wMinute != st.wMinute) { + if (!m_hTimeZone) + return; + + SYSTEMTIME st; + GetSystemTime(&st); + if (m_wMinute != st.wMinute || bForce) { + if (m_pOwner->m_tab.GetActivePage() == this) { wchar_t buf[32]; unsigned i = g_dat.bShowReadChar ? 2 : 1; TimeZone_PrintDateTime(m_hTimeZone, L"t", buf, _countof(buf), 0); SendMessage(m_pOwner->m_hwndStatus, SB_SETTEXT, i, (LPARAM)buf); - m_wMinute = st.wMinute; } + m_wMinute = st.wMinute; } } @@ -586,7 +589,7 @@ void CSrmmWindow::SetupStatusBar() SendMessage(m_pOwner->m_hwndStatus, SB_SETPARTS, i, (LPARAM)statwidths); UpdateReadChars(); - ShowTime(); + ShowTime(true); SendMessage(m_hwnd, DM_STATUSICONCHANGE, 0, 0); } @@ -1192,7 +1195,7 @@ INT_PTR CSrmmWindow::DlgProc(UINT uMsg, WPARAM wParam, LPARAM lParam) m_nFlash++; } else if (wParam == TIMERID_TYPE) { - ShowTime(); + ShowTime(false); if (m_nTypeMode == PROTOTYPE_SELFTYPING_ON && GetTickCount() - m_nLastTyping > TIMEOUT_TYPEOFF) NotifyTyping(PROTOTYPE_SELFTYPING_OFF); diff --git a/src/core/stdmsg/src/msgs.h b/src/core/stdmsg/src/msgs.h index a1853a08a2..07917e2736 100644 --- a/src/core/stdmsg/src/msgs.h +++ b/src/core/stdmsg/src/msgs.h @@ -81,7 +81,7 @@ class CSrmmWindow : public CMsgDialog void NotifyTyping(int mode); void ProcessFileDrop(HDROP hDrop); void ShowAvatar(void); - void ShowTime(void); + void ShowTime(bool bForce); void SetupStatusBar(void); void StreamInEvents(MEVENT hDbEventFirst, int count, bool bAppend); void UpdateIcon(WPARAM wParam); -- cgit v1.2.3