[EXPLORER][SHELL32] Strengthen Start Menu Customize Part 1 (#6544)
authorKatayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Tue, 27 Feb 2024 11:41:43 +0000 (20:41 +0900)
committerGitHub <noreply@github.com>
Tue, 27 Feb 2024 11:41:43 +0000 (20:41 +0900)
Strengthen customization of Start menu.
JIRA issue: CORE-16956
- Modify IDD_CLASSICSTART_CUSTOMIZE dialog.
- Add some resource strings to shell32.dll.
- Add some helper functions.
- Disable Clear button if necessary.
- Add "Display Favorites" and "Display Log Off"
  items into IDC_CLASSICSTART_SETTINGS treeview
  control.
- Implement two items' action.
- Recreate the start menu if WM_SETTINGCHANGE
  message received.

76 files changed:
base/shell/explorer/explorer.rc
base/shell/explorer/lang/bg-BG.rc
base/shell/explorer/lang/cs-CZ.rc
base/shell/explorer/lang/de-DE.rc
base/shell/explorer/lang/en-US.rc
base/shell/explorer/lang/es-ES.rc
base/shell/explorer/lang/et-EE.rc
base/shell/explorer/lang/eu-ES.rc
base/shell/explorer/lang/fi-FI.rc
base/shell/explorer/lang/fr-FR.rc
base/shell/explorer/lang/he-IL.rc
base/shell/explorer/lang/hi-IN.rc
base/shell/explorer/lang/hu-HU.rc
base/shell/explorer/lang/id-ID.rc
base/shell/explorer/lang/it-IT.rc
base/shell/explorer/lang/ja-JP.rc
base/shell/explorer/lang/ko-KR.rc
base/shell/explorer/lang/lt-LT.rc
base/shell/explorer/lang/ms-MY.rc
base/shell/explorer/lang/nl-NL.rc
base/shell/explorer/lang/no-NO.rc
base/shell/explorer/lang/pl-PL.rc
base/shell/explorer/lang/pt-BR.rc
base/shell/explorer/lang/pt-PT.rc
base/shell/explorer/lang/ro-RO.rc
base/shell/explorer/lang/ru-RU.rc
base/shell/explorer/lang/sk-SK.rc
base/shell/explorer/lang/sq-AL.rc
base/shell/explorer/lang/tr-TR.rc
base/shell/explorer/lang/uk-UA.rc
base/shell/explorer/lang/zh-CN.rc
base/shell/explorer/lang/zh-HK.rc
base/shell/explorer/lang/zh-TW.rc
base/shell/explorer/precomp.h
base/shell/explorer/resource.h
base/shell/explorer/startmnucust.cpp
base/shell/explorer/startmnusite.cpp
base/shell/explorer/traywnd.cpp
base/shell/explorer/util.cpp
dll/win32/shell32/lang/bg-BG.rc
dll/win32/shell32/lang/ca-ES.rc
dll/win32/shell32/lang/cs-CZ.rc
dll/win32/shell32/lang/da-DK.rc
dll/win32/shell32/lang/de-DE.rc
dll/win32/shell32/lang/el-GR.rc
dll/win32/shell32/lang/en-GB.rc
dll/win32/shell32/lang/en-US.rc
dll/win32/shell32/lang/es-ES.rc
dll/win32/shell32/lang/et-EE.rc
dll/win32/shell32/lang/eu-ES.rc
dll/win32/shell32/lang/fi-FI.rc
dll/win32/shell32/lang/fr-FR.rc
dll/win32/shell32/lang/he-IL.rc
dll/win32/shell32/lang/hi-IN.rc
dll/win32/shell32/lang/hu-HU.rc
dll/win32/shell32/lang/id-ID.rc
dll/win32/shell32/lang/it-IT.rc
dll/win32/shell32/lang/ja-JP.rc
dll/win32/shell32/lang/ko-KR.rc
dll/win32/shell32/lang/nl-NL.rc
dll/win32/shell32/lang/no-NO.rc
dll/win32/shell32/lang/pl-PL.rc
dll/win32/shell32/lang/pt-BR.rc
dll/win32/shell32/lang/pt-PT.rc
dll/win32/shell32/lang/ro-RO.rc
dll/win32/shell32/lang/ru-RU.rc
dll/win32/shell32/lang/sk-SK.rc
dll/win32/shell32/lang/sl-SI.rc
dll/win32/shell32/lang/sq-AL.rc
dll/win32/shell32/lang/sv-SE.rc
dll/win32/shell32/lang/tr-TR.rc
dll/win32/shell32/lang/uk-UA.rc
dll/win32/shell32/lang/zh-CN.rc
dll/win32/shell32/lang/zh-HK.rc
dll/win32/shell32/lang/zh-TW.rc
dll/win32/shell32/shresdef.h

index 8a3400a..c27464a 100644 (file)
@@ -1,5 +1,6 @@
 #include <windef.h>
 #include <winuser.h>
+#include <commctrl.h>
 
 #include "resource.h"
 
index d05994d..6558585 100644 (file)
@@ -144,7 +144,7 @@ BEGIN
     LTEXT            "За да премахнете записи на наскоро използвани документи, програми и интернет сайтове, щракнете върху Изчисти.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Изчисти", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Разширени настройки на Старт менюто:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "Добре", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Изход", IDCANCEL, 176, 220, 50, 14
 END
index f270345..8c8438e 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "Kliknutím na Vyčistit odstraníte záznamy o naposledy použitých programech a zobrazených dokumentech a webových stránkách.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Vyčistit", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Pokročilé &možnosti nabídky Start:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Storno", IDCANCEL, 176, 220, 50, 14
 END
index 6c582df..719833d 100644 (file)
@@ -147,7 +147,7 @@ BEGIN
     LTEXT            "Löschen Sie kürzlich verwendete Dokumente, Programme und Webseiten.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Löschen", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Erweiterte Startmenü&optionen:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Abbrechen", IDCANCEL, 176, 220, 50, 14
 END
index dcb8267..537d46d 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "To remove records of recently accessed documents, programs, and Web sites, click Clear.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Clear", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Advanced S&tart menu options:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancel", IDCANCEL, 176, 220, 50, 14
 END
index ce1cb64..60a86cb 100644 (file)
@@ -147,7 +147,7 @@ BEGIN
     LTEXT            "Para eliminar registros de documentos, programas y sitios web abiertos recientemente, haga click en Borrar.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Borrar", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "&Opciones avanzadas del Menú Inicio:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "A&justes del Menú Inicio", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "A&justes del Menú Inicio", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "Aceptar", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancelar", IDCANCEL, 176, 220, 50, 14
 END
index 55547a7..edac53d 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "Viimati avatud dokumentide, programmide ja veebisaitide kirjete eemaldamiseks klõpsake nuppu Tühjenda.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Tühjenda", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Menüü Start täpsemad suvandid:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenu&Options", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenu&Options", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Loobu", IDCANCEL, 176, 220, 50, 14
 END
index 12dc7a0..1edc423 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "Azkenaldian erabilitako dokumentu, programa eta web orrien erregistroak kentzeko, egin klik 'Garbitu'n.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Garbitu", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "&Hasi' menuko aukera aurreratuak:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "Hasi-menuko &aukerak", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "Hasi-menuko &aukerak", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "Ados", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Utzi", IDCANCEL, 176, 220, 50, 14
 END
index f608afa..007d5a9 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "Poistaaksesi tiedot viimeksi käytetyistä tiedostoista, ohjelmista, nettisivuista, klikkaa Tyhjennä.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Tyhjennä", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "K&äynnistä valikko lisäasetukset:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Peruuta", IDCANCEL, 176, 220, 50, 14
 END
index 473c1aa..bc82502 100644 (file)
@@ -144,7 +144,7 @@ BEGIN
     LTEXT            "Pour vider la liste des documents, programmes et sites web récemment accédés, cliquez sur Nettoyer.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Nettoyer", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "&Options avancées du Menu démarrer :", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "&Paramètres du Menu Démarrer", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "&Paramètres du Menu Démarrer", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Annuler", IDCANCEL, 176, 220, 50, 14
 END
index b704b54..7dcdaff 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "To remove records of recently accessed documents, programs, and Web sites, click Clear.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Clear", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Advanced S&tart menu options:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancel", IDCANCEL, 176, 220, 50, 14
 END
index 0c2cfa6..31f3669 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "हाल ही में एक्सेस किए गए डॉक्यमिन्ट, प्रोग्राम्स और वेबसाइटों के रिकॉर्ड को हटाने के लिए, साफ़ करें पर क्लिक करें।", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&साफ़ करें ", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "उन्नत स्टार्ट मेनू विकल्प:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "ओके", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "रद्द करें", IDCANCEL, 176, 220, 50, 14
 END
index 0c4829e..4e167f3 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "A nemrég megnyitott dokumentumok, programok és weboldalak listájának törléséhez kattintson a törlés gombra.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Törlés", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Ha&ladó Start menü opciók:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Mégse", IDCANCEL, 176, 220, 50, 14
 END
index 7e0c29a..b63978c 100644 (file)
@@ -144,7 +144,7 @@ BEGIN
     LTEXT            "Untuk menghapus jejak dokumen, program, dan situs web yang telah diakses, klik Bersihkan.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Bersihkan", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "&Opsi menu mulai tingkat lanjut:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Batal", IDCANCEL, 176, 220, 50, 14
 END
index 571f4c5..4f584bc 100644 (file)
@@ -144,7 +144,7 @@ BEGIN
     LTEXT            "To remove records of recently accessed documents, programs, and Web sites, click Clear.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Clear", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Advanced S&tart menu options:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancel", IDCANCEL, 176, 220, 50, 14
 END
index 50db389..33f92fd 100644 (file)
@@ -145,7 +145,7 @@ BEGIN
     LTEXT            "最近アクセスした文書、プログラム、Webサイトの記録を消すには、[クリア] をクリックして下さい。", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "クリア(&C)", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "上級者向けスタートメニューのオプション(&T):", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "キャンセル", IDCANCEL, 176, 220, 50, 14
 END
index 93c3527..e860306 100644 (file)
@@ -144,7 +144,7 @@ BEGIN
     LTEXT            "To remove records of recently accessed documents, programs, and Web sites, click Clear.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "지우기(&C)", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "시작 메뉴 고급 옵션(&T):", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "확인", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "취소", IDCANCEL, 176, 220, 50, 14
 END
index bdd783c..5627b7f 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "To remove records of recently accessed documents, programs, and Web sites, click Clear.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Clear", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Advanced S&tart menu options:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancel", IDCANCEL, 176, 220, 50, 14
 END
index b5c046d..31ea4cb 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "To remove records of recently accessed documents, programs, and Web sites, click Clear.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Clear", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Advanced S&tart menu options:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancel", IDCANCEL, 176, 220, 50, 14
 END
index 11fa4d0..702d2ab 100644 (file)
@@ -144,7 +144,7 @@ BEGIN
     LTEXT            "To remove records of recently accessed documents, programs, and Web sites, click Clear.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Clear", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Advanced S&tart menu options:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancel", IDCANCEL, 176, 220, 50, 14
 END
index 3b37e8b..351d794 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "To remove records of recently accessed documents, programs, and Web sites, click Clear.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Clear", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Advanced S&tart menu options:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancel", IDCANCEL, 176, 220, 50, 14
 END
index 5fb0ea7..6f4b111 100644 (file)
@@ -146,7 +146,7 @@ BEGIN
     LTEXT            "Kliknij przycisk Wyczyść, aby usunąć informacje o ostatnio otwieranych dokumentach, programach i witrynach sieci Web.", IDC_STATIC, 49, 61, 100, 33
     PUSHBUTTON       "&Wyczyść", IDC_CLASSICSTART_CLEAR, 150, 94, 70, 14
     LTEXT            "Zaawansowane opcje menu Start:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Anuluj", IDCANCEL, 176, 220, 50, 14
 END
index efdb495..c2df38d 100644 (file)
@@ -144,7 +144,7 @@ BEGIN
     LTEXT            "To remove records of recently accessed documents, programs, and Web sites, click Clear.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Clear", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Advanced S&tart menu options:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancel", IDCANCEL, 176, 220, 50, 14
 END
index 35d813c..39c9868 100644 (file)
@@ -145,7 +145,7 @@ BEGIN
     LTEXT            "Para remover os registos dos documentos, programas e Web sites acedidos recentemente, clique em Limpar.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Limpar", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Opções avançadas do menu &Iniciar:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancelar", IDCANCEL, 176, 220, 50, 14
 END
index 9c52fb6..5369f1f 100644 (file)
@@ -144,7 +144,7 @@ BEGIN
     LTEXT            "Pentru a elimina înregistrări ale documentelor, programelor, și siturilor Web recent accesate, apăsați Curăță.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Curăță", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Opțiuni avansate ale meniului Pornire:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "Con&firmă", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "A&nulează", IDCANCEL, 176, 220, 50, 14
 END
index 1dd2a57..d86f347 100644 (file)
@@ -147,7 +147,7 @@ BEGIN
     LTEXT            "Для удаления записей о недавних документах, программах и сайтах нажмите ""Очистить"".", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "О&чистить", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "До&полнительные параметры меню ""Пуск"":", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Отмена", IDCANCEL, 176, 220, 50, 14
 END
index a87dd99..7f42ea1 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "To remove records of recently accessed documents, programs, and Web sites, click Clear.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Clear", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Advanced S&tart menu options:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancel", IDCANCEL, 176, 220, 50, 14
 END
index f29e0d7..9763484 100644 (file)
@@ -143,7 +143,7 @@ BEGIN
     LTEXT            "To remove records of recently accessed documents, programs, and Web sites, click Clear.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Clear", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Advanced S&tart menu options:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Cancel", IDCANCEL, 176, 220, 50, 14
 END
index 606b197..b0fac04 100644 (file)
@@ -144,7 +144,7 @@ BEGIN
     LTEXT            "Son erişilen belgelerin, programların ve Genel Ağ sitelerinin kayıtlarını silmek için Sil'e tıklayınız.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "S&il", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Ge&lişmiş Başlat Menüsü Ayarları:", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "&Başlat Menüsü Ayarları", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "&Başlat Menüsü Ayarları", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "Tamam", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "İptal", IDCANCEL, 176, 220, 50, 14
 END
index a5b1b7c..413fa06 100644 (file)
@@ -147,7 +147,7 @@ BEGIN
     LTEXT            "Щоб видалити історію недавніх документів, програм і веб-сайтів, натисніть кнопку Очистити.", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "&Очистити", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "Додаткові налаштування го&ловного меню", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "StartMenuSe&ttings", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "OK", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "Скасувати", IDCANCEL, 176, 220, 50, 14
 END
index d987482..5b60db6 100644 (file)
@@ -145,7 +145,7 @@ BEGIN
     LTEXT            "要删除最近访问过的文档、程序和网站记录,单击清除。", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "清除(&C)", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "开始菜单中的高级的选项:(&T)", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "开始菜单设置(&T)", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "开始菜单设置(&T)", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "确定", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "取消", IDCANCEL, 176, 220, 50, 14
 END
index 9f0b030..faec295 100644 (file)
@@ -144,7 +144,7 @@ BEGIN
     LTEXT            "要刪除最近訪問過的檔案、程式和網站記錄,請按[清除]。", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "清除(&C)", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "開始功能表中的進階選項(&T):", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "開始功能表設定(&T)", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "開始功能表設定(&T)", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "確定", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "取消", IDCANCEL, 176, 220, 50, 14
 END
index 930a50c..5e100da 100644 (file)
@@ -145,7 +145,7 @@ BEGIN
     LTEXT            "要刪除最近訪問過的檔案、程式和網站記錄,請按[清除]。", IDC_STATIC, 49, 85, 108, 33
     PUSHBUTTON       "清除(&C)", IDC_CLASSICSTART_CLEAR, 162, 94, 53, 14
     LTEXT            "開始功能表中的進階選項(&T):", IDC_STATIC, 8, 129, 150, 8
-    CONTROL          "開始功能表設定(&T)", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", WS_BORDER | 0x00000001, 8, 139, 218, 72, WS_EX_CLIENTEDGE
+    CONTROL          "開始功能表設定(&T)", IDC_CLASSICSTART_SETTINGS, "SysTreeView32", TVS_HASBUTTONS | WS_BORDER, 8, 139, 218, 72, WS_EX_CLIENTEDGE
     DEFPUSHBUTTON    "確定", IDOK, 122, 220, 50, 14
     PUSHBUTTON       "取消", IDCANCEL, 176, 220, 50, 14
 END
index 8a2dfd0..ad94ada 100644 (file)
@@ -106,10 +106,10 @@ FormatMenuString(IN HMENU hMenu,
                  IN UINT uFlags,
                  ...);
 
-BOOL
-GetExplorerRegValueSet(IN HKEY hKey,
-                       IN LPCWSTR lpSubKey,
-                       IN LPCWSTR lpValue);
+BOOL GetRegValue(IN LPCWSTR pszSubKey, IN LPCWSTR pszValueName, IN BOOL bDefaultValue);
+BOOL SetRegDword(IN LPCWSTR pszSubKey, IN LPCWSTR pszValueName, IN DWORD dwValue);
+BOOL GetAdvancedBool(IN LPCWSTR pszValueName, IN BOOL bDefaultValue);
+BOOL SetAdvancedDword(IN LPCWSTR pszValueName, IN DWORD dwValue);
 
 /*
  *  rshell.c
index 8ea838f..1d79e67 100644 (file)
 #define IDS_TRAYWND_UNDO_CASCADE           812
 #define IDS_TRAYWND_UNDO_TILE              813
 
+/* These values must be synchronized with shell32 */
+#define IDS_ADVANCED_DISPLAY_FAVORITES              30466
+#define IDS_ADVANCED_DISPLAY_LOG_OFF                30467
+#define IDS_ADVANCED_DISPLAY_RUN                    30474
+#define IDS_ADVANCED_DISPLAY_ADMINTOOLS             30476
+
 /*******************************************************************************\
 |*                              Control Resources                              *|
 \*******************************************************************************/
index 0aa436f..b4465de 100644 (file)
@@ -21,6 +21,8 @@
 
 #include "precomp.h"
 
+#define I_CHECKED   2
+
 // TODO: Windows Explorer appears to be calling NewLinkHere / ConfigStartMenu directly for both items.
 VOID OnAddStartMenuItems(HWND hDlg)
 {
@@ -49,25 +51,120 @@ VOID OnAdvancedStartMenuItems()
     }
 }
 
