diff --git a/Src/StartMenu/StartMenuDLL/MenuContainer.cpp b/Src/StartMenu/StartMenuDLL/MenuContainer.cpp index 29413dd..8fc20af 100644 --- a/Src/StartMenu/StartMenuDLL/MenuContainer.cpp +++ b/Src/StartMenu/StartMenuDLL/MenuContainer.cpp @@ -315,6 +315,7 @@ bool CMenuContainer::s_bShowTopEmpty=false; bool CMenuContainer::s_bNoDragDrop=false; bool CMenuContainer::s_bNoContextMenu=false; bool CMenuContainer::s_bExpandLinks=false; +bool CMenuContainer::s_bSingleClickFolders=false; bool CMenuContainer::s_bLogicalSort=false; bool CMenuContainer::s_bExtensionSort=false; bool CMenuContainer::s_bAllPrograms=false; @@ -6823,7 +6824,7 @@ LRESULT CMenuContainer::OnLButtonUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BO const MenuItem &item=m_Items[index]; POINT pt2=pt; ClientToScreen(&pt2); - if (!item.bFolder) + if (!item.bFolder || (s_bSingleClickFolders && item.id!=MENU_PROGRAMS)) // never open All Programs link with single click { if (item.jumpIndex>=0 && m_bHotArrow) { @@ -7672,6 +7673,7 @@ HWND CMenuContainer::ToggleStartMenu( int taskbarId, bool bKeyboard, bool bAllPr g_ItemManager.ResetTempIcons(); s_ScrollMenus=GetSettingInt(L"ScrollType"); s_bExpandLinks=GetSettingBool(L"ExpandFolderLinks"); + s_bSingleClickFolders=GetSettingBool(L"SingleClickFolders"); s_bLogicalSort=GetSettingBool(L"NumericSort"); s_MaxRecentDocuments=GetSettingInt(L"MaxRecentDocuments"); s_ShellFormat=RegisterClipboardFormat(CFSTR_SHELLIDLIST); diff --git a/Src/StartMenu/StartMenuDLL/MenuContainer.h b/Src/StartMenu/StartMenuDLL/MenuContainer.h index 696e8db..ad34beb 100644 --- a/Src/StartMenu/StartMenuDLL/MenuContainer.h +++ b/Src/StartMenu/StartMenuDLL/MenuContainer.h @@ -876,6 +876,7 @@ private: static bool s_bNoDragDrop; // disables drag/drop static bool s_bNoContextMenu; // disables the context menu static bool s_bExpandLinks; // expand links to folders + static bool s_bSingleClickFolders; // open links to folders with one click instead of two static bool s_bLogicalSort; // use StrCmpLogical instead of CompareString static bool s_bExtensionSort; // sort file names by extension static bool s_bAllPrograms; // this is the All Programs menu of the Windows start menu diff --git a/Src/StartMenu/StartMenuDLL/SettingsUI.cpp b/Src/StartMenu/StartMenuDLL/SettingsUI.cpp index 54007e9..8a7b7b2 100644 --- a/Src/StartMenu/StartMenuDLL/SettingsUI.cpp +++ b/Src/StartMenu/StartMenuDLL/SettingsUI.cpp @@ -4313,6 +4313,7 @@ CSetting g_Settings[]={ {L"UserNameCommand",CSetting::TYPE_STRING,IDS_NAME_COMMAND,IDS_NAME_COMMAND_TIP,L"control nusrmgr.cpl"}, {L"SearchFilesCommand",CSetting::TYPE_STRING,IDS_SEARCH_COMMAND,IDS_SEARCH_COMMAND_TIP,L"search-ms:",CSetting::FLAG_MENU_CLASSIC_BOTH}, {L"ExpandFolderLinks",CSetting::TYPE_BOOL,IDS_EXPAND_LINKS,IDS_EXPAND_LINKS_TIP,1}, + {L"SingleClickFolders",CSetting::TYPE_BOOL,IDS_NO_DBLCLICK,IDS_NO_DBLCLICK_TIP,0}, {L"EnableTouch",CSetting::TYPE_BOOL,IDS_ENABLE_TOUCH,IDS_ENABLE_TOUCH_TIP,1}, {L"EnableAccessibility",CSetting::TYPE_BOOL,IDS_ACCESSIBILITY,IDS_ACCESSIBILITY_TIP,1}, {L"ShowNextToTaskbar",CSetting::TYPE_BOOL,IDS_NEXTTASKBAR,IDS_NEXTTASKBAR_TIP,0}, diff --git a/Src/StartMenu/StartMenuDLL/StartMenuDLL.rc b/Src/StartMenu/StartMenuDLL/StartMenuDLL.rc index 405d5aa..6e35344 100644 --- a/Src/StartMenu/StartMenuDLL/StartMenuDLL.rc +++ b/Src/StartMenu/StartMenuDLL/StartMenuDLL.rc @@ -1295,6 +1295,12 @@ BEGIN IDS_CLEAR_CACHE "Clear cached information" END +STRINGTABLE +BEGIN + IDS_NO_DBLCLICK "Single-click to open folder shortcuts" + IDS_NO_DBLCLICK_TIP "When this is checked, single-clicking shortcuts (links) to folders will open them in explorer. Hovering over the shortcut will still expand sub-menus" +END + #endif // English (U.S.) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/Src/StartMenu/StartMenuDLL/resource.h b/Src/StartMenu/StartMenuDLL/resource.h index ca08926..2d36508 100644 --- a/Src/StartMenu/StartMenuDLL/resource.h +++ b/Src/StartMenu/StartMenuDLL/resource.h @@ -760,6 +760,8 @@ #define IDS_HOR_OFFSET_TIP 3663 #define IDS_VERT_OFFSET 3664 #define IDS_VERT_OFFSET_TIP 3665 +#define IDS_NO_DBLCLICK 3666 +#define IDS_NO_DBLCLICK_TIP 3667 #define IDS_STRING7001 7001 #define IDS_STRING7002 7002 #define IDS_STRING7003 7003