From 81306c2ef85c8a3d6c72a98a35067135cbbbb701 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 24 Sep 2023 22:00:00 +0300 Subject: =?UTF-8?q?fixes=20#3686=20)StdPopup:=20=D0=B2=20=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D1=83=D1=81=D0=B1=D0=B0=D1=80=D0=B5=20tabSRMM=20?= =?UTF-8?q?=D0=BE=D1=82=D1=81=D1=83=D1=82=D1=81=D1=82=D0=B2=D1=83=D0=B5?= =?UTF-8?q?=D1=82=20=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA=D0=B0=20"=D0=B2=D0=BA?= =?UTF-8?q?=D0=BB-=D0=B2=D1=8B=D0=BA=D0=BB=20=D0=B2=D1=81=D0=BF=D0=BB?= =?UTF-8?q?=D1=8B=D0=B2=D0=B0=D1=8E=D1=89=D0=B8=D0=B5=20=D0=BE=D0=BA=D0=BD?= =?UTF-8?q?=D0=B0")?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/stdpopup/src/popwin.h | 1 + src/core/stdpopup/src/services.cpp | 3 ++- src/core/stdpopup/src/stdafx.h | 13 +++++++------ src/core/stdpopup/src/yapp.cpp | 20 ++++++++++++++++++++ 4 files changed, 30 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/core/stdpopup/src/popwin.h b/src/core/stdpopup/src/popwin.h index 8ab19fca5f..a1684dcf18 100644 --- a/src/core/stdpopup/src/popwin.h +++ b/src/core/stdpopup/src/popwin.h @@ -23,5 +23,6 @@ void RepositionWindows(); LRESULT CALLBACK PopupWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); +void UpdateMenu(); #endif diff --git a/src/core/stdpopup/src/services.cpp b/src/core/stdpopup/src/services.cpp index aa5defdb00..c55ceaccbe 100644 --- a/src/core/stdpopup/src/services.cpp +++ b/src/core/stdpopup/src/services.cpp @@ -188,7 +188,7 @@ static INT_PTR GetOpaque(WPARAM wParam, LPARAM) void UpdateMenu() { - bool isEnabled = Popup_Enabled() == 1; + bool isEnabled = Popup_Enabled(); if (isEnabled) { Menu_ModifyItem(hMenuItem, LPGENW("Disable popups"), g_plugin.getIconHandle(IDI_POPUP)); Menu_ModifyItem(hMenuRoot, nullptr, g_plugin.getIconHandle(IDI_POPUP)); @@ -197,6 +197,7 @@ void UpdateMenu() Menu_ModifyItem(hMenuItem, LPGENW("Enable popups"), g_plugin.getIconHandle(IDI_NOPOPUP)); Menu_ModifyItem(hMenuRoot, nullptr, g_plugin.getIconHandle(IDI_NOPOPUP)); } + Srmm_SetIconFlags(0, MODULENAME, 0, isEnabled ? 0 : MBF_DISABLED); if (hTTButton) CallService(MS_TTB_SETBUTTONSTATE, (WPARAM)hTTButton, isEnabled ? TTBST_PUSHED : 0); diff --git a/src/core/stdpopup/src/stdafx.h b/src/core/stdpopup/src/stdafx.h index cbfc804a58..ca2efd051b 100644 --- a/src/core/stdpopup/src/stdafx.h +++ b/src/core/stdpopup/src/stdafx.h @@ -14,18 +14,19 @@ #include #include -#include -#include -#include -#include +#include #include #include -#include -#include #include +#include +#include +#include +#include #include +#include #include //need this for special renderers +#include #include "version.h" #include "message_pump.h" diff --git a/src/core/stdpopup/src/yapp.cpp b/src/core/stdpopup/src/yapp.cpp index c71ec5de6e..26d1c9e033 100644 --- a/src/core/stdpopup/src/yapp.cpp +++ b/src/core/stdpopup/src/yapp.cpp @@ -162,6 +162,17 @@ static void InitFonts() ReloadFont(0, 0); } +static int SrmmMenu_ProcessIconClick(WPARAM, LPARAM lParam) +{ + StatusIconClickData *sicd = (StatusIconClickData *)lParam; + + if (!mir_strcmp(sicd->szModule, MODULENAME)) { + Popup_Enable(!Popup_Enabled()); + UpdateMenu(); + } + return 0; +} + static void InitMenuItems(void) { bool isEnabled = Popup_Enabled() == 1; @@ -184,6 +195,15 @@ static void InitMenuItems(void) mi.pszService = "Popup/EnableDisableMenuCommand"; mi.name.w = (isEnabled ? LPGENW("Disable popups") : LPGENW("Enable popups")); hMenuItem = Menu_AddMainMenuItem(&mi); + + ////////////////////////////////////////////////////////////////////////////////////// + StatusIconData sid = {}; + sid.szModule = MODULENAME; + sid.szTooltip.a = LPGEN("Popup Mode"); + sid.hIcon = sid.hIconDisabled = Skin_LoadIcon(SKINICON_OTHER_POPUP); + Srmm_AddIcon(&sid, &g_plugin); + + HookEvent(ME_MSG_ICONPRESSED, SrmmMenu_ProcessIconClick); } static int ModulesLoaded(WPARAM, LPARAM) -- cgit v1.2.3