At 0.1.15.0: BugFix: File/Save didn't add the '.json' suffix in Linux

Addition: After Loading, run validation tests


git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5426 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
gbamber
2016-12-06 09:19:23 +00:00
parent 8b3a1a4d80
commit 7dcd1c3de7
8 changed files with 76 additions and 71 deletions

View File

@ -1,6 +1,6 @@
[Setup]
AppName=External OPM JSON package Editor
AppVersion=0.1.14.0
AppVersion=0.1.15.0
DefaultDirName={pf}\OPMUtilities
DefaultGroupName=OPM
UninstallDisplayIcon={app}\jsoneditor.exe

View File

@ -68,8 +68,6 @@ msgstr ""
"as a JSON update file\n"
#: tfrmmain.editdownloadzipurl.hint
#, fuzzy
msgctxt "tfrmmain.editdownloadzipurl.hint"
msgid ""
"Download URL:\n"
"Include the FULL url needed to download the package Zip file\n"
@ -108,8 +106,6 @@ msgid "Save As"
msgstr "Save As"
#: tfrmmain.lbldownloadzipurl.caption
#, fuzzy
msgctxt "tfrmmain.lbldownloadzipurl.caption"
msgid "Download URL:"
msgstr "Download URL:"
@ -191,13 +187,6 @@ msgid "Attempting to Open URL"
msgstr "Attempting to Open URL"
#: tfrmmain.stringpackagefiles.hint
#, fuzzy
#| msgid ""
#| "Package Files:\n"
#| "[Add]: to make a new entry\n"
#| "[Remove]: Remove last entry\n"
#| "lpk filename: i.e. mycontrol.lpk\n"
#| "Version: The FULL version (i.e. not 1.0 but 1.0.0.0)\n"
msgid ""
"Package Files:\n"
"[Add]: to make a new entry\n"
@ -220,25 +209,21 @@ msgid "Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s - %s platform%s%s
msgstr "Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s - %s platform%s%s"
#: umain.rsdownloadzipurld
#, fuzzy
msgctxt "umain.rsdownloadzipurld"
msgid "- Download URL does not contain the zipfile name"
msgstr "- Download URL does not contain the zipfile name"
#: umain.rsdownloadzipurli
#, fuzzy
msgctxt "umain.rsdownloadzipurli"
msgid "- Download URL is too short or missing"
msgstr "- Download URL is too short or missing"
#: umain.rsdownloadzipurli2
#, fuzzy
msgctxt "umain.rsdownloadzipurli2"
msgid "- Download URL is incomplete"
msgstr "- Download URL is incomplete"
#: umain.rsdownloadzipurls
#, fuzzy
msgctxt "umain.rsdownloadzipurls"
msgid "- Download URL should start with \"http\""
msgstr "- Download URL should start with \"http\""
@ -331,6 +316,10 @@ msgstr "(You can toggle these hints on/off in the Help menu)"
msgid "Update"
msgstr "Update"
#: umain.rsupdatejsonsf
msgid "Update file \"%s\" failed to load correctly."
msgstr "Update file \"%s\" failed to load correctly."
#: umain.rsupdatezipnam
msgid "- Update zip name is too short or missing"
msgstr "- Update zip name is too short or missing"

View File

@ -323,6 +323,10 @@ msgstr "(Puedes cambiar estos consejos en el menú Ayuda)"
msgid "Update"
msgstr "Actualización"
#: umain.rsupdatejsonsf
msgid "Update file \"%s\" failed to load correctly."
msgstr "Error al cargar \"%s\" correctamente el archivo de actualización"
#: umain.rsupdatezipnam
msgid "- Update zip name is too short or missing"
msgstr "- El nombre del zip es muy corto o está vacío"

View File

@ -10,7 +10,7 @@
<IsPartOfProject Value="True"/>
<EditorIndex Value="4"/>
<CursorPos Y="30"/>
<UsageCount Value="62"/>
<UsageCount Value="63"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
@ -20,12 +20,12 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<TopLine Value="466"/>
<CursorPos Y="470"/>
<UsageCount Value="62"/>
<TopLine Value="187"/>
<CursorPos X="37" Y="224"/>
<UsageCount Value="63"/>
<Bookmarks Count="2">
<Item0 Y="488" ID="1"/>
<Item1 Y="757"/>
<Item0 Y="492" ID="1"/>
<Item1 Y="772"/>
</Bookmarks>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
@ -33,7 +33,7 @@
<Unit2>
<Filename Value="ugenericcollection.pas"/>
<IsPartOfProject Value="True"/>
<UsageCount Value="62"/>
<UsageCount Value="63"/>
</Unit2>
<Unit3>
<Filename Value="D:\Lazarusprojects\golfml\egacalculator\source\umainform.pas"/>
@ -129,123 +129,123 @@
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="umain.pas"/>
<Caret Line="403" Column="21" TopLine="363"/>
<Caret Line="486" Column="21" TopLine="446"/>
</Position1>
<Position2>
<Filename Value="umain.pas"/>
<Caret Line="464" Column="70" TopLine="424"/>
<Caret Line="598" Column="32" TopLine="558"/>
</Position2>
<Position3>
<Filename Value="umain.pas"/>
<Caret Line="486" Column="21" TopLine="446"/>
<Caret Line="600" Column="37" TopLine="560"/>
</Position3>
<Position4>
<Filename Value="umain.pas"/>
<Caret Line="598" Column="32" TopLine="558"/>
<Caret Line="601" Column="23" TopLine="561"/>
</Position4>
<Position5>
<Filename Value="umain.pas"/>
<Caret Line="600" Column="37" TopLine="560"/>
<Caret Line="620" Column="77" TopLine="580"/>
</Position5>
<Position6>
<Filename Value="umain.pas"/>
<Caret Line="601" Column="23" TopLine="561"/>
<Caret Line="623" Column="37" TopLine="583"/>
</Position6>
<Position7>
<Filename Value="umain.pas"/>
<Caret Line="620" Column="77" TopLine="580"/>
<Caret Line="624" Column="23" TopLine="585"/>
</Position7>
<Position8>
<Filename Value="umain.pas"/>
<Caret Line="623" Column="37" TopLine="583"/>
<Caret Line="628" Column="33" TopLine="589"/>
</Position8>
<Position9>
<Filename Value="umain.pas"/>
<Caret Line="624" Column="23" TopLine="585"/>
<Caret Line="629" Column="42" TopLine="590"/>
</Position9>
<Position10>
<Filename Value="umain.pas"/>
<Caret Line="628" Column="33" TopLine="589"/>
<Caret Line="631" Column="37" TopLine="592"/>
</Position10>
<Position11>
<Filename Value="umain.pas"/>
<Caret Line="629" Column="42" TopLine="590"/>
<Caret Line="632" Column="23" TopLine="593"/>
</Position11>
<Position12>
<Filename Value="umain.pas"/>
<Caret Line="631" Column="37" TopLine="592"/>
<Caret Line="636" Column="65" TopLine="597"/>
</Position12>
<Position13>
<Filename Value="umain.pas"/>
<Caret Line="632" Column="23" TopLine="593"/>
<Caret Line="638" Column="37" TopLine="599"/>
</Position13>
<Position14>
<Filename Value="umain.pas"/>
<Caret Line="636" Column="65" TopLine="597"/>
<Caret Line="639" Column="23" TopLine="600"/>
</Position14>
<Position15>
<Filename Value="umain.pas"/>
<Caret Line="638" Column="37" TopLine="599"/>
<Caret Line="710" Column="61" TopLine="670"/>
</Position15>
<Position16>
<Filename Value="umain.pas"/>
<Caret Line="639" Column="23" TopLine="600"/>
<Caret Line="397" TopLine="360"/>
</Position16>
<Position17>
<Filename Value="umain.pas"/>
<Caret Line="710" Column="61" TopLine="670"/>
<Caret Line="441" Column="5" TopLine="414"/>
</Position17>
<Position18>
<Filename Value="umain.pas"/>
<Caret Line="397" TopLine="360"/>
<Caret Line="444" Column="42" TopLine="141"/>
</Position18>
<Position19>
<Filename Value="umain.pas"/>
<Caret Line="441" Column="5" TopLine="414"/>
<Caret Line="386" Column="27" TopLine="377"/>
</Position19>
<Position20>
<Filename Value="umain.pas"/>
<Caret Line="444" Column="42" TopLine="141"/>
<Caret Line="431" Column="18" TopLine="417"/>
</Position20>
<Position21>
<Filename Value="umain.pas"/>
<Caret Line="386" Column="27" TopLine="377"/>
<Caret Line="367" Column="18" TopLine="363"/>
</Position21>
<Position22>
<Filename Value="umain.pas"/>
<Caret Line="431" Column="18" TopLine="417"/>
<Caret Line="36" Column="71" TopLine="10"/>
</Position22>
<Position23>
<Filename Value="umain.pas"/>
<Caret Line="367" Column="18" TopLine="363"/>
<Caret Line="700" TopLine="682"/>
</Position23>
<Position24>
<Filename Value="umain.pas"/>
<Caret Line="36" Column="71" TopLine="10"/>
<Caret Line="31" Column="60" TopLine="13"/>
</Position24>
<Position25>
<Filename Value="umain.pas"/>
<Caret Line="700" TopLine="682"/>
<Caret Line="417" Column="45" TopLine="393"/>
</Position25>
<Position26>
<Filename Value="umain.pas"/>
<Caret Line="31" Column="60" TopLine="13"/>
<Caret Line="6" Column="60"/>
</Position26>
<Position27>
<Filename Value="umain.pas"/>
<Caret Line="417" Column="45" TopLine="393"/>
<Caret Line="38" Column="37" TopLine="23"/>
</Position27>
<Position28>
<Filename Value="umain.pas"/>
<Caret Line="6" Column="60"/>
<Caret Line="388" TopLine="375"/>
</Position28>
<Position29>
<Filename Value="umain.pas"/>
<Caret Line="38" Column="37" TopLine="23"/>
<Caret Line="41" Column="15" TopLine="17"/>
</Position29>
<Position30>
<Filename Value="umain.pas"/>
<Caret Line="388" TopLine="375"/>
<Caret Line="510" Column="87" TopLine="486"/>
</Position30>
</JumpHistory>
</ProjectSession>

