Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions build/packages/win32-nsis/build-installer.bat
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
@echo off

if exist "opendylan.chm" goto sources
echo opendylan.chm not found
goto end

:SOURCES
if exist "%OPEN_DYLAN_RELEASE_SOURCES%" goto license
echo "cannot find release sources"
Expand Down
13 changes: 0 additions & 13 deletions build/packages/win32-nsis/opendylan.nsi
Original file line number Diff line number Diff line change
Expand Up @@ -169,17 +169,6 @@ Section "${APPNAME} Core" SecOpendylanCore
WriteUninstaller "uninstall.exe"
SectionEnd

Section "Install Documentation" SecDoc
SectionIn 1 2

CreateDirectory "$INSTDIR\Documentation"
SetOutPath "$INSTDIR\Documentation\"
File "opendylan.chm"

WriteRegStr HKLM "${REGISTRY_KEY}\1.0\OnlineHelp" "DocPath" "$INSTDIR\Documentation\opendylan.chm"
WriteRegStr HKLM "${REGISTRY_KEY}\1.0\OnlineHelp" "DocType" "HTMLHelp"
SectionEnd

Section "Associate .ddb files" SecAssocDDB
SectionIn 1 2

Expand Down Expand Up @@ -310,8 +299,6 @@ SectionEnd
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecOpendylanCore} \
"${APPNAME} core files (required)"
!insertmacro MUI_DESCRIPTION_TEXT ${SecDoc} \
"Install the documentation.."
!insertmacro MUI_DESCRIPTION_TEXT ${SecRedistributable} \
"Copy redistributable files to separate folder. It is possible to run make-redistributable.bat later to do this."
!insertmacro MUI_DESCRIPTION_TEXT ${SecModifyPath} \
Expand Down
8 changes: 8 additions & 0 deletions documentation/source/release-notes/2026.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,14 @@ Compiler
IDE has been removed, and the compiler will no longer attempt to
assign a base address automatically when projects are saved.

IDE
===

* The :menuselection:`Help --> Contents and Index` and
:menuselection:`Help --> Help on Selection` menu items now open the
https://opendylan.org web site in the default browser rather than
starting an outdated HTML Help file.

Tools
=====

Expand Down
61 changes: 5 additions & 56 deletions sources/environment/tools/help.dylan
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,8 @@ define method do-execute-command
frame-show-about-box(frame)
end method do-execute-command;

/// NB This filename is agreed with the doc team and will be found in the OS Help directory.
define help-source open-dylan
as(<string>, release-help-location())
release-help-web-address()
end help-source;

define method frame-help-source
Expand Down Expand Up @@ -183,8 +182,6 @@ end method help-credits;

/// Web site command tables

define constant $download-doc-page = release-web-address();

define function frame-open-dylan-web-page
(frame :: <frame>, #key page = release-web-address()) => ()
let location = as(<url>, page);
Expand All @@ -194,66 +191,18 @@ end function frame-open-dylan-web-page;

/// Help command table

define settings <documentation-settings> (<open-dylan-local-settings>)
key-name "OnlineHelp";
slot doctype :: <symbol> = #"None";
slot docpath :: <string> = "";
end settings <documentation-settings>;

define constant $documentation-settings = make(<documentation-settings>);

define function online-doc-installed?
() => (installed? :: <boolean>)
$documentation-settings.doctype == #"HTMLHelp"
end function online-doc-installed?;

define function online-doc-location
() => (location :: false-or(<file-locator>))
let path = $documentation-settings.docpath;
$documentation-settings.doctype ~= #"None"
& path
& ~empty?(path)
& as(<file-locator>, path)
end function online-doc-location;

define sideways method frame-help-contents-and-index
(frame :: <frame>) => ()
do-frame-help(frame, <help-on-topics>)
let location = as(<url>, release-help-web-address());
frame-open-object(frame, location);
end method frame-help-contents-and-index;

define sideways method frame-help-on-keyword
(frame :: <frame>, keyword) => ()
do-frame-help(frame, <help-on-keyword>, keyword: keyword)
let location = as(<url>, release-help-web-address());
frame-open-object(frame, make(<cgi-url>, file: location, cgi-string: keyword));
end method frame-help-on-keyword;

//--- Hack because HTMLHelp doesn't seem to like multiple threads chattering away to it
define method do-frame-help
(frame :: <frame>, class :: subclass(<command>), #rest initargs) => ()
let location = online-doc-location();
case
online-doc-installed?() =>
let primary = environment-primary-frame();
// Make sure the primary frame is in front, to make sure the Help window
// doesn't appear behind other windows because it is owned by the primary frame.
call-in-frame(primary, deiconify-frame, primary);
call-in-frame(primary, raise-frame, primary);
let command = apply(make, class, server: primary, initargs);
call-in-frame(primary, execute-command, command);
location & file-exists?(location) =>
frame-open-object(frame, location);
otherwise =>
if (environment-question
(format-to-string
("%s online documentation is not installed. "
"Download it from the web?",
release-product-name()),
owner: frame,
exit-style: #"yes-no"))
frame-open-dylan-web-page(frame, page: $download-doc-page)
end;
end
end method do-frame-help;

// "Service" function, mainly for use by environment-manager library.
define sideways method show-documentation
(name :: <string>,
Expand Down
7 changes: 0 additions & 7 deletions sources/environment/tools/primary-frame.dylan
Original file line number Diff line number Diff line change
Expand Up @@ -178,13 +178,6 @@ define method make-help-tool-bar-buttons
command: frame-open-playground,
activate-callback: method (sheet)
frame-open-playground(sheet-frame(sheet))
end),
make(<button>,
label: $help-bitmap,
documentation: $help-topics-doc,
command: frame-help-contents-and-index,
activate-callback: method (sheet)
frame-help-contents-and-index(sheet-frame(sheet))
end))
end method make-help-tool-bar-buttons;

Expand Down
14 changes: 7 additions & 7 deletions sources/lib/release-info/common-info.dylan
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ define constant $release-full-copyright =
"\n";

define constant $release-web-address = "https://opendylan.org";
define constant $release-help-web-address
= "https://opendylan.org/open-dylan-ide-help";

define constant $license-agreement-filename = "License.txt";
define constant $help-filename = "opendylan.chm";


/// Release constants
Expand Down Expand Up @@ -69,6 +70,11 @@ define function release-web-address
$release-web-address
end function release-web-address;

define function release-help-web-address
() => (location :: <string>)
$release-help-web-address
end function release-help-web-address;

/// Library pack information

define method library-pack-name (pack :: <integer>) => (name :: <string>)
Expand Down Expand Up @@ -201,9 +207,3 @@ define function release-license-agreement-location
release-file($license-agreement-filename)
end function release-license-agreement-location;

define function release-help-location
() => (location :: <file-locator>)
release-file($help-filename,
directory: release-subdirectory("Documentation/"))
end function release-help-location;

4 changes: 2 additions & 2 deletions sources/lib/release-info/module.dylan
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ define module release-info
release-version,
release-copyright,
release-web-address,
release-help-web-address,
release-full-name,
release-full-copyright;

Expand All @@ -39,8 +40,7 @@ define module release-info
release-library-packs-directory,
release-templates-directory,
release-source-templates-directory,
release-license-agreement-location,
release-help-location;
release-license-agreement-location;

// Information accessors
export info-author,
Expand Down