1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2003-2008 - TortoiseGit
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software Foundation,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 { ShellMenuClone
, MENUCLONE
, IDI_CLONE
, IDS_MENUCLONE
, IDS_MENUDESCCLONE
,
27 ITEMIS_FOLDER
, ITEMIS_INSVN
|ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0, 0 },
29 { ShellMenuPull
, MENUPULL
, IDI_PULL
, IDS_MENUPULL
, IDS_MENUDESCPULL
,
30 ITEMIS_INSVN
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
32 { ShellMenuFetch
, MENUFETCH
, IDI_PULL
, IDS_MENUFETCH
, IDS_MENUDESCFETCH
,
33 ITEMIS_INSVN
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
35 { ShellMenuPush
, MENUPUSH
, IDI_PUSH
, IDS_MENUPUSH
, IDS_MENUDESCPUSH
,
36 ITEMIS_INSVN
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
38 { ShellMenuSync
, MENUSYNC
, IDI_RELOCATE
, IDS_MENUSYNC
, IDS_MENUDESCSYNC
,
39 ITEMIS_INSVN
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
42 // { ShellMenuCheckout, MENUCHECKOUT, IDI_CHECKOUT, IDS_MENUCHECKOUT, IDS_MENUDESCCHECKOUT,
43 // ITEMIS_FOLDER, ITEMIS_INSVN|ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0, 0 },
45 // { ShellMenuUpdate, MENUSUBUPDATE, IDI_UPDATE, IDS_MENUUPDATE, IDS_MENUDESCUPDATE,
46 // ITEMIS_INSVN, 0, ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0 },
48 { ShellSeparator
, 0, 0, 0, 0, 0, 0, 0, 0},
50 { ShellMenuCommit
, MENUCOMMIT
, IDI_COMMIT
, IDS_MENUCOMMIT
, IDS_MENUDESCCOMMIT
,
51 ITEMIS_INSVN
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
53 { ShellMenuGitSVNDCommit
, MENUSVNDCOMMIT
, IDI_COMMIT
, IDS_MENUSVNDCOMMIT
, IDS_MENUSVNDCOMMIT_DESC
,
54 ITEMIS_INSVN
|ITEMIS_GITSVN
, 0, ITEMIS_FOLDERINSVN
|ITEMIS_GITSVN
, 0, 0, 0, 0, 0 },
56 { ShellMenuGitSVNRebase
, MENUSVNREBASE
, IDI_REBASE
, IDS_MENUSVNREBASE
, IDS_MENUSVNREBASE_DESC
,
57 ITEMIS_INSVN
|ITEMIS_GITSVN
, 0, ITEMIS_FOLDERINSVN
|ITEMIS_GITSVN
, 0, 0, 0, 0, 0},
59 { ShellMenuGitSVNIgnore
, MENUSVNIGNORE
, IDI_IGNORE
, IDS_MENUSVNIGNORE
, IDS_MENUSVNIGNORE_DESC
,
60 ITEMIS_INSVN
|ITEMIS_GITSVN
, 0, ITEMIS_FOLDERINSVN
|ITEMIS_GITSVN
, 0, 0, 0, 0, 0},
62 { ShellSeparator
, 0, 0, 0, 0, 0, 0, 0, 0},
64 { ShellMenuDiff
, MENUDIFF
, IDI_DIFF
, IDS_MENUDIFF
, IDS_MENUDESCDIFF
,
65 ITEMIS_INSVN
|ITEMIS_ONLYONE
, 0, ITEMIS_TWO
, 0, 0, 0, 0, 0 },
67 { ShellMenuPrevDiff
, MENUPREVDIFF
, IDI_DIFF
, IDS_MENUPREVDIFF
, IDS_MENUDESCPREVDIFF
,
68 ITEMIS_INSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, 0, 0, 0, 0, 0, 0 },
70 { ShellSeparator
, 0, 0, 0, 0, 0, 0, 0, 0},
71 // { ShellMenuUrlDiff, MENUURLDIFF, IDI_DIFF, IDS_MENUURLDIFF, IDS_MENUDESCURLDIFF,
72 // ITEMIS_INSVN|ITEMIS_ONLYONE|ITEMIS_EXTENDED, 0, ITEMIS_FOLDERINSVN|ITEMIS_EXTENDED|ITEMIS_ONLYONE, 0, 0, 0, 0, 0 },
74 { ShellMenuLog
, MENULOG
, IDI_LOG
, IDS_MENULOG
, IDS_MENUDESCLOG
,
75 ITEMIS_INSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, ITEMIS_FOLDER
|ITEMIS_FOLDERINSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, ITEMIS_FOLDERINSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, 0, 0 },
77 { ShellMenuRefLog
, MENUREFLOG
, IDI_LOG
, IDS_MENUREFLOG
, IDS_MENUDESCREFLOG
,
78 ITEMIS_INSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, ITEMIS_FOLDER
|ITEMIS_FOLDERINSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, ITEMIS_FOLDERINSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, 0, 0 },
80 { ShellMenuRefBrowse
, MENUREFBROWSE
, IDI_REPOBROWSE
, IDS_MENUREFBROWSE
, IDS_MENUDESCREFBROWSE
,
81 ITEMIS_INSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, ITEMIS_FOLDER
|ITEMIS_FOLDERINSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, ITEMIS_FOLDERINSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, 0, 0 },
84 // { ShellMenuRepoBrowse, MENUREPOBROWSE, IDI_REPOBROWSE, IDS_MENUREPOBROWSE, IDS_MENUDESCREPOBROWSE,
85 // ITEMIS_ONLYONE, 0, ITEMIS_FOLDERINSVN|ITEMIS_ONLYONE, 0, 0, 0, 0, 0 },
87 { ShellMenuShowChanged
, MENUSHOWCHANGED
, IDI_SHOWCHANGED
, IDS_MENUSHOWCHANGED
, IDS_MENUDESCSHOWCHANGED
,
88 ITEMIS_INSVN
|ITEMIS_ONLYONE
, 0, ITEMIS_FOLDER
|ITEMIS_FOLDERINSVN
|ITEMIS_ONLYONE
, 0, 0, 0, 0, 0},
90 { ShellMenuRebase
, MENUREBASE
, IDI_REBASE
, IDS_MENUREBASE
, IDS_MENUREBASE
,
91 ITEMIS_INSVN
, 0, ITEMIS_FOLDER
|ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0},
93 // { ShellMenuRevisionGraph, MENUREVISIONGRAPH, IDI_REVISIONGRAPH, IDS_MENUREVISIONGRAPH, IDS_MENUDESCREVISIONGRAPH,
94 // ITEMIS_INSVN|ITEMIS_ONLYONE, ITEMIS_ADDED, ITEMIS_FOLDER|ITEMIS_FOLDERINSVN|ITEMIS_ONLYONE, ITEMIS_ADDED, 0, 0, 0, 0},
96 { ShellMenuStashSave
, MENUSTASHSAVE
, IDI_COMMIT
, IDS_MENUSTASHSAVE
, IDS_MENUSTASHSAVE
,
97 ITEMIS_INSVN
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
98 { ShellMenuStashApply
, MENUSTASHAPPLY
, IDI_RELOCATE
, IDS_MENUSTASHAPPLY
, IDS_MENUSTASHAPPLY
,
99 ITEMIS_INSVN
|ITEMIS_STASH
, 0, ITEMIS_FOLDERINSVN
|ITEMIS_STASH
, 0, 0, 0, 0, 0 },
100 { ShellMenuStashPop
, MENUSTASHPOP
, IDI_RELOCATE
, IDS_MENUSTASHPOP
, IDS_MENUSTASHPOP
,
101 ITEMIS_INSVN
|ITEMIS_STASH
, 0, ITEMIS_FOLDERINSVN
|ITEMIS_STASH
, 0, 0, 0, 0, 0 },
102 { ShellMenuStashList
, MENUSTASHAPPLY
, IDI_LOG
, IDS_MENUSTASHLIST
, IDS_MENUSTASHLIST
,
103 ITEMIS_INSVN
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
106 { ShellSeparator
, 0, 0, 0, 0, 0, 0, 0, 0},
108 { ShellMenuConflictEditor
, MENUCONFLICTEDITOR
, IDI_CONFLICT
, IDS_MENUCONFLICT
, IDS_MENUDESCCONFLICT
,
109 ITEMIS_INSVN
|ITEMIS_CONFLICTED
, ITEMIS_FOLDER
, 0, 0, 0, 0, 0, 0 },
111 { ShellMenuResolve
, MENURESOLVE
, IDI_RESOLVE
, IDS_MENURESOLVE
, IDS_MENUDESCRESOLVE
,
112 ITEMIS_INSVN
|ITEMIS_CONFLICTED
, 0, ITEMIS_INSVN
|ITEMIS_FOLDER
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0 },
115 { ShellMenuRename
, MENURENAME
, IDI_RENAME
, IDS_MENURENAME
, IDS_MENUDESCRENAME
,
116 ITEMIS_INSVN
|ITEMIS_ONLYONE
|ITEMIS_INVERSIONEDFOLDER
, 0, 0, 0, 0, 0, 0, 0 },
118 { ShellMenuRemove
, MENUREMOVE
, IDI_DELETE
, IDS_MENUREMOVE
, IDS_MENUDESCREMOVE
,
119 ITEMIS_INSVN
|ITEMIS_INVERSIONEDFOLDER
, ITEMIS_ADDED
, 0, 0, 0, 0, 0, 0 },
121 { ShellMenuRemoveKeep
, MENUREMOVEKEEP
, IDI_DELETE
, IDS_MENUREMOVEKEEP
, IDS_MENUDESCREMOVEKEEP
,
122 ITEMIS_INSVN
|ITEMIS_INVERSIONEDFOLDER
, ITEMIS_ADDED
, 0, 0, 0, 0, 0, 0 },
124 { ShellMenuRevert
, MENUREVERT
, IDI_REVERT
, IDS_MENUREVERT
, IDS_MENUDESCREVERT
,
125 ITEMIS_INSVN
, ITEMIS_NORMAL
|ITEMIS_ADDED
, ITEMIS_FOLDERINSVN
, ITEMIS_ADDED
, 0, 0, 0, 0 },
127 { ShellMenuRevert
, MENUREVERT
, IDI_REVERT
, IDS_MENUUNDOADD
, IDS_MENUDESCUNDOADD
,
128 ITEMIS_ADDED
, ITEMIS_NORMAL
, ITEMIS_FOLDERINSVN
|ITEMIS_ADDED
, 0, 0, 0, 0, 0 },
130 { ShellMenuDelUnversioned
, MENUDELUNVERSIONED
, IDI_DELUNVERSIONED
, IDS_MENUDELUNVERSIONED
, IDS_MENUDESCDELUNVERSIONED
,
131 ITEMIS_FOLDER
|ITEMIS_INSVN
, 0, ITEMIS_FOLDER
|ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
133 { ShellMenuCleanup
, MENUCLEANUP
, IDI_CLEANUP
, IDS_MENUCLEANUP
, IDS_MENUDESCCLEANUP
,
134 ITEMIS_INSVN
|ITEMIS_FOLDER
, 0, ITEMIS_FOLDERINSVN
|ITEMIS_FOLDER
, 0, 0, 0, 0, 0 },
136 // { ShellMenuLock, MENULOCK, IDI_LOCK, IDS_MENU_LOCK, IDS_MENUDESC_LOCK,
137 // ITEMIS_INSVN, ITEMIS_LOCKED|ITEMIS_ADDED, ITEMIS_FOLDERINSVN, ITEMIS_LOCKED|ITEMIS_ADDED, 0, 0, 0, 0 },
139 // { ShellMenuUnlock, MENUUNLOCK, IDI_UNLOCK, IDS_MENU_UNLOCK, IDS_MENUDESC_UNLOCK,
140 // ITEMIS_INSVN|ITEMIS_LOCKED, 0, ITEMIS_FOLDER|ITEMIS_INSVN, 0, ITEMIS_FOLDERINSVN, 0, 0, 0 },
142 // { ShellMenuUnlockForce, MENUUNLOCK, IDI_UNLOCK, IDS_MENU_UNLOCKFORCE, IDS_MENUDESC_UNLOCKFORCE,
143 // ITEMIS_INSVN|ITEMIS_LOCKED, 0, ITEMIS_FOLDER|ITEMIS_INSVN|ITEMIS_EXTENDED, 0, 0, 0, 0, 0 },
145 { ShellSeparator
, 0, 0, 0, 0, 0, 0, 0, 0},
147 // { ShellMenuCopy, MENUCOPY, IDI_COPY, IDS_MENUBRANCH, IDS_MENUDESCCOPY,
148 // ITEMIS_INSVN|ITEMIS_ONLYONE, ITEMIS_ADDED, ITEMIS_FOLDER|ITEMIS_FOLDERINSVN|ITEMIS_ONLYONE, 0, 0, 0, 0, 0 },
150 { ShellMenuSwitch
, MENUSWITCH
, IDI_SWITCH
, IDS_MENUSWITCH
, IDS_MENUDESCSWITCH
,
151 ITEMIS_INSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, ITEMIS_FOLDER
|ITEMIS_FOLDERINSVN
|ITEMIS_ONLYONE
, 0, 0, 0, 0, 0 },
153 { ShellMenuMerge
, MENUMERGE
, IDI_MERGE
, IDS_MENUMERGE
, IDS_MENUDESCMERGE
,
154 ITEMIS_INSVN
|ITEMIS_ONLYONE
, ITEMIS_ADDED
, ITEMIS_FOLDER
|ITEMIS_FOLDERINSVN
|ITEMIS_ONLYONE
, 0, 0, 0, 0, 0 },
155 // { ShellMenuMergeAll, MENUMERGEALL, IDI_MERGE, IDS_MENUMERGEALL, IDS_MENUDESCMERGEALL,
156 // ITEMIS_INSVN|ITEMIS_ONLYONE|ITEMIS_EXTENDED, ITEMIS_ADDED, ITEMIS_FOLDER|ITEMIS_FOLDERINSVN|ITEMIS_ONLYONE|ITEMIS_EXTENDED, 0, 0, 0, 0, 0 },
158 { ShellMenuBranch
, MENUCOPY
, IDI_COPY
, IDS_MENUBRANCH
, IDS_MENUDESCCOPY
,
159 ITEMIS_INSVN
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
160 { ShellMenuTag
, MENUTAG
, IDI_TAG
, IDS_MENUTAG
, IDS_MENUDESCCOPY
,
161 ITEMIS_INSVN
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
163 { ShellMenuExport
, MENUEXPORT
, IDI_EXPORT
, IDS_MENUEXPORT
, IDS_MENUDESCEXPORT
,
164 ITEMIS_INSVN
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
166 // { ShellMenuRelocate, MENURELOCATE, IDI_RELOCATE, IDS_MENURELOCATE, IDS_MENUDESCRELOCATE,
167 // ITEMIS_INSVN|ITEMIS_FOLDER|ITEMIS_FOLDERINSVN|ITEMIS_ONLYONE, 0, ITEMIS_FOLDERINSVN|ITEMIS_ONLYONE, 0, 0, 0, 0, 0 },
169 { ShellSeparator
, 0, 0, 0, 0, 0, 0, 0, 0},
171 { ShellMenuCreateRepos
, MENUCREATEREPOS
, IDI_CREATEREPOS
, IDS_MENUCREATEREPOS
, IDS_MENUDESCCREATEREPOS
,
172 ITEMIS_FOLDER
, ITEMIS_INSVN
|ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0, 0 },
174 { ShellMenuAdd
, MENUADD
, IDI_ADD
, IDS_MENUADD
, IDS_MENUDESCADD
,
175 ITEMIS_INVERSIONEDFOLDER
, ITEMIS_INSVN
, ITEMIS_INSVN
|ITEMIS_FOLDER
, 0, ITEMIS_IGNORED
, 0, ITEMIS_DELETED
, ITEMIS_FOLDER
|ITEMIS_ONLYONE
},
177 // { ShellMenuAddAsReplacement, MENUADD, IDI_ADD, IDS_MENUADDASREPLACEMENT, IDS_MENUADDASREPLACEMENT,
178 // ITEMIS_DELETED|ITEMIS_ONLYONE, ITEMIS_FOLDER, 0, 0, 0, 0, 0, 0 },
180 // { ShellMenuImport, MENUIMPORT, IDI_IMPORT, IDS_MENUIMPORT, IDS_MENUDESCIMPORT,
181 // ITEMIS_FOLDER, ITEMIS_INSVN, 0, 0, 0, 0, 0, 0 },
183 { ShellMenuBlame
, MENUBLAME
, IDI_BLAME
, IDS_MENUBLAME
, IDS_MENUDESCBLAME
,
184 ITEMIS_INSVN
|ITEMIS_ONLYONE
, ITEMIS_FOLDER
|ITEMIS_ADDED
, 0, 0, 0, 0, 0, 0 },
186 { ShellMenuIgnoreSub
, MENUIGNORE
, IDI_IGNORE
, IDS_MENUIGNORE
, IDS_MENUDESCIGNORE
,
187 ITEMIS_INVERSIONEDFOLDER
, ITEMIS_IGNORED
|ITEMIS_INSVN
, 0, 0, 0, 0, 0, 0 },
189 { ShellMenuDeleteIgnoreSub
, MENUIGNORE
, IDI_IGNORE
, IDS_MENUDELETEIGNORE
, IDS_MENUDESCDELETEIGNORE
,
190 ITEMIS_INVERSIONEDFOLDER
|ITEMIS_INSVN
, ITEMIS_IGNORED
, 0, 0, 0, 0, 0, 0 },
192 { ShellMenuUnIgnoreSub
, MENUIGNORE
, IDI_IGNORE
, IDS_MENUUNIGNORE
, IDS_MENUDESCUNIGNORE
,
193 ITEMIS_IGNORED
, 0, 0, 0, 0, 0, 0, 0 },
195 { ShellSeparator
, 0, 0, 0, 0, 0, 0, 0, 0},
197 { ShellMenuSubAdd
, MENUSUBADD
, IDI_ADD
, IDS_MENUSUBADD
, IDS_MENUSUBADD
,
198 ITEMIS_INSVN
, 0, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
200 { ShellMenuUpdateExt
, MENUUPDATEEXT
, IDI_UPDATE
, IDS_MENUUPDATEEXT
, IDS_MENUDESCUPDATEEXT
,
201 ITEMIS_INSVN
|ITEMIS_FOLDER
|ITEMIS_SUBMODULE
, 0, 0, 0, 0, 0, 0, 0 },
203 { ShellMenuSubSync
, MENUSUBSYNC
, IDI_MENUSYNC
, IDS_MENUSUBSYNC
, IDS_MENUSUBSYNC
,
204 ITEMIS_INSVN
|ITEMIS_FOLDER
|ITEMIS_SUBMODULE
, 0, 0, 0, 0, 0, 0, 0 },
208 { ShellSeparator
, 0, 0, 0, 0, 0, 0, 0, 0},
210 // { ShellMenuCherryPick, MENUCHERRYPICK, IDI_CREATEPATCH, IDS_MENUCHERRYPICK, IDS_MENUDESCCREATEPATCH,
211 // ITEMIS_INSVN, ITEMIS_NORMAL, ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0 },
213 { ShellMenuFormatPatch
, MENUFORMATPATCH
, IDI_CREATEPATCH
, IDS_MENUFORMATPATCH
, IDS_MENUDESCCREATEPATCH
,
214 ITEMIS_INSVN
, ITEMIS_NORMAL
, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
216 { ShellMenuImportPatch
, MENUIMPORTPATCH
, IDI_PATCH
, IDS_MENUIMPORTPATCH
, IDS_MENUDESCIMPORTPATCH
,
217 ITEMIS_INSVN
, ITEMIS_NORMAL
, ITEMIS_FOLDERINSVN
, 0, ITEMIS_PATCHFILE
, 0, 0, 0 },
220 { ShellMenuCreatePatch
, MENUCREATEPATCH
, IDI_CREATEPATCH
, IDS_MENUCREATEPATCH
, IDS_MENUDESCCREATEPATCH
,
221 ITEMIS_INSVN
, ITEMIS_NORMAL
, ITEMIS_FOLDERINSVN
, 0, 0, 0, 0, 0 },
223 { ShellMenuApplyPatch
, MENUAPPLYPATCH
, IDI_PATCH
, IDS_MENUAPPLYPATCH
, IDS_MENUDESCAPPLYPATCH
,
224 ITEMIS_INSVN
|ITEMIS_FOLDER
|ITEMIS_FOLDERINSVN
, ITEMIS_ADDED
, ITEMIS_ONLYONE
|ITEMIS_PATCHFILE
, 0, ITEMIS_FOLDERINSVN
, ITEMIS_ADDED
, 0, 0 },
226 { ShellMenuSendMail
, MENUSENDMAIL
, IDI_MENUSENDMAIL
, IDS_MENUSENDMAIL
, IDS_MENUDESSENDMAIL
,
227 ITEMIS_PATCHFILE
, 0, 0, 0, 0, 0, 0, 0 },
229 // { ShellMenuProperties, MENUPROPERTIES, IDI_PROPERTIES, IDS_MENUPROPERTIES, IDS_MENUDESCPROPERTIES,
230 // ITEMIS_INSVN, 0, ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0 },
232 { ShellSeparator
, 0, 0, 0, 0, 0, 0, 0, 0},
233 { ShellMenuClipPaste
, MENUCLIPPASTE
, IDI_CLIPPASTE
, IDS_MENUCLIPPASTE
, IDS_MENUDESCCLIPPASTE
,
234 ITEMIS_INSVN
|ITEMIS_FOLDER
|ITEMIS_PATHINCLIPBOARD
, 0, 0, 0, 0, 0, 0, 0 },
236 { ShellSeparator
, 0, 0, 0, 0, 0, 0, 0, 0},
238 { ShellMenuSettings
, MENUSETTINGS
, IDI_SETTINGS
, IDS_MENUSETTINGS
, IDS_MENUDESCSETTINGS
,
239 ITEMIS_FOLDER
, 0, 0, ITEMIS_FOLDER
, 0, 0, 0, 0 },
240 { ShellMenuHelp
, MENUHELP
, IDI_HELP
, IDS_MENUHELP
, IDS_MENUDESCHELP
,
241 ITEMIS_FOLDER
, 0, 0, ITEMIS_FOLDER
, 0, 0, 0, 0 },
242 { ShellMenuAbout
, MENUABOUT
, IDI_ABOUT
, IDS_MENUABOUT
, IDS_MENUDESCABOUT
,
243 ITEMIS_FOLDER
, 0, 0, ITEMIS_FOLDER
, 0, 0, 0, 0 },
245 // the sub menus - they're not added like the the commands, therefore the menu ID is zero
246 // but they still need to be in here, because we use the icon and string information anyway.
247 { ShellSubMenu
, NULL
, IDI_APP
, IDS_MENUSUBMENU
, 0,
248 0, 0, 0, 0, 0, 0, 0, 0 },
249 { ShellSubMenuFile
, NULL
, IDI_MENUFILE
, IDS_MENUSUBMENU
, 0,
250 0, 0, 0, 0, 0, 0, 0, 0 },
251 { ShellSubMenuFolder
, NULL
, IDI_MENUFOLDER
, IDS_MENUSUBMENU
, 0,
252 0, 0, 0, 0, 0, 0, 0, 0 },
253 { ShellSubMenuLink
, NULL
, IDI_MENULINK
, IDS_MENUSUBMENU
, 0,
254 0, 0, 0, 0, 0, 0, 0, 0 },
255 { ShellSubMenuMultiple
, NULL
, IDI_MENUMULTIPLE
, IDS_MENUSUBMENU
, 0,
256 0, 0, 0, 0, 0, 0, 0, 0 },
257 // mark the last entry to tell the loop where to stop iterating over this array
258 { ShellMenuLastEntry
, 0, 0, 0, 0,
259 0, 0, 0, 0, 0, 0, 0, 0 },