1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #include "main.h"
- #include "./local_menu.h"
- #include "./wasabi.h"
- #include "./resource.h"
- #include "./navigation.h"
- #include "../gen_ml/ml_ipc_0313.h"
- #include "../nu/menuHelpers.h"
- #define SUBMENU_NAVIGATIONCONTEXT 0
- static HMENU Menu_GetNavigationContext(HMENU baseMenu)
- {
- HMENU hMenu = GetSubMenu(baseMenu, SUBMENU_NAVIGATIONCONTEXT);
- if (NULL == hMenu) return NULL;
- hMenu = MenuHelper_DuplcateMenu(hMenu);
- if (NULL == hMenu) return NULL;
- HNAVITEM hActive = Navigation_GetActive(NULL);
- if (NULL != hActive)
- {
- EnableMenuItem(hMenu, ID_NAVIGATION_OPEN, MF_BYCOMMAND | MF_GRAYED | MF_DISABLED);
- }
- else
- {
- EnableMenuItem(hMenu, ID_NAVIGATION_OPEN, MF_BYCOMMAND | MF_ENABLED);
- SetMenuDefaultItem(hMenu, ID_NAVIGATION_OPEN, FALSE);
- }
- return hMenu;
- }
- HMENU Menu_GetMenu(UINT menuKind)
- {
- HMENU baseMenu = WASABI_API_LOADMENUW(IDR_CONTEXTMENU);
- if (NULL == baseMenu)
- return NULL;
- switch(menuKind)
- {
- case MENU_NAVIGATIONCONTEXT:
- {
- HMENU menu = Menu_GetNavigationContext(baseMenu);
- if (!GetModuleHandle(L"ml_online.dll"))
- {
- if (DeleteMenu(menu, ID_PLUGIN_PREFERENCES, MF_BYCOMMAND))
- {
- DeleteMenu(menu, 2, MF_BYPOSITION);
- }
- }
- return menu;
- }
- }
- return NULL;
- }
- BOOL Menu_ReleaseMenu(HMENU hMenu, UINT menuKind)
- {
- if (NULL == hMenu) return FALSE;
- switch(menuKind)
- {
- case MENU_NAVIGATIONCONTEXT:
- return DestroyMenu(hMenu);
- }
- return FALSE;
- }
|