mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-25 09:07:40 +00:00
Merge pull request #14722 from keymanapp/fix/developer/cherry-pick/14719-transform-slashes-loading-package
fix(developer): transform slashes to backslashes in paths in Package Editor 🍒 🏠
This commit is contained in:
commit
ff9f6b4698
1 changed files with 13 additions and 8 deletions
|
|
@ -635,6 +635,11 @@ begin
|
|||
Result := ReplaceStr(ReplaceStr(Trim(VarToStr(v)), #$D#$A, #$A), #$A, #$D#$A);
|
||||
end;
|
||||
|
||||
function TransformSlashes(filename: string): string;
|
||||
begin
|
||||
Result := ReplaceStr(filename, '/', '\');
|
||||
end;
|
||||
|
||||
{-------------------------------------------------------------------------------
|
||||
- TPackageOptions -
|
||||
------------------------------------------------------------------------------}
|
||||
|
|
@ -697,10 +702,10 @@ procedure TPackageOptions.LoadXML(ARoot: IXMLNode);
|
|||
begin
|
||||
FileVersion := XmlVarToStr(ARoot.ChildNodes['System'].ChildNodes['FileVersion'].NodeValue);
|
||||
ExecuteProgram := XmlVarToStr(ARoot.ChildNodes['Options'].ChildNodes['ExecuteProgram'].NodeValue);
|
||||
ReadmeFile := Package.Files.FromFileName(XmlVarToStr(ARoot.ChildNodes['Options'].ChildNodes['ReadMeFile'].NodeValue));
|
||||
GraphicFile := Package.Files.FromFileName(XmlVarToStr(ARoot.ChildNodes['Options'].ChildNodes['GraphicFile'].NodeValue));
|
||||
LicenseFile := Package.Files.FromFileName(XmlVarToStr(ARoot.ChildNodes['Options'].ChildNodes['LicenseFile'].NodeValue));
|
||||
WelcomeFile := Package.Files.FromFileName(XmlVarToStr(ARoot.ChildNodes['Options'].ChildNodes['WelcomeFile'].NodeValue));
|
||||
ReadmeFile := Package.Files.FromFileName(TransformSlashes(XmlVarToStr(ARoot.ChildNodes['Options'].ChildNodes['ReadMeFile'].NodeValue)));
|
||||
GraphicFile := Package.Files.FromFileName(TransformSlashes(XmlVarToStr(ARoot.ChildNodes['Options'].ChildNodes['GraphicFile'].NodeValue)));
|
||||
LicenseFile := Package.Files.FromFileName(TransformSlashes(XmlVarToStr(ARoot.ChildNodes['Options'].ChildNodes['LicenseFile'].NodeValue)));
|
||||
WelcomeFile := Package.Files.FromFileName(TransformSlashes(XmlVarToStr(ARoot.ChildNodes['Options'].ChildNodes['WelcomeFile'].NodeValue)));
|
||||
if Assigned(ReadmeFile) then ReadmeFile.AddNotifyObject(ReadmeRemoved);
|
||||
if Assigned(GraphicFile) then GraphicFile.AddNotifyObject(GraphicRemoved);
|
||||
if Assigned(LicenseFile) then LicenseFile.AddNotifyObject(LicenseRemoved);
|
||||
|
|
@ -1425,7 +1430,7 @@ begin
|
|||
with ANode.ChildNodes[i] do
|
||||
begin
|
||||
subfile := TPackageContentFile.Create(Package);
|
||||
subfile.FileName := XmlVarToStr(ChildNodes['Name'].NodeValue);
|
||||
subfile.FileName := TransformSlashes(XmlVarToStr(ChildNodes['Name'].NodeValue));
|
||||
subfile.Description := XmlVarToStr(ChildNodes['Description'].NodeValue);
|
||||
subfile.FCopyLocation := TPackageFileCopyLocation(StrToIntDef(XmlVarToStr(ChildNodes['Location'].NodeValue), 0));
|
||||
Add(subfile);
|
||||
|
|
@ -2238,8 +2243,8 @@ begin
|
|||
|
||||
keyboard := TPackageKeyboard.Create(Package);
|
||||
keyboard.ID := XmlVarToStr(AKeyboard.ChildValues[SXML_PackageKeyboard_ID]);
|
||||
keyboard.OSKFont := Package.Files.FromFileNameEx(XmlVarToStr(AKeyboard.ChildValues[SXML_PackageKeyboard_OSKFont]));
|
||||
keyboard.DisplayFont := Package.Files.FromFileNameEx(XmlVarToStr(AKeyboard.ChildValues[SXML_PackageKeyboard_DisplayFont]));
|
||||
keyboard.OSKFont := Package.Files.FromFileNameEx(TransformSlashes(XmlVarToStr(AKeyboard.ChildValues[SXML_PackageKeyboard_OSKFont])));
|
||||
keyboard.DisplayFont := Package.Files.FromFileNameEx(TransformSlashes(XmlVarToStr(AKeyboard.ChildValues[SXML_PackageKeyboard_DisplayFont])));
|
||||
|
||||
keyboard.Languages.LoadXML(AKeyboard);
|
||||
keyboard.Examples.LoadXML(AKeyboard);
|
||||
|
|
@ -2877,7 +2882,7 @@ begin
|
|||
for i := 0 to ARoot.ChildNodes.Count - 1 do
|
||||
begin
|
||||
ANode := ARoot.ChildNodes[i];
|
||||
f := Package.Files.FromFileNameEx(ANode.Attributes[SXML_PackageKeyboardFont_Filename]);
|
||||
f := Package.Files.FromFileNameEx(TransformSlashes(XmlVarToStr(ANode.Attributes[SXML_PackageKeyboardFont_Filename])));
|
||||
if Assigned(f) then
|
||||
Add(f);
|
||||
end;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue