[SHELL32]

- Minor stylistic whitespace changes.
- Use 'IDA_DESKBROWSER' instead of hardcoding its value.
- The shell progman window uses the COLOR_DESKTOP as its hbrBackground: partly revert r66271.
- Correctly initialize rcDesk structure before using it for a CreateWindowEx call.

svn path=/trunk/; revision=71524
This commit is contained in:
Hermès Bélusca-Maïto 2016-06-04 23:29:34 +00:00
parent 4e9504f015
commit d63c3a89ad

View file

@ -24,8 +24,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(desktop);
#define SHDESK_TAG 'KSED' #define SHDESK_TAG 'KSED'
static const WCHAR szProgmanClassName [] = L"Progman"; static const WCHAR szProgmanClassName[] = L"Progman";
static const WCHAR szProgmanWindowName [] = L"Program Manager"; static const WCHAR szProgmanWindowName[] = L"Program Manager";
class CDesktopBrowser : class CDesktopBrowser :
public CComObjectRootEx<CComMultiThreadModelNoCS>, public CComObjectRootEx<CComMultiThreadModelNoCS>,
@ -39,7 +39,7 @@ public:
private: private:
HWND hWnd; HWND hWnd;
HWND hWndShellView; HWND hWndShellView;
HWND hWndDesktopListView; HWND hWndDesktopListView; // FIXME: Unused
CComPtr<IShellDesktopTray> ShellDesk; CComPtr<IShellDesktopTray> ShellDesk;
CComPtr<IShellView> DesktopView; CComPtr<IShellView> DesktopView;
CComPtr<IShellBrowser> DefaultShellBrowser; CComPtr<IShellBrowser> DefaultShellBrowser;
@ -52,7 +52,7 @@ public:
CDesktopBrowser(); CDesktopBrowser();
~CDesktopBrowser(); ~CDesktopBrowser();
HRESULT Initialize(HWND hWndx, IShellDesktopTray *ShellDeskx); HRESULT Initialize(HWND hWndx, IShellDesktopTray *ShellDeskx);
HWND FindDesktopListView (); HWND FindDesktopListView();
BOOL CreateDeskWnd(); BOOL CreateDeskWnd();
HWND DesktopGetWindowControl(IN UINT id); HWND DesktopGetWindowControl(IN UINT id);
LRESULT OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam); LRESULT OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam);
@ -186,7 +186,7 @@ static CDesktopBrowser *SHDESK_Create(HWND hWnd, LPCREATESTRUCT lpCreateStruct)
return pThis; return pThis;
} }
HWND CDesktopBrowser::FindDesktopListView () HWND CDesktopBrowser::FindDesktopListView()
{ {
return FindWindowExW(hWndShellView, NULL, WC_LISTVIEW, NULL); return FindWindowExW(hWndShellView, NULL, WC_LISTVIEW, NULL);
} }
@ -452,11 +452,11 @@ LRESULT CALLBACK CDesktopBrowser::ProgmanWindowProc(IN HWND hwnd, IN UINT uMsg,
break; break;
case WM_SIZE: case WM_SIZE:
{
if (wParam == SIZE_MINIMIZED) if (wParam == SIZE_MINIMIZED)
{ {
/* Hey, we're the desktop!!! */ /* Hey, we're the desktop!!! */
ShowWindow(hwnd, ShowWindow(hwnd, SW_RESTORE);
SW_RESTORE);
} }
else else
{ {
@ -471,6 +471,7 @@ LRESULT CALLBACK CDesktopBrowser::ProgmanWindowProc(IN HWND hwnd, IN UINT uMsg,
DBG_UNREFERENCED_LOCAL_VARIABLE(rcDesktop); DBG_UNREFERENCED_LOCAL_VARIABLE(rcDesktop);
} }
break; break;
}
case WM_SYSCOLORCHANGE: case WM_SYSCOLORCHANGE:
case WM_SETTINGCHANGE: case WM_SETTINGCHANGE:
@ -496,7 +497,7 @@ LRESULT CALLBACK CDesktopBrowser::ProgmanWindowProc(IN HWND hwnd, IN UINT uMsg,
if (!pThis->CreateDeskWnd()) if (!pThis->CreateDeskWnd())
WARN("Could not create the desktop view control!\n"); WARN("Could not create the desktop view control!\n");
pThis->m_hAccel = LoadAcceleratorsW(shell32_hInstance, MAKEINTRESOURCEW(3)); pThis->m_hAccel = LoadAcceleratorsW(shell32_hInstance, MAKEINTRESOURCEW(IDA_DESKBROWSER));
break; break;
} }
@ -511,9 +512,7 @@ LRESULT CALLBACK CDesktopBrowser::ProgmanWindowProc(IN HWND hwnd, IN UINT uMsg,
break; break;
} }
SetWindowLongPtrW(hwnd, SetWindowLongPtrW(hwnd, 0, (LONG_PTR)pThis);
0,
(LONG_PTR)pThis);
Ret = TRUE; Ret = TRUE;
break; break;
} }
@ -557,7 +556,7 @@ RegisterProgmanWindowClass(VOID)
wcProgman.hInstance = shell32_hInstance; wcProgman.hInstance = shell32_hInstance;
wcProgman.hIcon = NULL; wcProgman.hIcon = NULL;
wcProgman.hCursor = LoadCursorW(NULL, IDC_ARROW); wcProgman.hCursor = LoadCursorW(NULL, IDC_ARROW);
wcProgman.hbrBackground = NULL; wcProgman.hbrBackground = (HBRUSH)(COLOR_DESKTOP + 1);
wcProgman.lpszMenuName = NULL; wcProgman.lpszMenuName = NULL;
wcProgman.lpszClassName = szProgmanClassName; wcProgman.lpszClassName = szProgmanClassName;
@ -588,8 +587,8 @@ HANDLE WINAPI SHCreateDesktop(IShellDesktopTray *ShellDesk)
rcDesk.left = GetSystemMetrics(SM_XVIRTUALSCREEN); rcDesk.left = GetSystemMetrics(SM_XVIRTUALSCREEN);
rcDesk.top = GetSystemMetrics(SM_YVIRTUALSCREEN); rcDesk.top = GetSystemMetrics(SM_YVIRTUALSCREEN);
rcDesk.right = rcDesk.left + GetSystemMetrics(SM_CXVIRTUALSCREEN); rcDesk.right = GetSystemMetrics(SM_CXVIRTUALSCREEN);
rcDesk.bottom = rcDesk.top + GetSystemMetrics(SM_CYVIRTUALSCREEN); rcDesk.bottom = GetSystemMetrics(SM_CYVIRTUALSCREEN);
if (IsRectEmpty(&rcDesk)) if (IsRectEmpty(&rcDesk))
{ {