View File

@ -68,8 +68,6 @@ msgstr ""
"as a JSON update file\n"
#: tfrmmain.editdownloadzipurl.hint
#, fuzzy
msgctxt "tfrmmain.editdownloadzipurl.hint"
msgid ""
"Download URL:\n"
"Include the FULL url needed to download the package Zip file\n"
@ -108,8 +106,6 @@ msgid "Save As"
msgstr "Save As"
#: tfrmmain.lbldownloadzipurl.caption
#, fuzzy
msgctxt "tfrmmain.lbldownloadzipurl.caption"
msgid "Download URL:"
msgstr "Download URL:"
@ -191,13 +187,6 @@ msgid "Attempting to Open URL"
msgstr "Attempting to Open URL"
#: tfrmmain.stringpackagefiles.hint
#, fuzzy
#| msgid ""
#| "Package Files:\n"
#| "[Add]: to make a new entry\n"
#| "[Remove]: Remove last entry\n"
#| "lpk filename: i.e. mycontrol.lpk\n"
#| "Version: The FULL version (i.e. not 1.0 but 1.0.0.0)\n"
msgid ""
"Package Files:\n"
"[Add]: to make a new entry\n"
@ -220,25 +209,21 @@ msgid "Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s - %s platform%s%s
msgstr "Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s - %s platform%s%s"
#: umain.rsdownloadzipurld
#, fuzzy
msgctxt "umain.rsdownloadzipurld"
msgid "- Download URL does not contain the zipfile name"
msgstr "- Download URL does not contain the zipfile name"
#: umain.rsdownloadzipurli
#, fuzzy
msgctxt "umain.rsdownloadzipurli"
msgid "- Download URL is too short or missing"
msgstr "- Download URL is too short or missing"
#: umain.rsdownloadzipurli2
#, fuzzy
msgctxt "umain.rsdownloadzipurli2"
msgid "- Download URL is incomplete"
msgstr "- Download URL is incomplete"
#: umain.rsdownloadzipurls
#, fuzzy
msgctxt "umain.rsdownloadzipurls"
msgid "- Download URL should start with \"http\""
msgstr "- Download URL should start with \"http\""
@ -331,6 +316,10 @@ msgstr "(You can toggle these hints on/off in the Help menu)"
msgid "Update"
msgstr "Update"
#: umain.rsupdatejsonsf
msgid "Update file \"%s\" failed to load correctly."
msgstr "Update file \"%s\" failed to load correctly."
#: umain.rsupdatezipnam
msgid "- Update zip name is too short or missing"
msgstr "- Update zip name is too short or missing"

