From 00f13b022dbf89fd630a8d43ffd602c84caff7e9 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 20 Mar 2023 18:20:03 +0300 Subject: =?UTF-8?q?fixes=20#3443=20(=D0=9C=D0=B5=D0=BD=D1=8F=D1=82=D1=8C?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=B4=D1=81=D0=BA=D0=B0=D0=B7=D0=BA=D1=83=20?= =?UTF-8?q?=D0=BA=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D1=80=D1=83=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B1=D1=8B=D1=82=D0=B8=D0=B9=20=D0=BF=D1=80=D0=B8=20?= =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=B8?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D0=BA=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/stdmsg/src/chat_window.cpp | 9 ++++++++- src/core/stdmsg/src/msgdialog.cpp | 3 ++- src/core/stdmsg/src/msgs.h | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src/core/stdmsg') diff --git a/src/core/stdmsg/src/chat_window.cpp b/src/core/stdmsg/src/chat_window.cpp index 8e1871dd4c..25d1be4f76 100644 --- a/src/core/stdmsg/src/chat_window.cpp +++ b/src/core/stdmsg/src/chat_window.cpp @@ -42,6 +42,13 @@ void CMsgDialog::ShowFilterMenu() SetWindowPos(hwnd, HWND_TOP, rc.left - 85, (IsWindowVisible(m_btnFilter.GetHwnd()) || IsWindowVisible(m_btnBold.GetHwnd())) ? rc.top - 206 : rc.top - 186, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW); } +void CMsgDialog::UpdateFilterButton() +{ + CSuper::UpdateFilterButton(); + + m_btnFilter.SendMsg(BM_SETIMAGE, IMAGE_ICON, (LPARAM)g_plugin.getIcon(m_bFilterEnabled ? IDI_FILTER2 : IDI_FILTER)); +} + void CMsgDialog::UpdateNickList() { int i = m_nickList.SendMsg(LB_GETTOPINDEX, 0, 0); @@ -54,7 +61,7 @@ void CMsgDialog::UpdateNickList() void CMsgDialog::UpdateOptions() { m_btnNickList.SendMsg(BM_SETIMAGE, IMAGE_ICON, (LPARAM)g_plugin.getIcon(m_bNicklistEnabled ? IDI_NICKLIST2 : IDI_NICKLIST, FALSE)); - m_btnFilter.SendMsg(BM_SETIMAGE, IMAGE_ICON, (LPARAM)g_plugin.getIcon(m_bFilterEnabled ? IDI_FILTER2 : IDI_FILTER, FALSE)); + UpdateFilterButton(); HICON hIcon = ImageList_GetIcon(Clist_GetImageList(), GetImageId(), ILD_TRANSPARENT); SendMessage(m_pOwner->m_hwndStatus, SB_SETICON, 0, (LPARAM)hIcon); diff --git a/src/core/stdmsg/src/msgdialog.cpp b/src/core/stdmsg/src/msgdialog.cpp index 5e42c9f18a..d80148a7f5 100644 --- a/src/core/stdmsg/src/msgdialog.cpp +++ b/src/core/stdmsg/src/msgdialog.cpp @@ -285,7 +285,8 @@ void CMsgDialog::onClick_Filter(CCtrlButton *pButton) return; m_bFilterEnabled = !m_bFilterEnabled; - pButton->SendMsg(BM_SETIMAGE, IMAGE_ICON, (LPARAM)g_plugin.getIcon(m_bFilterEnabled ? IDI_FILTER2 : IDI_FILTER, FALSE)); + UpdateFilterButton(); + if (m_bFilterEnabled && !g_chatApi.bRightClickFilter) ShowFilterMenu(); else diff --git a/src/core/stdmsg/src/msgs.h b/src/core/stdmsg/src/msgs.h index 2087c094ba..7a3656500a 100644 --- a/src/core/stdmsg/src/msgs.h +++ b/src/core/stdmsg/src/msgs.h @@ -158,6 +158,7 @@ public: void LoadSettings() override; void SetStatusText(const wchar_t *, HICON) override; void ShowFilterMenu() override; + void UpdateFilterButton() override; void UpdateNickList() override; void UpdateOptions() override; void UpdateStatusBar() override; -- cgit v1.2.3