To V 0.1.14.0
Various changes (GetMem) git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5423 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
8cd1f85737
commit
4614117a31
@ -1,6 +1,6 @@
|
||||
[Setup]
|
||||
AppName=External OPM JSON package Editor
|
||||
AppVersion=0.1.13.0
|
||||
AppVersion=0.1.12.0
|
||||
DefaultDirName={pf}\OPMUtilities
|
||||
DefaultGroupName=OPM
|
||||
UninstallDisplayIcon={app}\jsoneditor.exe
|
||||
|
@ -24,7 +24,7 @@
|
||||
<UseVersionInfo Value="True"/>
|
||||
<AutoIncrementBuild Value="True"/>
|
||||
<MinorVersionNr Value="1"/>
|
||||
<RevisionNr Value="13"/>
|
||||
<RevisionNr Value="14"/>
|
||||
<StringTable Comments="Buld configured for Win Linux and Darwin" FileDescription="An editor for OnlinePackageManager update JSON files" InternalName="jsoneditor" LegalCopyright="(c)2016 usernames lainz and minesadorada @ forum.lazarus.freepascal.org" LegalTrademarks="GPL code" OriginalFilename="jsoneditor" ProductName="Lazarus and Freepascal" ProductVersion="1.x and 3.x"/>
|
||||
</VersionInfo>
|
||||
<BuildModes Count="6">
|
||||
@ -130,11 +130,6 @@
|
||||
</Win32>
|
||||
</Options>
|
||||
</Linking>
|
||||
<Other>
|
||||
<OtherDefines Count="1">
|
||||
<Define0 Value="IGNOREPICTURE"/>
|
||||
</OtherDefines>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
</Item4>
|
||||
<Item5 Name="Darwin32">
|
||||
|
@ -20,12 +20,11 @@
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<TopLine Value="371"/>
|
||||
<CursorPos X="5" Y="386"/>
|
||||
<CursorPos X="60" Y="6"/>
|
||||
<UsageCount Value="62"/>
|
||||
<Bookmarks Count="2">
|
||||
<Item0 Y="482" ID="1"/>
|
||||
<Item1 Y="751"/>
|
||||
<Item0 Y="480" ID="1"/>
|
||||
<Item1 Y="749"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
@ -129,123 +128,123 @@
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="214" Column="18" TopLine="174"/>
|
||||
<Caret Line="190" Column="19" TopLine="150"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="397" Column="21" TopLine="357"/>
|
||||
<Caret Line="214" Column="18" TopLine="174"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="403" Column="21" TopLine="363"/>
|
||||
<Caret Line="397" Column="21" TopLine="357"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="464" Column="70" TopLine="424"/>
|
||||
<Caret Line="403" Column="21" TopLine="363"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="486" Column="21" TopLine="446"/>
|
||||
<Caret Line="464" Column="70" TopLine="424"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="598" Column="32" TopLine="558"/>
|
||||
<Caret Line="486" Column="21" TopLine="446"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="600" Column="37" TopLine="560"/>
|
||||
<Caret Line="598" Column="32" TopLine="558"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="601" Column="23" TopLine="561"/>
|
||||
<Caret Line="600" Column="37" TopLine="560"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="620" Column="77" TopLine="580"/>
|
||||
<Caret Line="601" Column="23" TopLine="561"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="623" Column="37" TopLine="583"/>
|
||||
<Caret Line="620" Column="77" TopLine="580"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="624" Column="23" TopLine="585"/>
|
||||
<Caret Line="623" Column="37" TopLine="583"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="628" Column="33" TopLine="589"/>
|
||||
<Caret Line="624" Column="23" TopLine="585"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="629" Column="42" TopLine="590"/>
|
||||
<Caret Line="628" Column="33" TopLine="589"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="631" Column="37" TopLine="592"/>
|
||||
<Caret Line="629" Column="42" TopLine="590"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="632" Column="23" TopLine="593"/>
|
||||
<Caret Line="631" Column="37" TopLine="592"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="636" Column="65" TopLine="597"/>
|
||||
<Caret Line="632" Column="23" TopLine="593"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="638" Column="37" TopLine="599"/>
|
||||
<Caret Line="636" Column="65" TopLine="597"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="639" Column="23" TopLine="600"/>
|
||||
<Caret Line="638" Column="37" TopLine="599"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="710" Column="61" TopLine="670"/>
|
||||
<Caret Line="639" Column="23" TopLine="600"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="397" TopLine="360"/>
|
||||
<Caret Line="710" Column="61" TopLine="670"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="441" Column="5" TopLine="414"/>
|
||||
<Caret Line="397" TopLine="360"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="444" Column="42" TopLine="141"/>
|
||||
<Caret Line="441" Column="5" TopLine="414"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="386" Column="27" TopLine="377"/>
|
||||
<Caret Line="444" Column="42" TopLine="141"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="431" Column="18" TopLine="417"/>
|
||||
<Caret Line="386" Column="27" TopLine="377"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="367" Column="18" TopLine="363"/>
|
||||
<Caret Line="431" Column="18" TopLine="417"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="36" Column="71" TopLine="10"/>
|
||||
<Caret Line="367" Column="18" TopLine="363"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="700" TopLine="682"/>
|
||||
<Caret Line="36" Column="71" TopLine="10"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="31" Column="60" TopLine="13"/>
|
||||
<Caret Line="700" TopLine="682"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="417" Column="45" TopLine="393"/>
|
||||
<Caret Line="31" Column="60" TopLine="13"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="37" Column="66" TopLine="19"/>
|
||||
<Caret Line="417" Column="45" TopLine="393"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
</ProjectSession>
|
||||
|
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
unit umain;
|
||||
{ OnlinePackageManager Update JSON Editor
|
||||
|
||||
Copyright (C)2016 usernames lainz, minesadorada @ http://forum.lazarus.freepascal.org/index.php
|
||||
Copyright (C)2016 usernames lainz, minesadorada, GetMem @ http://forum.lazarus.freepascal.org/index.php
|
||||
|
||||
This source is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free
|
||||
@ -33,8 +33,9 @@ unit umain;
|
||||
Comment out Self.AutoAdjustLayout line in Form.Create (GetMem)
|
||||
Removed StrUtils from uses (minesadorada)
|
||||
Fixed memory leaks with CFG and slErrorList (minesadorada)
|
||||
Moved inline procedure CreateUniqueINI to separate function (minesadorada)
|
||||
Added Const C_DEBUGMESSAGES=TRUE/FALSE (minesadorada)
|
||||
Moved inline procedure CreateUniqueINI to separate function
|
||||
Added Const C_DEBUGMESSAGES=TRUE/FALSE
|
||||
0.1.14.0: Various changes (GetMem)
|
||||
}
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
@ -51,8 +52,7 @@ CONST C_DEBUGMESSAGES=FALSE;
|
||||
|
||||
type
|
||||
|
||||
{ TPackage }
|
||||
|
||||
|
||||
{ TUpdatePackageFiles }
|
||||
|
||||
TUpdatePackageFiles = class(TCollectionItem)
|
||||
@ -81,18 +81,20 @@ type
|
||||
property DownloadZipURL: string read FDownloadZipURL write FDownloadZipURL;
|
||||
end;
|
||||
|
||||
TPackage = class(TPersistent)
|
||||
{ TUpdatePackage }
|
||||
|
||||
TUpdatePackage = class(TPersistent)
|
||||
private
|
||||
FPackage: TUpdatePackageData;
|
||||
FPackageFiles: TPackageFilesList;
|
||||
FUpdatePackageData: TUpdatePackageData;
|
||||
FUpdatePackageFiles: TPackageFilesList;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
function LoadFromFile(AFileName: string): boolean;
|
||||
function SaveToFile(AFileName: string): boolean;
|
||||
published
|
||||
property Package: TUpdatePackageData read FPackage write FPackage;
|
||||
property PackageFiles: TPackageFilesList read FPackageFiles write FPackageFiles;
|
||||
property UpdatePackageData: TUpdatePackageData read FUpdatePackageData write FUpdatePackageData;
|
||||
property UpdatePackageFiles: TPackageFilesList read FUpdatePackageFiles write FUpdatePackageFiles;
|
||||
end;
|
||||
|
||||
{ TfrmMain }
|
||||
@ -149,7 +151,7 @@ type
|
||||
procedure spd_CheckURLClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
JSONPackage: TPackage;
|
||||
JSONPackage: TUpdatePackage;
|
||||
bForceSaveAs, bShowPopupHints, bDisableWarnings, bDirty, bIsVirgin: boolean;
|
||||
sJSONFilePath: string;
|
||||
sUpdateDirectory, sZipDirectory: string;
|
||||
@ -375,16 +377,13 @@ begin
|
||||
begin
|
||||
if MessageDlg(rsFileMayBeUns, mtConfirmation, [mbYes, mbNo], 0, mbNo) = mrNo then
|
||||
CanClose := False;
|
||||
end
|
||||
else
|
||||
begin
|
||||
CFG.WriteBool('Options', 'Virgin', False);
|
||||
CFG.WriteBool('Options', 'DiableWarnings', bDisableWarnings);
|
||||
CFG.UpdateFile;
|
||||
Application.ProcessMessages;
|
||||
CFG.Free;
|
||||
slErrorList.Free;
|
||||
end;
|
||||
CFG.WriteBool('Options', 'Virgin', False);
|
||||
CFG.WriteBool('Options', 'DiableWarnings', bDisableWarnings);
|
||||
CFG.UpdateFile;
|
||||
Application.ProcessMessages;
|
||||
CFG.Free;
|
||||
slErrorList.Free;
|
||||
end;
|
||||
function TfrmMain.CreateUniqueINI(var aCount: integer):Boolean;
|
||||
// Recursively loop until correct INI found, or new one created
|
||||
@ -407,10 +406,8 @@ var
|
||||
sLang: string;
|
||||
iIniCount:Integer;
|
||||
begin
|
||||
{
|
||||
Self.AutoAdjustLayout(lapAutoAdjustForDPI, Self.DesignTimeDPI,
|
||||
Screen.PixelsPerInch, Self.Width, ScaleX(Self.Width, Self.DesignTimeDPI));
|
||||
}
|
||||
// Enable AutoSize again to get correct Height
|
||||
editName.AutoSize := True;
|
||||
editDownloadZipURL.AutoSize := True;
|
||||
@ -480,19 +477,19 @@ begin
|
||||
begin
|
||||
sJSONFilePath := FileOpen1.Dialog.Filename;
|
||||
CFG.WriteString('Options', 'LastLoadedJSONPath', ExtractFileDir(sJSONFilePath));
|
||||
JSONPackage := TPackage.Create;
|
||||
JSONPackage := TUpdatePackage.Create;
|
||||
try
|
||||
if JSONPackage.LoadFromFile(FileOpen1.Dialog.FileName) then
|
||||
begin
|
||||
editName.Text := JSONPackage.Package.Name;
|
||||
editDownloadZipURL.Text := JSONPackage.Package.DownloadZipURL;
|
||||
cbForceUpdate.Checked := JSONPackage.Package.ForceUpdate;
|
||||
editName.Text := JSONPackage.UpdatePackageData.Name;
|
||||
editDownloadZipURL.Text := JSONPackage.UpdatePackageData.DownloadZipURL;
|
||||
cbForceUpdate.Checked := JSONPackage.UpdatePackageData.ForceUpdate;
|
||||
|
||||
stringPackageFiles.RowCount := JSONPackage.PackageFiles.Count + 1;
|
||||
for i := 0 to JSONPackage.PackageFiles.Count - 1 do
|
||||
stringPackageFiles.RowCount := JSONPackage.UpdatePackageFiles.Count + 1;
|
||||
for i := 0 to JSONPackage.UpdatePackageFiles.Count - 1 do
|
||||
begin
|
||||
stringPackageFiles.Cells[0, i + 1] := JSONPackage.PackageFiles.Items[i].Name;
|
||||
stringPackageFiles.Cells[1, i + 1] := JSONPackage.PackageFiles.Items[i].Version;
|
||||
stringPackageFiles.Cells[0, i + 1] := JSONPackage.UpdatePackageFiles.Items[i].Name;
|
||||
stringPackageFiles.Cells[1, i + 1] := JSONPackage.UpdatePackageFiles.Items[i].Version;
|
||||
end;
|
||||
end
|
||||
else
|
||||
@ -727,15 +724,15 @@ begin
|
||||
Exit;
|
||||
end;
|
||||
|
||||
JSONPackage := TPackage.Create;
|
||||
JSONPackage := TUpdatePackage.Create;
|
||||
try
|
||||
JSONPackage.Package.Name := editName.Text;
|
||||
JSONPackage.Package.DownloadZipURL := editDownloadZipURL.Text;
|
||||
JSONPackage.Package.ForceUpdate := cbForceUpdate.Checked;
|
||||
JSONPackage.UpdatePackageData.Name := editName.Text;
|
||||
JSONPackage.UpdatePackageData.DownloadZipURL := editDownloadZipURL.Text;
|
||||
JSONPackage.UpdatePackageData.ForceUpdate := cbForceUpdate.Checked;
|
||||
|
||||
for i := 1 to stringPackageFiles.RowCount - 1 do
|
||||
begin
|
||||
with JSONPackage.PackageFiles.Add do
|
||||
with JSONPackage.UpdatePackageFiles.Add do
|
||||
begin
|
||||
Name := stringPackageFiles.Cells[0, i];
|
||||
Version := stringPackageFiles.Cells[1, i];
|
||||
@ -801,24 +798,24 @@ end;
|
||||
|
||||
{ TPackage }
|
||||
|
||||
constructor TPackage.Create;
|
||||
constructor TUpdatePackage.Create;
|
||||
begin
|
||||
FPackage := TUpdatePackageData.Create;
|
||||
FPackageFiles := TPackageFilesList.Create;
|
||||
FUpdatePackageData := TUpdatePackageData.Create;
|
||||
FUpdatePackageFiles := TPackageFilesList.Create;
|
||||
end;
|
||||
|
||||
destructor TPackage.Destroy;
|
||||
destructor TUpdatePackage.Destroy;
|
||||
var
|
||||
c: TCollectionItem;
|
||||
begin
|
||||
FPackage.Free;
|
||||
for c in FPackageFiles do
|
||||
FUpdatePackageData.Free;
|
||||
for c in FUpdatePackageFiles do
|
||||
c.Free;
|
||||
FPackageFiles.Free;
|
||||
FUpdatePackageFiles.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
function TPackage.LoadFromFile(AFileName: string): boolean;
|
||||
function TUpdatePackage.LoadFromFile(AFileName: string): boolean;
|
||||
var
|
||||
DeStreamer: TJSONDeStreamer;
|
||||
s: TStringList;
|
||||
@ -841,7 +838,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TPackage.SaveToFile(AFileName: string): boolean;
|
||||
function TUpdatePackage.SaveToFile(AFileName: string): boolean;
|
||||
var
|
||||
Streamer: TJSONStreamer;
|
||||
s: TStringList;
|
||||
|
Loading…
Reference in New Issue
Block a user