1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-05-28 15:24:49 -05:00

Minor reorganisations to WinHelp support. (Done as part of a - failed -

attempt to fix `winhelp-crash', but we may as well keep them.)

[originally from svn r5314]
This commit is contained in:
Jacob Nevins 2005-02-16 01:47:10 +00:00
parent 2487b41777
commit db19a6aff1
4 changed files with 29 additions and 22 deletions

View File

@ -340,13 +340,13 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
if (p && p >= r) r = p+1;
q = strrchr(b, ':');
if (q && q >= r) r = q+1;
strcpy(r, "putty.hlp");
strcpy(r, PUTTY_HELP_FILE);
if ( (fp = fopen(b, "r")) != NULL) {
help_path = dupstr(b);
fclose(fp);
} else
help_path = NULL;
strcpy(r, "putty.cnt");
strcpy(r, PUTTY_HELP_CONTENTS);
if ( (fp = fopen(b, "r")) != NULL) {
help_has_contents = TRUE;
fclose(fp);

View File

@ -1340,50 +1340,52 @@ static int CALLBACK MainDlgProc(HWND hwnd, UINT msg,
case WM_HELP:
if (help_path) {
int id = ((LPHELPINFO)lParam)->iCtrlId;
char *cmd = NULL;
char *topic = NULL;
switch (id) {
case IDC_GENERATING:
case IDC_PROGRESS:
case IDC_GENSTATIC:
case IDC_GENERATE:
cmd = "JI(`',`puttygen.generate')"; break;
topic = "puttygen.generate"; break;
case IDC_PKSTATIC:
case IDC_KEYDISPLAY:
cmd = "JI(`',`puttygen.pastekey')"; break;
topic = "puttygen.pastekey"; break;
case IDC_FPSTATIC:
case IDC_FINGERPRINT:
cmd = "JI(`',`puttygen.fingerprint')"; break;
topic = "puttygen.fingerprint"; break;
case IDC_COMMENTSTATIC:
case IDC_COMMENTEDIT:
cmd = "JI(`',`puttygen.comment')"; break;
topic = "puttygen.comment"; break;
case IDC_PASSPHRASE1STATIC:
case IDC_PASSPHRASE1EDIT:
case IDC_PASSPHRASE2STATIC:
case IDC_PASSPHRASE2EDIT:
cmd = "JI(`',`puttygen.passphrase')"; break;
topic = "puttygen.passphrase"; break;
case IDC_LOADSTATIC:
case IDC_LOAD:
cmd = "JI(`',`puttygen.load')"; break;
topic = "puttygen.load"; break;
case IDC_SAVESTATIC:
case IDC_SAVE:
cmd = "JI(`',`puttygen.savepriv')"; break;
topic = "puttygen.savepriv"; break;
case IDC_SAVEPUB:
cmd = "JI(`',`puttygen.savepub')"; break;
topic = "puttygen.savepub"; break;
case IDC_TYPESTATIC:
case IDC_KEYSSH1:
case IDC_KEYSSH2RSA:
case IDC_KEYSSH2DSA:
cmd = "JI(`',`puttygen.keytype')"; break;
topic = "puttygen.keytype"; break;
case IDC_BITSSTATIC:
case IDC_BITS:
cmd = "JI(`',`puttygen.bits')"; break;
topic = "puttygen.bits"; break;
case IDC_IMPORT:
case IDC_EXPORT_OPENSSH:
case IDC_EXPORT_SSHCOM:
cmd = "JI(`',`puttygen.conversions')"; break;
topic = "puttygen.conversions"; break;
}
if (cmd) {
if (topic) {
char *cmd = dupprintf("JI(`',`%s')", topic);
WinHelp(hwnd, help_path, HELP_COMMAND, (DWORD)cmd);
sfree(cmd);
requested_help = TRUE;
} else {
MessageBeep(0);
@ -1435,7 +1437,7 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
if (p && p >= r) r = p+1;
q = strrchr(b, ':');
if (q && q >= r) r = q+1;
strcpy(r, "putty.hlp");
strcpy(r, PUTTY_HELP_FILE);
if ( (fp = fopen(b, "r")) != NULL) {
help_path = dupstr(b);
fclose(fp);

View File

@ -1608,14 +1608,16 @@ static int CALLBACK KeyListProc(HWND hwnd, UINT msg,
case WM_HELP:
if (help_path) {
int id = ((LPHELPINFO)lParam)->iCtrlId;
char *cmd = NULL;
char *topic = NULL;
switch (id) {
case 100: cmd = "JI(`',`pageant.keylist')"; break;
case 101: cmd = "JI(`',`pageant.addkey')"; break;
case 102: cmd = "JI(`',`pageant.remkey')"; break;
case 100: topic = "pageant.keylist"; break;
case 101: topic = "pageant.addkey"; break;
case 102: topic = "pageant.remkey"; break;
}
if (cmd) {
if (topic) {
char *cmd = dupprintf("JI(`',`%s')", topic);
WinHelp(main_hwnd, help_path, HELP_COMMAND, (DWORD)cmd);
sfree(cmd);
requested_help = TRUE;
} else {
MessageBeep(0);
@ -2036,7 +2038,7 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
if (p && p >= r) r = p+1;
q = strrchr(b, ':');
if (q && q >= r) r = q+1;
strcpy(r, "putty.hlp");
strcpy(r, PUTTY_HELP_FILE);
if ( (fp = fopen(b, "r")) != NULL) {
help_path = dupstr(b);
fclose(fp);

View File

@ -57,6 +57,9 @@ typedef struct terminal_tag Terminal;
#define PUTTY_REG_GPARENT "Software"
#define PUTTY_REG_GPARENT_CHILD "SimonTatham"
#define PUTTY_HELP_FILE "putty.hlp"
#define PUTTY_HELP_CONTENTS "putty.cnt"
#define GETTICKCOUNT GetTickCount
#define CURSORBLINK GetCaretBlinkTime()
#define TICKSPERSEC 1000 /* GetTickCount returns milliseconds */