-VOID OnClearRecentItems()
+static BOOL RecentHasShortcut(HWND hwnd)
 {
-   WCHAR szPath[MAX_PATH], szFile[MAX_PATH];
-   WIN32_FIND_DATAW info;
-   HANDLE hPath;
+    WCHAR szPath[MAX_PATH];
+    if (FAILED(SHGetFolderPathW(hwnd, CSIDL_RECENT | CSIDL_FLAG_CREATE, NULL, 0, szPath)))
+        return FALSE;
+
+    // Find shortcut files in Recent
+    WIN32_FIND_DATAW find;
+    PathAppendW(szPath, L"*.lnk");
+    HANDLE hFind = FindFirstFileW(szPath, &find);
+    if (hFind == INVALID_HANDLE_VALUE)
+        return FALSE;
+
+    FindClose(hFind);
+    return TRUE;
+}
+
+static VOID OnClearRecentItems(HWND hwnd)
+{
+    SHAddToRecentDocs(SHARD_PIDL, NULL);
+    EnableWindow(GetDlgItem(hwnd, IDC_CLASSICSTART_CLEAR), RecentHasShortcut(hwnd));
+}
+
+struct CUSTOMIZE_ENTRY;
+typedef DWORD (CALLBACK *FN_CUSTOMIZE_READ)(const CUSTOMIZE_ENTRY *entry);
+typedef BOOL (CALLBACK *FN_CUSTOMIZE_WRITE)(const CUSTOMIZE_ENTRY *entry, DWORD dwValue);
+
+struct CUSTOMIZE_ENTRY
+{
+    LPARAM id;
+    LPCWSTR name;
+    FN_CUSTOMIZE_READ fnRead;
+    FN_CUSTOMIZE_WRITE fnWrite;
+};
+
+static DWORD CALLBACK CustomizeRead0(const CUSTOMIZE_ENTRY *entry)
+{
+    return GetAdvancedBool(entry->name, FALSE);
+}
+
+static BOOL CALLBACK CustomizeWrite0(const CUSTOMIZE_ENTRY *entry, DWORD dwValue)
+{
+    return SetAdvancedDword(entry->name, dwValue);
+}
+
+static const CUSTOMIZE_ENTRY s_CustomizeEntries[] =
+{
+    // FIXME: Make "StartMenuAdminTools" effective
+    //{ IDS_ADVANCED_DISPLAY_ADMINTOOLS, L"StartMenuAdminTools", CustomizeRead1, CustomizeWrite1 }, // FIXME
+
+    { IDS_ADVANCED_DISPLAY_FAVORITES,  L"StartMenuFavorites",  CustomizeRead0, CustomizeWrite0 },
+    { IDS_ADVANCED_DISPLAY_LOG_OFF,    L"StartMenuLogoff",     CustomizeRead0, CustomizeWrite0 },
 
-    if (SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_RECENT, NULL, 0, szPath)))
+    // FIXME: SHRestricted is buggy!
+    //{ IDS_ADVANCED_DISPLAY_RUN,        L"NoRun",               CustomizeRead2, CustomizeWrite2 },
+};
+
+static VOID AddCustomizeItem(HWND hTreeView, const CUSTOMIZE_ENTRY *entry)
+{
+    TV_INSERTSTRUCT Insert = { TVI_ROOT, TVI_LAST };
+    Insert.item.mask = TVIF_TEXT | TVIF_STATE | TVIF_PARAM;
+
+    WCHAR szText[MAX_PATH];
+    LoadStringW(GetModuleHandleW(L"shell32.dll"), entry->id, szText, _countof(szText));
+    Insert.item.pszText = szText;
+    Insert.item.lParam = entry->id;
+    Insert.item.stateMask = TVIS_STATEIMAGEMASK;
+    if (entry->fnRead(entry))
+        Insert.item.state = INDEXTOSTATEIMAGEMASK(I_CHECKED);
+    TreeView_InsertItem(hTreeView, &Insert);
+}
+
+static void CustomizeClassic_OnInitDialog(HWND hwnd)
+{
+    EnableWindow(GetDlgItem(hwnd, IDC_CLASSICSTART_CLEAR), RecentHasShortcut(hwnd));
+
+    HWND hTreeView = GetDlgItem(hwnd, IDC_CLASSICSTART_SETTINGS);
+
+    DWORD_PTR style = GetWindowLongPtrW(hTreeView, GWL_STYLE);
+    SetWindowLongPtrW(hTreeView, GWL_STYLE, style | TVS_CHECKBOXES);
+
+    for (auto& entry : s_CustomizeEntries)
+    {
+        AddCustomizeItem(hTreeView, &entry);
+    }
+}
+
+static BOOL CustomizeClassic_OnOK(HWND hwnd)
+{
+    HWND hTreeView = GetDlgItem(hwnd, IDC_CLASSICSTART_SETTINGS);
+
+    for (HTREEITEM hItem = TreeView_GetFirstVisible(hTreeView);
+         hItem != NULL;
+         hItem = TreeView_GetNextVisible(hTreeView, hItem))
     {
-        StringCchPrintfW(szFile, _countof(szFile), L"%s\\*.*", szPath);
-        hPath = FindFirstFileW(szFile, &info);
-        do
+        TV_ITEM item = { TVIF_PARAM | TVIF_STATE };
+        item.hItem = hItem;
+        item.stateMask = TVIS_STATEIMAGEMASK;
+        TreeView_GetItem(hTreeView, &item);
+
+        BOOL bChecked = (item.state & INDEXTOSTATEIMAGEMASK(I_CHECKED));
+        for (auto& entry : s_CustomizeEntries)
         {
-            StringCchPrintfW(szFile, _countof(szFile), L"%s\\%s", szPath, info.cFileName);
-            DeleteFileW(szFile);
+            if (item.lParam == entry.id)
+            {
+                entry.fnWrite(&entry, bChecked);
+                break;
+            }
         }
-        while (FindNextFileW(hPath, &info));
-        FindClose(hPath);
-        /* FIXME: Disable the button*/
     }
+
+    SendMessageTimeoutW(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)L"TraySettings",
+                        SMTO_ABORTIFHUNG, 200, NULL);
+    return TRUE;
 }
 
 INT_PTR CALLBACK CustomizeClassicProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
@@ -75,7 +172,7 @@ INT_PTR CALLBACK CustomizeClassicProc(HWND hwnd, UINT Message, WPARAM wParam, LP
     switch (Message)
     {
         case WM_INITDIALOG:
-            /* FIXME: Properly initialize the dialog (check whether 'clear' button must be disabled, for example) */
+            CustomizeClassic_OnInitDialog(hwnd);
             return TRUE;
         case WM_COMMAND:
             switch (LOWORD(wParam))
@@ -90,10 +187,13 @@ INT_PTR CALLBACK CustomizeClassicProc(HWND hwnd, UINT Message, WPARAM wParam, LP
                     OnAdvancedStartMenuItems();
                     break;
                 case IDC_CLASSICSTART_CLEAR:
-                    OnClearRecentItems();
+                    OnClearRecentItems(hwnd);
                     break;
                 case IDOK:
-                    EndDialog(hwnd, IDOK);
+                    if (CustomizeClassic_OnOK(hwnd))
+                    {
+                        EndDialog(hwnd, IDOK);
+                    }
                     break;
                 case IDCANCEL:
                     EndDialog(hwnd, IDCANCEL);
index 6189c59..5f52b43 100644 (file)
@@ -133,14 +133,10 @@ public:
         dwLogoff = SHRestricted(REST_STARTMENULOGOFF);
         bWantLogoff = (dwLogoff == 2 ||
                        SHRestricted(REST_FORCESTARTMENULOGOFF) ||
-                       GetExplorerRegValueSet(HKEY_CURRENT_USER,
-                                              L"Advanced",
-                                              L"StartMenuLogoff"));
+                       GetAdvancedBool(L"StartMenuLogoff", FALSE));
 
         /* Favorites */
-        if (!GetExplorerRegValueSet(HKEY_CURRENT_USER,
-                                    L"Advanced",
-                                    L"StartMenuFavorites"))
+        if (!GetAdvancedBool(L"StartMenuFavorites", FALSE))
         {
             DeleteMenu(hMenu,
                        IDM_FAVORITES,
index 5aacfa4..bfb9abb 100644 (file)
@@ -2658,6 +2658,15 @@ ChangePos:
             CheckTrayWndPosition();
         }
 
+        if (m_StartMenuPopup && lstrcmpiW((LPCWSTR)lParam, L"TraySettings") == 0)
+        {
+            /* Re-create the start menu */
+            HideStartMenu();
+            m_StartMenuBand.Release();
+            HBITMAP hbmBanner = LoadBitmapW(hExplorerInstance, MAKEINTRESOURCEW(IDB_STARTMENU));
+            m_StartMenuPopup = CreateStartMenu(this, &m_StartMenuBand, hbmBanner, FALSE);
+        }
+
         return 0;
     }
 
index 01b234b..f6824cc 100644 (file)
@@ -140,48 +140,27 @@ FormatMenuString(IN HMENU hMenu,
     return FALSE;
 }
 
-BOOL
-GetExplorerRegValueSet(IN HKEY hKey,
-                       IN LPCWSTR lpSubKey,
-                       IN LPCWSTR lpValue)
+BOOL GetRegBool(IN LPCWSTR pszSubKey, IN LPCWSTR pszValueName, IN BOOL bDefaultValue)
 {
-    WCHAR szBuffer[MAX_PATH];
-    HKEY hkSubKey;
-    DWORD dwType, dwSize;
-    BOOL Ret = FALSE;
-
-    StringCbCopyW(szBuffer, sizeof(szBuffer),
-                  L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer");
-    if (FAILED_UNEXPECTEDLY(StringCbCatW(szBuffer, sizeof(szBuffer), L"\\")))
-        return FALSE;
-    if (FAILED_UNEXPECTEDLY(StringCbCatW(szBuffer, sizeof(szBuffer), lpSubKey)))
-        return FALSE;
+    return SHRegGetBoolUSValueW(pszSubKey, pszValueName, FALSE, bDefaultValue);
+}
 
-    dwSize = sizeof(szBuffer);
-    if (RegOpenKeyExW(hKey,
-                      szBuffer,
-                      0,
-                      KEY_QUERY_VALUE,
-                      &hkSubKey) == ERROR_SUCCESS)
-    {
-        ZeroMemory(szBuffer, sizeof(szBuffer));
-
-        if (RegQueryValueExW(hkSubKey,
-                             lpValue,
-                             0,
-                             &dwType,
-                             (LPBYTE)szBuffer,
-                             &dwSize) == ERROR_SUCCESS)
-        {
-            if ((dwType == REG_DWORD) && (dwSize == sizeof(DWORD)))
-                Ret = *((PDWORD)szBuffer) != 0;
-            else if (dwSize > 0)
-                Ret = *((PWCHAR)szBuffer) != 0;
-        }
+BOOL SetRegDword(IN LPCWSTR pszSubKey, IN LPCWSTR pszValueName, IN DWORD dwValue)
+{
+    return (SHRegSetUSValueW(pszSubKey, pszValueName, REG_DWORD, &dwValue,
+                             sizeof(dwValue), SHREGSET_FORCE_HKCU) == ERROR_SUCCESS);
+}
 
-        RegCloseKey(hkSubKey);
-    }
-    return Ret;
+#define REGKEY_ADVANCED L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"
+
+BOOL GetAdvancedBool(IN LPCWSTR pszValueName, IN BOOL bDefaultValue)
+{
+    return GetRegBool(REGKEY_ADVANCED, pszValueName, bDefaultValue);
+}
+
+BOOL SetAdvancedDword(IN LPCWSTR pszValueName, IN DWORD dwValue)
+{
+    return SetRegDword(REGKEY_ADVANCED, pszValueName, dwValue);
 }
 
 BOOL
index 660f255..fd8917c 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 6f9a9de..f63e63e 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index a5b7825..cd1e690 100644 (file)
@@ -1020,6 +1020,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 82875b1..017aec2 100644 (file)
@@ -1019,6 +1019,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index baa3461..b4db491 100644 (file)
@@ -1013,6 +1013,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Systemsteuerung unter Arbeitsplatz einblenden"
     IDS_ADVANCED_SHOW_COMP_COLOR "Verschlüsselte oder komprimierte NTFS-Dateien farbig anzeigen"
     IDS_ADVANCED_SHOW_INFO_TIP "Popupinformationen für Ordner- und Desktop-Elemente anzeigen"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Er&weitert"
     IDS_NEWEXT_ADVANCED_RIGHT "&Erweitert >>"
index 82ce40b..ce38f44 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 51fe420..3cbf425 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in colour"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 4f675cb..af8f821 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index d22987a..0e02d16 100644 (file)
@@ -1021,6 +1021,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Mostrar Panel de Control en Mi PC"
     IDS_ADVANCED_SHOW_COMP_COLOR "Mostrar en color archivos NTFS comprimidos o encriptados"
     IDS_ADVANCED_SHOW_INFO_TIP "Mostrar descripción de íconos y carpetas en el escritorio"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< A&vanzado"
     IDS_NEWEXT_ADVANCED_RIGHT "A&vanzado >>"
index 87be722..7451f1f 100644 (file)
@@ -1019,6 +1019,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Näita juhtpaneeli kaustas Minu aruvti"
     IDS_ADVANCED_SHOW_COMP_COLOR "Näita krüptitud või tihendatud NTFS-faile värvilisena"
     IDS_ADVANCED_SHOW_INFO_TIP "Näita kausta- ja töölauaüksuste hüpikkirjeldusi"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< T&äpsemalt"
     IDS_NEWEXT_ADVANCED_RIGHT "Tä&psemalt >>"
index 9de9fd6..7c4e854 100644 (file)
@@ -1017,6 +1017,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Erakutsi kontrol-panela nire ordenagailuan"
     IDS_ADVANCED_SHOW_COMP_COLOR "Erakutsi koloretan konprimitutako edo enkriptatutako NTFS fitxategiak"
     IDS_ADVANCED_SHOW_INFO_TIP "Erakutsi ikonoen eta karpeten deskribapena mahaigainean"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< &Aurreratua"
     IDS_NEWEXT_ADVANCED_RIGHT "&Aurreratua >>"
index eea6b55..506771e 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 0a4e63a..0dd3666 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Afficher le Panneau de configuration dans le Poste de travail"
     IDS_ADVANCED_SHOW_COMP_COLOR "Afficher les dossiers et les fichiers NTFS chiffrés ou compressés en couleur"
     IDS_ADVANCED_SHOW_INFO_TIP "Afficher les info-bulles pour les fichiers et les dossiers"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Avancé"
     IDS_NEWEXT_ADVANCED_RIGHT "Avancé >>"
index 67b4b61..271218e 100644 (file)
@@ -1019,6 +1019,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< &מתקדם"
     IDS_NEWEXT_ADVANCED_RIGHT "&מתקדם >>"
index 4b30c22..31f2461 100644 (file)
@@ -1014,6 +1014,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "मेरा कंप्यूटर में नियंत्रण कक्ष दिखाएं"
     IDS_ADVANCED_SHOW_COMP_COLOR "एनक्रिप्टेड या कम्प्रेस्ट NTFS फ़ाइलों को रंग में दिखाएं"
     IDS_ADVANCED_SHOW_INFO_TIP "फ़ोल्डर और डेस्कटॉप आइटम के लिए पॉप-अप विवरण दिखाएं"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< &उन्नत"
     IDS_NEWEXT_ADVANCED_RIGHT "&उन्नत >>"
index f89e3d3..fdac1f4 100644 (file)
@@ -1011,6 +1011,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Vezérlőpult megjelenítése a Sajátgépben"
     IDS_ADVANCED_SHOW_COMP_COLOR "Titkosított vagy tömörített NTFS fájlok színezése"
     IDS_ADVANCED_SHOW_INFO_TIP "Felugró leírások megjelenítése a mappákhoz és az asztalon lévő elemekhez"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< &Haladó"
     IDS_NEWEXT_ADVANCED_RIGHT "&Haladó >>"
index 5988429..01f0676 100644 (file)
@@ -1009,6 +1009,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Tampilkan Panel Kontrol pada Komputer Saya"
     IDS_ADVANCED_SHOW_COMP_COLOR "Tampilkan file NTFS terenkripsi atau dikompresi dalam warna"
     IDS_ADVANCED_SHOW_INFO_TIP "Tampilkan deskrisi popup untuk butir folder dan desktop"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Tin&gkat lanjut"
     IDS_NEWEXT_ADVANCED_RIGHT "Tin&gkat lanjut >>"
index e2562e2..6c89915 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 359cbef..d58dcde 100644 (file)
@@ -1009,6 +1009,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "マイ コンピュータでコントロール パネルを表示する"
     IDS_ADVANCED_SHOW_COMP_COLOR "暗号化または圧縮されたNTFSファイルを色付きで表示する"
     IDS_ADVANCED_SHOW_INFO_TIP "フォルダとデスクトップの項目にポップアップ式の説明を表示する"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< 高度な設定(&V)"
     IDS_NEWEXT_ADVANCED_RIGHT "高度な設定(&V) >>"
index bf5f519..f6bf96c 100644 (file)
@@ -1019,6 +1019,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 51ba945..9198a63 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 08e6a8d..b47d0f9 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 0b584a4..193aad6 100644 (file)
@@ -1021,6 +1021,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Pokaż Panel sterowania w oknie Mój komputer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Pokaż zaszyfrowane lub skompresowane pliki NTFS w kolorze"
     IDS_ADVANCED_SHOW_INFO_TIP "Pokaż podręczny opis elementów folderów i pulpitu"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< &Zaawansowane"
     IDS_NEWEXT_ADVANCED_RIGHT "&Zaawansowane >>"
index 7fb4ef1..3c43e98 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 0c835e9..f3c10f5 100644 (file)
@@ -1011,6 +1011,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Mostrar painel de controle no meu computador"
     IDS_ADVANCED_SHOW_COMP_COLOR "Mostrar ficheiros NTFS criptografados ou compactados a cores"
     IDS_ADVANCED_SHOW_INFO_TIP "Mostrar descrição pop-up para itens de pastas e área de trabalho"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< A&vançado"
     IDS_NEWEXT_ADVANCED_RIGHT "Avança&do >>"
index 43a33ff..621ec05 100644 (file)
@@ -1020,6 +1020,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Afișează Panoul de control în Calculatorul meu"
     IDS_ADVANCED_SHOW_COMP_COLOR "Afișează în culori fișierele NTFS criptate sau comprimate"
     IDS_ADVANCED_SHOW_INFO_TIP "Permite descriere prin indicii pentru foldere și elemente de desktop"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< A&vansate"
     IDS_NEWEXT_ADVANCED_RIGHT "A&vansate >>"
index e449f8d..d592773 100644 (file)
@@ -1021,6 +1021,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Показать ""Панель управления"" в ""Мой компьютер"""
     IDS_ADVANCED_SHOW_COMP_COLOR "Отображать сжатые или зашифрованные файлы NTFS другим цветом"
     IDS_ADVANCED_SHOW_INFO_TIP "Отображать описание для папок и элементов рабочего стола"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< До&полнительно"
     IDS_NEWEXT_ADVANCED_RIGHT "До&полнительно >>"
index 015b553..d712f23 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index dd7676f..731cd06 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index c25ed09..3d40941 100644 (file)
@@ -1019,6 +1019,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 0d93b97..42f5014 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Show Control Panel in My Computer"
     IDS_ADVANCED_SHOW_COMP_COLOR "Show encrypted or compressed NTFS files in color"
     IDS_ADVANCED_SHOW_INFO_TIP "Show pop-up description for folder and desktop items"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
     IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"
index 618e4aa..6948821 100644 (file)
@@ -1021,6 +1021,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Bilgisayarım'da Denetim Masası'nı göster"
     IDS_ADVANCED_SHOW_COMP_COLOR "Şifrelenmiş veya sıkıştırılmış NTFS dosyalarını renkli göster"
     IDS_ADVANCED_SHOW_INFO_TIP "Dizin ve masaüstü ögeleri için açılan tanım göster"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< G&elişmiş"
     IDS_NEWEXT_ADVANCED_RIGHT "Ge&lişmiş >>"
index 9ec0332..14be2ba 100644 (file)
@@ -1012,6 +1012,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Показувати панель керування в моєму комп'ютері"
     IDS_ADVANCED_SHOW_COMP_COLOR "Показувати зашифровані або зжаті файли NTFS іншим кольором"
     IDS_ADVANCED_SHOW_INFO_TIP "Показувати спливаючий опис для елементів папки та робочого столу"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< &Додатково"
     IDS_NEWEXT_ADVANCED_RIGHT "&Додатково >>"
index cf3f11d..b27be47 100644 (file)
@@ -1022,6 +1022,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "在我的电脑中显示控制面板"
     IDS_ADVANCED_SHOW_COMP_COLOR "以彩色显示已被加密或压缩的 NTFS 文件"
     IDS_ADVANCED_SHOW_INFO_TIP "显示文件夹和桌面项目的弹出描述"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< 高级(&V)"
     IDS_NEWEXT_ADVANCED_RIGHT "高级(&V) >>"
index b18d6ff..ac4dec3 100644 (file)
@@ -1020,6 +1020,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "在我的電腦顯示控制台"
     IDS_ADVANCED_SHOW_COMP_COLOR "使用色彩來顯示加密或壓縮的 NTFS 檔案"
     IDS_ADVANCED_SHOW_INFO_TIP "顯示資料夾和桌面項目的快顯描述"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< 進階(&V)"
     IDS_NEWEXT_ADVANCED_RIGHT "進階(&V) >>"
index f4752e1..c3054d7 100644 (file)
@@ -1021,6 +1021,10 @@ BEGIN
     IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "在我的電腦顯示控制台"
     IDS_ADVANCED_SHOW_COMP_COLOR "使用色彩來顯示加密或壓縮的 NTFS 檔案"
     IDS_ADVANCED_SHOW_INFO_TIP "顯示資料夾和桌面項目的快顯描述"
+    IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites"
+    IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off"
+    IDS_ADVANCED_DISPLAY_RUN "Display Run"
+    IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
 
     IDS_NEWEXT_ADVANCED_LEFT "<< 進階(&V)"
     IDS_NEWEXT_ADVANCED_RIGHT "進階(&V) >>"
index edaa5ab..7ed1a41 100644 (file)
 #define IDS_ADVANCED_SHOW_COMP_COLOR                30512
 #define IDS_ADVANCED_SHOW_INFO_TIP                  30502
 
+/* These values must be synchronized with explorer */
+#define IDS_ADVANCED_DISPLAY_FAVORITES              30466
+#define IDS_ADVANCED_DISPLAY_LOG_OFF                30467
+#define IDS_ADVANCED_DISPLAY_RUN                    30474
+#define IDS_ADVANCED_DISPLAY_ADMINTOOLS             30476
+
 #define IDS_NEWEXT_ADVANCED_LEFT                    30515
 #define IDS_NEWEXT_ADVANCED_RIGHT                   30516
 #define IDS_NEWEXT_NEW                              30518