blob: 33d3da7fd38f4887990f16a9b79c8b53f7ea983d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
#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;
}
|