/src/TortoiseShell/MenuInfo.cpp
C++ | 247 lines | 145 code | 72 blank | 30 comment | 0 complexity | a4627e4f2c9ae2d0d241c871069dce56 MD5 | raw file
- // TortoiseGit - a Windows shell extension for easy version control
-
- // Copyright (C) 2008-2014 - TortoiseGit
- // Copyright (C) 2003-2008 - TortoiseSVN
-
- // This program is free software; you can redistribute it and/or
- // modify it under the terms of the GNU General Public License
- // as published by the Free Software Foundation; either version 2
- // of the License, or (at your option) any later version.
-
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU General Public License for more details.
-
- // You should have received a copy of the GNU General Public License
- // along with this program; if not, write to the Free Software Foundation,
- // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- //
- #include "stdafx.h"
- #include "menuinfo.h"
- #include "resource.h"
- #include "Globals.h"
-
- // defaults are specified in ShellCache.h
-
- MenuInfo menuInfo[] =
- {
- { ShellMenuClone, MENUCLONE, IDI_CLONE, IDS_MENUCLONE, IDS_MENUDESCCLONE,
- {ITEMIS_FOLDER, ITEMIS_INGIT|ITEMIS_FOLDERINGIT|ITEMIS_BAREREPO}, {ITEMIS_FOLDER|ITEMIS_IGNORED, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuPull, MENUPULL, IDI_PULL, IDS_MENUPULL, IDS_MENUDESCPULL,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, ITEMIS_BISECT|ITEMIS_MERGEACTIVE}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuFetch, MENUFETCH, IDI_PULL, IDS_MENUFETCH, IDS_MENUDESCFETCH,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {ITEMIS_BAREREPO, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuPush, MENUPUSH, IDI_PUSH, IDS_MENUPUSH, IDS_MENUDESCPUSH,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {ITEMIS_BAREREPO, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuSync, MENUSYNC, IDI_RELOCATE, IDS_MENUSYNC, IDS_MENUDESCSYNC,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, ITEMIS_BISECT|ITEMIS_MERGEACTIVE}, {0, 0}, {0, 0}, {0, 0} },
-
-
- { ShellSeparator, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuCommit, MENUCOMMIT, IDI_COMMIT, IDS_MENUCOMMIT, IDS_MENUDESCCOMMIT,
- {ITEMIS_INGIT, 0}, {ITEMIS_FOLDERINGIT, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuGitSVNDCommit, MENUSVNDCOMMIT, IDI_COMMIT, IDS_MENUSVNDCOMMIT, IDS_MENUSVNDCOMMIT_DESC,
- {ITEMIS_INGIT|ITEMIS_GITSVN, ITEMIS_BISECT|ITEMIS_MERGEACTIVE}, {ITEMIS_FOLDERINGIT|ITEMIS_GITSVN, ITEMIS_BISECT|ITEMIS_MERGEACTIVE}, {0, 0}, {0, 0} },
-
- { ShellMenuGitSVNRebase, MENUSVNREBASE, IDI_REBASE, IDS_MENUSVNREBASE, IDS_MENUSVNREBASE_DESC,
- {ITEMIS_FOLDERINGIT|ITEMIS_GITSVN|ITEMIS_ONLYONE, ITEMIS_BISECT|ITEMIS_MERGEACTIVE}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuGitSVNDFetch, MENUSVNFETCH, IDI_PULL, IDS_MENUSVNFETCH, IDS_MENUDESCSVNFETCH,
- {ITEMIS_FOLDERINGIT|ITEMIS_GITSVN|ITEMIS_ONLYONE, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuGitSVNIgnore, MENUSVNIGNORE, IDI_IGNORE, IDS_MENUSVNIGNORE, IDS_MENUSVNIGNORE_DESC,
- {ITEMIS_FOLDERINGIT|ITEMIS_GITSVN|ITEMIS_ONLYONE, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellSeparator, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuDiff, MENUDIFF, IDI_DIFF, IDS_MENUDIFF, IDS_MENUDESCDIFF,
- {ITEMIS_INGIT|ITEMIS_ONLYONE, 0}, {ITEMIS_TWO, ITEMIS_FOLDER}, {0, 0}, {0, 0} },
-
- { ShellMenuDiffLater, MENUDIFFLATER, IDI_DIFF, IDS_MENUDIFFLATER, IDS_MENUDESCDIFFLATER,
- {ITEMIS_ONLYONE, ITEMIS_FOLDER}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuPrevDiff, MENUPREVDIFF, IDI_DIFF, IDS_MENUPREVDIFF, IDS_MENUDESCPREVDIFF,
- {ITEMIS_INGIT|ITEMIS_ONLYONE, ITEMIS_ADDED}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellSeparator, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuLog, MENULOG, IDI_LOG, IDS_MENULOG, IDS_MENUDESCLOG,
- {ITEMIS_INGIT|ITEMIS_ONLYONE, ITEMIS_ADDED}, {ITEMIS_FOLDER|ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, ITEMIS_ADDED}, {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, ITEMIS_ADDED}, {ITEMIS_BAREREPO, 0} },
-
- { ShellMenuLogSubmoduleFolder, MENULOGSUBMODULE, IDI_LOG, IDS_MENULOGSUBMODULE, IDS_MENUDESCLOG,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE|ITEMIS_WCROOT|ITEMIS_SUBMODULE, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuRefLog, MENUREFLOG, IDI_LOG, IDS_MENUREFLOG, IDS_MENUDESCREFLOG,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {ITEMIS_BAREREPO, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuRefBrowse, MENUREFBROWSE, IDI_REPOBROWSE, IDS_MENUREFBROWSE, IDS_MENUDESCREFBROWSE,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {ITEMIS_BAREREPO, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuDaemon, MENUDAEMON, IDI_DAEMON, IDS_MENUDAEMON, IDS_MENUDESCDAEMON,
- {ITEMIS_INGIT|ITEMIS_ONLYONE, ITEMIS_ADDED}, {ITEMIS_FOLDER|ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, ITEMIS_ADDED}, {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, ITEMIS_ADDED}, {ITEMIS_BAREREPO, 0} },
-
- { ShellMenuRevisionGraph, MENUREVISIONGRAPH, IDI_REVISIONGRAPH, IDS_MENUREVISIONGRAPH, IDS_MENUDESCREVISIONGRAPH,
- {ITEMIS_INGIT|ITEMIS_ONLYONE, ITEMIS_ADDED}, {ITEMIS_FOLDER|ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, ITEMIS_ADDED}, {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, ITEMIS_ADDED}, {ITEMIS_BAREREPO, 0} },
-
- { ShellMenuRepoBrowse, MENUREPOBROWSE, IDI_REPOBROWSE, IDS_MENUREPOBROWSE, IDS_MENUDESCREPOBROWSE,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {ITEMIS_BAREREPO|ITEMIS_ONLYONE, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuShowChanged, MENUSHOWCHANGED, IDI_SHOWCHANGED, IDS_MENUSHOWCHANGED, IDS_MENUDESCSHOWCHANGED,
- {ITEMIS_INGIT, 0}, {ITEMIS_FOLDER|ITEMIS_FOLDERINGIT, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuRebase, MENUREBASE, IDI_REBASE, IDS_MENUREBASE, IDS_MENUREBASE,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, ITEMIS_BISECT|ITEMIS_MERGEACTIVE}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuStashSave, MENUSTASHSAVE, IDI_COMMIT, IDS_MENUSTASHSAVE, IDS_MENUSTASHSAVE,
- {ITEMIS_INGIT|ITEMIS_ONLYONE, ITEMIS_MERGEACTIVE}, {0, 0}, {0, 0}, {0, 0} },
- { ShellMenuStashApply, MENUSTASHAPPLY, IDI_RELOCATE, IDS_MENUSTASHAPPLY, IDS_MENUSTASHAPPLY,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE|ITEMIS_STASH, 0}, {0, 0}, {0, 0}, {0, 0} },
- { ShellMenuStashPop, MENUSTASHPOP, IDI_RELOCATE, IDS_MENUSTASHPOP, IDS_MENUSTASHPOP,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE|ITEMIS_STASH, 0}, {0, 0}, {0, 0}, {0, 0} },
- { ShellMenuStashList, MENUSTASHLIST, IDI_LOG, IDS_MENUSTASHLIST, IDS_MENUSTASHLIST,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE|ITEMIS_STASH, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellSeparator, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuBisectStart, MENUBISECT, IDI_BISECT, IDS_MENUBISECTSTART, IDS_MENUDESCBISECTSTART,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, ITEMIS_BISECT|ITEMIS_MERGEACTIVE}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuBisectGood, MENUBISECT, IDI_THUMB_UP, IDS_MENUBISECTGOOD, IDS_MENUDESCBISECTGOOD,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE|ITEMIS_BISECT, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuBisectBad, MENUBISECT, IDI_THUMB_DOWN, IDS_MENUBISECTBAD, IDS_MENUDESCBISECTBAD,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE|ITEMIS_BISECT, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuBisectReset, MENUBISECT, IDI_BISECT_RESET, IDS_MENUBISECTRESET, IDS_MENUDESCBISECTRESET,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE|ITEMIS_BISECT, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellSeparator, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuConflictEditor, MENUCONFLICTEDITOR, IDI_CONFLICT, IDS_MENUCONFLICT, IDS_MENUDESCCONFLICT,
- {ITEMIS_INGIT|ITEMIS_CONFLICTED, ITEMIS_FOLDER}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuResolve, MENURESOLVE, IDI_RESOLVE, IDS_MENURESOLVE, IDS_MENUDESCRESOLVE,
- {ITEMIS_INGIT|ITEMIS_CONFLICTED, 0}, {ITEMIS_INGIT|ITEMIS_FOLDER, 0}, {ITEMIS_FOLDERINGIT, 0}, {0, 0} },
-
- { ShellMenuMergeAbort, MENUMERGE, IDI_MERGEABORT, IDS_MENUMERGEABORT, IDS_MENUDESCMERGEABORT,
- {ITEMIS_INGIT|ITEMIS_MERGEACTIVE, 0}, {ITEMIS_FOLDERINGIT|ITEMIS_MERGEACTIVE, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuRename, MENURENAME, IDI_RENAME, IDS_MENURENAME, IDS_MENUDESCRENAME,
- {ITEMIS_INGIT|ITEMIS_ONLYONE|ITEMIS_INVERSIONEDFOLDER, ITEMIS_ADDED|ITEMIS_WCROOT}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuRemove, MENUREMOVE, IDI_DELETE, IDS_MENUREMOVE, IDS_MENUDESCREMOVE,
- {ITEMIS_INGIT|ITEMIS_INVERSIONEDFOLDER, ITEMIS_ADDED|ITEMIS_WCROOT}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuRemoveKeep, MENUREMOVEKEEP, IDI_DELETE, IDS_MENUREMOVEKEEP, IDS_MENUDESCREMOVEKEEP,
- {ITEMIS_INGIT|ITEMIS_INVERSIONEDFOLDER, ITEMIS_ADDED|ITEMIS_WCROOT}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuRevert, MENUREVERT, IDI_REVERT, IDS_MENUREVERT, IDS_MENUDESCREVERT,
- {ITEMIS_INGIT, ITEMIS_NORMAL}, {ITEMIS_FOLDERINGIT, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuCleanup, MENUCLEANUP, IDI_CLEANUP, IDS_MENUCLEANUP, IDS_MENUDESCCLEANUP,
- {ITEMIS_FOLDERINGIT|ITEMIS_FOLDER, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellSeparator, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- // { ShellMenuCopy, MENUCOPY, IDI_COPY, IDS_MENUBRANCH, IDS_MENUDESCCOPY,
- // ITEMIS_INGIT|ITEMIS_ONLYONE, ITEMIS_ADDED }, {ITEMIS_FOLDER|ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuSwitch, MENUSWITCH, IDI_SWITCH, IDS_MENUSWITCH, IDS_MENUDESCSWITCH,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuMerge, MENUMERGE, IDI_MERGE, IDS_MENUMERGE, IDS_MENUDESCMERGE,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, ITEMIS_BISECT|ITEMIS_MERGEACTIVE}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuBranch, MENUCOPY, IDI_COPY, IDS_MENUBRANCH, IDS_MENUDESCCOPY,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {0, 0}, {0, 0}, {0, 0} },
- { ShellMenuTag, MENUTAG, IDI_TAG, IDS_MENUTAG, IDS_MENUDESCCOPY,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuExport, MENUEXPORT, IDI_EXPORT, IDS_MENUEXPORT, IDS_MENUDESCEXPORT,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellSeparator, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuCreateRepos, MENUCREATEREPOS, IDI_CREATEREPOS, IDS_MENUCREATEREPOS, IDS_MENUDESCCREATEREPOS,
- {ITEMIS_FOLDER, ITEMIS_INGIT|ITEMIS_FOLDERINGIT|ITEMIS_BAREREPO}, {ITEMIS_FOLDER|ITEMIS_IGNORED, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuAdd, MENUADD, IDI_ADD, IDS_MENUADD, IDS_MENUDESCADD,
- {ITEMIS_INVERSIONEDFOLDER, ITEMIS_INGIT}, {ITEMIS_INGIT|ITEMIS_FOLDER, 0}, {ITEMIS_IGNORED, 0}, {ITEMIS_DELETED, ITEMIS_FOLDER|ITEMIS_ONLYONE} },
-
- { ShellMenuBlame, MENUBLAME, IDI_BLAME, IDS_MENUBLAME, IDS_MENUDESCBLAME,
- {ITEMIS_INGIT|ITEMIS_ONLYONE, ITEMIS_FOLDER|ITEMIS_ADDED}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuIgnoreSub, MENUIGNORE, IDI_IGNORE, IDS_MENUIGNORE, IDS_MENUDESCIGNORE,
- {ITEMIS_INVERSIONEDFOLDER, ITEMIS_IGNORED|ITEMIS_INGIT|ITEMIS_WCROOT}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuDeleteIgnoreSub, MENUIGNORE, IDI_IGNORE, IDS_MENUDELETEIGNORE, IDS_MENUDESCDELETEIGNORE,
- {ITEMIS_INVERSIONEDFOLDER|ITEMIS_INGIT, ITEMIS_IGNORED|ITEMIS_WCROOT}, {0, 0}, {0, 0}, {0, 0} },
-
- // no support for this atm since we do not use "ignoredprops"-vector in ContextMenu.cpp
- // { ShellMenuUnIgnoreSub, MENUIGNORE, IDI_IGNORE, IDS_MENUUNIGNORE, IDS_MENUDESCUNIGNORE,
- // {ITEMIS_IGNORED, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellSeparator, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuSubAdd, MENUSUBADD, IDI_ADD, IDS_MENUSUBADD, IDS_MENUSUBADD,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuUpdateExt, MENUUPDATEEXT, IDI_UPDATE, IDS_MENUUPDATEEXT, IDS_MENUDESCUPDATEEXT,
- {ITEMIS_FOLDERINGIT|ITEMIS_SUBMODULECONTAINER, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuSubSync, MENUSUBSYNC, IDI_MENUSYNC, IDS_MENUSUBSYNC, IDS_MENUSUBSYNC,
- {ITEMIS_FOLDERINGIT|ITEMIS_SUBMODULECONTAINER, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellSeparator, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuFormatPatch, MENUFORMATPATCH, IDI_CREATEPATCH, IDS_MENUFORMATPATCH, IDS_MENUDESCCREATEPATCH,
- {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- // Really apply patch
- { ShellMenuImportPatch, MENUIMPORTPATCH, IDI_PATCH, IDS_MENUIMPORTPATCH, IDS_MENUDESCIMPORTPATCH,
- {ITEMIS_PATCHFILE, 0}, {ITEMIS_FOLDERINGIT|ITEMIS_ONLYONE, 0}, {0, 0}, {0, 0} },
-
- // Review Patch
- { ShellMenuApplyPatch, MENUAPPLYPATCH, IDI_PATCH, IDS_MENUAPPLYPATCH, IDS_MENUDESCAPPLYPATCH,
- {ITEMIS_PATCHFILE|ITEMIS_ONLYONE, 0}, {ITEMIS_EXTENDED|ITEMIS_ONLYONE, ITEMIS_FOLDER}, {0, 0}, {0, 0} },
-
- { ShellMenuSendMail, MENUSENDMAIL, IDI_MENUSENDMAIL, IDS_MENUSENDMAIL, IDS_MENUDESSENDMAIL,
- {ITEMIS_PATCHFILE, 0}, {ITEMIS_EXTENDED, ITEMIS_FOLDER}, {0, 0}, {0, 0} },
-
- // we do not support paste atm
- // { ShellSeparator, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
- // { ShellMenuClipPaste, MENUCLIPPASTE, IDI_CLIPPASTE, IDS_MENUCLIPPASTE, IDS_MENUDESCCLIPPASTE,
- // {ITEMIS_INGIT|ITEMIS_FOLDER|ITEMIS_PATHINCLIPBOARD, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellSeparator, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
-
- { ShellMenuSettings, MENUSETTINGS, IDI_SETTINGS, IDS_MENUSETTINGS, IDS_MENUDESCSETTINGS,
- {ITEMIS_FOLDER, 0}, {0, ITEMIS_FOLDER}, {0, 0}, {0, 0} },
- { ShellMenuHelp, MENUHELP, IDI_HELP, IDS_MENUHELP, IDS_MENUDESCHELP,
- {ITEMIS_FOLDER, 0}, {0, ITEMIS_FOLDER}, {0, 0}, {0, 0} },
- { ShellMenuAbout, MENUABOUT, IDI_ABOUT, IDS_MENUABOUT, IDS_MENUDESCABOUT,
- {ITEMIS_FOLDER, 0}, {0, ITEMIS_FOLDER}, {0, 0}, {0, 0} },
-
- // the sub menus - they're not added like the the commands, therefore the menu ID is zero
- // but they still need to be in here, because we use the icon and string information anyway.
- { ShellSubMenu, NULL, IDI_APP, IDS_MENUSUBMENU, 0,
- {0, 0}, {0, 0}, {0, 0}, {0, 0} },
- { ShellSubMenuFile, NULL, IDI_MENUFILE, IDS_MENUSUBMENU, 0,
- {0, 0}, {0, 0}, {0, 0}, {0, 0} },
- { ShellSubMenuFolder, NULL, IDI_MENUFOLDER, IDS_MENUSUBMENU, 0,
- {0, 0}, {0, 0}, {0, 0}, {0, 0} },
- { ShellSubMenuLink, NULL, IDI_MENULINK, IDS_MENUSUBMENU, 0,
- {0, 0}, {0, 0}, {0, 0}, {0, 0} },
- { ShellSubMenuMultiple, NULL, IDI_MENUMULTIPLE, IDS_MENUSUBMENU, 0,
- {0, 0}, {0, 0}, {0, 0}, {0, 0} },
- // mark the last entry to tell the loop where to stop iterating over this array
- { ShellMenuLastEntry, 0, 0, 0, 0,
- {0, 0}, {0, 0}, {0, 0}, {0, 0} },
- };