mirror of
https://github.com/reactos/wine.git
synced 2025-02-20 12:50:53 +00:00
hhctrl.ocx: Support jumping to a help topic with 'mapid'.
This commit is contained in:
parent
3a824542a5
commit
db94b0c636
@ -272,12 +272,42 @@ HWND WINAPI HtmlHelpA(HWND caller, LPCSTR filename, UINT command, DWORD_PTR data
|
||||
int WINAPI doWinMain(HINSTANCE hInstance, LPSTR szCmdLine)
|
||||
{
|
||||
MSG msg;
|
||||
int len, buflen;
|
||||
int len, buflen, mapid = -1;
|
||||
WCHAR *filename;
|
||||
char *endq = NULL;
|
||||
|
||||
hh_process = TRUE;
|
||||
|
||||
/* Parse command line option of the HTML Help command.
|
||||
*
|
||||
* Note: The only currently handled action is "mapid",
|
||||
* which corresponds to opening a specific page.
|
||||
*/
|
||||
while(*szCmdLine == '-')
|
||||
{
|
||||
LPSTR space, ptr;
|
||||
|
||||
ptr = szCmdLine + 1;
|
||||
space = strchr(ptr, ' ');
|
||||
if(!strncmp(ptr, "mapid", space-ptr))
|
||||
{
|
||||
char idtxt[10];
|
||||
|
||||
ptr += strlen("mapid")+1;
|
||||
space = strchr(ptr, ' ');
|
||||
memcpy(idtxt, ptr, space-ptr);
|
||||
idtxt[space-ptr] = '\0';
|
||||
filename += (space-ptr)+1;
|
||||
mapid = atoi(idtxt);
|
||||
szCmdLine = space+1;
|
||||
}
|
||||
else
|
||||
{
|
||||
FIXME("Unhandled HTML Help command line parameter! (%.*s)\n", space-szCmdLine, szCmdLine);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* FIXME: Check szCmdLine for bad arguments */
|
||||
if (*szCmdLine == '\"')
|
||||
endq = strchr(++szCmdLine, '\"');
|
||||
@ -291,7 +321,11 @@ int WINAPI doWinMain(HINSTANCE hInstance, LPSTR szCmdLine)
|
||||
MultiByteToWideChar(CP_ACP, 0, szCmdLine, len, filename, buflen);
|
||||
filename[buflen-1] = 0;
|
||||
|
||||
HtmlHelpW(GetDesktopWindow(), filename, HH_DISPLAY_TOPIC, 0);
|
||||
/* Open a specific help topic */
|
||||
if(mapid != -1)
|
||||
HtmlHelpW(GetDesktopWindow(), filename, HH_HELP_CONTEXT, mapid);
|
||||
else
|
||||
HtmlHelpW(GetDesktopWindow(), filename, HH_DISPLAY_TOPIC, 0);
|
||||
|
||||
heap_free(filename);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user