[REGEIT] Fix inconsistent menu state for 'Permissions'

- Disable the 'Permissions' item in the main menu, when 'My Computer' is selected.
- Enable the 'Permissions' item in the tree view context menu.

CORE-16889
This commit is contained in:
Eric Kohl 2020-04-18 09:59:41 +02:00
parent b280615b85
commit 763de230b2
30 changed files with 37 additions and 29 deletions

View file

@ -179,6 +179,11 @@ static BOOL ChildWnd_CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM l
case ID_TREE_EXPORT:
ExportRegistryFile(g_pChildWnd->hTreeWnd);
break;
case ID_TREE_PERMISSIONS:
hSelection = TreeView_GetSelection(g_pChildWnd->hTreeWnd);
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, hSelection, &hRootKey);
RegKeyEditPermissions(hWnd, hRootKey, NULL, keyPath);
break;
case ID_EDIT_FIND:
FindDialog(hWnd);
break;
@ -579,6 +584,9 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
UpdateAddress(pnmtv->itemNew.hItem, NULL, NULL);
/* Disable the Permissions menu item for 'My Computer' */
EnableMenuItem(hMenuFrame , ID_EDIT_PERMISSIONS, MF_BYCOMMAND | ((hParentItem == NULL) ? MF_GRAYED : MF_ENABLED));
/*
* Disable Delete/Rename menu options for 'My Computer' (first item so doesn't have any parent)
* and HKEY_* keys (their parent is 'My Computer' and the previous remark applies).

View file

@ -134,7 +134,7 @@ BEGIN
MENUITEM "&Преименуване", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Износ", ID_TREE_EXPORT
MENUITEM "&Права...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Права...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Запомняне стойността на ключа", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Přejmenovat", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Exportovat", ID_TREE_EXPORT
MENUITEM "Oprá&vnění...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "Oprá&vnění...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "Z&kopírovat název klíče", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Umbenennen", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Exportieren", ID_TREE_EXPORT
MENUITEM "&Berechtigungen...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Berechtigungen...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "S&chlüsselnamen kopieren", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Μετονομασία", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Εξαγωγή", ID_TREE_EXPORT
MENUITEM "&Δικαιώματα...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Δικαιώματα...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Αντιγραφή Ονόματος Κλειδιού", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Rename", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END

View file

@ -132,7 +132,7 @@ BEGIN
MENUITEM "&Renombrar", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Exportar", ID_TREE_EXPORT
MENUITEM "&Permisos...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permisos...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copiar nombre de clave", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Renommer\tF2", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Exporter", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copier le nom de la clé", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "שנה שם", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "יצא", ID_TREE_EXPORT
MENUITEM "הרשאות...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "הרשאות...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "העתק שם מפתח", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Rename", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Ganti nama", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Ekspor", ID_TREE_EXPORT
MENUITEM "&Perijinan...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Perijinan...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Salin Nama Kunci", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Rinomina", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Esporta", ID_TREE_EXPORT
MENUITEM "&Permessi...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permessi...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copia il nome della chiave", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "名前の変更(&R)", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "エクスポート(&E)", ID_TREE_EXPORT
MENUITEM "アクセス許可(&P)...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "アクセス許可(&P)...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "キー名のコピー(&C)", ID_EDIT_COPYKEYNAME
END

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "이름 바꾸기(&R)", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "내보내기(&E)", ID_TREE_EXPORT
MENUITEM "권한 설정(&P)", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "권한 설정(&P)", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "키 이름 복사(&C)", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Rename", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Gi nytt navn", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Eksport", ID_TREE_EXPORT
MENUITEM "&Rettigheter...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Rettigheter...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Kopier nøkkelnavn", ID_EDIT_COPYKEYNAME
END

View file

@ -139,7 +139,7 @@ BEGIN
MENUITEM "Z&mień nazwę", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Eksportuj", ID_TREE_EXPORT
MENUITEM "&Uprawnienia..", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Uprawnienia..", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Kopiuj nazwę klucza", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Renomear", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Exportar", ID_TREE_EXPORT
MENUITEM "&Permissões...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permissões...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copiar nome da chave", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Renomear", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Exportar", ID_TREE_EXPORT
MENUITEM "&Permissões...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permissões...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copiar chave 'Nome'", ID_EDIT_COPYKEYNAME
END

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "&Redenumește", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "E&xportă", ID_TREE_EXPORT
MENUITEM "Permisiuni…", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "Permisiuni…", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copiază numele cheii", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Переименовать", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Экспорт", ID_TREE_EXPORT
MENUITEM "Разре&шения...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "Разре&шения...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Копировать имя ключа", ID_EDIT_COPYKEYNAME
END

View file

@ -134,7 +134,7 @@ BEGIN
MENUITEM "&Premenovať", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Rename", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END

View file

@ -133,7 +133,7 @@ BEGIN
MENUITEM "Emero", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Exporto", ID_TREE_EXPORT
MENUITEM "T'drejta...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "T'drejta...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "Kopjo emrin çelesit", ID_EDIT_COPYKEYNAME
END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Byt namn", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Exportera", ID_TREE_EXPORT
MENUITEM "&Behörigheter...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Behörigheter...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Kopiera nyckelnamn", ID_EDIT_COPYKEYNAME
END

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "&Rename", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "&Adını Değiştir", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Ver...", ID_TREE_EXPORT
MENUITEM "&İzinler...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&İzinler...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Dizin Yolunu Çoğalt", ID_EDIT_COPYKEYNAME
END

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "Перей&менувати", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Експорт", ID_TREE_EXPORT
MENUITEM "&Дозволи...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Дозволи...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Копіювати ім'я розділу", ID_EDIT_COPYKEYNAME
END

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "重命名(&R)", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "导出(&E)", ID_TREE_EXPORT
MENUITEM "权限(&P)...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "权限(&P)...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "复制键名(&C)", ID_EDIT_COPYKEYNAME
END

View file

@ -132,7 +132,7 @@ BEGIN
MENUITEM "重新命名(&R)", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "匯出(&E)", ID_TREE_EXPORT
MENUITEM "許可權(&P)...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "許可權(&P)...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "複製項名稱(&C)", ID_EDIT_COPYKEYNAME
END