mirror of
https://github.com/reactos/reactos.git
synced 2024-06-21 13:31:38 +00:00
[0.4.7][SHELL32] Ports from 0.4.8-dev: e.g. Drive Capacity CORE-14201, and Alt+Enter (#155)
This ports back the following master-commits: 0.4.8-dev-1090-g175e78e50f
[SHELL32] Fix COM registration of IShellFolder, IShellLinkA/W, IQueryContinue and IUserNotification classes. FTR: usernotification.rgs does not exist yet in releases/0.4.7, therefore left out 0.4.8-dev-670-g6d9a0d0fd4
[SHELL32] CDrivesFolder: Fix showing the drive capacity. (in MyComputer Details-View) CORE-14201 0.4.8-dev-514-ga3797dba7a
[SHELL32] Deduplicate MAX_PROPERTY_SHEET_PAGE and AddPropSheetPageCallback(). FTR: The original master-commit referenced the unmerged PR179, but that is a wrong linking! 0.4.8-dev-239-gc2bdad2981
[SHELL32] Fix show properties with Alt+Enter (#155) 0.4.8-dev-32-gfe6d46f86e
[SHELL32] Properly set case -714 as TBN_DRAGOUT. FTR: The original master-commit (erroneously?) referenced PR94, and CORE11799. But those deal with Clang-related changes and do not contain this part (anymore?). no change in binary size for both compilers in dbg configuration: releases/0.4.8 RosBEWin2.1.6 GCC4.7.2 dbg x86 8.738.816 releases/0.4.7 RosBEWin2.1.6 GCC4.7.2 dbg x86 8.666.624 -> 8.666.624 releases/0.4.7 RosBEWin2.1.6 MSVC2010SP1 dbg x86 7.455.232 -> 7.455.232
This commit is contained in:
parent
ec0a98776d
commit
734e4958da
|
@ -1492,6 +1492,7 @@ LRESULT CDefView::OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHand
|
|||
case FCIDM_SHVIEW_CUT:
|
||||
case FCIDM_SHVIEW_COPY:
|
||||
case FCIDM_SHVIEW_RENAME:
|
||||
case FCIDM_SHVIEW_PROPERTIES:
|
||||
return OnExplorerCommand(dwCmdID, TRUE);
|
||||
case FCIDM_SHVIEW_INSERT:
|
||||
case FCIDM_SHVIEW_UNDO:
|
||||
|
|
|
@ -144,7 +144,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
|||
|
||||
#define SHLINK_LOCAL 0
|
||||
#define SHLINK_REMOTE 1
|
||||
#define MAX_PROPERTY_SHEET_PAGE 32
|
||||
|
||||
/* link file formats */
|
||||
|
||||
|
|
|
@ -20,8 +20,6 @@
|
|||
|
||||
#include "precomp.h"
|
||||
|
||||
#define MAX_PROPERTY_SHEET_PAGE 32
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||
|
||||
typedef struct
|
||||
|
@ -108,18 +106,6 @@ GetDefaultClusterSize(LPWSTR szFs, PDWORD pClusterSize, PULARGE_INTEGER TotalNum
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL CALLBACK
|
||||
AddPropSheetPageCallback(HPROPSHEETPAGE hPage, LPARAM lParam)
|
||||
{
|
||||
PROPSHEETHEADER *ppsh = (PROPSHEETHEADER *)lParam;
|
||||
if (ppsh->nPages < MAX_PROPERTY_SHEET_PAGE)
|
||||
{
|
||||
ppsh->phpage[ppsh->nPages++] = hPage;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
typedef struct _DRIVE_PROP_PAGE
|
||||
{
|
||||
LPCSTR resname;
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL (fprop);
|
||||
|
||||
#define MAX_PROPERTY_SHEET_PAGE (32)
|
||||
|
||||
/// Folder Options:
|
||||
/// CLASSKEY = HKEY_CLASSES_ROOT\CLSID\{6DFD7C5C-2451-11d3-A299-00C04F8EF6AF}
|
||||
/// DefaultIcon = %SystemRoot%\system32\SHELL32.dll,-210
|
||||
|
|
|
@ -21,26 +21,10 @@
|
|||
|
||||
#include "precomp.h"
|
||||
|
||||
#define MAX_PROPERTY_SHEET_PAGE 32
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||
|
||||
EXTERN_C HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface, IDataObject *pDataObj);
|
||||
|
||||
static BOOL CALLBACK
|
||||
AddPropSheetPageCallback(HPROPSHEETPAGE hPage, LPARAM lParam)
|
||||
{
|
||||
PROPSHEETHEADERW *pHeader = (PROPSHEETHEADERW *)lParam;
|
||||
|
||||
if (pHeader->nPages < MAX_PROPERTY_SHEET_PAGE)
|
||||
{
|
||||
pHeader->phpage[pHeader->nPages++] = hPage;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static UINT
|
||||
LoadPropSheetHandlers(LPCWSTR pwszPath, PROPSHEETHEADERW *pHeader, UINT cMaxPages, HPSXA *phpsxa, IDataObject *pDataObj)
|
||||
{
|
||||
|
|
|
@ -803,7 +803,7 @@ HRESULT WINAPI CDrivesFolder::GetDetailsOf(PCUITEMID_CHILD pidl, UINT iColumn, S
|
|||
if (GetVolumeInformationA(pszDrive, NULL, 0, NULL, NULL, NULL, NULL, 0))
|
||||
{
|
||||
GetDiskFreeSpaceExA(pszDrive, &ulFreeBytes, &ulTotalBytes, NULL);
|
||||
if (iColumn == 2)
|
||||
if (iColumn == 3)
|
||||
StrFormatByteSize64A(ulTotalBytes.QuadPart, psd->str.cStr, MAX_PATH);
|
||||
else
|
||||
StrFormatByteSize64A(ulFreeBytes.QuadPart, psd->str.cStr, MAX_PATH);
|
||||
|
|
|
@ -24,8 +24,6 @@
|
|||
#include <mmsystem.h>
|
||||
#include <ntquery.h>
|
||||
|
||||
#define MAX_PROPERTY_SHEET_PAGE 32
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(CRecycleBin);
|
||||
|
||||
typedef struct
|
||||
|
|
|
@ -98,6 +98,24 @@ extern const GUID CLSID_UnixDosFolder;
|
|||
extern const GUID SHELL32_AdvtShortcutProduct;
|
||||
extern const GUID SHELL32_AdvtShortcutComponent;
|
||||
|
||||
#define MAX_PROPERTY_SHEET_PAGE 32
|
||||
|
||||
extern inline
|
||||
BOOL
|
||||
CALLBACK
|
||||
AddPropSheetPageCallback(HPROPSHEETPAGE hPage, LPARAM lParam)
|
||||
{
|
||||
PROPSHEETHEADERW *pHeader = (PROPSHEETHEADERW *)lParam;
|
||||
|
||||
if (pHeader->nPages < MAX_PROPERTY_SHEET_PAGE)
|
||||
{
|
||||
pHeader->phpage[pHeader->nPages++] = hPage;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Shell_DefaultContextMenuCallBack(IShellFolder *psf, IDataObject *pdtobj);
|
||||
|
||||
|
|
|
@ -9,16 +9,16 @@ HKCR
|
|||
val ThreadingModel = s 'Apartment'
|
||||
}
|
||||
}
|
||||
NoRemove Interface
|
||||
}
|
||||
NoRemove Interface
|
||||
{
|
||||
ForceRemove {000214E6-0000-0000-C000-000000000046} = s 'IShellFolder'
|
||||
{
|
||||
ForceRemove {000214E6-0000-0000-C000-000000000046} = s 'IShellFolder'
|
||||
NumMethods = s '13'
|
||||
{
|
||||
}
|
||||
ProxyStubClsid32 = s '{bf50b68e-29b8-4386-ae9c-9734d5117cd5}'
|
||||
{
|
||||
NumMethods = s '13'
|
||||
{
|
||||
}
|
||||
ProxyStubClsid32 = s '{bf50b68e-29b8-4386-ae9c-9734d5117cd5}'
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,25 +19,25 @@ HKCR
|
|||
MayChangeDefaultMenu = s ''
|
||||
}
|
||||
}
|
||||
NoRemove Interface
|
||||
}
|
||||
NoRemove Interface
|
||||
{
|
||||
ForceRemove {000214EE-0000-0000-C000-000000000046} = s 'IShellLinkA'
|
||||
{
|
||||
ForceRemove {000214EE-0000-0000-C000-000000000046} = s 'IShellLinkA'
|
||||
NumMethods = s '21'
|
||||
{
|
||||
NumMethods = s '21'
|
||||
{
|
||||
}
|
||||
ProxyStubClsid32 = s '{B8DA6310-E19B-11D0-933C-00A0C90DCAA9}'
|
||||
{
|
||||
}
|
||||
}
|
||||
ForceRemove {000214F9-0000-0000-C000-000000000046} = s 'IShellLinkW'
|
||||
ProxyStubClsid32 = s '{B8DA6310-E19B-11D0-933C-00A0C90DCAA9}'
|
||||
{
|
||||
}
|
||||
}
|
||||
ForceRemove {000214F9-0000-0000-C000-000000000046} = s 'IShellLinkW'
|
||||
{
|
||||
NumMethods = s '21'
|
||||
{
|
||||
}
|
||||
ProxyStubClsid32 = s '{B8DA6310-E19B-11D0-933C-00A0C90DCAA9}'
|
||||
{
|
||||
NumMethods = s '21'
|
||||
{
|
||||
}
|
||||
ProxyStubClsid32 = s '{B8DA6310-E19B-11D0-933C-00A0C90DCAA9}'
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ BEGIN
|
|||
VK_DELETE, FCIDM_SHVIEW_DELETE, VIRTKEY
|
||||
VK_DELETE, FCIDM_SHVIEW_DELETE, VIRTKEY, SHIFT
|
||||
VK_F2, FCIDM_SHVIEW_RENAME, VIRTKEY
|
||||
VK_RETURN, FCIDM_SHVIEW_OPEN, VIRTKEY, ALT
|
||||
VK_RETURN, FCIDM_SHVIEW_PROPERTIES, VIRTKEY, ALT
|
||||
"X", FCIDM_SHVIEW_CUT, VIRTKEY, CONTROL
|
||||
"C", FCIDM_SHVIEW_COPY, VIRTKEY, CONTROL
|
||||
VK_INSERT, FCIDM_SHVIEW_COPY, VIRTKEY, CONTROL
|
||||
|
|
|
@ -105,8 +105,7 @@ HRESULT CMenuToolbarBase::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM
|
|||
case NM_TOOLTIPSCREATED:
|
||||
break;
|
||||
|
||||
// Unknown
|
||||
case -714: return S_FALSE;
|
||||
case TBN_DRAGOUT: return S_FALSE;
|
||||
|
||||
default:
|
||||
TRACE("WM_NOTIFY unknown code %d, %d\n", hdr->code, hdr->idFrom);
|
||||
|
|
Loading…
Reference in a new issue