Skip to content

Commit cdfc1a3

Browse files
committed
Added warning dialog box if attempt to get help under Windows 10+
1 parent b5fdc19 commit cdfc1a3

File tree

12 files changed

+52
-14
lines changed

12 files changed

+52
-14
lines changed

MUSHclient.cpp

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -883,8 +883,8 @@ OSVERSIONINFO VersionInformation;
883883

884884
pMainFrame->SendMessage (WM_COMMAND, ID_WORLDS_WORLD1, 0);
885885

886-
if (firsttime && !bWine)
887-
App.WinHelp(ID_GETTING_STARTED + HID_BASE_COMMAND);
886+
if (firsttime && !bWine && HelpAvailable (false))
887+
App.HelpHelper(ID_GETTING_STARTED + HID_BASE_COMMAND);
888888

889889
App.ShowTipAtStartup();
890890

@@ -1300,7 +1300,7 @@ void CMUSHclientApp::OnFileNew()
13001300

13011301
void CMUSHclientApp::OnHelpGettingstarted()
13021302
{
1303-
App.WinHelp(ID_GETTING_STARTED + HID_BASE_COMMAND);
1303+
App.HelpHelper(ID_GETTING_STARTED + HID_BASE_COMMAND);
13041304
}
13051305

13061306
bool GetSelection (CEdit * pEdit, CString & strSelection)
@@ -2194,3 +2194,36 @@ void CMUSHclientApp::WorkOutFixedFont ()
21942194

21952195

21962196
} // end of CMUSHclientApp::WorkOutFixedFont
2197+
2198+
2199+
// Winhelp not available in Windows 10, nor any alternative
2200+
bool CMUSHclientApp::HelpAvailable (bool showWarning)
2201+
{
2202+
if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT && os_version.dwMajorVersion >= 10)
2203+
{
2204+
if (showWarning)
2205+
TMessageBox("Supplied help file is not compatible with Windows 10 and above.\r\n\r\n"
2206+
"Suggest you install the plugin \"MUSHclient_Help\" for browsing the help file, "
2207+
"and then type \"mchelp <subject>\"."
2208+
"\r\n\r\nOr, view the online help at: http://mushclient.com/scripts/doc.php", MB_ICONINFORMATION);
2209+
return false;
2210+
}
2211+
2212+
2213+
return true;
2214+
}
2215+
2216+
// show help if we can
2217+
void CMUSHclientApp::HelpHelper (DWORD dwData, UINT nCmd)
2218+
{
2219+
2220+
if (!HelpAvailable (true))
2221+
return;
2222+
2223+
// show help normally
2224+
if (dwData == 0)
2225+
OnHelp ();
2226+
else
2227+
App.WinHelp (dwData, nCmd);
2228+
2229+
} // end of CMUSHclientApp::HelpHelper

MUSHclient.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,9 @@ class CMUSHclientApp : public CWinApp
288288

289289
void WorkOutFixedFont ();
290290

291+
bool HelpAvailable (bool showWarning); // can we show help or not?
292+
void HelpHelper( DWORD dwData, UINT nCmd = HELP_CONTEXT );
293+
291294
/*
292295
virtual void OnFinalRelease()
293296
{

dialogs/cmdhist.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ void CCmdHistory::OnDblclkCommands()
120120
void CCmdHistory::OnHelpbutton()
121121
{
122122
// OnCmdMsg(ID_HELP, CN_COMMAND, NULL, NULL);
123-
App.WinHelp(m_nIDHelp + HID_BASE_RESOURCE);
123+
App.HelpHelper(m_nIDHelp + HID_BASE_RESOURCE);
124124
}
125125

126126
void CCmdHistory::OnFind()

dialogs/logdlg.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,6 @@ END_MESSAGE_MAP()
7171
void CLogDlg::OnHelpbutton()
7272
{
7373
// OnCmdMsg(ID_HELP, CN_COMMAND, NULL, NULL);
74-
App.WinHelp(m_nIDHelp + HID_BASE_COMMAND);
74+
App.HelpHelper(m_nIDHelp + HID_BASE_COMMAND);
7575

7676
}

dialogs/password.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,5 @@ END_MESSAGE_MAP()
6262
void CPasswordDialog::OnHelpbutton()
6363
{
6464
// OnCmdMsg(ID_HELP, CN_COMMAND, NULL, NULL);
65-
App.WinHelp(m_nIDHelp + HID_BASE_RESOURCE);
65+
App.HelpHelper(m_nIDHelp + HID_BASE_RESOURCE);
6666
}

dialogs/world_prefs/EditVariable.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ END_MESSAGE_MAP()
8484
void CEditVariable::OnHelpbutton()
8585
{
8686
// OnCmdMsg(ID_HELP, CN_COMMAND, NULL, NULL);
87-
App.WinHelp(m_nIDHelp + HID_BASE_RESOURCE);
87+
App.HelpHelper(m_nIDHelp + HID_BASE_RESOURCE);
8888

8989
}
9090

dialogs/world_prefs/TimerDlg.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ void CTimerDlg::OnButtonEvery()
306306
void CTimerDlg::OnHelpbutton()
307307
{
308308
// OnCmdMsg(ID_HELP, CN_COMMAND, NULL, NULL);
309-
App.WinHelp(m_nIDHelp + HID_BASE_RESOURCE);
309+
App.HelpHelper(m_nIDHelp + HID_BASE_RESOURCE);
310310
}
311311

312312
BOOL CTimerDlg::OnInitDialog()

dialogs/world_prefs/aliasdlg.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ END_MESSAGE_MAP()
350350
void CAliasDlg::OnHelpbutton()
351351
{
352352
// OnCmdMsg(ID_HELP, CN_COMMAND, NULL, NULL);
353-
App.WinHelp(m_nIDHelp + HID_BASE_RESOURCE);
353+
App.HelpHelper(m_nIDHelp + HID_BASE_RESOURCE);
354354
}
355355

356356

dialogs/world_prefs/editmac.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ END_MESSAGE_MAP()
5454
void CEditMacro::OnHelpbutton()
5555
{
5656
// OnCmdMsg(ID_HELP, CN_COMMAND, NULL, NULL);
57-
App.WinHelp(m_nIDHelp + HID_BASE_RESOURCE);
57+
App.HelpHelper(m_nIDHelp + HID_BASE_RESOURCE);
5858
}
5959

6060
void CEditMacro::OnEdit()

dialogs/world_prefs/triggdlg.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ void CTriggerDlg::OnTestSound()
453453
void CTriggerDlg::OnHelpbutton()
454454
{
455455
// OnCmdMsg(ID_HELP, CN_COMMAND, NULL, NULL);
456-
App.WinHelp(m_nIDHelp + HID_BASE_RESOURCE);
456+
App.HelpHelper(m_nIDHelp + HID_BASE_RESOURCE);
457457
}
458458

459459

0 commit comments

Comments
 (0)