From 759f0d820fd29cf89ee07db0aa53699ec3b09eef Mon Sep 17 00:00:00 2001 From: Andy McFadden Date: Tue, 9 Dec 2014 14:10:52 -0800 Subject: [PATCH] WinHelp to HtmlHelp conversion, part 2 This updates the various dialogs to use the new functions. The help system should be fully functional now. --- app/AboutDialog.cpp | 4 +- app/AddClashDialog.cpp | 1 - app/AddFilesDialog.cpp | 7 +-- app/ArchiveInfoDialog.cpp | 6 --- app/ArchiveInfoDialog.h | 4 +- app/BasicImport.cpp | 6 --- app/BasicImport.h | 4 +- app/CassetteDialog.cpp | 6 --- app/CassetteDialog.h | 4 +- app/ChooseAddTargetDialog.cpp | 6 --- app/ChooseAddTargetDialog.h | 4 +- app/ChooseDirDialog.cpp | 13 ----- app/ChooseDirDialog.h | 16 +++++-- app/ConfirmOverwriteDialog.cpp | 12 ----- app/ConfirmOverwriteDialog.h | 8 +++- app/ConvDiskOptionsDialog.cpp | 1 - app/CreateImageDialog.cpp | 12 ----- app/CreateImageDialog.h | 8 +++- app/CreateSubdirDialog.cpp | 6 --- app/CreateSubdirDialog.h | 4 +- app/DEFileDialog.cpp | 6 --- app/DEFileDialog.h | 5 +- app/DiskEditDialog.cpp | 29 ------------ app/DiskEditDialog.h | 8 +++- app/DiskFSTree.cpp | 1 - app/EOLScanDialog.cpp | 6 --- app/EOLScanDialog.h | 4 +- app/EditAssocDialog.cpp | 11 ----- app/EditAssocDialog.h | 8 +++- app/EditCommentDialog.cpp | 12 ----- app/EditCommentDialog.h | 8 +++- app/EditPropsDialog.cpp | 12 ----- app/EditPropsDialog.h | 9 +++- app/ExtractOptionsDialog.cpp | 12 ----- app/ExtractOptionsDialog.h | 9 +++- app/ImageFormatDialog.cpp | 12 ----- app/ImageFormatDialog.h | 8 +++- app/Main.cpp | 37 +++++---------- app/MyApp.cpp | 17 ++++--- app/NewFolderDialog.cpp | 6 --- app/NewFolderDialog.h | 4 +- app/OpenVolumeDialog.cpp | 6 --- app/OpenVolumeDialog.h | 5 +- app/PrefsDialog.cpp | 84 +++------------------------------ app/PrefsDialog.h | 52 +++++++++++++++----- app/RecompressOptionsDialog.cpp | 1 - app/RenameEntryDialog.cpp | 12 ----- app/RenameEntryDialog.h | 8 +++- app/RenameVolumeDialog.cpp | 12 ----- app/RenameVolumeDialog.h | 8 +++- app/TwoImgPropsDialog.cpp | 6 --- app/TwoImgPropsDialog.h | 4 +- app/UseSelectionDialog.cpp | 7 --- app/UseSelectionDialog.h | 5 +- app/ViewFilesDialog.cpp | 6 --- app/ViewFilesDialog.h | 4 +- app/VolumeCopyDialog.cpp | 6 --- app/VolumeCopyDialog.h | 4 +- util/SelectFilesDialog.cpp | 1 + util/Util.cpp | 6 --- util/Util.h | 5 -- 61 files changed, 184 insertions(+), 414 deletions(-) diff --git a/app/AboutDialog.cpp b/app/AboutDialog.cpp index 73c4892..6615f8e 100644 --- a/app/AboutDialog.cpp +++ b/app/AboutDialog.cpp @@ -9,7 +9,6 @@ #include "stdafx.h" #include "AboutDialog.h" #include "EnterRegDialog.h" -#include "HelpTopics.h" #include "MyApp.h" #include "resource.h" #include "../nufxlib/NufxLib.h" @@ -174,10 +173,9 @@ void AboutDialog::ShowRegistrationInfo(void) } #endif - void AboutDialog::OnAboutCredits(void) { - WinHelp(HELP_TOPIC_CREDITS, HELP_CONTEXT /*HELP_CONTEXTPOPUP*/); + MyApp::HandleHelp(this, HELP_TOPIC_CREDITS); } #if 0 diff --git a/app/AddClashDialog.cpp b/app/AddClashDialog.cpp index dae962e..d86ba91 100644 --- a/app/AddClashDialog.cpp +++ b/app/AddClashDialog.cpp @@ -10,7 +10,6 @@ BEGIN_MESSAGE_MAP(AddClashDialog, CDialog) ON_BN_CLICKED(IDC_CLASH_RENAME, OnRename) ON_BN_CLICKED(IDC_CLASH_SKIP, OnSkip) - //ON_WM_HELPINFO() END_MESSAGE_MAP() /* diff --git a/app/AddFilesDialog.cpp b/app/AddFilesDialog.cpp index 72baaf6..42d38ee 100644 --- a/app/AddFilesDialog.cpp +++ b/app/AddFilesDialog.cpp @@ -6,7 +6,6 @@ #include "stdafx.h" #include "AddFilesDialog.h" #include "FileNameConv.h" -#include "HelpTopics.h" #include "resource.h" @@ -130,9 +129,5 @@ bool AddFilesDialog::ValidateStoragePrefix(void) void AddFilesDialog::HandleHelp() { LOGD("AddFilesDialog HandleHelp"); - CWnd* pWndMain = ::AfxGetMainWnd(); - CWinApp* pAppMain = ::AfxGetApp(); - - ::WinHelp(pWndMain->m_hWnd, pAppMain->m_pszHelpFilePath, - HELP_CONTEXT, HELP_TOPIC_ADD_FILES_DLG); + MyApp::HandleHelp(this, HELP_TOPIC_ADD_FILES_DLG); } diff --git a/app/ArchiveInfoDialog.cpp b/app/ArchiveInfoDialog.cpp index fbd7e96..d18afe1 100644 --- a/app/ArchiveInfoDialog.cpp +++ b/app/ArchiveInfoDialog.cpp @@ -7,7 +7,6 @@ * Implementation of the various ArchiveInfo dialog classes. */ #include "StdAfx.h" -#include "HelpTopics.h" #include "ArchiveInfoDialog.h" #include "../nufxlib/NufxLib.h" @@ -21,11 +20,6 @@ BEGIN_MESSAGE_MAP(ArchiveInfoDialog, CDialog) ON_COMMAND(IDHELP, OnHelp) END_MESSAGE_MAP() -void ArchiveInfoDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_ARCHIVE_INFO, HELP_CONTEXT); -} - /* * =========================================================================== diff --git a/app/ArchiveInfoDialog.h b/app/ArchiveInfoDialog.h index 8c331d1..e6ed139 100644 --- a/app/ArchiveInfoDialog.h +++ b/app/ArchiveInfoDialog.h @@ -31,7 +31,9 @@ private: /* * Show general help for the archive info dialogs. */ - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_ARCHIVE_INFO); + } DECLARE_MESSAGE_MAP() }; diff --git a/app/BasicImport.cpp b/app/BasicImport.cpp index acc4708..bc631d6 100644 --- a/app/BasicImport.cpp +++ b/app/BasicImport.cpp @@ -13,7 +13,6 @@ #include "StdAfx.h" #include "../reformat/BASIC.h" #include "BasicImport.h" -#include "HelpTopics.h" /* * ========================================================================== @@ -652,8 +651,3 @@ bail: } return; } - -void ImportBASDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_IMPORT_BASIC, HELP_CONTEXT); -} diff --git a/app/BasicImport.h b/app/BasicImport.h index 0e15629..e8068f9 100644 --- a/app/BasicImport.h +++ b/app/BasicImport.h @@ -74,7 +74,9 @@ private: //virtual void DoDataExchange(CDataExchange* pDX); virtual void OnOK(void) override; - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_IMPORT_BASIC); + } /* * Import an Applesoft BASIC program from the specified file. diff --git a/app/CassetteDialog.cpp b/app/CassetteDialog.cpp index 1b090be..39540aa 100644 --- a/app/CassetteDialog.cpp +++ b/app/CassetteDialog.cpp @@ -9,7 +9,6 @@ #include "StdAfx.h" #include "CassetteDialog.h" #include "CassImpTargetDialog.h" -#include "HelpTopics.h" #include "GenericArchive.h" #include "Main.h" #include "../diskimg/DiskImg.h" // need kStorageSeedling @@ -387,11 +386,6 @@ void CassetteDialog::OnAlgorithmChange(void) AnalyzeWAV(); } -void CassetteDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_IMPORT_CASSETTE, HELP_CONTEXT); -} - void CassetteDialog::OnImport(void) { /* diff --git a/app/CassetteDialog.h b/app/CassetteDialog.h index ec86210..ca42412 100644 --- a/app/CassetteDialog.h +++ b/app/CassetteDialog.h @@ -48,7 +48,9 @@ private: afx_msg void OnImport(void); afx_msg void OnListDblClick(NMHDR* pNotifyStruct, LRESULT* pResult); - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_IMPORT_CASSETTE); + } /* * This holds converted data from the WAV file, plus some meta-data diff --git a/app/ChooseAddTargetDialog.cpp b/app/ChooseAddTargetDialog.cpp index 3c88f34..06bb519 100644 --- a/app/ChooseAddTargetDialog.cpp +++ b/app/ChooseAddTargetDialog.cpp @@ -8,7 +8,6 @@ */ #include "StdAfx.h" #include "ChooseAddTargetDialog.h" -#include "HelpTopics.h" #include "DiskFSTree.h" using namespace DiskImgLib; @@ -84,8 +83,3 @@ void ChooseAddTargetDialog::DoDataExchange(CDataExchange* pDX) fpChosenSubdir = pTargetData->pFile; } } - -void ChooseAddTargetDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_CHOOSE_TARGET, HELP_CONTEXT); -} diff --git a/app/ChooseAddTargetDialog.h b/app/ChooseAddTargetDialog.h index 4ff49fc..c82e2f6 100644 --- a/app/ChooseAddTargetDialog.h +++ b/app/ChooseAddTargetDialog.h @@ -43,7 +43,9 @@ private: virtual void DoDataExchange(CDataExchange* pDX) override; - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_CHOOSE_TARGET); + } DiskFSTree fDiskFSTree; diff --git a/app/ChooseDirDialog.cpp b/app/ChooseDirDialog.cpp index 4cd1616..d81c4c9 100644 --- a/app/ChooseDirDialog.cpp +++ b/app/ChooseDirDialog.cpp @@ -7,7 +7,6 @@ #include "ChooseDirDialog.h" #include "NewFolderDialog.h" #include "DiskFSTree.h" -#include "HelpTopics.h" BEGIN_MESSAGE_MAP(ChooseDirDialog, CDialog) ON_NOTIFY(TVN_SELCHANGED, IDC_CHOOSEDIR_TREE, OnSelChanged) @@ -71,18 +70,6 @@ BOOL ChooseDirDialog::PreTranslateMessage(MSG* pMsg) return CDialog::PreTranslateMessage(pMsg); } -BOOL ChooseDirDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - DWORD context = lpHelpInfo->iCtrlId; - WinHelp(context, HELP_CONTEXTPOPUP); - return TRUE; // indicate success?? -} - -void ChooseDirDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_CHOOSE_FOLDER, HELP_CONTEXT); -} - void ChooseDirDialog::OnSelChanged(NMHDR* pnmh, LRESULT* pResult) { CString path; diff --git a/app/ChooseDirDialog.h b/app/ChooseDirDialog.h index 351397a..dbdbbe4 100644 --- a/app/ChooseDirDialog.h +++ b/app/ChooseDirDialog.h @@ -16,6 +16,8 @@ * Choose a directory. This is distinctly different from what the standard * "Open" and "Save As" dialogs do, because those want to choose normal files * only, while this wants to select a folder. + * + * TODO: Vista-style dialogs support folder selection. */ class ChooseDirDialog : public CDialog { public: @@ -43,10 +45,6 @@ protected: */ afx_msg void OnSelChanged(NMHDR* pnmh, LRESULT* pResult); - // F1 key hit, or '?' button in title bar used to select help for an - // item in the dialog. For ON_WM_HELPINFO. - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); - // User pressed "Expand Tree" button. afx_msg void OnExpandTree(void); @@ -54,7 +52,15 @@ protected: afx_msg void OnNewFolder(void); // User pressed "Help" button. - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_CHOOSE_FOLDER); + } + + // F1 key hit, or '?' button in title bar used to select help for an + // item in the dialog. For ON_WM_HELPINFO. + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } private: CString fPathName; diff --git a/app/ConfirmOverwriteDialog.cpp b/app/ConfirmOverwriteDialog.cpp index 3426b2a..f557742 100644 --- a/app/ConfirmOverwriteDialog.cpp +++ b/app/ConfirmOverwriteDialog.cpp @@ -50,12 +50,6 @@ void RenameOverwriteDialog::DoDataExchange(CDataExchange* pDX) } } -BOOL RenameOverwriteDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - /* * ========================================================================== @@ -105,12 +99,6 @@ BOOL ConfirmOverwriteDialog::OnInitDialog(void) return CDialog::OnInitDialog(); } -BOOL ConfirmOverwriteDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - void ConfirmOverwriteDialog::OnYes(void) { fResultOverwrite = true; diff --git a/app/ConfirmOverwriteDialog.h b/app/ConfirmOverwriteDialog.h index 949f861..4c079b0 100644 --- a/app/ConfirmOverwriteDialog.h +++ b/app/ConfirmOverwriteDialog.h @@ -54,7 +54,9 @@ private: afx_msg void OnRename(void); // Handle a click on the question-mark button. - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } DECLARE_MESSAGE_MAP() }; @@ -87,7 +89,9 @@ private: virtual BOOL OnInitDialog(void) override; virtual void DoDataExchange(CDataExchange* pDX) override; - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } DECLARE_MESSAGE_MAP() }; diff --git a/app/ConvDiskOptionsDialog.cpp b/app/ConvDiskOptionsDialog.cpp index 0ebda51..39e9e0c 100644 --- a/app/ConvDiskOptionsDialog.cpp +++ b/app/ConvDiskOptionsDialog.cpp @@ -14,7 +14,6 @@ BEGIN_MESSAGE_MAP(ConvDiskOptionsDialog, CDialog) ON_WM_HELPINFO() - //ON_COMMAND(IDHELP, OnHelp) ON_BN_CLICKED(IDC_CONVDISK_COMPUTE, OnCompute) ON_BN_CLICKED(IDC_USE_SELECTED, ResetSizeControls) ON_BN_CLICKED(IDC_USE_ALL, ResetSizeControls) diff --git a/app/CreateImageDialog.cpp b/app/CreateImageDialog.cpp index 3c869fb..83e857e 100644 --- a/app/CreateImageDialog.cpp +++ b/app/CreateImageDialog.cpp @@ -9,7 +9,6 @@ #include "stdafx.h" #include "CreateImageDialog.h" #include "NewDiskSize.h" -#include "HelpTopics.h" #include "../diskimg/DiskImgDetail.h" // need ProDOS filename validator BEGIN_MESSAGE_MAP(CreateImageDialog, CDialog) @@ -295,14 +294,3 @@ bool CreateImageDialog::IsValidVolumeName_HFS(const WCHAR* name) CStringA nameStr(name); return DiskImgLib::DiskFSHFS::IsValidVolumeName(nameStr); } - -BOOL CreateImageDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -void CreateImageDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_IMAGE_CREATOR, HELP_CONTEXT); -} diff --git a/app/CreateImageDialog.h b/app/CreateImageDialog.h index f49c248..c65c012 100644 --- a/app/CreateImageDialog.h +++ b/app/CreateImageDialog.h @@ -70,10 +70,14 @@ private: afx_msg void OnSizeChangeRange(UINT nID); // Context help (question mark). - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } // Dialog help ("help" button). - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_IMAGE_CREATOR); + } bool IsValidVolumeName_DOS(const WCHAR* name); bool IsValidVolumeName_ProDOS(const WCHAR* name); diff --git a/app/CreateSubdirDialog.cpp b/app/CreateSubdirDialog.cpp index 2d1cd17..71dd77b 100644 --- a/app/CreateSubdirDialog.cpp +++ b/app/CreateSubdirDialog.cpp @@ -62,9 +62,3 @@ fail: pDX->Fail(); return; } - -BOOL CreateSubdirDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} diff --git a/app/CreateSubdirDialog.h b/app/CreateSubdirDialog.h index 7c37527..64c60bd 100644 --- a/app/CreateSubdirDialog.h +++ b/app/CreateSubdirDialog.h @@ -36,7 +36,9 @@ protected: virtual void DoDataExchange(CDataExchange* pDX) override; // Context help request (question mark button). - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } private: diff --git a/app/DEFileDialog.cpp b/app/DEFileDialog.cpp index 5720f64..4b42bf6 100644 --- a/app/DEFileDialog.cpp +++ b/app/DEFileDialog.cpp @@ -43,9 +43,3 @@ void DEFileDialog::OnChange(void) ASSERT(pWnd != NULL); pWnd->EnableWindow(!str.IsEmpty()); } - -BOOL DEFileDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} diff --git a/app/DEFileDialog.h b/app/DEFileDialog.h index 4c93d6f..f307bb5 100644 --- a/app/DEFileDialog.h +++ b/app/DEFileDialog.h @@ -21,6 +21,7 @@ #include "resource.h" #include "../diskimg/DiskImg.h" + using namespace DiskImgLib; @@ -61,7 +62,9 @@ protected: */ afx_msg virtual void OnChange(void); - afx_msg virtual BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } private: DiskFS* fpDiskFS; diff --git a/app/DiskEditDialog.cpp b/app/DiskEditDialog.cpp index af11822..ff51416 100644 --- a/app/DiskEditDialog.cpp +++ b/app/DiskEditDialog.cpp @@ -21,7 +21,6 @@ #include "stdafx.h" #include "SubVolumeDialog.h" #include "DEFileDialog.h" -#include "HelpTopics.h" #include "DiskEditDialog.h" @@ -231,34 +230,6 @@ BOOL DiskEditDialog::PreTranslateMessage(MSG* pMsg) return CDialog::PreTranslateMessage(pMsg); } -BOOL DiskEditDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - LOGI("HELP: size=%d contextType=%d ctrlID=0x%x contextID=0x%08lx", - lpHelpInfo->cbSize, lpHelpInfo->iContextType, lpHelpInfo->iCtrlId, - lpHelpInfo->dwContextId); - - DWORD context = lpHelpInfo->iCtrlId; - - /* map all of the track/sector selection stuff to one item */ - if (context == IDC_DISKEDIT_TRACK || - context == IDC_DISKEDIT_TRACKSPIN || - context == IDC_STEXT_TRACK || - context == IDC_DISKEDIT_SECTOR || - context == IDC_DISKEDIT_SECTORSPIN || - context == IDC_STEXT_SECTOR) - { - context = IDC_DISKEDIT_TRACK; - } - - WinHelp(context, HELP_CONTEXTPOPUP); - return TRUE; // indicate success?? -} - -void DiskEditDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_DISKEDIT, HELP_CONTEXT); -} - void DiskEditDialog::OnDone(void) { LOGI("DiskEditDialog OnDone"); diff --git a/app/DiskEditDialog.h b/app/DiskEditDialog.h index 30af791..0e00f74 100644 --- a/app/DiskEditDialog.h +++ b/app/DiskEditDialog.h @@ -115,8 +115,12 @@ protected: */ afx_msg virtual void OnNibbleParms(void); - afx_msg virtual void OnHelp(void); - afx_msg virtual BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_DISKEDIT); + } + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } /* * Change the mode of a spin button. The Windows control doesn't diff --git a/app/DiskFSTree.cpp b/app/DiskFSTree.cpp index 58eb187..70835c2 100644 --- a/app/DiskFSTree.cpp +++ b/app/DiskFSTree.cpp @@ -6,7 +6,6 @@ #include "StdAfx.h" #include "DiskFSTree.h" #include "ChooseAddTargetDialog.h" -#include "HelpTopics.h" using namespace DiskImgLib; diff --git a/app/EOLScanDialog.cpp b/app/EOLScanDialog.cpp index 08e87ae..3cba9c2 100644 --- a/app/EOLScanDialog.cpp +++ b/app/EOLScanDialog.cpp @@ -11,7 +11,6 @@ */ #include "StdAfx.h" #include "EOLScanDialog.h" -#include "HelpTopics.h" BEGIN_MESSAGE_MAP(EOLScanDialog, CDialog) ON_COMMAND(IDHELP, OnHelp) @@ -44,8 +43,3 @@ BOOL EOLScanDialog::OnInitDialog(void) return CDialog::OnInitDialog(); } - -void EOLScanDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_EOL_SCAN, HELP_CONTEXT); -} diff --git a/app/EOLScanDialog.h b/app/EOLScanDialog.h index 4392420..8484287 100644 --- a/app/EOLScanDialog.h +++ b/app/EOLScanDialog.h @@ -30,7 +30,9 @@ public: private: BOOL OnInitDialog(void) override; - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_EOL_SCAN); + } DECLARE_MESSAGE_MAP() }; diff --git a/app/EditAssocDialog.cpp b/app/EditAssocDialog.cpp index 4783879..daee456 100644 --- a/app/EditAssocDialog.cpp +++ b/app/EditAssocDialog.cpp @@ -7,7 +7,6 @@ #include "EditAssocDialog.h" #include "MyApp.h" #include "Registry.h" -#include "HelpTopics.h" BEGIN_MESSAGE_MAP(EditAssocDialog, CDialog) ON_WM_HELPINFO() @@ -119,13 +118,3 @@ void EditAssocDialog::DoDataExchange(CDataExchange* pDX) } } } - -BOOL EditAssocDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - return ShowContextHelp(this, lpHelpInfo); -} - -void EditAssocDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_EDIT_ASSOC, HELP_CONTEXT); -} diff --git a/app/EditAssocDialog.h b/app/EditAssocDialog.h index 73177d2..51b7ae4 100644 --- a/app/EditAssocDialog.h +++ b/app/EditAssocDialog.h @@ -33,8 +33,12 @@ protected: virtual BOOL OnInitDialog(void) override; void DoDataExchange(CDataExchange* pDX) override; - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); - afx_msg void OnHelp(void); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_EDIT_ASSOC); + } /* * Load the list view control. diff --git a/app/EditCommentDialog.cpp b/app/EditCommentDialog.cpp index 8d0c62a..8bd6bbb 100644 --- a/app/EditCommentDialog.cpp +++ b/app/EditCommentDialog.cpp @@ -8,7 +8,6 @@ */ #include "stdafx.h" #include "EditCommentDialog.h" -#include "HelpTopics.h" BEGIN_MESSAGE_MAP(EditCommentDialog, CDialog) ON_BN_CLICKED(IDC_COMMENT_DELETE, OnDelete) @@ -48,14 +47,3 @@ void EditCommentDialog::OnDelete(void) EndDialog(kDeleteCommentID); } - -BOOL EditCommentDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -void EditCommentDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_EDIT_COMMENT, HELP_CONTEXT); -} diff --git a/app/EditCommentDialog.h b/app/EditCommentDialog.h index 9a8aab3..00efb4d 100644 --- a/app/EditCommentDialog.h +++ b/app/EditCommentDialog.h @@ -34,8 +34,12 @@ protected: virtual BOOL OnInitDialog(void) override; virtual void DoDataExchange(CDataExchange* pDX) override; - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); - afx_msg void OnHelp(void); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_EDIT_COMMENT); + } /* * User wants to delete the comment. Verify first. diff --git a/app/EditPropsDialog.cpp b/app/EditPropsDialog.cpp index 1d8efea..2ab5b4a 100644 --- a/app/EditPropsDialog.cpp +++ b/app/EditPropsDialog.cpp @@ -6,7 +6,6 @@ #include "StdAfx.h" #include "EditPropsDialog.h" #include "FileNameConv.h" -#include "HelpTopics.h" using namespace DiskImgLib; @@ -460,14 +459,3 @@ long EditPropsDialog::GetAuxType(void) } return val; } - -BOOL EditPropsDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -void EditPropsDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_EDIT_PROPS, HELP_CONTEXT); -} diff --git a/app/EditPropsDialog.h b/app/EditPropsDialog.h index 44ccc53..6055525 100644 --- a/app/EditPropsDialog.h +++ b/app/EditPropsDialog.h @@ -68,8 +68,13 @@ private: * Called when something is typed in one of the HFS type boxes. */ afx_msg void OnHFSTypeChange(void); - afx_msg void OnHelp(void); - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_EDIT_PROPS); + } + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } /* * For "simple" access formats, i.e. DOS 3.2/3.3, the "write" button acts diff --git a/app/ExtractOptionsDialog.cpp b/app/ExtractOptionsDialog.cpp index 5d81921..f00e5df 100644 --- a/app/ExtractOptionsDialog.cpp +++ b/app/ExtractOptionsDialog.cpp @@ -5,7 +5,6 @@ */ #include "stdafx.h" #include "ExtractOptionsDialog.h" -#include "HelpTopics.h" #include "ChooseDirDialog.h" BEGIN_MESSAGE_MAP(ExtractOptionsDialog, CDialog) @@ -163,14 +162,3 @@ void ExtractOptionsDialog::OnChooseFolder(void) pEditWnd->SetWindowText(ccp); } } - -BOOL ExtractOptionsDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -void ExtractOptionsDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_EXT_OPTIONS, HELP_CONTEXT); -} diff --git a/app/ExtractOptionsDialog.h b/app/ExtractOptionsDialog.h index 40bca26..2425479 100644 --- a/app/ExtractOptionsDialog.h +++ b/app/ExtractOptionsDialog.h @@ -11,6 +11,7 @@ #include "../util/UtilLib.h" #include "resource.h" +#include "HelpTopics.h" /* * Our somewhat complicated extraction options dialog. @@ -93,10 +94,14 @@ private: afx_msg void OnChooseFolder(void); // Context help request (question mark button). - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } // User pressed the "Help" button. - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_EXT_OPTIONS); + } MyBitmapButton fChooseFolderButton; int fSelectedCount; diff --git a/app/ImageFormatDialog.cpp b/app/ImageFormatDialog.cpp index ec66d01..a2fcc2a 100644 --- a/app/ImageFormatDialog.cpp +++ b/app/ImageFormatDialog.cpp @@ -5,7 +5,6 @@ */ #include "stdafx.h" #include "ImageFormatDialog.h" -#include "HelpTopics.h" #include "../diskimg/DiskImg.h" @@ -303,14 +302,3 @@ void ImageFormatDialog::OnOK(void) CDialog::OnOK(); } - -BOOL ImageFormatDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp(lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // indicate success?? -} - -void ImageFormatDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_DISK_IMAGES, HELP_CONTEXT); -} diff --git a/app/ImageFormatDialog.h b/app/ImageFormatDialog.h index 317a648..71283c5 100644 --- a/app/ImageFormatDialog.h +++ b/app/ImageFormatDialog.h @@ -66,8 +66,12 @@ protected: */ void OnOK(void) override; - afx_msg virtual void OnHelp(void); - afx_msg virtual BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_DISK_IMAGES); + } + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } struct ConvTable; diff --git a/app/Main.cpp b/app/Main.cpp index fc36875..8407549 100644 --- a/app/Main.cpp +++ b/app/Main.cpp @@ -19,7 +19,6 @@ #include "EnterRegDialog.h" #include "OpenVolumeDialog.h" #include "Print.h" -#include "HelpTopics.h" #include "../util/UtilLib.h" #include "resource.h" @@ -182,8 +181,6 @@ BEGIN_MESSAGE_MAP(MainWindow, CFrameWnd) ON_COMMAND( IDM_HELP_ABOUT, OnHelpAbout) // ON_COMMAND( IDM_RTCLK_DEFAULT, OnRtClkDefault) - /* this is required to allow "Help" button to work in PropertySheets (!) */ -// ON_COMMAND(ID_HELP, OnHelp) ON_COMMAND(ID_HELP_FINDER, CFrameWnd::OnHelpFinder) ON_COMMAND(ID_HELP, CFrameWnd::OnHelp) ON_COMMAND(ID_CONTEXT_HELP, CFrameWnd::OnContextHelp) @@ -253,9 +250,10 @@ MainWindow::~MainWindow() //LOGI("MainWindow destructor"); CloseArchiveWOControls(); - int cc; - cc = ::WinHelp(m_hWnd, ::AfxGetApp()->m_pszHelpFilePath, HELP_QUIT, 0); - LOGI("Turning off WinHelp returned %d", cc); + //int cc; + //cc = ::WinHelp(m_hWnd, ::AfxGetApp()->m_pszHelpFilePath, HELP_QUIT, 0); + //LOGI("Turning off WinHelp returned %d", cc); + ::HtmlHelp(NULL, NULL, HH_CLOSE_ALL, 0); // free stuff used by print dialog ::GlobalFree(fhDevMode); @@ -723,27 +721,11 @@ void MainWindow::OnSetFocus(CWnd* /*pOldWnd*/) BOOL MainWindow::OnHelpInfo(HELPINFO* /*lpHelpInfo*/) { - WinHelp(HELP_TOPIC_WELCOME, HELP_CONTEXT); + LOGD("MainWindow::OnHelpInfo"); + MyApp::HandleHelp(this, HELP_TOPIC_WELCOME); return TRUE; } -#if 0 -/* - * Catch-all Help handler, necessary to allow CPropertySheet to display a - * "Help" button. (WTF?) - */ -LONG MainWindow::OnHelp(UINT wParam, LONG lParam) -{ - HELPINFO* lpHelpInfo = (HELPINFO*) lParam; - - DWORD context = lpHelpInfo->iCtrlId; - LOGI("MainWindow OnHelp (context=%d)", context); - WinHelp(context, HELP_CONTEXTPOPUP); - - return TRUE; // yes, we handled it -} -#endif - void MainWindow::OnEditPreferences(void) { // Handle Edit->Preferences by popping up a property sheet. @@ -1042,7 +1024,8 @@ void MainWindow::OnUpdateEditSort(CCmdUI* pCmdUI) void MainWindow::OnHelpContents(void) { - WinHelp(0, HELP_FINDER); + MyApp::HandleHelp(this, HELP_TOPIC_WELCOME); + //WinHelp(0, HELP_FINDER); } void MainWindow::OnHelpWebSite(void) @@ -1068,7 +1051,9 @@ void MainWindow::OnHelpWebSite(void) void MainWindow::OnHelpOrdering(void) { // How to order... ka-ching! - WinHelp(HELP_TOPIC_ORDERING_INFO, HELP_CONTEXT); + // TODO: no longer used? + LOGW("OnHelpOrdering -- not implemented"); + //WinHelp(HELP_TOPIC_ORDERING_INFO, HELP_CONTEXT); } void MainWindow::OnHelpAbout(void) diff --git a/app/MyApp.cpp b/app/MyApp.cpp index 876d433..e7b4fc3 100644 --- a/app/MyApp.cpp +++ b/app/MyApp.cpp @@ -231,15 +231,15 @@ BOOL MyApp::OnIdle(LONG lCount) IDC_DISKEDIT_DOREAD, IDH_DISKEDIT_DOREAD, IDC_DISKEDIT_DOWRITE, IDH_DISKEDIT_DOWRITE, IDC_DISKEDIT_TRACK, IDH_DISKEDIT_TRACK, - IDC_DISKEDIT_TRACKSPIN, IDH_DISKEDIT_TRACKSPIN, - IDC_DISKEDIT_SECTOR, IDH_DISKEDIT_SECTOR, - IDC_DISKEDIT_SECTORSPIN, IDH_DISKEDIT_SECTORSPIN, + IDC_DISKEDIT_TRACKSPIN, IDH_DISKEDIT_TRACK, // remapped + IDC_DISKEDIT_SECTOR, IDH_DISKEDIT_TRACK, // remapped + IDC_DISKEDIT_SECTORSPIN, IDH_DISKEDIT_TRACK, // remapped IDC_DISKEDIT_OPENFILE, IDH_DISKEDIT_OPENFILE, IDC_DISKEDIT_EDIT, IDH_DISKEDIT_EDIT, IDC_DISKEDIT_PREV, IDH_DISKEDIT_PREV, IDC_DISKEDIT_NEXT, IDH_DISKEDIT_NEXT, - IDC_STEXT_SECTOR, IDH_STEXT_SECTOR, - IDC_STEXT_TRACK, IDH_STEXT_TRACK, + IDC_STEXT_SECTOR, IDH_DISKEDIT_TRACK, // remapped + IDC_STEXT_TRACK, IDH_DISKEDIT_TRACK, // remapped IDC_DISKEDIT_DONE, IDH_DISKEDIT_DONE, IDC_DISKEDIT_HEX, IDH_DISKEDIT_HEX, IDC_DISKEDIT_SUBVOLUME, IDH_DISKEDIT_SUBVOLUME, @@ -523,8 +523,11 @@ BOOL MyApp::OnIdle(LONG lCount) /*static*/ void MyApp::HandleHelp(CWnd* pWnd, DWORD topicId) { + // The CWnd#HtmlHelp() function is insisting on using the top-level + // parent, but if we do that with the Add Files custom file dialog + // then the help window pops up behind the app rather than in front. CWnd* pParent = pWnd->GetTopLevelParent(); - LOGD("HandleHelp ID=%lu parent=%p", topicId, pParent); - ::HtmlHelp(pParent->m_hWnd, gMyApp.m_pszHelpFilePath, + LOGD("HandleHelp ID=%lu pWnd=%p parent=%p", topicId, pWnd, pParent); + ::HtmlHelp(pWnd->m_hWnd, gMyApp.m_pszHelpFilePath, HH_HELP_CONTEXT, topicId); } diff --git a/app/NewFolderDialog.cpp b/app/NewFolderDialog.cpp index bcb2deb..5e8602e 100644 --- a/app/NewFolderDialog.cpp +++ b/app/NewFolderDialog.cpp @@ -66,9 +66,3 @@ void NewFolderDialog::DoDataExchange(CDataExchange* pDX) } } } - -BOOL NewFolderDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} diff --git a/app/NewFolderDialog.h b/app/NewFolderDialog.h index 7987b9d..c5575bd 100644 --- a/app/NewFolderDialog.h +++ b/app/NewFolderDialog.h @@ -40,7 +40,9 @@ public: protected: void DoDataExchange(CDataExchange* pDX) override; - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } // on exit, set to "true" if we created the folder in "fNewFolder" bool fFolderCreated; diff --git a/app/OpenVolumeDialog.cpp b/app/OpenVolumeDialog.cpp index 06cca0a..d29973b 100644 --- a/app/OpenVolumeDialog.cpp +++ b/app/OpenVolumeDialog.cpp @@ -8,7 +8,6 @@ */ #include "stdafx.h" #include "OpenVolumeDialog.h" -#include "HelpTopics.h" #include "Main.h" #include "../diskimg/Win32Extra.h" // need disk geometry calls #include "../diskimg/ASPI.h" @@ -667,11 +666,6 @@ void OpenVolumeDialog::OnOK(void) } } -void OpenVolumeDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_OPEN_VOLUME, HELP_CONTEXT); -} - void OpenVolumeDialog::ForceReadOnly(bool readOnly) const { CButton* pButton = (CButton*) GetDlgItem(IDC_OPENVOL_READONLY); diff --git a/app/OpenVolumeDialog.h b/app/OpenVolumeDialog.h index 9a13d47..e99f190 100644 --- a/app/OpenVolumeDialog.h +++ b/app/OpenVolumeDialog.h @@ -47,7 +47,10 @@ protected: */ afx_msg void OnVolumeFilterSelChange(void); - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_OPEN_VOLUME); + } + afx_msg void OnListDblClick(NMHDR* pNotifyStruct, LRESULT* pResult); // 0 is default; numbers must match up with pop-up menu order diff --git a/app/PrefsDialog.cpp b/app/PrefsDialog.cpp index fc25b4d..db4377b 100644 --- a/app/PrefsDialog.cpp +++ b/app/PrefsDialog.cpp @@ -9,7 +9,6 @@ #include "EditAssocDialog.h" #include "Main.h" #include "NufxArchive.h" -#include "HelpTopics.h" #include "resource.h" #include // need WM_COMMANDHELP @@ -31,7 +30,7 @@ BEGIN_MESSAGE_MAP(PrefsGeneralPage, CPropertyPage) ON_BN_CLICKED(IDC_PREF_SUCCESS_BEEP, OnChange) ON_BN_CLICKED(IDC_COL_DEFAULTS, OnDefaults) ON_BN_CLICKED(IDC_PREF_ASSOCIATIONS, OnAssociations) - ON_MESSAGE(WM_HELP, OnHelp) + ON_MESSAGE(WM_HELP, OnHelpInfo) ON_MESSAGE(WM_COMMANDHELP, OnCommandHelp) END_MESSAGE_MAP() @@ -125,18 +124,6 @@ void PrefsGeneralPage::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_PREF_SUCCESS_BEEP, fBeepOnSuccess); } -LONG PrefsGeneralPage::OnHelp(UINT wParam, LONG lParam) -{ - WinHelp((DWORD) ((HELPINFO*) lParam)->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -LONG PrefsGeneralPage::OnCommandHelp(UINT, LONG) -{ - WinHelp(HELP_TOPIC_PREFS_GENERAL, HELP_CONTEXT); - return 0; // doesn't matter -} - /* * =========================================================================== @@ -150,7 +137,7 @@ BEGIN_MESSAGE_MAP(PrefsDiskImagePage, CPropertyPage) ON_BN_CLICKED(IDC_PDISK_OPENVOL_PHYS0, OnChange) ON_BN_CLICKED(IDC_PDISK_PRODOS_ALLOWLOWER, OnChange) ON_BN_CLICKED(IDC_PDISK_PRODOS_USESPARSE, OnChange) - ON_MESSAGE(WM_HELP, OnHelp) + ON_MESSAGE(WM_HELP, OnHelpInfo) ON_MESSAGE(WM_COMMANDHELP, OnCommandHelp) END_MESSAGE_MAP() @@ -183,18 +170,6 @@ void PrefsDiskImagePage::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_PDISK_PRODOS_USESPARSE, fProDOSUseSparse); } -LONG PrefsDiskImagePage::OnHelp(UINT wParam, LONG lParam) -{ - WinHelp((DWORD) ((HELPINFO*) lParam)->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -LONG PrefsDiskImagePage::OnCommandHelp(UINT, LONG) -{ - WinHelp(HELP_TOPIC_PREFS_DISK_IMAGE, HELP_CONTEXT); - return 0; // doesn't matter -} - /* * =========================================================================== @@ -204,7 +179,7 @@ LONG PrefsDiskImagePage::OnCommandHelp(UINT, LONG) BEGIN_MESSAGE_MAP(PrefsCompressionPage, CPropertyPage) ON_CONTROL_RANGE(BN_CLICKED, IDC_DEFC_UNCOMPRESSED, IDC_DEFC_BZIP2, OnChangeRange) - ON_MESSAGE(WM_HELP, OnHelp) + ON_MESSAGE(WM_HELP, OnHelpInfo) ON_MESSAGE(WM_COMMANDHELP, OnCommandHelp) END_MESSAGE_MAP() @@ -280,18 +255,6 @@ void PrefsCompressionPage::DoDataExchange(CDataExchange* pDX) DDX_Radio(pDX, IDC_DEFC_UNCOMPRESSED, fCompressType); } -LONG PrefsCompressionPage::OnHelp(UINT wParam, LONG lParam) -{ - WinHelp((DWORD) ((HELPINFO*) lParam)->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -LONG PrefsCompressionPage::OnCommandHelp(UINT, LONG) -{ - WinHelp(HELP_TOPIC_PREFS_COMPRESSION, HELP_CONTEXT); - return 0; // doesn't matter -} - /* * =========================================================================== @@ -304,7 +267,7 @@ BEGIN_MESSAGE_MAP(PrefsFviewPage, CPropertyPage) ON_CONTROL_RANGE(BN_CLICKED, IDC_PVIEW_HITEXT, IDC_PVIEW_TEXT8, OnChangeRange) ON_EN_CHANGE(IDC_PVIEW_SIZE_EDIT, OnChange) ON_CBN_SELCHANGE(IDC_PVIEW_DHR_CONV_COMBO, OnChange) - ON_MESSAGE(WM_HELP, OnHelp) + ON_MESSAGE(WM_HELP, OnHelpInfo) ON_MESSAGE(WM_COMMANDHELP, OnCommandHelp) END_MESSAGE_MAP() @@ -377,18 +340,6 @@ void PrefsFviewPage::DoDataExchange(CDataExchange* pDX) DDV_MinMaxUInt(pDX, fMaxViewFileSizeKB, 1, 32767); } -LONG PrefsFviewPage::OnHelp(UINT wParam, LONG lParam) -{ - WinHelp((DWORD) ((HELPINFO*) lParam)->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -LONG PrefsFviewPage::OnCommandHelp(UINT, LONG) -{ - WinHelp(HELP_TOPIC_PREFS_FVIEW, HELP_CONTEXT); - return 0; // doesn't matter -} - /* * =========================================================================== @@ -400,7 +351,7 @@ BEGIN_MESSAGE_MAP(PrefsFilesPage, CPropertyPage) ON_EN_CHANGE(IDC_PREF_TEMP_FOLDER, OnChange) ON_EN_CHANGE(IDC_PREF_EXTVIEWER_EXTS, OnChange) ON_BN_CLICKED(IDC_PREF_CHOOSE_TEMP_FOLDER, OnChooseFolder) - ON_MESSAGE(WM_HELP, OnHelp) + ON_MESSAGE(WM_HELP, OnHelpInfo) ON_MESSAGE(WM_COMMANDHELP, OnCommandHelp) END_MESSAGE_MAP() @@ -465,18 +416,6 @@ void PrefsFilesPage::OnChooseFolder(void) } } -LONG PrefsFilesPage::OnHelp(UINT wParam, LONG lParam) -{ - WinHelp((DWORD) ((HELPINFO*) lParam)->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -LONG PrefsFilesPage::OnCommandHelp(UINT, LONG) -{ - WinHelp(HELP_TOPIC_PREFS_FILES, HELP_CONTEXT); - return 0; // doesn't matter -} - /* * =========================================================================== @@ -488,7 +427,7 @@ BEGIN_MESSAGE_MAP(PrefsSheet, CPropertySheet) ON_WM_NCCREATE() ON_BN_CLICKED(ID_APPLY_NOW, OnApplyNow) ON_COMMAND(ID_HELP, OnIDHelp) - ON_MESSAGE(WM_HELP, OnHelp) + ON_MESSAGE(WM_HELP, OnHelpInfo) END_MESSAGE_MAP() PrefsSheet::PrefsSheet(CWnd* pParentWnd) : @@ -564,14 +503,3 @@ void PrefsSheet::OnIDHelp(void) LOGD("PrefsSheet OnIDHelp"); SendMessage(WM_COMMANDHELP); } - -LONG PrefsSheet::OnHelp(UINT wParam, LONG lParam) -{ - HELPINFO* lpHelpInfo = (HELPINFO*) lParam; - - LOGD("PrefsSheet OnHelp"); - DWORD context = lpHelpInfo->iCtrlId; - WinHelp(context, HELP_CONTEXTPOPUP); - - return TRUE; // yes, we handled it -} diff --git a/app/PrefsDialog.h b/app/PrefsDialog.h index d245619..da55413 100644 --- a/app/PrefsDialog.h +++ b/app/PrefsDialog.h @@ -12,6 +12,7 @@ #include "Preferences.h" #include "../util/UtilLib.h" #include "resource.h" +#include "HelpTopics.h" /* * The "general" page, which controls how we display information to the user. @@ -57,8 +58,13 @@ protected: afx_msg void OnChangeRange(UINT); afx_msg void OnDefaults(void); afx_msg void OnAssociations(void); - afx_msg LONG OnHelp(UINT wParam, LONG lParam); - afx_msg LONG OnCommandHelp(UINT wParam, LONG lParam); + afx_msg LONG OnHelpInfo(UINT wParam, LONG lParam) { + return MyApp::HandleHelpInfo((HELPINFO*) lParam); + } + afx_msg LONG OnCommandHelp(UINT wParam, LONG lParam) { + MyApp::HandleHelp(this, HELP_TOPIC_PREFS_GENERAL); + return TRUE; + } DECLARE_MESSAGE_MAP() }; @@ -92,8 +98,13 @@ protected: afx_msg void OnChange(void); //afx_msg void OnChangeRange(UINT); - afx_msg LONG OnHelp(UINT wParam, LONG lParam); - afx_msg LONG OnCommandHelp(UINT wParam, LONG lParam); + afx_msg LONG OnHelpInfo(UINT wParam, LONG lParam) { + return MyApp::HandleHelpInfo((HELPINFO*) lParam); + } + afx_msg LONG OnCommandHelp(UINT wParam, LONG lParam) { + MyApp::HandleHelp(this, HELP_TOPIC_PREFS_DISK_IMAGE); + return TRUE; + } DECLARE_MESSAGE_MAP() }; @@ -122,8 +133,13 @@ protected: virtual void DoDataExchange(CDataExchange* pDX) override; afx_msg void OnChangeRange(UINT); - afx_msg LONG OnHelp(UINT wParam, LONG lParam); - afx_msg LONG OnCommandHelp(UINT wParam, LONG lParam); + afx_msg LONG OnHelpInfo(UINT wParam, LONG lParam) { + return MyApp::HandleHelpInfo((HELPINFO*) lParam); + } + afx_msg LONG OnCommandHelp(UINT wParam, LONG lParam) { + MyApp::HandleHelp(this, HELP_TOPIC_PREFS_COMPRESSION); + return TRUE; + } private: /* @@ -185,8 +201,13 @@ protected: afx_msg void OnChange(void); afx_msg void OnChangeRange(UINT); - afx_msg LONG OnHelp(UINT wParam, LONG lParam); - afx_msg LONG OnCommandHelp(UINT wParam, LONG lParam); + afx_msg LONG OnHelpInfo(UINT wParam, LONG lParam) { + return MyApp::HandleHelpInfo((HELPINFO*) lParam); + } + afx_msg LONG OnCommandHelp(UINT wParam, LONG lParam) { + MyApp::HandleHelp(this, HELP_TOPIC_PREFS_FVIEW); + return TRUE; + } DECLARE_MESSAGE_MAP() }; @@ -213,8 +234,13 @@ protected: afx_msg void OnChange(void); afx_msg void OnChooseFolder(void); - afx_msg LONG OnHelp(UINT wParam, LONG lParam); - afx_msg LONG OnCommandHelp(UINT wParam, LONG lParam); + afx_msg LONG OnHelpInfo(UINT wParam, LONG lParam) { + return MyApp::HandleHelpInfo((HELPINFO*) lParam); + } + afx_msg LONG OnCommandHelp(UINT wParam, LONG lParam) { + MyApp::HandleHelp(this, HELP_TOPIC_PREFS_FILES); + return TRUE; + } MyBitmapButton fChooseFolderButton; @@ -271,13 +297,15 @@ protected: * it to the active PropertyPage. Each page must handle WM_COMMANDHELP by * opening an appropriate chapter in the help file. */ - afx_msg LONG OnHelp(UINT wParam, LONG lParam); + afx_msg void OnIDHelp(void); /* * Context help request (question mark button) on something outside of the * property page, most likely the Apply or Cancel button. */ - afx_msg void OnIDHelp(void); + afx_msg LONG OnHelpInfo(UINT wParam, LONG lParam) { + return MyApp::HandleHelpInfo((HELPINFO*) lParam); + } DECLARE_MESSAGE_MAP() }; diff --git a/app/RecompressOptionsDialog.cpp b/app/RecompressOptionsDialog.cpp index c43f1b4..97949de 100644 --- a/app/RecompressOptionsDialog.cpp +++ b/app/RecompressOptionsDialog.cpp @@ -6,7 +6,6 @@ #include "stdafx.h" #include "RecompressOptionsDialog.h" #include "NufxArchive.h" -#include "HelpTopics.h" //BEGIN_MESSAGE_MAP(UseSelectionDialog, CDialog) // ON_WM_HELPINFO() diff --git a/app/RenameEntryDialog.cpp b/app/RenameEntryDialog.cpp index 5970401..b4476d1 100644 --- a/app/RenameEntryDialog.cpp +++ b/app/RenameEntryDialog.cpp @@ -5,7 +5,6 @@ */ #include "stdafx.h" #include "RenameEntryDialog.h" -#include "HelpTopics.h" BEGIN_MESSAGE_MAP(RenameEntryDialog, CDialog) ON_WM_HELPINFO() @@ -101,14 +100,3 @@ void RenameEntryDialog::OnSkip(void) */ EndDialog(IDIGNORE); } - -BOOL RenameEntryDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -void RenameEntryDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_RENAME_ENTRY, HELP_CONTEXT); -} diff --git a/app/RenameEntryDialog.h b/app/RenameEntryDialog.h index 0b84d4d..3e9c337 100644 --- a/app/RenameEntryDialog.h +++ b/app/RenameEntryDialog.h @@ -53,8 +53,12 @@ protected: virtual void DoDataExchange(CDataExchange* pDX) override; afx_msg void OnSkip(void); - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); - afx_msg void OnHelp(void); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_RENAME_ENTRY); + } private: //CString fOldPath; // pathname component, or empty if canRenFull diff --git a/app/RenameVolumeDialog.cpp b/app/RenameVolumeDialog.cpp index 458d409..14164dc 100644 --- a/app/RenameVolumeDialog.cpp +++ b/app/RenameVolumeDialog.cpp @@ -7,7 +7,6 @@ #include "RenameVolumeDialog.h" #include "DiskFSTree.h" #include "DiskArchive.h" -#include "HelpTopics.h" BEGIN_MESSAGE_MAP(RenameVolumeDialog, CDialog) ON_NOTIFY(TVN_SELCHANGED, IDC_RENAMEVOL_TREE, OnSelChanged) @@ -135,14 +134,3 @@ void RenameVolumeDialog::OnSelChanged(NMHDR* pnmh, LRESULT* pResult) *pResult = 0; } - -BOOL RenameVolumeDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -void RenameVolumeDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_RENAME_VOLUME, HELP_CONTEXT); -} diff --git a/app/RenameVolumeDialog.h b/app/RenameVolumeDialog.h index 02af4bb..ff06360 100644 --- a/app/RenameVolumeDialog.h +++ b/app/RenameVolumeDialog.h @@ -48,8 +48,12 @@ protected: */ afx_msg void OnSelChanged(NMHDR* pnmh, LRESULT* pResult); - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); - afx_msg void OnHelp(void); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_RENAME_VOLUME); + } DiskFSTree fDiskFSTree; diff --git a/app/TwoImgPropsDialog.cpp b/app/TwoImgPropsDialog.cpp index 2735d66..db20cbf 100644 --- a/app/TwoImgPropsDialog.cpp +++ b/app/TwoImgPropsDialog.cpp @@ -153,9 +153,3 @@ void TwoImgPropsDialog::OnChange(void) checked = pButton->GetCheck(); GetDlgItem(IDC_TWOIMG_DOSVOLNUM)->EnableWindow(checked == BST_CHECKED); } - -BOOL TwoImgPropsDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} diff --git a/app/TwoImgPropsDialog.h b/app/TwoImgPropsDialog.h index bc2c5a3..29960a6 100644 --- a/app/TwoImgPropsDialog.h +++ b/app/TwoImgPropsDialog.h @@ -36,7 +36,9 @@ protected: virtual BOOL OnInitDialog(void) override; virtual void DoDataExchange(CDataExchange* pDX) override; - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } /* * If they changed anything, enable the "save" button. diff --git a/app/UseSelectionDialog.cpp b/app/UseSelectionDialog.cpp index 8f0a2cf..2038ff2 100644 --- a/app/UseSelectionDialog.cpp +++ b/app/UseSelectionDialog.cpp @@ -5,7 +5,6 @@ */ #include "stdafx.h" #include "UseSelectionDialog.h" -#include "HelpTopics.h" BEGIN_MESSAGE_MAP(UseSelectionDialog, CDialog) ON_WM_HELPINFO() @@ -59,9 +58,3 @@ void UseSelectionDialog::DoDataExchange(CDataExchange* pDX) { DDX_Radio(pDX, IDC_USE_SELECTED, fFilesToAction); } - -BOOL UseSelectionDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} diff --git a/app/UseSelectionDialog.h b/app/UseSelectionDialog.h index 2e7bade..f13c9c1 100644 --- a/app/UseSelectionDialog.h +++ b/app/UseSelectionDialog.h @@ -42,8 +42,9 @@ protected: virtual BOOL OnInitDialog(void) override; virtual void DoDataExchange(CDataExchange* pDX) override; - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); - //afx_msg void OnHelp(void); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } private: int fSelectedCount; diff --git a/app/ViewFilesDialog.cpp b/app/ViewFilesDialog.cpp index 4dc9d26..b5f063c 100644 --- a/app/ViewFilesDialog.cpp +++ b/app/ViewFilesDialog.cpp @@ -10,7 +10,6 @@ #include "ViewFilesDialog.h" #include "Main.h" #include "Print.h" -#include "HelpTopics.h" #include "../util/UtilLib.h" @@ -1257,8 +1256,3 @@ void ViewFilesDialog::FindNext(const WCHAR* str, bool down, bool matchCase, pMain->FailureBeep(); } } - -void ViewFilesDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_FILE_VIEWER, HELP_CONTEXT); -} diff --git a/app/ViewFilesDialog.h b/app/ViewFilesDialog.h index cf7419e..2a51a09 100644 --- a/app/ViewFilesDialog.h +++ b/app/ViewFilesDialog.h @@ -106,7 +106,9 @@ protected: afx_msg void OnFviewFmtHex(void); afx_msg void OnFviewFmtRaw(void); afx_msg void OnFormatSelChange(void); - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_FILE_VIEWER); + } //afx_msg void OnFviewWrap(void); afx_msg LRESULT OnFindDialogMessage(WPARAM wParam, LPARAM lParam); diff --git a/app/VolumeCopyDialog.cpp b/app/VolumeCopyDialog.cpp index 3acbddd..1a850d4 100644 --- a/app/VolumeCopyDialog.cpp +++ b/app/VolumeCopyDialog.cpp @@ -13,7 +13,6 @@ */ #include "stdafx.h" #include "VolumeCopyDialog.h" -#include "HelpTopics.h" #include "Main.h" @@ -381,11 +380,6 @@ bool VolumeCopyDialog::GetSelectedDisk(DiskImg** ppDiskImg, DiskFS** ppDiskFS) return true; } -void VolumeCopyDialog::OnHelp(void) -{ - WinHelp(HELP_TOPIC_VOLUME_COPIER, HELP_CONTEXT); -} - void VolumeCopyDialog::OnCopyToFile(void) { VolumeXferProgressDialog* pProgressDialog = NULL; diff --git a/app/VolumeCopyDialog.h b/app/VolumeCopyDialog.h index d99e13c..8734071 100644 --- a/app/VolumeCopyDialog.h +++ b/app/VolumeCopyDialog.h @@ -59,7 +59,9 @@ protected: */ afx_msg void OnCopyFromFile(void); - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + MyApp::HandleHelp(this, HELP_TOPIC_VOLUME_COPIER); + } /* * When the focus changes, e.g. after dialog construction completes, see if diff --git a/util/SelectFilesDialog.cpp b/util/SelectFilesDialog.cpp index 5022224..6d64d98 100644 --- a/util/SelectFilesDialog.cpp +++ b/util/SelectFilesDialog.cpp @@ -159,6 +159,7 @@ BOOL SelectFilesDialog::OnFileNameOK() } } else if (LOWORD(wParam) == pshHelp) { pSFD->HandleHelp(); + return 0; // default handler will post "unable to open help" } } } diff --git a/util/Util.cpp b/util/Util.cpp index e7d5913..932d66d 100644 --- a/util/Util.cpp +++ b/util/Util.cpp @@ -394,12 +394,6 @@ void ShowFailureMsg(CWnd* pWnd, const CString& msg, int titleStrID) pWnd->MessageBox(msg, failed, MB_OK | MB_ICONERROR); } -BOOL ShowContextHelp(CWnd* pWnd, HELPINFO* lpHelpInfo) -{ - pWnd->WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; -} - bool IsWin9x(void) { OSVERSIONINFO osvers; diff --git a/util/Util.h b/util/Util.h index 7adbb5d..850da45 100644 --- a/util/Util.h +++ b/util/Util.h @@ -181,11 +181,6 @@ void GetWin32ErrorString(DWORD err, CString* pStr); */ void ShowFailureMsg(CWnd* pWnd, const CString& msg, int titleStrID); -/* - * Show context help, based on the control ID. - */ -BOOL ShowContextHelp(CWnd* pWnd, HELPINFO* lpHelpInfo); - /* * Returns "true" if we're running on Win9x (Win95, Win98, WinME), "false" * if not (could be WinNT/2K/XP or even Win31 with Win32s).