- Removed initialization of sh32_policy_table in SHInitRestricted,
because it's already statically initialized. - Removed calling of SHInitRestricted(NULL, NULL) from DllMain because it does nothing in this case now. - Added support for flags FWF_DESKTOP, FWF_NOCLIENTEDGE, FWF_TRANSPARENT in ShellView. - Fixed small bug in setting SysTray window class hbrBackground.
This commit is contained in:
parent
88de9ef068
commit
d8bd18e639
|
@ -1002,7 +1002,6 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
|
||||||
SIC_Initialize();
|
SIC_Initialize();
|
||||||
SYSTRAY_Init();
|
SYSTRAY_Init();
|
||||||
InitChangeNotifications();
|
InitChangeNotifications();
|
||||||
SHInitRestricted(NULL, NULL);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DLL_PROCESS_DETACH:
|
case DLL_PROCESS_DETACH:
|
||||||
|
|
|
@ -273,12 +273,13 @@ static void SetStyle(IShellViewImpl * This, DWORD dwAdd, DWORD dwRemove)
|
||||||
* - creates the list view window
|
* - creates the list view window
|
||||||
*/
|
*/
|
||||||
static BOOL ShellView_CreateList (IShellViewImpl * This)
|
static BOOL ShellView_CreateList (IShellViewImpl * This)
|
||||||
{ DWORD dwStyle;
|
{ DWORD dwStyle, dwExStyle;
|
||||||
|
|
||||||
TRACE("%p\n",This);
|
TRACE("%p\n",This);
|
||||||
|
|
||||||
dwStyle = WS_TABSTOP | WS_VISIBLE | WS_CHILDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN |
|
dwStyle = WS_TABSTOP | WS_VISIBLE | WS_CHILDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN |
|
||||||
LVS_SHAREIMAGELISTS | LVS_EDITLABELS | LVS_ALIGNLEFT | LVS_AUTOARRANGE;
|
LVS_SHAREIMAGELISTS | LVS_EDITLABELS | LVS_ALIGNLEFT | LVS_AUTOARRANGE;
|
||||||
|
dwExStyle = WS_EX_CLIENTEDGE;
|
||||||
|
|
||||||
switch (This->FolderSettings.ViewMode)
|
switch (This->FolderSettings.ViewMode)
|
||||||
{
|
{
|
||||||
|
@ -290,10 +291,13 @@ static BOOL ShellView_CreateList (IShellViewImpl * This)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (This->FolderSettings.fFlags & FWF_AUTOARRANGE) dwStyle |= LVS_AUTOARRANGE;
|
if (This->FolderSettings.fFlags & FWF_AUTOARRANGE) dwStyle |= LVS_AUTOARRANGE;
|
||||||
/*if (This->FolderSettings.fFlags && FWF_DESKTOP); used from explorer*/
|
if (This->FolderSettings.fFlags & FWF_DESKTOP)
|
||||||
|
This->FolderSettings.fFlags |= FWF_NOCLIENTEDGE | FWF_NOSCROLL;
|
||||||
if (This->FolderSettings.fFlags & FWF_SINGLESEL) dwStyle |= LVS_SINGLESEL;
|
if (This->FolderSettings.fFlags & FWF_SINGLESEL) dwStyle |= LVS_SINGLESEL;
|
||||||
|
if (This->FolderSettings.fFlags & FWF_NOCLIENTEDGE)
|
||||||
|
dwExStyle &= ~WS_EX_CLIENTEDGE;
|
||||||
|
|
||||||
This->hWndList=CreateWindowExA( WS_EX_CLIENTEDGE,
|
This->hWndList=CreateWindowExA( dwExStyle,
|
||||||
WC_LISTVIEWA,
|
WC_LISTVIEWA,
|
||||||
NULL,
|
NULL,
|
||||||
dwStyle,
|
dwStyle,
|
||||||
|
@ -1448,6 +1452,12 @@ static LRESULT CALLBACK ShellView_WndProc(HWND hWnd, UINT uMessage, WPARAM wPara
|
||||||
}
|
}
|
||||||
SHChangeNotifyDeregister(pThis->hNotify);
|
SHChangeNotifyDeregister(pThis->hNotify);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WM_ERASEBKGND:
|
||||||
|
if ((pThis->FolderSettings.fFlags & FWF_DESKTOP) ||
|
||||||
|
(pThis->FolderSettings.fFlags & FWF_TRANSPARENT))
|
||||||
|
return 1;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return DefWindowProcA (hWnd, uMessage, wParam, lParam);
|
return DefWindowProcA (hWnd, uMessage, wParam, lParam);
|
||||||
|
|
|
@ -882,8 +882,6 @@ DWORD WINAPI SHRestricted (RESTRICTIONS policy)
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey)
|
BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey)
|
||||||
{
|
{
|
||||||
LPPOLICYDATA p;
|
|
||||||
|
|
||||||
TRACE("(%p, %p)\n", unused, inpRegKey);
|
TRACE("(%p, %p)\n", unused, inpRegKey);
|
||||||
|
|
||||||
/* first check - if input is non-NULL and points to the secret
|
/* first check - if input is non-NULL and points to the secret
|
||||||
|
@ -907,10 +905,5 @@ BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check passed, init all policy cache entries with SHELL_NO_POLICY */
|
return TRUE;
|
||||||
for (p = sh32_policy_table; p->policy; p++)
|
|
||||||
{
|
|
||||||
p->cache = SHELL_NO_POLICY;
|
|
||||||
}
|
|
||||||
return SHELL_NO_POLICY;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -169,7 +169,7 @@ BOOL SYSTRAY_RegisterClass(void)
|
||||||
wc.hInstance = 0;
|
wc.hInstance = 0;
|
||||||
wc.hIcon = 0;
|
wc.hIcon = 0;
|
||||||
wc.hCursor = LoadCursorA(0, (LPSTR)IDC_ARROW);
|
wc.hCursor = LoadCursorA(0, (LPSTR)IDC_ARROW);
|
||||||
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW);
|
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
|
||||||
wc.lpszMenuName = NULL;
|
wc.lpszMenuName = NULL;
|
||||||
wc.lpszClassName = "WineSystray";
|
wc.lpszClassName = "WineSystray";
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue