mirror of
https://github.com/reactos/reactos.git
synced 2025-06-12 14:48:29 +00:00
[SHELL32]
- Don't duplicate the code for getting the name of a drive. CDrivesFolder already does it (and it does it better). Make the drive properties call it to get the name it needs. CORE-10258 svn path=/trunk/; revision=69373
This commit is contained in:
parent
88ec65d6d7
commit
e6b8a983ae
1 changed files with 9 additions and 24 deletions
|
@ -124,6 +124,7 @@ SH_ShowDriveProperties(WCHAR *pwszDrive, LPCITEMIDLIST pidlFolder, LPCITEMIDLIST
|
||||||
HPROPSHEETPAGE hpsp[MAX_PROPERTY_SHEET_PAGE];
|
HPROPSHEETPAGE hpsp[MAX_PROPERTY_SHEET_PAGE];
|
||||||
PROPSHEETHEADERW psh;
|
PROPSHEETHEADERW psh;
|
||||||
CComObject<CDrvDefExt> *pDrvDefExt = NULL;
|
CComObject<CDrvDefExt> *pDrvDefExt = NULL;
|
||||||
|
WCHAR wszName[256];
|
||||||
|
|
||||||
ZeroMemory(&psh, sizeof(PROPSHEETHEADERW));
|
ZeroMemory(&psh, sizeof(PROPSHEETHEADERW));
|
||||||
psh.dwSize = sizeof(PROPSHEETHEADERW);
|
psh.dwSize = sizeof(PROPSHEETHEADERW);
|
||||||
|
@ -132,34 +133,18 @@ SH_ShowDriveProperties(WCHAR *pwszDrive, LPCITEMIDLIST pidlFolder, LPCITEMIDLIST
|
||||||
psh.nStartPage = 0;
|
psh.nStartPage = 0;
|
||||||
psh.phpage = hpsp;
|
psh.phpage = hpsp;
|
||||||
|
|
||||||
WCHAR wszName[256];
|
LPITEMIDLIST completePidl = ILCombine(pidlFolder, apidl[0]);
|
||||||
if (GetVolumeInformationW(pwszDrive, wszName, _countof(wszName), NULL, NULL, NULL, NULL, 0))
|
if (!completePidl)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (ILGetDisplayNameExW(NULL, completePidl, wszName, ILGDN_NORMAL))
|
||||||
{
|
{
|
||||||
psh.pszCaption = wszName;
|
psh.pszCaption = wszName;
|
||||||
psh.dwFlags |= PSH_PROPTITLE;
|
psh.dwFlags |= PSH_PROPTITLE;
|
||||||
pwszDrive[2] = 0;
|
|
||||||
if (wszName[0] == UNICODE_NULL)
|
|
||||||
{
|
|
||||||
UINT len;
|
|
||||||
switch (GetDriveTypeW(pwszDrive))
|
|
||||||
{
|
|
||||||
case DRIVE_CDROM:
|
|
||||||
len = LoadStringW(shell32_hInstance, IDS_DRIVE_CDROM, wszName, _countof(wszName));
|
|
||||||
break;
|
|
||||||
case DRIVE_REMOTE:
|
|
||||||
len = LoadStringW(shell32_hInstance, IDS_DRIVE_NETWORK, wszName, _countof(wszName));
|
|
||||||
break;
|
|
||||||
case DRIVE_FIXED:
|
|
||||||
default:
|
|
||||||
len = LoadStringW(shell32_hInstance, IDS_DRIVE_FIXED, wszName, _countof(wszName));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
StringCchPrintf(wszName + len, _countof(wszName) - len, L" (%s)", pwszDrive);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
StringCchPrintf(wszName + wcslen(wszName), _countof(wszName) - wcslen(wszName), L" (%s)", pwszDrive);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ILFree(completePidl);
|
||||||
|
|
||||||
CComPtr<IDataObject> pDataObj;
|
CComPtr<IDataObject> pDataObj;
|
||||||
HRESULT hr = SHCreateDataObject(pidlFolder, 1, apidl, NULL, IID_PPV_ARG(IDataObject, &pDataObj));
|
HRESULT hr = SHCreateDataObject(pidlFolder, 1, apidl, NULL, IID_PPV_ARG(IDataObject, &pDataObj));
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue