mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-05 23:27:40 +00:00
Add rtl property to keyboard info in package.json
This commit is contained in:
parent
48697c63a7
commit
784cb53b1e
4 changed files with 60 additions and 19 deletions
|
|
@ -181,7 +181,7 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
Top = 0
|
||||
Width = 681
|
||||
Height = 447
|
||||
ActivePage = pageDetails
|
||||
ActivePage = pageKeyboards
|
||||
Align = alClient
|
||||
Images = modActionsMain.ilEditorPages
|
||||
MultiLine = True
|
||||
|
|
@ -387,7 +387,7 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
end
|
||||
object lblKeyboardFiles: TLabel
|
||||
Left = 15
|
||||
Top = 365
|
||||
Top = 341
|
||||
Width = 26
|
||||
Height = 13
|
||||
Anchors = [akLeft, akBottom]
|
||||
|
|
@ -395,7 +395,7 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
end
|
||||
object lblKeyboardDescription: TLabel
|
||||
Left = 15
|
||||
Top = 338
|
||||
Top = 314
|
||||
Width = 62
|
||||
Height = 13
|
||||
Anchors = [akLeft, akBottom]
|
||||
|
|
@ -403,7 +403,7 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
end
|
||||
object lblKeyboardVersion: TLabel
|
||||
Left = 15
|
||||
Top = 417
|
||||
Top = 393
|
||||
Width = 41
|
||||
Height = 13
|
||||
Anchors = [akLeft, akBottom]
|
||||
|
|
@ -430,20 +430,28 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
Height = 13
|
||||
Caption = 'Languages'
|
||||
end
|
||||
object lblKeyboardRTL: TLabel
|
||||
Left = 15
|
||||
Top = 420
|
||||
Width = 75
|
||||
Height = 13
|
||||
Anchors = [akLeft, akBottom]
|
||||
Caption = 'Is right-to-left:'
|
||||
end
|
||||
object lbKeyboards: TListBox
|
||||
Left = 15
|
||||
Top = 72
|
||||
Width = 229
|
||||
Height = 249
|
||||
Height = 233
|
||||
Anchors = [akLeft, akTop, akBottom]
|
||||
ItemHeight = 13
|
||||
TabOrder = 0
|
||||
OnClick = lbKeyboardsClick
|
||||
end
|
||||
object editKeyboardDescription: TEdit
|
||||
Left = 87
|
||||
Top = 335
|
||||
Width = 157
|
||||
Left = 96
|
||||
Top = 311
|
||||
Width = 148
|
||||
Height = 21
|
||||
TabStop = False
|
||||
Anchors = [akLeft, akBottom]
|
||||
|
|
@ -452,9 +460,9 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
TabOrder = 1
|
||||
end
|
||||
object memoKeyboardFiles: TMemo
|
||||
Left = 87
|
||||
Top = 362
|
||||
Width = 157
|
||||
Left = 96
|
||||
Top = 338
|
||||
Width = 148
|
||||
Height = 46
|
||||
TabStop = False
|
||||
Anchors = [akLeft, akBottom]
|
||||
|
|
@ -463,9 +471,9 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
TabOrder = 2
|
||||
end
|
||||
object editKeyboardVersion: TEdit
|
||||
Left = 87
|
||||
Top = 414
|
||||
Width = 157
|
||||
Left = 96
|
||||
Top = 390
|
||||
Width = 148
|
||||
Height = 21
|
||||
TabStop = False
|
||||
Anchors = [akLeft, akBottom]
|
||||
|
|
@ -479,7 +487,7 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
Width = 230
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
TabOrder = 4
|
||||
TabOrder = 5
|
||||
OnClick = cbKeyboardOSKFontClick
|
||||
end
|
||||
object cbKeyboardDisplayFont: TComboBox
|
||||
|
|
@ -488,7 +496,7 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
Width = 230
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
TabOrder = 5
|
||||
TabOrder = 6
|
||||
OnClick = cbKeyboardDisplayFontClick
|
||||
end
|
||||
object gridKeyboardLanguages: TStringGrid
|
||||
|
|
@ -502,7 +510,7 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
FixedCols = 0
|
||||
RowCount = 9
|
||||
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goColSizing, goEditing, goTabs]
|
||||
TabOrder = 6
|
||||
TabOrder = 7
|
||||
OnClick = gridKeyboardLanguagesClick
|
||||
OnSetEditText = gridKeyboardLanguagesSetEditText
|
||||
ColWidths = (
|
||||
|
|
@ -516,7 +524,7 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
Height = 25
|
||||
Anchors = [akLeft, akBottom]
|
||||
Caption = '&Add...'
|
||||
TabOrder = 7
|
||||
TabOrder = 8
|
||||
OnClick = cmdKeyboardAddLanguageClick
|
||||
end
|
||||
object cmdKeyboardRemoveLanguage: TButton
|
||||
|
|
@ -526,9 +534,20 @@ inherited frmPackageEditor: TfrmPackageEditor
|
|||
Height = 25
|
||||
Anchors = [akLeft, akBottom]
|
||||
Caption = '&Remove'
|
||||
TabOrder = 8
|
||||
TabOrder = 9
|
||||
OnClick = cmdKeyboardRemoveLanguageClick
|
||||
end
|
||||
object editKeyboardRTL: TEdit
|
||||
Left = 96
|
||||
Top = 417
|
||||
Width = 148
|
||||
Height = 21
|
||||
TabStop = False
|
||||
Anchors = [akLeft, akBottom]
|
||||
ParentColor = True
|
||||
ReadOnly = True
|
||||
TabOrder = 4
|
||||
end
|
||||
end
|
||||
end
|
||||
object pageDetails: TTabSheet
|
||||
|
|
|
|||
|
|
@ -167,6 +167,8 @@ type
|
|||
cmdKeyboardAddLanguage: TButton;
|
||||
cmdKeyboardRemoveLanguage: TButton;
|
||||
chkFollowKeyboardVersion: TCheckBox;
|
||||
lblKeyboardRTL: TLabel;
|
||||
editKeyboardRTL: TEdit;
|
||||
procedure cmdCloseClick(Sender: TObject);
|
||||
procedure cmdAddFileClick(Sender: TObject);
|
||||
procedure cmdRemoveFileClick(Sender: TObject);
|
||||
|
|
@ -1323,6 +1325,7 @@ begin
|
|||
editKeyboardDescription.Text := '';
|
||||
editKeyboardVersion.Text := '';
|
||||
memoKeyboardFiles.Text := '';
|
||||
editKeyboardRTL.Text := '';
|
||||
cbKeyboardOSKFont.ItemIndex := -1;
|
||||
cbKeyboardDisplayFont.ItemIndex := -1;
|
||||
gridKeyboardLanguages.RowCount := 1;
|
||||
|
|
@ -1336,6 +1339,10 @@ begin
|
|||
editKeyboardDescription.Text := k.Name;
|
||||
editKeyboardVersion.Text := k.Version;
|
||||
|
||||
if k.RTL
|
||||
then editKeyboardRTL.Text := 'True'
|
||||
else editKeyboardRTL.Text := 'False (or not .js format)';
|
||||
|
||||
for i := 0 to pack.Files.Count - 1 do
|
||||
if SameText(TKeyboardUtils.KeyboardFileNameToID(pack.Files[i].FileName), k.ID) then
|
||||
begin
|
||||
|
|
|
|||
|
|
@ -288,6 +288,7 @@ type
|
|||
FName: string;
|
||||
FOSKFont: TPackageContentFile;
|
||||
FID: string;
|
||||
FRTL: Boolean;
|
||||
FDisplayFont: TPackageContentFile;
|
||||
FLanguages: TPackageKeyboardLanguageList;
|
||||
FVersion: string;
|
||||
|
|
@ -303,6 +304,7 @@ type
|
|||
procedure Assign(Source: TPackageKeyboard); virtual;
|
||||
property Name: string read FName write FName;
|
||||
property ID: string read FID write FID;
|
||||
property RTL: Boolean read FRTL write FRTL;
|
||||
property Version: string read FVersion write FVersion;
|
||||
property Languages: TPackageKeyboardLanguageList read FLanguages;
|
||||
property OSKFont: TPackageContentFile read FOSKFont write SetOSKFont;
|
||||
|
|
@ -404,6 +406,7 @@ const
|
|||
SXML_PackageKeyboard_Name = 'Name';
|
||||
SXML_PackageKeyboard_ID = 'ID';
|
||||
SXML_PackageKeyboard_Version = 'Version';
|
||||
SXML_PackageKeyboard_RTL = 'RTL';
|
||||
SXML_PackageKeyboard_OSKFont = 'OSKFont';
|
||||
SXML_PackageKeyboard_DisplayFont = 'DisplayFont';
|
||||
SXML_PackageKeyboard_Languages = 'Languages';
|
||||
|
|
@ -460,6 +463,7 @@ const
|
|||
SJSON_Keyboards = 'keyboards';
|
||||
SJSON_Keyboard_Name = 'name';
|
||||
SJSON_Keyboard_ID = 'id';
|
||||
SJSON_Keyboard_RTL = 'rtl';
|
||||
SJSON_Keyboard_Version = 'version';
|
||||
SJSON_Keyboard_OSKFont = 'oskFont';
|
||||
SJSON_Keyboard_DisplayFont = 'displayFont';
|
||||
|
|
@ -1726,6 +1730,7 @@ begin
|
|||
FName := Source.Name;
|
||||
FID := Source.ID;
|
||||
FVersion := Source.Version;
|
||||
FRTL := Source.RTL;
|
||||
if Assigned(Source.OSKFont)
|
||||
then FOSKFont := Package.Files.FromFileNameEx(Source.OSKFont.FileName)
|
||||
else FOSKFont := nil;
|
||||
|
|
@ -1841,6 +1846,7 @@ begin
|
|||
keyboard.Name := AIni.ReadString(FSectionName, SXML_PackageKeyboard_Name, '');
|
||||
keyboard.ID := AIni.ReadString(FSectionName, SXML_PackageKeyboard_ID, '');
|
||||
keyboard.Version := AIni.ReadString(FSectionName, SXML_PackageKeyboard_Version, '1.0');
|
||||
keyboard.RTL := AIni.ReadBool(FSectionName, SXML_PackageKeyboard_RTL, False);
|
||||
keyboard.OSKFont := Package.Files.FromFileNameEx(AIni.ReadString(FSectionName, SXML_PackageKeyboard_OSKFont, ''));
|
||||
keyboard.DisplayFont := Package.Files.FromFileNameEx(AIni.ReadString(FSectionName, SXML_PackageKeyboard_DisplayFont, ''));
|
||||
|
||||
|
|
@ -1884,6 +1890,7 @@ begin
|
|||
keyboard.Name := GetJsonValueString(AKeyboard, SJSON_Keyboard_Name);
|
||||
keyboard.ID := GetJsonValueString(AKeyboard,SJSON_Keyboard_ID);
|
||||
keyboard.Version := GetJsonValueString(AKeyboard, SJSON_Keyboard_Version);
|
||||
keyboard.RTL := GetJsonValueBool(AKeyboard, SJSON_Keyboard_RTL);
|
||||
keyboard.OSKFont := Package.Files.FromFileNameEx(GetJsonValueString(AKeyboard, SJSON_Keyboard_OSKFont));
|
||||
keyboard.DisplayFont := Package.Files.FromFileNameEx(GetJsonValueString(AKeyboard, SJSON_Keyboard_DisplayFont));
|
||||
|
||||
|
|
@ -1923,6 +1930,7 @@ begin
|
|||
keyboard.Name := XmlVarToStr(AKeyboard.ChildValues[SXML_PackageKeyboard_Name]);
|
||||
keyboard.ID := XmlVarToStr(AKeyboard.ChildValues[SXML_PackageKeyboard_ID]);
|
||||
keyboard.Version := XmlVarToStr(AKeyboard.ChildValues[SXML_PackageKeyboard_Version]);
|
||||
keyboard.RTL := ANode.ChildNodes.IndexOf(SXML_PackageKeyboard_RTL) >= 0;
|
||||
keyboard.OSKFont := Package.Files.FromFileNameEx(XmlVarToStr(AKeyboard.ChildValues[SXML_PackageKeyboard_OSKFont]));
|
||||
keyboard.DisplayFont := Package.Files.FromFileNameEx(XmlVarToStr(AKeyboard.ChildValues[SXML_PackageKeyboard_DisplayFont]));
|
||||
|
||||
|
|
@ -1955,6 +1963,7 @@ begin
|
|||
AIni.WriteString(FSectionName, SXML_PackageKeyboard_Name, Items[i].Name);
|
||||
AIni.WriteString(FSectionName, SXML_PackageKeyboard_ID, Items[i].ID);
|
||||
AIni.WriteString(FSectionName, SXML_PackageKeyboard_Version, Items[i].Version);
|
||||
if Items[i].RTL then AIni.WriteBool(FSectionName, SXML_PackageKeyboard_RTL, True);
|
||||
if Assigned(Items[i].OSKFont) then
|
||||
AIni.WriteString(FSectionName, SXML_PackageKeyboard_OSKFont, Items[i].OSKFont.RelativeFileName);
|
||||
if Assigned(Items[i].DisplayFont) then
|
||||
|
|
@ -1987,6 +1996,7 @@ begin
|
|||
AKeyboard.AddPair(SJSON_Keyboard_Name, Items[i].Name);
|
||||
AKeyboard.AddPair(SJSON_Keyboard_ID, Items[i].ID);
|
||||
AKeyboard.AddPair(SJSON_Keyboard_Version, Items[i].Version);
|
||||
if Items[i].RTL then AKeyboard.AddPair(SJSON_Keyboard_RTL, TJSONTrue.Create);
|
||||
if Assigned(Items[i].OSKFont) then
|
||||
AKeyboard.AddPair(SJSON_Keyboard_OSKFont, Items[i].OSKFont.RelativeFileName);
|
||||
if Assigned(Items[i].DisplayFont) then
|
||||
|
|
@ -2018,6 +2028,8 @@ begin
|
|||
AKeyboard.ChildNodes[SXML_PackageKeyboard_Name].NodeValue := Items[i].Name;
|
||||
AKeyboard.ChildNodes[SXML_PackageKeyboard_ID].NodeValue := Items[i].ID;
|
||||
AKeyboard.ChildNodes[SXML_PackageKeyboard_Version].NodeValue := Items[i].Version;
|
||||
if Items[i].RTL then
|
||||
AKeyboard.ChildNodes[SXML_PackageKeyboard_RTL].NodeValue := True;
|
||||
if Assigned(Items[i].OSKFont) then
|
||||
AKeyboard.ChildNodes[SXML_PackageKeyboard_OSKFont].NodeValue := Items[i].OSKFont.RelativeFileName;
|
||||
if Assigned(Items[i].DisplayFont) then
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ type
|
|||
public
|
||||
type TPackageKeyboardInfo = record
|
||||
Name, ID, Version: string;
|
||||
RTL: Boolean;
|
||||
end;
|
||||
|
||||
class function FillKeyboardDetails(f: TPackageContentFile;
|
||||
|
|
@ -114,6 +115,7 @@ begin
|
|||
k.Name := pki.Name;
|
||||
k.ID := pki.ID;
|
||||
k.Version := pki.Version;
|
||||
k.RTL := pki.RTL;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
|
@ -244,6 +246,7 @@ begin
|
|||
try
|
||||
pki.Name := Name;
|
||||
pki.Version := Version;
|
||||
pki.RTL := RTL;
|
||||
finally
|
||||
Free;
|
||||
end;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue