Get rid of magic numbers
[TortoiseGit.git] / src / TortoiseShell / MenuInfo.h
blob16b7eca5743e3b11563ae7d485673de306407f04
1 #pragma once
3 enum GitCommands
5 ShellSeparator = 0,
6 ShellSubMenu = 1,
7 ShellSubMenuFolder,
8 ShellSubMenuFile,
9 ShellSubMenuLink,
10 ShellSubMenuMultiple,
11 ShellMenuCommit,
12 ShellMenuAdd,
13 ShellMenuRevert,
14 ShellMenuCleanup,
15 ShellMenuResolve,
16 ShellMenuSwitch,
17 ShellMenuExport,
18 ShellMenuAbout,
19 ShellMenuCreateRepos,
20 ShellMenuCopy,
21 ShellMenuMerge,
22 ShellMenuSettings,
23 ShellMenuRemove,
24 ShellMenuRemoveKeep,
25 ShellMenuRename,
26 ShellMenuUpdateExt,
27 ShellMenuDiff,
28 ShellMenuPrevDiff,
29 ShellMenuDiffTwo,
30 ShellMenuDropCopyAdd,
31 ShellMenuDropMoveAdd,
32 ShellMenuDropMove,
33 ShellMenuDropMoveRename,
34 ShellMenuDropCopy,
35 ShellMenuDropCopyRename,
36 ShellMenuDropExport,
37 ShellMenuDropExportExtended,
38 ShellMenuLog,
39 ShellMenuConflictEditor,
40 ShellMenuHelp,
41 ShellMenuShowChanged,
42 ShellMenuIgnoreSub,
43 ShellMenuDeleteIgnoreSub,
44 ShellMenuIgnore,
45 ShellMenuDeleteIgnore,
46 ShellMenuIgnoreCaseSensitive,
47 ShellMenuDeleteIgnoreCaseSensitive,
48 ShellMenuRefLog,
49 ShellMenuRefBrowse,
50 ShellMenuBlame,
51 ShellMenuApplyPatch,
52 ShellMenuRevisionGraph,
53 ShellMenuUnIgnoreSub,
54 ShellMenuUnIgnoreCaseSensitive,
55 ShellMenuUnIgnore,
56 ShellMenuClipPaste,
57 ShellMenuPull,
58 ShellMenuPush,
59 ShellMenuClone,
60 ShellMenuBranch,
61 ShellMenuTag,
62 ShellMenuFormatPatch,
63 ShellMenuImportPatch,
64 ShellMenuFetch,
65 ShellMenuRebase,
66 ShellMenuStashSave,
67 ShellMenuStashApply,
68 ShellMenuStashList,
69 ShellMenuStashPop,
70 ShellMenuSubAdd,
71 ShellMenuSubSync,
72 ShellMenuSendMail,
73 ShellMenuGitSVNRebase,
74 ShellMenuGitSVNDCommit,
75 ShellMenuGitSVNDFetch,
76 ShellMenuGitSVNIgnore, //import svn ignore
77 ShellMenuSync,
78 ShellMenuBisectStart,
79 ShellMenuBisectGood,
80 ShellMenuBisectBad,
81 ShellMenuBisectReset,
82 ShellMenuRepoBrowse,
83 ShellMenuLogSubmoduleFolder,
84 ShellMenuDaemon,
85 ShellMenuMergeAbort,
86 ShellMenuDiffLater,
87 ShellMenuImportPatchDrop,
88 ShellMenuBisectSkip,
89 ShellMenuLastEntry // used to mark the menu array end
92 // helper struct for context menu entries
93 struct YesNoPair
95 DWORD yes;
96 DWORD no;
98 struct MenuInfo
100 GitCommands command; ///< the command which gets executed for this menu entry
101 unsigned __int64 menuID; ///< the menu ID to recognize the entry. NULL if it shouldn't be added to the context menu automatically
102 UINT iconID; ///< the icon to show for the menu entry
103 UINT menuTextID; ///< the text of the menu entry
104 UINT menuDescID; ///< the description text for the menu entry
105 /// the following 8 params are for checking whether the menu entry should
106 /// be added automatically, based on states of the selected item(s).
107 /// The 'yes' states must be set, the 'no' states must not be set
108 /// the four pairs are OR'ed together, the 'yes'/'no' states are AND'ed together.
109 YesNoPair first;
110 YesNoPair second;
111 YesNoPair third;
112 YesNoPair fourth;