Fixed Issue #395: [BUG] Infomation error when "Switch the comparison"
[TortoiseGit.git] / src / TortoiseShell / MenuInfo.h
blobd7b9265ed1836e694b7a3fcb1829a1f03ef345f2
1 #pragma once
3 enum GitCommands
5 ShellSeparator = 0,
6 ShellSubMenu = 1,
7 ShellSubMenuFolder,
8 ShellSubMenuFile,
9 ShellSubMenuLink,
10 ShellSubMenuMultiple,
11 ShellMenuCheckout,
12 ShellMenuUpdate,
13 ShellMenuCommit,
14 ShellMenuAdd,
15 ShellMenuAddAsReplacement,
16 ShellMenuRevert,
17 ShellMenuCleanup,
18 ShellMenuResolve,
19 ShellMenuSwitch,
20 ShellMenuImport,
21 ShellMenuExport,
22 ShellMenuAbout,
23 ShellMenuCreateRepos,
24 ShellMenuCopy,
25 ShellMenuMerge,
26 ShellMenuMergeAll,
27 ShellMenuSettings,
28 ShellMenuRemove,
29 ShellMenuRemoveKeep,
30 ShellMenuRename,
31 ShellMenuUpdateExt,
32 ShellMenuDiff,
33 ShellMenuPrevDiff,
34 ShellMenuUrlDiff,
35 ShellMenuDiffTwo,
36 ShellMenuDropCopyAdd,
37 ShellMenuDropMoveAdd,
38 ShellMenuDropMove,
39 ShellMenuDropMoveRename,
40 ShellMenuDropCopy,
41 ShellMenuDropCopyRename,
42 ShellMenuDropExport,
43 ShellMenuDropExportExtended,
44 ShellMenuLog,
45 ShellMenuConflictEditor,
46 ShellMenuRelocate,
47 ShellMenuHelp,
48 ShellMenuShowChanged,
49 ShellMenuIgnoreSub,
50 ShellMenuIgnore,
51 ShellMenuIgnoreFile,
52 ShellMenuIgnoreCaseSensitive,
53 ShellMenuIgnoreCaseInsensitive,
54 ShellMenuRefLog,
55 ShellMenuRefBrowse,
56 ShellMenuBlame,
57 ShellMenuApplyPatch,
58 ShellMenuCreatePatch,
59 ShellMenuRevisionGraph,
60 ShellMenuUnIgnoreSub,
61 ShellMenuUnIgnoreCaseSensitive,
62 ShellMenuUnIgnore,
63 // ShellMenuLock,
64 // ShellMenuUnlock,
65 // ShellMenuUnlockForce,
66 ShellMenuProperties,
67 ShellMenuDelUnversioned,
68 ShellMenuClipPaste,
69 ShellMenuPull,
70 ShellMenuPush,
71 ShellMenuClone,
72 ShellMenuBranch,
73 ShellMenuTag,
74 ShellMenuFormatPatch,
75 ShellMenuImportPatch,
76 ShellMenuCherryPick,
77 ShellMenuFetch,
78 ShellMenuRebase,
79 ShellMenuStashSave,
80 ShellMenuStashApply,
81 ShellMenuStashList,
82 ShellMenuStashPop,
83 ShellMenuSubAdd,
84 ShellMenuSubSync,
85 ShellMenuSendMail,
86 ShellMenuGitSVNRebase,
87 ShellMenuGitSVNDCommit,
88 ShellMenuGitSVNIgnore, //import svn ignore
89 ShellMenuSync,
90 ShellMenuLastEntry // used to mark the menu array end
93 // helper struct for context menu entries
94 typedef struct MenuInfo
96 GitCommands command; ///< the command which gets executed for this menu entry
97 unsigned __int64 menuID; ///< the menu ID to recognize the entry. NULL if it shouldn't be added to the context menu automatically
98 UINT iconID; ///< the icon to show for the menu entry
99 UINT menuTextID; ///< the text of the menu entry
100 UINT menuDescID; ///< the description text for the menu entry
101 /// the following 8 params are for checking whether the menu entry should
102 /// be added automatically, based on states of the selected item(s).
103 /// The 'yes' states must be set, the 'no' states must not be set
104 /// the four pairs are OR'ed together, the 'yes'/'no' states are AND'ed together.
105 DWORD firstyes;
106 DWORD firstno;
107 DWORD secondyes;
108 DWORD secondno;
109 DWORD thirdyes;
110 DWORD thirdno;
111 DWORD fourthyes;
112 DWORD fourthno;