summaryrefslogtreecommitdiff
path: root/src/core/stdmsg
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2023-03-20 18:20:03 +0300
committerGeorge Hazan <ghazan@miranda.im>2023-03-20 18:20:03 +0300
commit00f13b022dbf89fd630a8d43ffd602c84caff7e9 (patch)
tree188b6f7b2891b21a3942688da8c94cd6c60dccc3 /src/core/stdmsg
parentf12de5d0954a0e24852a1a309dffee37b5536970 (diff)
fixes #3443 (Менять подсказку к фильтру событий при изменении иконки)
Diffstat (limited to 'src/core/stdmsg')
-rw-r--r--src/core/stdmsg/src/chat_window.cpp9
-rw-r--r--src/core/stdmsg/src/msgdialog.cpp3
-rw-r--r--src/core/stdmsg/src/msgs.h1
3 files changed, 11 insertions, 2 deletions
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;