diff --git a/applications/json_packager/deploywin/json_packager.iss b/applications/json_packager/deploywin/json_packager.iss
index c0aefd54a..0c3851e94 100644
--- a/applications/json_packager/deploywin/json_packager.iss
+++ b/applications/json_packager/deploywin/json_packager.iss
@@ -1,6 +1,6 @@
[Setup]
AppName=External OPM JSON package Editor
-AppVersion=0.2.5.0
+AppVersion=0.2.6.0
DefaultDirName={pf}\OPMUtilities
DefaultGroupName=OPM
UninstallDisplayIcon={app}\jsoneditor.exe
diff --git a/applications/json_packager/deploywin/locale/jsoneditor.en.po b/applications/json_packager/deploywin/locale/jsoneditor.en.po
index 502d4dc32..8b0514e38 100644
--- a/applications/json_packager/deploywin/locale/jsoneditor.en.po
+++ b/applications/json_packager/deploywin/locale/jsoneditor.en.po
@@ -144,6 +144,10 @@ msgstr "&Help"
msgid "About.."
msgstr "About.."
+#: tfrmmain.mnu_helpautoloadlastfile.caption
+msgid "Auto-load last saved file"
+msgstr ""
+
#: tfrmmain.mnu_helpdisablewarnings.caption
msgid "Disable warnings"
msgstr "Disable warnings"
diff --git a/applications/json_packager/deploywin/locale/jsoneditor.es.po b/applications/json_packager/deploywin/locale/jsoneditor.es.po
index 9ff512124..c424a72d1 100644
--- a/applications/json_packager/deploywin/locale/jsoneditor.es.po
+++ b/applications/json_packager/deploywin/locale/jsoneditor.es.po
@@ -145,6 +145,10 @@ msgstr "&Ayuda"
msgid "About.."
msgstr "Acerca de.."
+#: tfrmmain.mnu_helpautoloadlastfile.caption
+msgid "Auto-load last saved file"
+msgstr "Carga automática último archivo guardado"
+
#: tfrmmain.mnu_helpdisablewarnings.caption
msgid "Disable warnings"
msgstr "Deshabilitar advertencias"
@@ -376,4 +380,3 @@ msgstr "¿Quieres copiar %s a la carpeta %s?"
#: umain.rsyoumayneedto
msgid "(You may need to restart the app to see the change)"
msgstr "(Quizás necesites reiniciar la aplicación para ver los cambios)"
-
diff --git a/applications/json_packager/jsonpackage.lpi b/applications/json_packager/jsonpackage.lpi
index 9e84862b8..cefc29554 100644
--- a/applications/json_packager/jsonpackage.lpi
+++ b/applications/json_packager/jsonpackage.lpi
@@ -28,8 +28,7 @@
-
-
+
diff --git a/applications/json_packager/jsonpackage.lps b/applications/json_packager/jsonpackage.lps
index dcbe310e3..8440695d1 100644
--- a/applications/json_packager/jsonpackage.lps
+++ b/applications/json_packager/jsonpackage.lps
@@ -3,14 +3,14 @@
-
-
+
+
-
+
-
+
@@ -20,8 +20,8 @@
-
-
+
+
@@ -29,11 +29,11 @@
-
+
-
-
-
+
+
+
@@ -41,7 +41,7 @@
-
+
@@ -49,7 +49,7 @@
-
+
@@ -155,9 +155,9 @@
-
-
-
+
+
+
@@ -352,20 +352,32 @@
-
+
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -373,123 +385,123 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/applications/json_packager/jsonpackage.res b/applications/json_packager/jsonpackage.res
index 44ddf3942..d7b4fdeee 100644
Binary files a/applications/json_packager/jsonpackage.res and b/applications/json_packager/jsonpackage.res differ
diff --git a/applications/json_packager/locale/jsoneditor.en.po b/applications/json_packager/locale/jsoneditor.en.po
index 502d4dc32..8b0514e38 100644
--- a/applications/json_packager/locale/jsoneditor.en.po
+++ b/applications/json_packager/locale/jsoneditor.en.po
@@ -144,6 +144,10 @@ msgstr "&Help"
msgid "About.."
msgstr "About.."
+#: tfrmmain.mnu_helpautoloadlastfile.caption
+msgid "Auto-load last saved file"
+msgstr ""
+
#: tfrmmain.mnu_helpdisablewarnings.caption
msgid "Disable warnings"
msgstr "Disable warnings"
diff --git a/applications/json_packager/locale/jsoneditor.es.mo b/applications/json_packager/locale/jsoneditor.es.mo
index 6e6fa8518..eafbd7ce3 100644
Binary files a/applications/json_packager/locale/jsoneditor.es.mo and b/applications/json_packager/locale/jsoneditor.es.mo differ
diff --git a/applications/json_packager/locale/jsoneditor.es.po b/applications/json_packager/locale/jsoneditor.es.po
index 9ff512124..c424a72d1 100644
--- a/applications/json_packager/locale/jsoneditor.es.po
+++ b/applications/json_packager/locale/jsoneditor.es.po
@@ -145,6 +145,10 @@ msgstr "&Ayuda"
msgid "About.."
msgstr "Acerca de.."
+#: tfrmmain.mnu_helpautoloadlastfile.caption
+msgid "Auto-load last saved file"
+msgstr "Carga automática último archivo guardado"
+
#: tfrmmain.mnu_helpdisablewarnings.caption
msgid "Disable warnings"
msgstr "Deshabilitar advertencias"
@@ -376,4 +380,3 @@ msgstr "¿Quieres copiar %s a la carpeta %s?"
#: umain.rsyoumayneedto
msgid "(You may need to restart the app to see the change)"
msgstr "(Quizás necesites reiniciar la aplicación para ver los cambios)"
-
diff --git a/applications/json_packager/locale/jsoneditor.po b/applications/json_packager/locale/jsoneditor.po
index 68b86b3ff..927cc26f8 100644
--- a/applications/json_packager/locale/jsoneditor.po
+++ b/applications/json_packager/locale/jsoneditor.po
@@ -133,6 +133,10 @@ msgstr ""
msgid "About.."
msgstr ""
+#: tfrmmain.mnu_helpautoloadlastfile.caption
+msgid "Auto-load last saved file"
+msgstr ""
+
#: tfrmmain.mnu_helpdisablewarnings.caption
msgid "Disable warnings"
msgstr ""
diff --git a/applications/json_packager/umain.lfm b/applications/json_packager/umain.lfm
index 9a665587f..e3d362da1 100644
--- a/applications/json_packager/umain.lfm
+++ b/applications/json_packager/umain.lfm
@@ -1,7 +1,7 @@
object frmMain: TfrmMain
- Left = 450
+ Left = 930
Height = 398
- Top = 207
+ Top = 221
Width = 618
Anchors = []
BorderIcons = [biSystemMenu]
@@ -250,6 +250,11 @@ object frmMain: TfrmMain
Caption = 'Disable warnings'
OnClick = mnu_helpDisableWarningsClick
end
+ object mnu_helpAutoloadLastFile: TMenuItem
+ AutoCheck = True
+ Caption = 'Auto-load last saved file'
+ OnClick = mnu_helpAutoloadLastFileClick
+ end
object mnu_lang: TMenuItem
Caption = 'Languages..'
object mnu_lang_en: TMenuItem
diff --git a/applications/json_packager/umain.lrj b/applications/json_packager/umain.lrj
index 278984feb..050c7dd71 100644
--- a/applications/json_packager/umain.lrj
+++ b/applications/json_packager/umain.lrj
@@ -26,6 +26,7 @@
{"hash":2812976,"name":"tfrmmain.mnu_help.caption","sourcebytes":[38,72,101,108,112],"value":"&Help"},
{"hash":186260755,"name":"tfrmmain.mnu_helpshowhints.caption","sourcebytes":[83,104,111,119,32,80,111,112,117,112,32,72,105,110,116,115],"value":"Show Popup Hints"},
{"hash":253903779,"name":"tfrmmain.mnu_helpdisablewarnings.caption","sourcebytes":[68,105,115,97,98,108,101,32,119,97,114,110,105,110,103,115],"value":"Disable warnings"},
+{"hash":213647893,"name":"tfrmmain.mnu_helpautoloadlastfile.caption","sourcebytes":[65,117,116,111,45,108,111,97,100,32,108,97,115,116,32,115,97,118,101,100,32,102,105,108,101],"value":"Auto-load last saved file"},
{"hash":187646702,"name":"tfrmmain.mnu_lang.caption","sourcebytes":[76,97,110,103,117,97,103,101,115,46,46],"value":"Languages.."},
{"hash":206450904,"name":"tfrmmain.mnu_lang_en.caption","sourcebytes":[69,110,103,108,105,115,104],"value":"English"},
{"hash":174974108,"name":"tfrmmain.mnu_lang_es.caption","sourcebytes":[69,115,112,97,195,177,111,108],"value":"Espa\u00F1ol"},
diff --git a/applications/json_packager/umain.pas b/applications/json_packager/umain.pas
index b9522f54c..42ddf2094 100644
--- a/applications/json_packager/umain.pas
+++ b/applications/json_packager/umain.pas
@@ -64,7 +64,8 @@ unit umain;
0.2.3.0: ResourceStrings Updated (minesadorada)
0.2.4.0: Bugfix: regression error: DisableInOPM (minesadorada)
0.2.5.0: BugFix: regression error: CreateUniqueINIFile (minesadorada)
- 0.2.6.0: ??
+ 0.2.6.0: Added feature - Help menu/AutoLoad Last File
+ 0.2.7.0: ??
}
{$mode objfpc}{$H+}
@@ -78,7 +79,7 @@ uses
lclintf, lclVersion, LResources, Spin, {$IFDEF PO_BUILTINRES}LazUTF8Classes{$ENDIF};
const
- C_DEBUGMESSAGES = False;
+ C_DEBUGMESSAGES = False; // TRUE ONLY IN DEV MODE!
type
@@ -152,6 +153,7 @@ type
MainMenu1: TMainMenu;
FileMenu: TMenuItem;
LoadItem: TMenuItem;
+ mnu_helpAutoloadLastFile: TMenuItem;
mnu_fileExit: TMenuItem;
mnu_fileNew: TMenuItem;
mnu_helpDisableWarnings: TMenuItem;
@@ -180,6 +182,7 @@ type
procedure mnu_fileNewClick(Sender: TObject);
procedure mnu_fileSaveClick(Sender: TObject);
procedure mnu_helpAboutClick(Sender: TObject);
+ procedure mnu_helpAutoloadLastFileClick(Sender: TObject);
procedure mnu_helpDisableWarningsClick(Sender: TObject);
procedure mnu_helpShowHintsClick(Sender: TObject);
procedure mnu_lang_enClick(Sender: TObject);
@@ -190,7 +193,8 @@ type
private
{ private declarations }
JSONPackage: TUpdatePackage;
- bForceSaveAs, bShowPopupHints, bDisableWarnings, bDirty, bIsVirgin: boolean;
+ bForceSaveAs, bShowPopupHints, bDisableWarnings,bAutoLoadLast,
+ bDirty, bIsVirgin: boolean;
sJSONFilePath: string;
sUpdateDirectory, sZipDirectory: string;
slErrorList: TStrings;
@@ -210,6 +214,7 @@ type
ArrayLblPackageInternalVersion: array of TLabel;
// End of Package Information controls
iNumLpkFilesVisible: integer;
+ procedure LoadJSONFromFile(sFileName:String);
procedure AddPackageFileToList;
procedure RemovePackageFileFromList;
procedure ResetPackageFileControlsToOne;
@@ -846,6 +851,13 @@ begin
bIsVirgin := CFG.ReadBool('Options', 'Virgin', True);
bShowPopupHints := bIsVirgin;
mnu_helpShowHints.Checked := bShowPopupHints;
+
+ // On startup, default to FALSE
+ bAutoLoadLast:=CFG.ReadBool('Options', 'AutoLoadLastFile',FALSE);
+ mnu_helpAutoloadLastFile.Checked:=bAutoLoadLast;
+ sJSONFilePath:=CFG.ReadString('Options','LastSavedJSON','unknown');
+ if C_DEBUGMESSAGES = True then // Dev only
+ ShowMessage(sJSONFilePath);
// Override here if the user has re-enabled them
bShowPopupHints := CFG.ReadBool('Options', 'ShowPopupHints', bShowPopupHints);
mnu_helpShowHints.Checked := bShowPopupHints;
@@ -878,24 +890,20 @@ procedure TfrmMain.FormShow(Sender: TObject);
begin
bDirty := False;
AddPackageFileToList;
-end;
+ If sJSONFilePath <> 'unknown' then
+ If (FileExistsUTF8(sJSONFilePath)) AND (bAutoLoadLast=TRUE) then
+ LoadJSONFromFile(sJSONFilePath);
-procedure TfrmMain.LoadItemClick(Sender: TObject);
+end;
+procedure TfrmMain.LoadJSONFromFile(sFileName:String);
var
i: integer;
Quad: TVersionQuad;
begin
- FileOpen1.Dialog.InitialDir :=
- CFG.ReadString('Options', 'LastLoadedJSONPath', sUpdateDirectory);
- FileOpen1.Dialog.Filter := 'JSON|*.json';
- if FileOpen1.Dialog.Execute then
- begin
- ResetPackageFileControlsToOne; // So iNumLpkFilesVisible=1
- sJSONFilePath := FileOpen1.Dialog.Filename;
- CFG.WriteString('Options', 'LastLoadedJSONPath', ExtractFileDir(sJSONFilePath));
- JSONPackage := TUpdatePackage.Create;
+ ResetPackageFileControlsToOne; // So iNumLpkFilesVisible=1
+ JSONPackage := TUpdatePackage.Create;
try
- if JSONPackage.LoadFromFile(FileOpen1.Dialog.FileName) then
+ if JSONPackage.LoadFromFile(sFileName) then
begin
edt_UpdateZipName.Text := JSONPackage.UpdatePackageData.Name;
edt_DownloadZipURL.Text := JSONPackage.UpdatePackageData.DownloadZipURL;
@@ -934,10 +942,23 @@ begin
end
else
ShowMessageFmt(rsThereWasAPro,
- [ExtractFilename(FileOpen1.Dialog.FileName)]);
+ [ExtractFilename(sFileName)]);
finally
JSONPackage.Free;
end;
+end;
+
+procedure TfrmMain.LoadItemClick(Sender: TObject);
+begin
+ FileOpen1.Dialog.InitialDir :=
+ CFG.ReadString('Options', 'LastLoadedJSONPath', sUpdateDirectory);
+ FileOpen1.Dialog.Filter := 'JSON|*.json';
+ if FileOpen1.Dialog.Execute then
+ begin
+ sJSONFilePath := FileOpen1.Dialog.Filename;
+ CFG.WriteString('Options', 'LastLoadedJSONPath', ExtractFileDir(sJSONFilePath));
+ ResetPackageFileControlsToOne; // So iNumLpkFilesVisible=1
+ LoadJSONFromFile(sJSONFilePath);
end;
end;
@@ -1009,6 +1030,13 @@ begin
MessageDlg(rsAbout + ' ' + Application.Title, s, mtInformation, [mbOK], 0);
end;
+procedure TfrmMain.mnu_helpAutoloadLastFileClick(Sender: TObject);
+begin
+ bAutoLoadLast:= NOT bAutoLoadLast;
+ mnu_helpAutoloadLastFile.Checked:=bAutoLoadLast;
+ CFG.WriteBool('Options', 'AutoLoadLastFile',bAutoLoadLast);
+end;
+
procedure TfrmMain.mnu_helpDisableWarningsClick(Sender: TObject);
begin
bDisableWarnings := not bDisableWarnings;
@@ -1177,8 +1205,11 @@ begin
FileSaveAs1.Dialog.InitialDir := sUpdateDirectory;
FileSaveAs1.Dialog.FileName :=
'update_' + ExtractFilenameOnly(edt_UpdateZipName.Text) + '.json';
+
if FileSaveAs1.Dialog.Execute then
- sJSONFilePath := FileSaveAs1.Dialog.FileName
+ begin
+ sJSONFilePath := FileSaveAs1.Dialog.FileName;
+ end
else
Exit;
end;
@@ -1207,11 +1238,17 @@ begin
if MessageDlg(rsOverwrite + ' ' + sJSONFilePath + '?', mtConfirmation,
[mbYes, mbNo], 0, mbYes) = mrYes then
if JSONPackage.SaveToFile(sJSONFilePath) then
- ShowMessage(sJSONFilePath + ' ' + rsSavedOK);
+ begin
+ ShowMessage(sJSONFilePath + ' ' + rsSavedOK);
+ CFG.WriteString('Options','LastSavedJSON',sJSONFilePath);
+ end;
end
else
if JSONPackage.SaveToFile(sJSONFilePath) then
- ShowMessage(sJSONFilePath + rsSavedOK)
+ begin
+ ShowMessage(sJSONFilePath + rsSavedOK);
+ CFG.WriteString('Options','LastSavedJSON',sJSONFilePath);
+ end
else
ShowMessage(rsSaveUnsucces);
bDirty := False;