diff options
author | George Hazan <george.hazan@gmail.com> | 2025-05-31 13:56:17 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2025-05-31 13:56:17 +0300 |
commit | 33a4b26cc972c8649ff082d62e4b898507e5f701 (patch) | |
tree | 7c164605f908d37f540496d7d0c61cc26bddb062 /src | |
parent | c662c18ca2a0674b49df11a38f0821b7f8a41780 (diff) |
useless/obsolete MCO_OPT_ONADD_SERVICE removed
Diffstat (limited to 'src')
-rw-r--r-- | src/mir_app/src/genmenu.h | 7 | ||||
-rw-r--r-- | src/mir_app/src/menu_clist.cpp | 34 | ||||
-rw-r--r-- | src/mir_app/src/menu_tray.cpp | 27 | ||||
-rw-r--r-- | src/mir_app/src/menu_utils.cpp | 17 | ||||
-rw-r--r-- | src/mir_app/src/miranda.h | 2 |
5 files changed, 33 insertions, 54 deletions
diff --git a/src/mir_app/src/genmenu.h b/src/mir_app/src/genmenu.h index 851f08fb4e..13288e210a 100644 --- a/src/mir_app/src/genmenu.h +++ b/src/mir_app/src/genmenu.h @@ -27,6 +27,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /* genmenu structs */
+#define MS_CLIST_MAIN_MENU "MainMenu/Command"
+#define MS_CLIST_STATUS_MENU "GlobalStatus/Command"
+
#define MENUITEM_SIGNATURE 0xDEADBEEF
struct TIntMenuObject;
@@ -94,10 +97,6 @@ struct TIntMenuObject : public MZeroedObject //WPARAM wParam;//menuitemhandle
char *FreeService;//callback service used to free ownerdata for menuitems
- //LPARAM lParam;//MENUITEMINFO filled with all needed data
- //WPARAM wParam;//menuitemhandle
- char *onAddService;//called just before add MENUITEMINFO to hMenu
-
TMO_LinkedList m_items;
HIMAGELIST m_hMenuIcons;
bool m_bUseUserDefinedItems;
diff --git a/src/mir_app/src/menu_clist.cpp b/src/mir_app/src/menu_clist.cpp index 4a1ac8459c..a547644a07 100644 --- a/src/mir_app/src/menu_clist.cpp +++ b/src/mir_app/src/menu_clist.cpp @@ -54,7 +54,7 @@ bool prochotkey; HANDLE hPreBuildMainMenuEvent, hStatusModeChangeEvent, hPreBuildContactMenuEvent, hPreBuildStatusMenuEvent;
-HMENU hMainMenu, hStatusMenu;
+HMENU g_hMainMenu, g_hStatusMenu;
MStatus g_statuses[MAX_STATUS_COUNT] =
{
@@ -103,13 +103,13 @@ struct MainMenuExecParam MIR_APP_DLL(HMENU) Menu_GetMainMenu(void)
{
- RecursiveDeleteMenu(hMainMenu);
+ RecursiveDeleteMenu(g_hMainMenu);
NotifyEventHooks(hPreBuildMainMenuEvent, 0, 0);
- Menu_Build(hMainMenu, hMainMenuObject);
+ Menu_Build(g_hMainMenu, hMainMenuObject);
DrawMenuBar(g_clistApi.hwndContactList);
- return hMainMenu;
+ return g_hMainMenu;
}
MIR_APP_DLL(HGENMENU) Menu_AddMainMenuItem(TMO_MenuItem *pmi, const char *pszProto)
@@ -350,10 +350,10 @@ MIR_APP_DLL(HGENMENU) Menu_AddStatusMenuItem(TMO_MenuItem *pmi, const char *pszP MIR_APP_DLL(HMENU) Menu_GetStatusMenu()
{
- RecursiveDeleteMenu(hStatusMenu);
+ RecursiveDeleteMenu(g_hStatusMenu);
- Menu_Build(hStatusMenu, hStatusMenuObject);
- return hStatusMenu;
+ Menu_Build(g_hStatusMenu, hStatusMenuObject);
+ return g_hStatusMenu;
}
/////////////////////////////////////////////////////////////////////////////////////////
@@ -435,9 +435,9 @@ static INT_PTR StatusMenuCheckService(WPARAM wParam, LPARAM) timiParent = MO_GetIntMenuItem(pimi->mi.root);
MenuItemData it = {};
- if (FindMenuHandleByGlobalID(hStatusMenu, timiParent, &it)) {
+ if (FindMenuHandleByGlobalID(g_hStatusMenu, timiParent, &it)) {
wchar_t d[100];
- GetMenuString(it.OwnerMenu, it.position, d, _countof(d), MF_BYPOSITION);
+ GetMenuStringW(it.OwnerMenu, it.position, d, _countof(d), MF_BYPOSITION);
MENUITEMINFO mii = {};
mii.cbSize = sizeof(mii);
@@ -685,14 +685,14 @@ MIR_APP_DLL(int) Clist_GetAccountIndex(int Pos) void RebuildMenuOrder(void)
{
// clear statusmenu
- RecursiveDeleteMenu(hStatusMenu);
+ RecursiveDeleteMenu(g_hStatusMenu);
// status menu
if (hStatusMenuObject != 0)
Menu_RemoveObject(hStatusMenuObject);
hStatusMenuObject = Menu_AddObject("StatusMenu", LPGEN("Status menu"), "StatusMenuCheckService", "StatusMenuExecService");
- Menu_ConfigureObject(hStatusMenuObject, MCO_OPT_FREE_SERVICE, (INT_PTR)"CLISTMENUS/FreeOwnerDataStatusMenu");
+ Menu_ConfigureObject(hStatusMenuObject, MCO_OPT_FREE_SERVICE, "CLISTMENUS/FreeOwnerDataStatusMenu");
g_menuProtos.destroy();
@@ -1025,8 +1025,8 @@ void InitCustomMenus(void) HookEvent(ME_PROTO_ACK, MenuProtoAck);
- hMainMenu = CreatePopupMenu();
- hStatusMenu = CreatePopupMenu();
+ g_hMainMenu = CreatePopupMenu();
+ g_hStatusMenu = CreatePopupMenu();
// new menu sys
InitGenMenu();
@@ -1034,12 +1034,12 @@ void InitCustomMenus(void) // main menu
hMainMenuObject = Menu_AddObject("MainMenu", LPGEN("Main menu"), nullptr, "MainMenuExecService");
Menu_ConfigureObject(hMainMenuObject, MCO_OPT_USERDEFINEDITEMS, TRUE);
- Menu_ConfigureObject(hMainMenuObject, MCO_OPT_FREE_SERVICE, (INT_PTR)"CLISTMENUS/FreeOwnerDataMainMenu");
+ Menu_ConfigureObject(hMainMenuObject, MCO_OPT_FREE_SERVICE, "CLISTMENUS/FreeOwnerDataMainMenu");
// contact menu
hContactMenuObject = Menu_AddObject("ContactMenu", LPGEN("Contact menu"), "ContactMenuCheckService", "ContactMenuExecService");
Menu_ConfigureObject(hContactMenuObject, MCO_OPT_USERDEFINEDITEMS, TRUE);
- Menu_ConfigureObject(hContactMenuObject, MCO_OPT_FREE_SERVICE, (INT_PTR)"CLISTMENUS/FreeOwnerDataContactMenu");
+ Menu_ConfigureObject(hContactMenuObject, MCO_OPT_FREE_SERVICE, "CLISTMENUS/FreeOwnerDataContactMenu");
// other menus
InitGroupMenus();
@@ -1096,6 +1096,6 @@ void UninitCustomMenus(void) g_menuProtos.destroy();
- DestroyMenu(hMainMenu);
- DestroyMenu(hStatusMenu);
+ DestroyMenu(g_hMainMenu);
+ DestroyMenu(g_hStatusMenu);
}
diff --git a/src/mir_app/src/menu_tray.cpp b/src/mir_app/src/menu_tray.cpp index 4215575095..0f9f2b5b2d 100644 --- a/src/mir_app/src/menu_tray.cpp +++ b/src/mir_app/src/menu_tray.cpp @@ -54,7 +54,7 @@ MIR_APP_DLL(void) Menu_DestroyNestedMenu(HMENU hMenu) int cnt = GetMenuItemCount(hMenu);
for (int i = 0; i < cnt; ++i) {
HMENU hSubMenu = GetSubMenu(hMenu, i);
- if (hSubMenu && ((hSubMenu == hStatusMenu) || (hSubMenu == hMainMenu)))
+ if (hSubMenu && ((hSubMenu == g_hStatusMenu) || (hSubMenu == g_hMainMenu)))
RemoveMenu(hMenu, i--, MF_BYPOSITION);
}
DestroyMenu(hMenu);
@@ -77,25 +77,6 @@ static INT_PTR FreeOwnerDataTrayMenu(WPARAM, LPARAM lParam) return 0;
}
-static INT_PTR TrayMenuOnAddService(WPARAM wParam, LPARAM lParam)
-{
- MENUITEMINFO *mii = (MENUITEMINFO*)wParam;
- if (mii == nullptr)
- return 0;
-
- if (hTrayMainMenuItemProxy == (HGENMENU)lParam) {
- mii->fMask |= MIIM_SUBMENU;
- mii->hSubMenu = hMainMenu = Menu_GetMainMenu();
- }
-
- if (hTrayStatusMenuItemProxy == (HGENMENU)lParam) {
- mii->fMask |= MIIM_SUBMENU;
- mii->hSubMenu = hStatusMenu = Menu_GetStatusMenu();
- }
-
- return TRUE;
-}
-
static INT_PTR ShowHideStub(WPARAM, LPARAM)
{
return g_clistApi.pfnShowHide();
@@ -105,7 +86,6 @@ void InitTrayMenus(void) {
CreateServiceFunction("CLISTMENUSTRAY/ExecService", TrayMenuExecService);
CreateServiceFunction("CLISTMENUSTRAY/FreeOwnerDataTrayMenu", FreeOwnerDataTrayMenu);
- CreateServiceFunction("CLISTMENUSTRAY/TrayMenuOnAddService", TrayMenuOnAddService);
hEventPreBuildTrayMenu = CreateHookableEvent(ME_CLIST_PREBUILDTRAYMENU);
@@ -113,7 +93,6 @@ void InitTrayMenus(void) hTrayMenuObject = Menu_AddObject("TrayMenu", LPGEN("Tray menu"), nullptr, "CLISTMENUSTRAY/ExecService");
Menu_ConfigureObject(hTrayMenuObject, MCO_OPT_USERDEFINEDITEMS, TRUE);
Menu_ConfigureObject(hTrayMenuObject, MCO_OPT_FREE_SERVICE, "CLISTMENUSTRAY/FreeOwnerDataTrayMenu");
- Menu_ConfigureObject(hTrayMenuObject, MCO_OPT_ONADD_SERVICE, "CLISTMENUSTRAY/TrayMenuOnAddService");
// add exit command to menu
CMenuItem mi(&g_plugin);
@@ -138,14 +117,14 @@ void InitTrayMenus(void) SET_UID(mi, 0xb6d861bc, 0x9c3f, 0x40d9, 0xaf, 0x58, 0x53, 0x9f, 0x22, 0xe4, 0x77, 0x98);
mi.position = 300000;
mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_MAINMENU); // eternity #004
- mi.pszService = "MainMenu/Command";
+ mi.pszService = MS_CLIST_MAIN_MENU;
mi.name.a = LPGEN("&Main menu");
hTrayMainMenuItemProxy = Menu_AddTrayMenuItem(&mi);
SET_UID(mi, 0xbafb2db6, 0x8994, 0x40f5, 0x8f, 0x34, 0x4, 0xde, 0x67, 0x8e, 0x6e, 0x70);
mi.position = 300100;
mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_STATUS); // eternity #004
- mi.pszService = "GlobalStatus/Command";
+ mi.pszService = MS_CLIST_STATUS_MENU;
mi.name.a = LPGEN("&Status");
hTrayStatusMenuItemProxy = Menu_AddTrayMenuItem(&mi);
diff --git a/src/mir_app/src/menu_utils.cpp b/src/mir_app/src/menu_utils.cpp index c92174f4c9..33baa03ddb 100644 --- a/src/mir_app/src/menu_utils.cpp +++ b/src/mir_app/src/menu_utils.cpp @@ -563,10 +563,6 @@ MIR_APP_DLL(int) Menu_ConfigureObject(int hMenuObject, int setting, INT_PTR valu TIntMenuObject *pmo = GetMenuObjbyId(hMenuObject);
if (pmo != nullptr) {
switch (setting) {
- case MCO_OPT_ONADD_SERVICE:
- replaceStr(pmo->onAddService, (char*)value);
- return true;
-
case MCO_OPT_FREE_SERVICE:
replaceStr(pmo->FreeService, (char*)value);
return true;
@@ -1175,9 +1171,15 @@ static HMENU BuildRecursiveMenu(HMENU hMenu, const TMO_LinkedList &pList, WPARAM }
#endif
- if (pmo->onAddService != nullptr)
- if (CallService(pmo->onAddService, (WPARAM)&mii, (LPARAM)pmi) == FALSE)
- continue;
+ if (!mir_strcmp(pmi->mi.pszService, MS_CLIST_MAIN_MENU)) {
+ mii.fMask |= MIIM_SUBMENU;
+ mii.hSubMenu = Menu_GetMainMenu();
+ }
+
+ if (!mir_strcmp(pmi->mi.pszService, MS_CLIST_STATUS_MENU)) {
+ mii.fMask |= MIIM_SUBMENU;
+ mii.hSubMenu = Menu_GetStatusMenu();
+ }
InsertMenuItemWithSeparators(hMenu, i, &mii);
}
@@ -1335,7 +1337,6 @@ TIntMenuObject::~TIntMenuObject() m_items.destroy();
mir_free(FreeService);
- mir_free(onAddService);
mir_free(CheckService);
mir_free(ExecService);
mir_free(ptszDisplayName);
diff --git a/src/mir_app/src/miranda.h b/src/mir_app/src/miranda.h index 25f19bb8f6..099f40736c 100644 --- a/src/mir_app/src/miranda.h +++ b/src/mir_app/src/miranda.h @@ -115,7 +115,7 @@ void Clist_RemoveContactEvent(MCONTACT hContact); extern int hMainMenuObject, hContactMenuObject, hStatusMenuObject;
extern HANDLE hPreBuildMainMenuEvent, hPreBuildContactMenuEvent;
-extern HMENU hMainMenu, hStatusMenu;
+extern HMENU g_hMainMenu, g_hStatusMenu;
struct MStatus
{
|