View File

@ -323,6 +323,10 @@ msgstr "(Puedes cambiar estos consejos en el menú Ayuda)"
msgid "Update"
msgstr "Actualización"
#: umain.rsupdatejsonsf
msgid "Update file \"%s\" failed to load correctly."
msgstr "Error al cargar \"%s\" correctamente el archivo de actualización"
#: umain.rsupdatezipnam
msgid "- Update zip name is too short or missing"
msgstr "- El nombre del zip es muy corto o está vacío"

View File

@ -116,7 +116,7 @@ msgstr ""
#: tfrmmain.mnu_helpdisablewarnings.caption
msgid "Disable warnings"
msgstr "Desactivar Advertencias"
msgstr ""
#: tfrmmain.mnu_helpshowhints.caption
msgid "Show Popup Hints"
@ -282,6 +282,10 @@ msgstr ""
msgid "Update"
msgstr ""
#: umain.rsupdatejsonsf
msgid "Update file \"%s\" failed to load correctly."
msgstr ""
#: umain.rsupdatezipnam
msgid "- Update zip name is too short or missing"
msgstr ""

View File

@ -37,6 +37,9 @@ unit umain;
Added Const C_DEBUGMESSAGES=TRUE/FALSE
0.1.14.0: Various changes (GetMem)
BugFix: FormCloseQuery
0.1.15.0: BugFix: File/Save didn't add the '.json' suffix in Linux
Addition: After Loading, run validation tests
0.1.16.0: ??
}
{$mode objfpc}{$H+}
@ -218,6 +221,7 @@ resourcestring
rsYouMayNeedTo = '(You may need to restart the app to see the change)';
rsThereAreOneO = '- There are one or more .lpk entries with the same name.%s'
+ '- Every .lpk entry must have a unique name.';
rsUpdateJsonSF = 'Update file "%s" failed to load correctly.';
{ TUpdatePackageData }
@ -492,13 +496,24 @@ begin
editName.Text := JSONPackage.UpdatePackageData.Name;
editDownloadZipURL.Text := JSONPackage.UpdatePackageData.DownloadZipURL;
cbForceUpdate.Checked := JSONPackage.UpdatePackageData.ForceUpdate;
stringPackageFiles.RowCount := JSONPackage.UpdatePackageFiles.Count + 1;
for i := 0 to JSONPackage.UpdatePackageFiles.Count - 1 do
begin
stringPackageFiles.Cells[0, i + 1] := JSONPackage.UpdatePackageFiles.Items[i].Name;
stringPackageFiles.Cells[1, i + 1] := JSONPackage.UpdatePackageFiles.Items[i].Version;
end;
if ValidationFailed then
begin
if (slErrorList.Count > 1) then
ShowMessage(Format(rsUpdateJsonSF, [ExtractFileName(sJSONFilePath)]) + LineEnding
+ LineEnding + rsOneOfTheReqn + LineEnding + slErrorList.Text +
LineEnding + rsFixThenTryAg)
else
ShowMessage(Format(rsUpdateJsonSF,[ExtractFileName(sJSONFilePath)]) + LineEnding
+ LineEnding + rsOneOfTheReq1 + LineEnding + slErrorList.Text +
LineEnding + rsFixThenTryAg);
Exit;
end;
end
else
ShowMessageFmt('There was a problem loading "%s" - is it corrupted or in the wrong format?',
@ -725,7 +740,7 @@ begin
if bForceSaveAs or (sJSONFilePath = '') then
begin
FileSaveAs1.Dialog.InitialDir := sUpdateDirectory;
FileSaveAs1.Dialog.FileName := 'update_' + ExtractFilenameOnly(editName.Text);
FileSaveAs1.Dialog.FileName := 'update_' + ExtractFilenameOnly(editName.Text) + '.json';
if FileSaveAs1.Dialog.Execute then
sJSONFilePath := FileSaveAs1.Dialog.FileName
else