https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8f3079c67f85f61727f6f8...
commit 8f3079c67f85f61727f6f8a3cfaaa7d42264702e Author: Katayama Hirofumi MZ katayama.hirofumi.mz@gmail.com AuthorDate: Thu Apr 30 17:09:14 2020 +0900 Commit: GitHub noreply@github.com CommitDate: Thu Apr 30 17:09:14 2020 +0900
[SHELL32][EXPLORER] Improve Recent Documents of Start Menu (#2648)
Improve Recent Documents of Start Menu. Add items of "My Documents" and "My Pictures" into Recent menu item. CORE-3588, CORE-11483 --- dll/win32/shell32/lang/bg-BG.rc | 10 +++ dll/win32/shell32/lang/ca-ES.rc | 10 +++ dll/win32/shell32/lang/cs-CZ.rc | 10 +++ dll/win32/shell32/lang/da-DK.rc | 10 +++ dll/win32/shell32/lang/de-DE.rc | 10 +++ dll/win32/shell32/lang/el-GR.rc | 10 +++ dll/win32/shell32/lang/en-GB.rc | 10 +++ dll/win32/shell32/lang/en-US.rc | 10 +++ dll/win32/shell32/lang/es-ES.rc | 10 +++ dll/win32/shell32/lang/et-EE.rc | 10 +++ dll/win32/shell32/lang/fi-FI.rc | 10 +++ dll/win32/shell32/lang/fr-FR.rc | 10 +++ dll/win32/shell32/lang/he-IL.rc | 10 +++ dll/win32/shell32/lang/hi-IN.rc | 10 +++ dll/win32/shell32/lang/hu-HU.rc | 10 +++ dll/win32/shell32/lang/id-ID.rc | 10 +++ dll/win32/shell32/lang/it-IT.rc | 10 +++ dll/win32/shell32/lang/ja-JP.rc | 10 +++ dll/win32/shell32/lang/ko-KR.rc | 10 +++ dll/win32/shell32/lang/nl-NL.rc | 10 +++ dll/win32/shell32/lang/no-NO.rc | 10 +++ dll/win32/shell32/lang/pl-PL.rc | 10 +++ dll/win32/shell32/lang/pt-BR.rc | 10 +++ dll/win32/shell32/lang/pt-PT.rc | 10 +++ dll/win32/shell32/lang/ro-RO.rc | 10 +++ dll/win32/shell32/lang/ru-RU.rc | 10 +++ dll/win32/shell32/lang/sk-SK.rc | 10 +++ dll/win32/shell32/lang/sl-SI.rc | 10 +++ dll/win32/shell32/lang/sq-AL.rc | 10 +++ dll/win32/shell32/lang/sv-SE.rc | 10 +++ dll/win32/shell32/lang/tr-TR.rc | 10 +++ dll/win32/shell32/lang/uk-UA.rc | 10 +++ dll/win32/shell32/lang/zh-CN.rc | 10 +++ dll/win32/shell32/lang/zh-TW.rc | 10 +++ dll/win32/shell32/shellmenu/CMenuToolbars.cpp | 2 +- dll/win32/shell32/shellmenu/CStartMenu.cpp | 123 ++++++++++++++++++++++---- dll/win32/shell32/shresdef.h | 4 +- 37 files changed, 449 insertions(+), 20 deletions(-)
diff --git a/dll/win32/shell32/lang/bg-BG.rc b/dll/win32/shell32/lang/bg-BG.rc index 60dfdef12b6..be31a2a5fa8 100644 --- a/dll/win32/shell32/lang/bg-BG.rc +++ b/dll/win32/shell32/lang/bg-BG.rc @@ -89,6 +89,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Търсене на папка" diff --git a/dll/win32/shell32/lang/ca-ES.rc b/dll/win32/shell32/lang/ca-ES.rc index eaa4ef533fa..4ff2d225cb5 100644 --- a/dll/win32/shell32/lang/ca-ES.rc +++ b/dll/win32/shell32/lang/ca-ES.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Browse for Folder" diff --git a/dll/win32/shell32/lang/cs-CZ.rc b/dll/win32/shell32/lang/cs-CZ.rc index eb22e09d24d..3a376f7cee2 100644 --- a/dll/win32/shell32/lang/cs-CZ.rc +++ b/dll/win32/shell32/lang/cs-CZ.rc @@ -94,6 +94,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Procházet..." diff --git a/dll/win32/shell32/lang/da-DK.rc b/dll/win32/shell32/lang/da-DK.rc index 44024aa74a9..090a4fc746e 100644 --- a/dll/win32/shell32/lang/da-DK.rc +++ b/dll/win32/shell32/lang/da-DK.rc @@ -94,6 +94,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Søg efter Mappe" diff --git a/dll/win32/shell32/lang/de-DE.rc b/dll/win32/shell32/lang/de-DE.rc index 83e925a1c97..1161df3b3cf 100644 --- a/dll/win32/shell32/lang/de-DE.rc +++ b/dll/win32/shell32/lang/de-DE.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Verzeichnis auswählen" diff --git a/dll/win32/shell32/lang/el-GR.rc b/dll/win32/shell32/lang/el-GR.rc index c1aa53d59bd..363fac9c214 100644 --- a/dll/win32/shell32/lang/el-GR.rc +++ b/dll/win32/shell32/lang/el-GR.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Αναζήτηση φακέλου" diff --git a/dll/win32/shell32/lang/en-GB.rc b/dll/win32/shell32/lang/en-GB.rc index 4d22e4619a0..6ba9876c71f 100644 --- a/dll/win32/shell32/lang/en-GB.rc +++ b/dll/win32/shell32/lang/en-GB.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Browse for Folder" diff --git a/dll/win32/shell32/lang/en-US.rc b/dll/win32/shell32/lang/en-US.rc index 59e73d761b3..b2916a320cd 100644 --- a/dll/win32/shell32/lang/en-US.rc +++ b/dll/win32/shell32/lang/en-US.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Browse for Folder" diff --git a/dll/win32/shell32/lang/es-ES.rc b/dll/win32/shell32/lang/es-ES.rc index 480f3485d0b..b3901213946 100644 --- a/dll/win32/shell32/lang/es-ES.rc +++ b/dll/win32/shell32/lang/es-ES.rc @@ -97,6 +97,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Explorar carpeta" diff --git a/dll/win32/shell32/lang/et-EE.rc b/dll/win32/shell32/lang/et-EE.rc index 6216de12c16..ac80fae969d 100644 --- a/dll/win32/shell32/lang/et-EE.rc +++ b/dll/win32/shell32/lang/et-EE.rc @@ -95,6 +95,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Vali kaust" diff --git a/dll/win32/shell32/lang/fi-FI.rc b/dll/win32/shell32/lang/fi-FI.rc index 06a1f29be93..43581eadaa6 100644 --- a/dll/win32/shell32/lang/fi-FI.rc +++ b/dll/win32/shell32/lang/fi-FI.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Valitse Kansio" diff --git a/dll/win32/shell32/lang/fr-FR.rc b/dll/win32/shell32/lang/fr-FR.rc index a6278672fa2..73c689127cc 100644 --- a/dll/win32/shell32/lang/fr-FR.rc +++ b/dll/win32/shell32/lang/fr-FR.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Parcourir" diff --git a/dll/win32/shell32/lang/he-IL.rc b/dll/win32/shell32/lang/he-IL.rc index 0efa91a6fd9..bfcefecc97f 100644 --- a/dll/win32/shell32/lang/he-IL.rc +++ b/dll/win32/shell32/lang/he-IL.rc @@ -90,6 +90,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "בחירת תיקיה" diff --git a/dll/win32/shell32/lang/hi-IN.rc b/dll/win32/shell32/lang/hi-IN.rc index 091a130073a..83f6132d795 100644 --- a/dll/win32/shell32/lang/hi-IN.rc +++ b/dll/win32/shell32/lang/hi-IN.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "फोल्डर खोंजे" diff --git a/dll/win32/shell32/lang/hu-HU.rc b/dll/win32/shell32/lang/hu-HU.rc index 0af2780e621..0b0d475dac0 100644 --- a/dll/win32/shell32/lang/hu-HU.rc +++ b/dll/win32/shell32/lang/hu-HU.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Mappák böngészése" diff --git a/dll/win32/shell32/lang/id-ID.rc b/dll/win32/shell32/lang/id-ID.rc index 98263fe8e29..8cb23ff593a 100644 --- a/dll/win32/shell32/lang/id-ID.rc +++ b/dll/win32/shell32/lang/id-ID.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Jelajah Folder" diff --git a/dll/win32/shell32/lang/it-IT.rc b/dll/win32/shell32/lang/it-IT.rc index 2434c653566..a2eca5662f2 100644 --- a/dll/win32/shell32/lang/it-IT.rc +++ b/dll/win32/shell32/lang/it-IT.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Sfoglia Cartella" diff --git a/dll/win32/shell32/lang/ja-JP.rc b/dll/win32/shell32/lang/ja-JP.rc index fbbaab06efb..443bb981d88 100644 --- a/dll/win32/shell32/lang/ja-JP.rc +++ b/dll/win32/shell32/lang/ja-JP.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "フォルダの参照" diff --git a/dll/win32/shell32/lang/ko-KR.rc b/dll/win32/shell32/lang/ko-KR.rc index 443dc3a49a7..bf28de47ffa 100644 --- a/dll/win32/shell32/lang/ko-KR.rc +++ b/dll/win32/shell32/lang/ko-KR.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Browse for Folder" diff --git a/dll/win32/shell32/lang/nl-NL.rc b/dll/win32/shell32/lang/nl-NL.rc index aec45c77f48..f663fc09504 100644 --- a/dll/win32/shell32/lang/nl-NL.rc +++ b/dll/win32/shell32/lang/nl-NL.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Browse for Folder" diff --git a/dll/win32/shell32/lang/no-NO.rc b/dll/win32/shell32/lang/no-NO.rc index 1fa6e372702..75763afc44c 100644 --- a/dll/win32/shell32/lang/no-NO.rc +++ b/dll/win32/shell32/lang/no-NO.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Bla etter mappe" diff --git a/dll/win32/shell32/lang/pl-PL.rc b/dll/win32/shell32/lang/pl-PL.rc index 86e87f196ad..98b68baa8f4 100644 --- a/dll/win32/shell32/lang/pl-PL.rc +++ b/dll/win32/shell32/lang/pl-PL.rc @@ -94,6 +94,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Wybierz folder" diff --git a/dll/win32/shell32/lang/pt-BR.rc b/dll/win32/shell32/lang/pt-BR.rc index 8cee41dbe22..92e5083e343 100644 --- a/dll/win32/shell32/lang/pt-BR.rc +++ b/dll/win32/shell32/lang/pt-BR.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Procurar pasta" diff --git a/dll/win32/shell32/lang/pt-PT.rc b/dll/win32/shell32/lang/pt-PT.rc index bc225294c1a..b435f9e3933 100644 --- a/dll/win32/shell32/lang/pt-PT.rc +++ b/dll/win32/shell32/lang/pt-PT.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Procurar pastas" diff --git a/dll/win32/shell32/lang/ro-RO.rc b/dll/win32/shell32/lang/ro-RO.rc index 42c613287fd..e6acbd58c2b 100644 --- a/dll/win32/shell32/lang/ro-RO.rc +++ b/dll/win32/shell32/lang/ro-RO.rc @@ -90,6 +90,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Specificare dosar" diff --git a/dll/win32/shell32/lang/ru-RU.rc b/dll/win32/shell32/lang/ru-RU.rc index de203d29dc8..27e5ef0c1ec 100644 --- a/dll/win32/shell32/lang/ru-RU.rc +++ b/dll/win32/shell32/lang/ru-RU.rc @@ -95,6 +95,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Обзор" diff --git a/dll/win32/shell32/lang/sk-SK.rc b/dll/win32/shell32/lang/sk-SK.rc index a84187e4eb3..bd7365ad04f 100644 --- a/dll/win32/shell32/lang/sk-SK.rc +++ b/dll/win32/shell32/lang/sk-SK.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Browse for Folder" diff --git a/dll/win32/shell32/lang/sl-SI.rc b/dll/win32/shell32/lang/sl-SI.rc index 55ba4f299c6..400bb4a583b 100644 --- a/dll/win32/shell32/lang/sl-SI.rc +++ b/dll/win32/shell32/lang/sl-SI.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Browse for Folder" diff --git a/dll/win32/shell32/lang/sq-AL.rc b/dll/win32/shell32/lang/sq-AL.rc index 8bccc16665a..c4ad1c21d2e 100644 --- a/dll/win32/shell32/lang/sq-AL.rc +++ b/dll/win32/shell32/lang/sq-AL.rc @@ -92,6 +92,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Shfleto për Dosje" diff --git a/dll/win32/shell32/lang/sv-SE.rc b/dll/win32/shell32/lang/sv-SE.rc index 51bac8cb790..b76b26c1683 100644 --- a/dll/win32/shell32/lang/sv-SE.rc +++ b/dll/win32/shell32/lang/sv-SE.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Bläddra efter mapp" diff --git a/dll/win32/shell32/lang/tr-TR.rc b/dll/win32/shell32/lang/tr-TR.rc index 5980461b725..1891bbed366 100644 --- a/dll/win32/shell32/lang/tr-TR.rc +++ b/dll/win32/shell32/lang/tr-TR.rc @@ -90,6 +90,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Dizin İçin Göz At" diff --git a/dll/win32/shell32/lang/uk-UA.rc b/dll/win32/shell32/lang/uk-UA.rc index 94405fdcd52..8a6679163c8 100644 --- a/dll/win32/shell32/lang/uk-UA.rc +++ b/dll/win32/shell32/lang/uk-UA.rc @@ -88,6 +88,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Огляд папок" diff --git a/dll/win32/shell32/lang/zh-CN.rc b/dll/win32/shell32/lang/zh-CN.rc index d280cb26a3f..e465aa01a66 100644 --- a/dll/win32/shell32/lang/zh-CN.rc +++ b/dll/win32/shell32/lang/zh-CN.rc @@ -98,6 +98,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "浏览文件夹" diff --git a/dll/win32/shell32/lang/zh-TW.rc b/dll/win32/shell32/lang/zh-TW.rc index 292a780ebda..e8446a8fb3a 100644 --- a/dll/win32/shell32/lang/zh-TW.rc +++ b/dll/win32/shell32/lang/zh-TW.rc @@ -97,6 +97,16 @@ BEGIN END END
+IDM_RECENTMENUHEAD MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "My Documents", IDM_MYDOCUMENTS + MENUITEM "My Pictures", IDM_MYPICTURES + MENUITEM SEPARATOR + END +END + IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "瀏覽資料夾" diff --git a/dll/win32/shell32/shellmenu/CMenuToolbars.cpp b/dll/win32/shell32/shellmenu/CMenuToolbars.cpp index b006b881460..86bacd2a6f8 100644 --- a/dll/win32/shell32/shellmenu/CMenuToolbars.cpp +++ b/dll/win32/shell32/shellmenu/CMenuToolbars.cpp @@ -1497,7 +1497,7 @@ HRESULT CMenuSFToolbar::InternalPopupItem(INT iItem, INT index, DWORD_PTR dwData if (FAILED_UNEXPECTEDLY(hr)) return hr;
- hr = shellMenu->SetShellFolder(childFolder, NULL, NULL, 0); + hr = shellMenu->SetShellFolder(childFolder, NULL, NULL, SMSET_TOP); if (FAILED_UNEXPECTEDLY(hr)) return hr;
diff --git a/dll/win32/shell32/shellmenu/CStartMenu.cpp b/dll/win32/shell32/shellmenu/CStartMenu.cpp index c853cb4af14..105be22c5dc 100644 --- a/dll/win32/shell32/shellmenu/CStartMenu.cpp +++ b/dll/win32/shell32/shellmenu/CStartMenu.cpp @@ -61,7 +61,6 @@ class CShellMenuCallback : public IShellMenuCallback { private: - HWND m_hwndTray; CComPtr<IShellMenu> m_pShellMenu; CComPtr<IBandSite> m_pBandSite; @@ -70,6 +69,7 @@ private: CComPtr<IShellFolder> m_psfPrograms;
LPITEMIDLIST m_pidlPrograms; + HMENU m_hRecentMenu;
HRESULT OnInitMenu() { @@ -95,6 +95,12 @@ private: if (FAILED_UNEXPECTEDLY(hr)) return hr;
+ m_hRecentMenu = ::LoadMenuW(shell32_hInstance, MAKEINTRESOURCEW(IDM_RECENTMENUHEAD)); + if (m_hRecentMenu == NULL) + { + ERR("m_hRecentMenu == NULL\n"); + } + return hr; }
@@ -106,20 +112,22 @@ private: { // Smaller "24x24" icons used for the start menu // The bitmaps are still 32x32, but the image is centered - case IDM_FAVORITES: iconIndex = -322; break; - case IDM_SEARCH: iconIndex = -323; break; - case IDM_HELPANDSUPPORT: iconIndex = -324; break; - case IDM_LOGOFF: iconIndex = -325; break; - case IDM_PROGRAMS: iconIndex = -326; break; - case IDM_DOCUMENTS: iconIndex = -327; break; - case IDM_RUN: iconIndex = -328; break; - case IDM_SHUTDOWN: iconIndex = -329; break; - case IDM_SETTINGS: iconIndex = -330; break; - - case IDM_CONTROLPANEL: iconIndex = -22; break; - case IDM_NETWORKCONNECTIONS: iconIndex = -257; break; - case IDM_PRINTERSANDFAXES: iconIndex = -138; break; - case IDM_TASKBARANDSTARTMENU: iconIndex = -40; break; + case IDM_FAVORITES: iconIndex = -IDI_SHELL_FAVOTITES; break; + case IDM_SEARCH: iconIndex = -IDI_SHELL_SEARCH1; break; + case IDM_HELPANDSUPPORT: iconIndex = -IDI_SHELL_HELP2; break; + case IDM_LOGOFF: iconIndex = -IDI_SHELL_LOGOFF1; break; + case IDM_PROGRAMS: iconIndex = -IDI_SHELL_PROGRAMS_FOLDER1; break; + case IDM_DOCUMENTS: iconIndex = -IDI_SHELL_RECENT_DOCUMENTS1; break; + case IDM_RUN: iconIndex = -IDI_SHELL_RUN1; break; + case IDM_SHUTDOWN: iconIndex = -IDI_SHELL_SHUTDOWN1; break; + case IDM_SETTINGS: iconIndex = -IDI_SHELL_CONTROL_PANEL1; break; + case IDM_MYDOCUMENTS: iconIndex = -IDI_SHELL_MY_DOCUMENTS; break; + case IDM_MYPICTURES: iconIndex = -IDI_SHELL_MY_PICTURES; break; + + case IDM_CONTROLPANEL: iconIndex = -IDI_SHELL_CONTROL_PANEL; break; + case IDM_NETWORKCONNECTIONS: iconIndex = -IDI_SHELL_NETWORK_CONNECTIONS2; break; + case IDM_PRINTERSANDFAXES: iconIndex = -IDI_SHELL_PRINTER2; break; + case IDM_TASKBARANDSTARTMENU: iconIndex = -IDI_SHELL_TSKBAR_STARTMENU; break; //case IDM_SECURITY: iconIndex = -21; break; //case IDM_SYNCHRONIZE: iconIndex = -21; break; //case IDM_DISCONNECT: iconIndex = -21; break; @@ -149,6 +157,54 @@ private: return S_OK; }
+ HMENU CreateRecentMenu(BOOL bExpandMyDocuments, BOOL bExpandMyPictures) const + { + HMENU hMenu = ::CreateMenu(); + if (hMenu == NULL) + { + ERR("HMenu == NULL\n"); + return NULL; + } + + HMENU hSubMenu = ::GetSubMenu(m_hRecentMenu, 0); + if (hSubMenu == NULL) + { + ERR("hSubMenu == NULL\n"); + return NULL; + } + + WCHAR szText[128]; + UINT i, nCount = GetMenuItemCount(hSubMenu); + for (i = 0; i < nCount; ++i) + { + UINT nID = GetMenuItemID(hSubMenu, i); + if (GetMenuString(hSubMenu, i, szText, _countof(szText), MF_BYPOSITION)) + { + if ((nID == IDM_MYDOCUMENTS && bExpandMyDocuments) || + (nID == IDM_MYPICTURES && bExpandMyPictures)) + { + MENUITEMINFOW mii = { sizeof(mii), MIIM_TYPE | MIIM_ID | MIIM_SUBMENU }; + mii.fType = MFT_STRING; + mii.wID = nID; + mii.hSubMenu = ::CreatePopupMenu(); + mii.dwTypeData = szText; + mii.cch = lstrlenW(szText); + InsertMenuItemW(hMenu, i, TRUE, &mii); + } + else + { + AppendMenuW(hMenu, MF_STRING | MF_ENABLED, nID, szText); + } + } + else + { + AppendMenuW(hMenu, MF_SEPARATOR, 0, NULL); + } + } + + return hMenu; + } + HRESULT OnGetSubMenu(LPSMDATA psmd, REFIID iid, void ** pv) { HRESULT hr; @@ -168,11 +224,14 @@ private: case IDM_PROGRAMS: csidl = CSIDL_PROGRAMS; break; case IDM_FAVORITES: csidl = CSIDL_FAVORITES; break; case IDM_DOCUMENTS: csidl = CSIDL_RECENT; break; + case IDM_MYDOCUMENTS: csidl = CSIDL_MYDOCUMENTS; break; + case IDM_MYPICTURES: csidl = CSIDL_MYPICTURES; break; }
if (csidl) { IShellFolder *psfStartMenu; + DWORD dwFlags = SMSET_TOP;
if (csidl == CSIDL_PROGRAMS && m_psfPrograms) { @@ -180,6 +239,19 @@ private: } else { + if (csidl == CSIDL_RECENT) + { + BOOL bExpandMyDocuments = FALSE; /* FIXME: Get value from registry */ + BOOL bExpandMyPictures = FALSE; /* FIXME: Get value from registry */ + HMENU hMenu = CreateRecentMenu(bExpandMyDocuments, bExpandMyPictures); + + hr = pShellMenu->SetMenu(hMenu, NULL, SMSET_BOTTOM); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + + dwFlags = SMSET_BOTTOM; + } + LPITEMIDLIST pidlStartMenu; IShellFolder *psfDestop; hr = SHGetFolderLocation(NULL, csidl, 0, 0, &pidlStartMenu); @@ -195,10 +267,9 @@ private: return hr; }
- hr = pShellMenu->SetShellFolder(psfStartMenu, NULL, NULL, 0); + hr = pShellMenu->SetShellFolder(psfStartMenu, NULL, NULL, dwFlags); if (FAILED_UNEXPECTEDLY(hr)) return hr; - } else { @@ -240,6 +311,8 @@ private:
HRESULT OnExec(LPSMDATA psmd) { + WCHAR szPath[MAX_PATH]; + // HACK: Because our ShellExecute can't handle CLSID components in paths, we can't launch the paths using the "open" verb. // FIXME: Change this back to using the path as the filename and the "open" verb, once ShellExecute can handle CLSID path components.
@@ -249,6 +322,20 @@ private: ShellExecuteW(NULL, NULL, L"explorer.exe", L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{7007ACC7-3202-11D1-AAD2-00805FC1270E}", NULL, SW_SHOWNORMAL); else if (psmd->uId == IDM_PRINTERSANDFAXES) ShellExecuteW(NULL, NULL, L"explorer.exe", L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{2227A280-3AEA-1069-A2DE-08002B30309D}", NULL, SW_SHOWNORMAL); + else if (psmd->uId == IDM_MYDOCUMENTS) + { + if (SHGetSpecialFolderPathW(NULL, szPath, CSIDL_PERSONAL, FALSE)) + ShellExecuteW(NULL, NULL, szPath, NULL, NULL, SW_SHOWNORMAL); + else + ERR("SHGetSpecialFolderPathW failed\n"); + } + else if (psmd->uId == IDM_MYPICTURES) + { + if (SHGetSpecialFolderPathW(NULL, szPath, CSIDL_MYPICTURES, FALSE)) + ShellExecuteW(NULL, NULL, szPath, NULL, NULL, SW_SHOWNORMAL); + else + ERR("SHGetSpecialFolderPathW failed\n"); + } else PostMessageW(m_hwndTray, WM_COMMAND, psmd->uId, 0);
@@ -497,7 +584,7 @@ RSHELL_CStartMenu_CreateInstance(REFIID riid, void **ppv) if (FAILED_UNEXPECTEDLY(hr)) return hr;
- hr = pShellMenu->SetShellFolder(psf, NULL, NULL, 0); + hr = pShellMenu->SetShellFolder(psf, NULL, NULL, SMSET_TOP); if (FAILED_UNEXPECTEDLY(hr)) return hr;
diff --git a/dll/win32/shell32/shresdef.h b/dll/win32/shell32/shresdef.h index 7cd84a0f4c8..f9efb726a3c 100644 --- a/dll/win32/shell32/shresdef.h +++ b/dll/win32/shell32/shresdef.h @@ -794,8 +794,10 @@ #define IDM_COPYHERE 0x7 #define IDM_MOVEHERE 0x8 #define IDM_LINKHERE 0xB +#define IDM_RECENTMENUHEAD 401
- +#define IDM_MYDOCUMENTS 516 +#define IDM_MYPICTURES 518
/* Registrar scripts (RGS) */ #define IDR_ADMINFOLDERSHORTCUT 128