From 55b0ac29e9606faad86e33f6966bd7ed4da2b78d Mon Sep 17 00:00:00 2001 From: Frank Li Date: Sat, 23 Jan 2010 11:55:31 +0800 Subject: [PATCH 1/1] Use Registery config extern menu Signed-off-by: Frank Li --- src/TortoiseProc/TortoiseProc.vcproj | 25 +++++++++++++------------ src/TortoiseShell/ContextMenu.cpp | 29 +++++++++++++++++++---------- src/TortoiseShell/Globals.h | 2 +- src/TortoiseShell/ShellCache.h | 24 +++++++++++++++++++++++- 4 files changed, 56 insertions(+), 24 deletions(-) diff --git a/src/TortoiseProc/TortoiseProc.vcproj b/src/TortoiseProc/TortoiseProc.vcproj index ac6001a..b5cf793 100644 --- a/src/TortoiseProc/TortoiseProc.vcproj +++ b/src/TortoiseProc/TortoiseProc.vcproj @@ -352,6 +352,7 @@ IgnoreDefaultLibraryNames="" DelayLoadDLLs="gdiplus.dll" GenerateDebugInformation="true" + GenerateMapFile="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" @@ -588,11 +589,11 @@ > >32); + + unsigned __int64 ext=(MENUSVNIGNORE|MENUREFLOG|MENUREFBROWSE|MENUSTASHAPPLY|MENUDELUNVERSIONED|MENUSUBSYNC|MENUCREATEPATCH); + menuextlow = CRegStdWORD(_T("Software\\TortoiseGit\\ContextMenuExtEntriesLow"), ext&0xFFFFFFFF ); + menuexthigh = CRegStdWORD(_T("Software\\TortoiseGit\\ContextMenuExtEntriesHigh"), ext>>32 ); + menumasklow_lm = CRegStdWORD(_T("Software\\TortoiseGit\\ContextMenuEntriesMaskLow"), 0, FALSE, HKEY_LOCAL_MACHINE); menumaskhigh_lm = CRegStdWORD(_T("Software\\TortoiseGit\\ContextMenuEntriesMaskHigh"), 0, FALSE, HKEY_LOCAL_MACHINE); menumasklow_cu = CRegStdWORD(_T("Software\\TortoiseGit\\ContextMenuEntriesMaskLow"), 0); @@ -176,6 +181,20 @@ public: temp |= unsigned __int64(DWORD(menulayoutlow)); return temp; } + + unsigned __int64 GetMenuExt() + { + if ((GetTickCount() - REGISTRYTIMEOUT) > exticker) + { + exticker = GetTickCount(); + menuextlow.read(); + menuexthigh.read(); + } + unsigned __int64 temp = unsigned __int64(DWORD(menuexthigh))<<32; + temp |= unsigned __int64(DWORD(menuextlow)); + return temp; + } + unsigned __int64 GetMenuMask() { if ((GetTickCount() - REGISTRYTIMEOUT) > menumaskticker) @@ -603,8 +622,10 @@ private: CRegStdWORD drivefloppy; CRegStdWORD driveram; CRegStdWORD driveunknown; - CRegStdWORD menulayoutlow; + CRegStdWORD menulayoutlow; /* Fist level mask */ CRegStdWORD menulayouthigh; + CRegStdWORD menuextlow; /* ext menu mask */ + CRegStdWORD menuexthigh; CRegStdWORD simplecontext; CRegStdWORD menumasklow_lm; CRegStdWORD menumaskhigh_lm; @@ -628,6 +649,7 @@ private: DWORD driveticker; DWORD drivetypeticker; DWORD layoutticker; + DWORD exticker; DWORD menumaskticker; DWORD langticker; DWORD blockstatusticker; -- 2.11.0