Cfg_2
diff --git a/windows/src/developer/TIKE/dialogs/UfrmAboutTike.dfm b/windows/src/developer/TIKE/dialogs/UfrmAboutTike.dfm
index 003ee12f2b..3210c1e0e3 100644
--- a/windows/src/developer/TIKE/dialogs/UfrmAboutTike.dfm
+++ b/windows/src/developer/TIKE/dialogs/UfrmAboutTike.dfm
@@ -520,10 +520,10 @@ inherited frmAboutTike: TfrmAboutTike
object lblWebsite: TLabel
Left = 125
Top = 135
- Width = 176
+ Width = 128
Height = 13
Cursor = crHandPoint
- Caption = 'http://www.keyman.com/developer/'
+ Caption = '(url for keyman developer)'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
diff --git a/windows/src/developer/TIKE/dialogs/UfrmAboutTike.pas b/windows/src/developer/TIKE/dialogs/UfrmAboutTike.pas
index eef9c7ad46..e0354463ac 100644
--- a/windows/src/developer/TIKE/dialogs/UfrmAboutTike.pas
+++ b/windows/src/developer/TIKE/dialogs/UfrmAboutTike.pas
@@ -79,14 +79,14 @@ procedure TfrmAboutTike.FormCreate(Sender: TObject);
begin
inherited;
Caption := SCaption;
- lblWebsite.Caption := MakeKeymanURL(URLPath_KeymanDeveloperHome);
+ lblWebsite.Caption := MakeKeymanURL(URLPath_KeymanDeveloperHome_Presentation);
lblVersion.Caption := 'Version ' + GetVersionString;
lblCopyright.Caption := GetVersionCopyright;
end;
procedure TfrmAboutTike.lblWebsiteClick(Sender: TObject);
begin
- TUtilExecute.URL(lblWebsite.Caption); // I3349
+ TUtilExecute.URL(MakeKeymanURL(URLPath_KeymanDeveloperHome)); // I3349
end;
function TfrmAboutTike.GetHelpTopic: string;
diff --git a/windows/src/developer/TIKE/project/Keyman.Developer.System.Project.ProjectFile.pas b/windows/src/developer/TIKE/project/Keyman.Developer.System.Project.ProjectFile.pas
index 04e778be0e..df64c061bc 100644
--- a/windows/src/developer/TIKE/project/Keyman.Developer.System.Project.ProjectFile.pas
+++ b/windows/src/developer/TIKE/project/Keyman.Developer.System.Project.ProjectFile.pas
@@ -332,6 +332,7 @@ uses
Keyman.Developer.System.Project.ProjectFileType,
Keyman.Developer.System.Project.ProjectLoader,
Keyman.Developer.System.Project.ProjectSaver,
+ Keyman.Developer.System.Project.UrlRenderer,
RedistFiles,
RegistryKeys,
UMD5Hash,
@@ -882,6 +883,12 @@ begin
end;
end;
+ //
+ // Inject state URLs into the loaded file
+ //
+
+ TProjectUrlRenderer.AddUrls(doc.documentElement);
+
xsl := MSXMLDOMDocumentFactory.CreateDOMDocument;
try
xsl.async := False;
diff --git a/windows/src/developer/TIKE/project/Keyman.Developer.System.Project.UrlRenderer.pas b/windows/src/developer/TIKE/project/Keyman.Developer.System.Project.UrlRenderer.pas
new file mode 100644
index 0000000000..32230c6656
--- /dev/null
+++ b/windows/src/developer/TIKE/project/Keyman.Developer.System.Project.UrlRenderer.pas
@@ -0,0 +1,45 @@
+unit Keyman.Developer.System.Project.UrlRenderer;
+
+interface
+
+uses
+ Winapi.msxml;
+
+type
+ TProjectUrlRenderer = class
+ class procedure AddUrls(root: IXMLDomNode);
+ end;
+
+implementation
+
+uses
+ Upload_Settings;
+
+{ TProjectUrlRenderer }
+
+class procedure TProjectUrlRenderer.AddUrls(root: IXMLDomNode);
+var
+ node: IXMLDomNode;
+
+ procedure AddUrl(const id, href: string);
+ var
+ urlNode: IXMLDOMElement;
+ begin
+ urlNode := root.ownerDocument.createElement('Url');
+ urlNode.setAttribute('id', id);
+ urlNode.setAttribute('href', MakeKeymanURL(href));
+ node.appendChild(urlNode);
+ end;
+begin
+ node := root.ownerDocument.createElement('DeveloperUrls');
+ AddUrl('help-keyboards', URLPath_KeymanDeveloper_HelpKeyboards);
+ AddUrl('help-packages', URLPath_KeymanDeveloper_HelpPackages);
+ AddUrl('help-mobile', URLPath_KeymanDeveloper_HelpMobile);
+ AddUrl('keymanweb', URLPath_KeymanDeveloper_KeymanWeb);
+ AddUrl('keyman-engine-home', URLPath_KeymanDeveloper_KeymanEngineHome);
+ AddUrl('home', URLPath_KeymanDeveloperHome);
+ AddUrl('home-presentation', URLPath_KeymanDeveloperHome_Presentation);
+ root.appendChild(node);
+end;
+
+end.
diff --git a/windows/src/developer/TIKE/project/Keyman.Developer.System.Project.WelcomeRenderer.pas b/windows/src/developer/TIKE/project/Keyman.Developer.System.Project.WelcomeRenderer.pas
index 2404495495..2e6e341ae6 100644
--- a/windows/src/developer/TIKE/project/Keyman.Developer.System.Project.WelcomeRenderer.pas
+++ b/windows/src/developer/TIKE/project/Keyman.Developer.System.Project.WelcomeRenderer.pas
@@ -17,6 +17,7 @@ uses
Xml.Win.msxmldom,
Keyman.Developer.System.Project.ProjectFile,
+ Keyman.Developer.System.Project.UrlRenderer,
RegistryKeys,
VersionInfo,
utilsystem;
@@ -56,6 +57,8 @@ begin
node.appendChild(doc.createTextNode(GetVersionString));
root.appendChild(node);
+ TProjectUrlRenderer.AddUrls(root);
+
xsl := MSXMLDOMDocumentFactory.CreateDOMDocument;
try
xsl.async := False;
diff --git a/windows/src/developer/TIKE/xml/project/distribution.xsl b/windows/src/developer/TIKE/xml/project/distribution.xsl
index 616e9e12eb..6b78ee608f 100644
--- a/windows/src/developer/TIKE/xml/project/distribution.xsl
+++ b/windows/src/developer/TIKE/xml/project/distribution.xsl
@@ -11,11 +11,11 @@
Quick Links
@@ -30,16 +30,16 @@
- Add your keyboard to the Keyman Keyboard Repositories. In order to do this, you must share the source code of your keyboard.
- Recommended option! Learn more
- - Share a package file yourself: just give a .kmp file to any Keyman user, on Windows, macOS, iOS or Android and they can install it. Or put the .kmp file onto a website for users to download.
- Learn more
+ Recommended option! Learn more
+ - Share a package file yourself: just give a .kmp file to any Keyman user, on Windows, macOS, iOS, Android or Linux and they can install it. Or put the .kmp file onto a website for users to download.
+ Learn more
- Sharing package files to mobile devices can be more complex. Learn about specific techniques for distribution to mobile devices.
- Learn more
+ Learn more
- Add your keyboard to a website using KeymanWeb
- Learn more
+ Learn more
- You can also create your own custom keyboarding product based on Keyman: Learn more
+ You can also create your own custom keyboarding product based on Keyman: Learn more
diff --git a/windows/src/developer/TIKE/xml/project/globalwelcome.xsl b/windows/src/developer/TIKE/xml/project/globalwelcome.xsl
index ac22124430..aecd70d90f 100644
--- a/windows/src/developer/TIKE/xml/project/globalwelcome.xsl
+++ b/windows/src/developer/TIKE/xml/project/globalwelcome.xsl
@@ -14,7 +14,7 @@