To 0.2.2.0 Validation and hints updated

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5478 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
gbamber
2016-12-14 08:00:39 +00:00
parent a707a8e666
commit 873b6450ee
11 changed files with 659 additions and 664 deletions

View File

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

View File

@ -11,40 +11,48 @@ msgstr ""
"Language: en\n" "Language: en\n"
"X-Generator: Poedit 1.8.11\n" "X-Generator: Poedit 1.8.11\n"
#: tfrmmain.btnadd.caption
msgid "Add"
msgstr "Add"
#: tfrmmain.btnadd.hint
msgid ""
"Add Package File:\n"
"The update zip can contain more than one lpk file\n"
"deployed to the same place.\n"
msgstr ""
"Add Package File:\n"
"The update zip can contain more than one lpk file\n"
"deployed to the same place.\n"
#: tfrmmain.btnremove.caption
msgid "Remove"
msgstr "Remove"
#: tfrmmain.btnremove.hint
msgid ""
"Remove Package File:\n"
"Deletes the last entry from the list\n"
msgstr ""
"Remove Package File:\n"
"Deletes the last entry from the list\n"
#: tfrmmain.chk_disableinopm.caption #: tfrmmain.chk_disableinopm.caption
msgid "Disable in OPM" msgid "Disable in OPM"
msgstr "" msgstr ""
#: tfrmmain.cmd_addpackagefile.caption
#, fuzzy
msgctxt "tfrmmain.cmd_addpackagefile.caption"
msgid "Add"
msgstr "Add"
#: tfrmmain.cmd_addpackagefile.hint
#, fuzzy
msgctxt "tfrmmain.cmd_addpackagefile.hint"
msgid ""
"Add Package File:\n"
"The update zip can contain more than one lpk file\n"
"deployed to the same place.\n"
msgstr ""
"Add Package File:\n"
"The update zip can contain more than one lpk file\n"
"deployed to the same place.\n"
#: tfrmmain.cmd_close.caption #: tfrmmain.cmd_close.caption
msgid "&Close" msgid "&Close"
msgstr "&Close" msgstr "&Close"
#: tfrmmain.cmd_removelastpackagefile.caption
#, fuzzy
msgctxt "tfrmmain.cmd_removelastpackagefile.caption"
msgid "Remove"
msgstr "Remove"
#: tfrmmain.cmd_removelastpackagefile.hint
#, fuzzy
msgctxt "tfrmmain.cmd_removelastpackagefile.hint"
msgid ""
"Remove Package File:\n"
"Deletes the last entry from the list\n"
msgstr ""
"Remove Package File:\n"
"Deletes the last entry from the list\n"
#: tfrmmain.cmd_save.caption #: tfrmmain.cmd_save.caption
msgid "&Save" msgid "&Save"
msgstr "&Save" msgstr "&Save"
@ -57,7 +65,9 @@ msgstr ""
"Save the current configuration to disk\n" "Save the current configuration to disk\n"
"as a JSON update file\n" "as a JSON update file\n"
#: tfrmmain.editdownloadzipurl.hint #: tfrmmain.edt_downloadzipurl.hint
#, fuzzy
msgctxt "tfrmmain.edt_downloadzipurl.hint"
msgid "" msgid ""
"Download URL:\n" "Download URL:\n"
"Include the FULL url needed to download the package Zip file\n" "Include the FULL url needed to download the package Zip file\n"
@ -65,7 +75,9 @@ msgstr ""
"Download URL:\n" "Download URL:\n"
"Include the FULL url needed to download the package Zip file\n" "Include the FULL url needed to download the package Zip file\n"
#: tfrmmain.editname.hint #: tfrmmain.edt_updatezipname.hint
#, fuzzy
msgctxt "tfrmmain.edt_updatezipname.hint"
msgid "" msgid ""
"Update Zip Name:\n" "Update Zip Name:\n"
"This is just the filename (not including the path)\n" "This is just the filename (not including the path)\n"
@ -95,18 +107,24 @@ msgstr "&Save As ..."
msgid "Save As" msgid "Save As"
msgstr "Save As" msgstr "Save As"
#: tfrmmain.lbldownloadzipurl.caption #: tfrmmain.lbl_downloadzipurl.caption
#, fuzzy
msgctxt "tfrmmain.lbl_downloadzipurl.caption"
msgid "Download URL:" msgid "Download URL:"
msgstr "Download URL:" msgstr "Download URL:"
#: tfrmmain.lblname.caption #: tfrmmain.lbl_packagefiles.caption
msgid "Update Zip Name:" #, fuzzy
msgstr "Update Zip Name:" msgctxt "tfrmmain.lbl_packagefiles.caption"
#: tfrmmain.lblpackagefiles.caption
msgid "Package Files:" msgid "Package Files:"
msgstr "Package Files:" msgstr "Package Files:"
#: tfrmmain.lbl_updatezipname.caption
#, fuzzy
msgctxt "tfrmmain.lbl_updatezipname.caption"
msgid "Update Zip Name:"
msgstr "Update Zip Name:"
#: tfrmmain.loaditem.caption #: tfrmmain.loaditem.caption
msgid "Load..." msgid "Load..."
msgstr "Load..." msgstr "Load..."
@ -221,10 +239,6 @@ msgstr "http://www.updatesite.com/myupdate/mypackagename.zip"
msgid "Language changed to \"%s\"." msgid "Language changed to \"%s\"."
msgstr "Language changed to \"%s\"." msgstr "Language changed to \"%s\"."
#: umain.rslpkfilename
msgid "lpk FileName"
msgstr "lpk FileName"
#: umain.rsmypackagelpk #: umain.rsmypackagelpk
#, fuzzy #, fuzzy
#| msgid "mypackagename.zip" #| msgid "mypackagename.zip"
@ -277,16 +291,14 @@ msgstr "The .lpk entry #%d is missing the .lpk extension"
msgid "The .lpk entry #%d is is absent" msgid "The .lpk entry #%d is is absent"
msgstr "The .lpk entry #%d is is absent" msgstr "The .lpk entry #%d is is absent"
#: umain.rstherearenolp
msgid "- There are no .lpk files in the list yet"
msgstr "- There are no .lpk files in the list yet"
#: umain.rsthereareoneo #: umain.rsthereareoneo
msgid "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name." msgid "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name."
msgstr "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name." msgstr "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name."
#: umain.rsthisoptionsh #: umain.rsthisoptionsh
msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" #, fuzzy
#| msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?"
msgid "This option should only be used for crucial updates or bug-fixed packages."
msgstr "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" msgstr "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?"
#: umain.rsturnhintsoff #: umain.rsturnhintsoff
@ -309,19 +321,6 @@ msgstr "- Update zip name is too short or missing"
msgid "- Update zip name missing extension \".zip\"" msgid "- Update zip name missing extension \".zip\""
msgstr "- Update zip name missing extension \".zip\"" msgstr "- Update zip name missing extension \".zip\""
#: umain.rsversion0000
msgctxt "umain.rsversion0000"
msgid "Version (n.n.n.n)"
msgstr "Version (n.n.n.n)"
#: umain.rsversionentry
msgid "Version Entry #%d is absent"
msgstr "Version Entry #%d is absent"
#: umain.rsversionentry2
msgid "Version entry #%d needs to be of the form n.n.n.n"
msgstr "Version entry #%d needs to be of the form n.n.n.n"
#: umain.rswouldyoulike #: umain.rswouldyoulike
msgid "Would you like to copy %s to the %s folder?" msgid "Would you like to copy %s to the %s folder?"
msgstr "Would you like to copy %s to the %s folder?" msgstr "Would you like to copy %s to the %s folder?"

View File

@ -12,11 +12,19 @@ msgstr ""
"X-Generator: Poedit 1.8.11\n" "X-Generator: Poedit 1.8.11\n"
"X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SourceCharset: UTF-8\n"
#: tfrmmain.btnadd.caption #: tfrmmain.chk_disableinopm.caption
msgid "Disable in OPM"
msgstr ""
#: tfrmmain.cmd_addpackagefile.caption
#, fuzzy
msgctxt "tfrmmain.cmd_addpackagefile.caption"
msgid "Add" msgid "Add"
msgstr "Agregar" msgstr "Agregar"
#: tfrmmain.btnadd.hint #: tfrmmain.cmd_addpackagefile.hint
#, fuzzy
msgctxt "tfrmmain.cmd_addpackagefile.hint"
msgid "" msgid ""
"Add Package File:\n" "Add Package File:\n"
"The update zip can contain more than one lpk file\n" "The update zip can contain more than one lpk file\n"
@ -26,11 +34,19 @@ msgstr ""
"El zip de actualización puede contener mas que un archivo lpk\n" "El zip de actualización puede contener mas que un archivo lpk\n"
"distribuido en el mismo lugar.\n" "distribuido en el mismo lugar.\n"
#: tfrmmain.btnremove.caption #: tfrmmain.cmd_close.caption
msgid "&Close"
msgstr "&Cerrar"
#: tfrmmain.cmd_removelastpackagefile.caption
#, fuzzy
msgctxt "tfrmmain.cmd_removelastpackagefile.caption"
msgid "Remove" msgid "Remove"
msgstr "Quitar" msgstr "Quitar"
#: tfrmmain.btnremove.hint #: tfrmmain.cmd_removelastpackagefile.hint
#, fuzzy
msgctxt "tfrmmain.cmd_removelastpackagefile.hint"
msgid "" msgid ""
"Remove Package File:\n" "Remove Package File:\n"
"Deletes the last entry from the list\n" "Deletes the last entry from the list\n"
@ -38,14 +54,6 @@ msgstr ""
"Quitar archivo de paquete:\n" "Quitar archivo de paquete:\n"
"Elimina la última entrada de la lista\n" "Elimina la última entrada de la lista\n"
#: tfrmmain.chk_disableinopm.caption
msgid "Disable in OPM"
msgstr ""
#: tfrmmain.cmd_close.caption
msgid "&Close"
msgstr "&Cerrar"
#: tfrmmain.cmd_save.caption #: tfrmmain.cmd_save.caption
msgid "&Save" msgid "&Save"
msgstr "&Guardar" msgstr "&Guardar"
@ -58,7 +66,9 @@ msgstr ""
"Guardar la configuración actual en el disco\n" "Guardar la configuración actual en el disco\n"
"como archivo de actualización JSON\n" "como archivo de actualización JSON\n"
#: tfrmmain.editdownloadzipurl.hint #: tfrmmain.edt_downloadzipurl.hint
#, fuzzy
msgctxt "tfrmmain.edt_downloadzipurl.hint"
msgid "" msgid ""
"Download URL:\n" "Download URL:\n"
"Include the FULL url needed to download the package Zip file\n" "Include the FULL url needed to download the package Zip file\n"
@ -66,7 +76,9 @@ msgstr ""
"URL de Descarga:\n" "URL de Descarga:\n"
"Incluye la url COMPLETA necesaria para descargar el archivo zip del paquete\n" "Incluye la url COMPLETA necesaria para descargar el archivo zip del paquete\n"
#: tfrmmain.editname.hint #: tfrmmain.edt_updatezipname.hint
#, fuzzy
msgctxt "tfrmmain.edt_updatezipname.hint"
msgid "" msgid ""
"Update Zip Name:\n" "Update Zip Name:\n"
"This is just the filename (not including the path)\n" "This is just the filename (not including the path)\n"
@ -96,18 +108,24 @@ msgstr "&Guardar Como ..."
msgid "Save As" msgid "Save As"
msgstr "Guardar Como" msgstr "Guardar Como"
#: tfrmmain.lbldownloadzipurl.caption #: tfrmmain.lbl_downloadzipurl.caption
#, fuzzy
msgctxt "tfrmmain.lbl_downloadzipurl.caption"
msgid "Download URL:" msgid "Download URL:"
msgstr "URL de Descarga:" msgstr "URL de Descarga:"
#: tfrmmain.lblname.caption #: tfrmmain.lbl_packagefiles.caption
msgid "Update Zip Name:" #, fuzzy
msgstr "Nombre del Zip de actualización:" msgctxt "tfrmmain.lbl_packagefiles.caption"
#: tfrmmain.lblpackagefiles.caption
msgid "Package Files:" msgid "Package Files:"
msgstr "Archivos de Paquete:" msgstr "Archivos de Paquete:"
#: tfrmmain.lbl_updatezipname.caption
#, fuzzy
msgctxt "tfrmmain.lbl_updatezipname.caption"
msgid "Update Zip Name:"
msgstr "Nombre del Zip de actualización:"
#: tfrmmain.loaditem.caption #: tfrmmain.loaditem.caption
msgid "Load..." msgid "Load..."
msgstr "Cargar..." msgstr "Cargar..."
@ -222,10 +240,6 @@ msgstr "http://www.sitioactualizacion.com/miactualizacion/nombredemipaquete.zip"
msgid "Language changed to \"%s\"." msgid "Language changed to \"%s\"."
msgstr "Idioma cambiado a \"%s\"." msgstr "Idioma cambiado a \"%s\"."
#: umain.rslpkfilename
msgid "lpk FileName"
msgstr "Archivo lpk"
#: umain.rsmypackagelpk #: umain.rsmypackagelpk
#, fuzzy #, fuzzy
#| msgid "mypackagename.zip" #| msgid "mypackagename.zip"
@ -278,16 +292,14 @@ msgstr "La entrada .lpk #%d no tiene la extensión .lpk"
msgid "The .lpk entry #%d is is absent" msgid "The .lpk entry #%d is is absent"
msgstr "La entrada .lpk #%d está vacía" msgstr "La entrada .lpk #%d está vacía"
#: umain.rstherearenolp
msgid "- There are no .lpk files in the list yet"
msgstr "- No hay ningún archivo .lpk en la lista todavía"
#: umain.rsthereareoneo #: umain.rsthereareoneo
msgid "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name." msgid "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name."
msgstr "- Hay una o más entradas .lpk con el mismo nombre.%s- Cada entrada .lpk debe tener un nombre único." msgstr "- Hay una o más entradas .lpk con el mismo nombre.%s- Cada entrada .lpk debe tener un nombre único."
#: umain.rsthisoptionsh #: umain.rsthisoptionsh
msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" #, fuzzy
#| msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?"
msgid "This option should only be used for crucial updates or bug-fixed packages."
msgstr "Esta opción debe ser usada solamente para actualizaciones cruciales o paquetes con arreglos de bugs. ¿Estás de acuerdo con esto?" msgstr "Esta opción debe ser usada solamente para actualizaciones cruciales o paquetes con arreglos de bugs. ¿Estás de acuerdo con esto?"
#: umain.rsturnhintsoff #: umain.rsturnhintsoff
@ -310,19 +322,6 @@ msgstr "- El nombre del zip es muy corto o está vacío"
msgid "- Update zip name missing extension \".zip\"" msgid "- Update zip name missing extension \".zip\""
msgstr "- El nombre del zip no tiene la extensión \".zip\"" msgstr "- El nombre del zip no tiene la extensión \".zip\""
#: umain.rsversion0000
msgctxt "umain.rsversion0000"
msgid "Version (n.n.n.n)"
msgstr "Versión (n.n.n.n)"
#: umain.rsversionentry
msgid "Version Entry #%d is absent"
msgstr "Entrada de versión #%d está ausente"
#: umain.rsversionentry2
msgid "Version entry #%d needs to be of the form n.n.n.n"
msgstr "Entrada de versión #%d necesita ser de la forma n.n.n.n"
#: umain.rswouldyoulike #: umain.rswouldyoulike
msgid "Would you like to copy %s to the %s folder?" msgid "Would you like to copy %s to the %s folder?"
msgstr "¿Quieres copiar %s a la carpeta %s?" msgstr "¿Quieres copiar %s a la carpeta %s?"

View File

@ -10,7 +10,7 @@
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<EditorIndex Value="3"/> <EditorIndex Value="3"/>
<CursorPos X="15" Y="19"/> <CursorPos X="15" Y="19"/>
<UsageCount Value="156"/> <UsageCount Value="157"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
@ -20,20 +20,21 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<TopLine Value="34"/> <TopLine Value="49"/>
<CursorPos X="48" Y="60"/> <CursorPos X="41" Y="56"/>
<ExtraEditorCount Value="1"/> <ExtraEditorCount Value="1"/>
<ExtraEditor1> <ExtraEditor1>
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<EditorIndex Value="-1"/>
<WindowIndex Value="1"/> <WindowIndex Value="1"/>
<TopLine Value="491"/> <TopLine Value="390"/>
<CursorPos X="21" Y="508"/> <CursorPos X="44" Y="396"/>
</ExtraEditor1> </ExtraEditor1>
<UsageCount Value="156"/> <UsageCount Value="157"/>
<Bookmarks Count="3"> <Bookmarks Count="3">
<Item0 Y="844" ID="1"/> <Item0 Y="835" ID="1"/>
<Item1 X="44" Y="790"/> <Item1 Y="781"/>
<Item2 Y="656" ID="2"/> <Item2 Y="650" ID="2"/>
</Bookmarks> </Bookmarks>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
@ -41,7 +42,7 @@
<Unit2> <Unit2>
<Filename Value="ugenericcollection.pas"/> <Filename Value="ugenericcollection.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UsageCount Value="156"/> <UsageCount Value="157"/>
</Unit2> </Unit2>
<Unit3> <Unit3>
<Filename Value="C:\NewPascal\projects\MDSUM\CryptINI\lockini.pas"/> <Filename Value="C:\NewPascal\projects\MDSUM\CryptINI\lockini.pas"/>
@ -49,7 +50,7 @@
<UnitName Value="LockIni"/> <UnitName Value="LockIni"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<CursorPos X="40" Y="9"/> <CursorPos X="40" Y="9"/>
<UsageCount Value="74"/> <UsageCount Value="75"/>
</Unit3> </Unit3>
<Unit4> <Unit4>
<Filename Value="D:\Lazarusprojects\golfml\egacalculator\source\umainform.pas"/> <Filename Value="D:\Lazarusprojects\golfml\egacalculator\source\umainform.pas"/>
@ -355,7 +356,7 @@
<EditorIndex Value="2"/> <EditorIndex Value="2"/>
<TopLine Value="992"/> <TopLine Value="992"/>
<CursorPos Y="1012"/> <CursorPos Y="1012"/>
<UsageCount Value="26"/> <UsageCount Value="27"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit45> </Unit45>
<Unit46> <Unit46>
@ -363,7 +364,7 @@
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<TopLine Value="88"/> <TopLine Value="88"/>
<CursorPos X="26" Y="110"/> <CursorPos X="26" Y="110"/>
<UsageCount Value="25"/> <UsageCount Value="26"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit46> </Unit46>
</Units> </Units>
@ -373,123 +374,123 @@
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="826" Column="9" TopLine="806"/> <Caret Line="454" TopLine="436"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="209" Column="44" TopLine="199"/> <Caret Line="70" Column="54" TopLine="43"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="206" Column="24" TopLine="193"/> <Caret Line="909" TopLine="906"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="878" Column="3" TopLine="876"/> <Caret Line="846" Column="11" TopLine="827"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="841" Column="25" TopLine="817"/> <Caret Line="919" Column="40" TopLine="910"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="814" TopLine="811"/> <Caret Line="850" Column="25" TopLine="824"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="454" TopLine="436"/> <Caret Line="844" Column="42" TopLine="825"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="70" Column="54" TopLine="43"/> <Caret Line="852" TopLine="833"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="909" TopLine="906"/> <Caret Line="1165" Column="49" TopLine="1153"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="846" Column="11" TopLine="827"/> <Caret Line="1113" Column="8" TopLine="1112"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="919" Column="40" TopLine="910"/> <Caret Line="850" TopLine="817"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="850" Column="25" TopLine="824"/> <Caret Line="458" Column="25" TopLine="451"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="844" Column="42" TopLine="825"/> <Caret Line="53" Column="42" TopLine="40"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="852" TopLine="833"/> <Caret Line="255" Column="12" TopLine="234"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="1165" Column="49" TopLine="1153"/> <Caret Line="900" Column="3" TopLine="898"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="1113" Column="8" TopLine="1112"/> <Caret Line="1124" TopLine="1104"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="850" TopLine="817"/> <Caret Line="839" Column="9" TopLine="831"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="458" Column="25" TopLine="451"/> <Caret Line="580" Column="39" TopLine="566"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="53" Column="42" TopLine="40"/> <Caret Line="255" Column="17" TopLine="254"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="255" Column="12" TopLine="234"/> <Caret Line="480" Column="67" TopLine="471"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="900" Column="3" TopLine="898"/> <Caret Line="647" Column="23" TopLine="629"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="1124" TopLine="1104"/> <Caret Line="1090" Column="18" TopLine="1065"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="839" Column="9" TopLine="831"/> <Caret Line="697" Column="69" TopLine="683"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="580" Column="39" TopLine="566"/> <Caret Line="695" Column="9" TopLine="675"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="255" Column="17" TopLine="254"/> <Caret Line="5" Column="23"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="480" Column="67" TopLine="471"/> <Caret Line="274" Column="17" TopLine="242"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="647" Column="23" TopLine="629"/> <Caret Line="1133" Column="30" TopLine="1120"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="1090" Column="18" TopLine="1065"/> <Caret Line="1060" Column="50" TopLine="1022"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="697" Column="69" TopLine="683"/> <Caret Line="951"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<Caret Line="695" Column="9" TopLine="675"/> <Caret Line="1100" Column="79" TopLine="1070"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
</ProjectSession> </ProjectSession>

View File

@ -11,40 +11,48 @@ msgstr ""
"Language: en\n" "Language: en\n"
"X-Generator: Poedit 1.8.11\n" "X-Generator: Poedit 1.8.11\n"
#: tfrmmain.btnadd.caption
msgid "Add"
msgstr "Add"
#: tfrmmain.btnadd.hint
msgid ""
"Add Package File:\n"
"The update zip can contain more than one lpk file\n"
"deployed to the same place.\n"
msgstr ""
"Add Package File:\n"
"The update zip can contain more than one lpk file\n"
"deployed to the same place.\n"
#: tfrmmain.btnremove.caption
msgid "Remove"
msgstr "Remove"
#: tfrmmain.btnremove.hint
msgid ""
"Remove Package File:\n"
"Deletes the last entry from the list\n"
msgstr ""
"Remove Package File:\n"
"Deletes the last entry from the list\n"
#: tfrmmain.chk_disableinopm.caption #: tfrmmain.chk_disableinopm.caption
msgid "Disable in OPM" msgid "Disable in OPM"
msgstr "" msgstr ""
#: tfrmmain.cmd_addpackagefile.caption
#, fuzzy
msgctxt "tfrmmain.cmd_addpackagefile.caption"
msgid "Add"
msgstr "Add"
#: tfrmmain.cmd_addpackagefile.hint
#, fuzzy
msgctxt "tfrmmain.cmd_addpackagefile.hint"
msgid ""
"Add Package File:\n"
"The update zip can contain more than one lpk file\n"
"deployed to the same place.\n"
msgstr ""
"Add Package File:\n"
"The update zip can contain more than one lpk file\n"
"deployed to the same place.\n"
#: tfrmmain.cmd_close.caption #: tfrmmain.cmd_close.caption
msgid "&Close" msgid "&Close"
msgstr "&Close" msgstr "&Close"
#: tfrmmain.cmd_removelastpackagefile.caption
#, fuzzy
msgctxt "tfrmmain.cmd_removelastpackagefile.caption"
msgid "Remove"
msgstr "Remove"
#: tfrmmain.cmd_removelastpackagefile.hint
#, fuzzy
msgctxt "tfrmmain.cmd_removelastpackagefile.hint"
msgid ""
"Remove Package File:\n"
"Deletes the last entry from the list\n"
msgstr ""
"Remove Package File:\n"
"Deletes the last entry from the list\n"
#: tfrmmain.cmd_save.caption #: tfrmmain.cmd_save.caption
msgid "&Save" msgid "&Save"
msgstr "&Save" msgstr "&Save"
@ -57,7 +65,9 @@ msgstr ""
"Save the current configuration to disk\n" "Save the current configuration to disk\n"
"as a JSON update file\n" "as a JSON update file\n"
#: tfrmmain.editdownloadzipurl.hint #: tfrmmain.edt_downloadzipurl.hint
#, fuzzy
msgctxt "tfrmmain.edt_downloadzipurl.hint"
msgid "" msgid ""
"Download URL:\n" "Download URL:\n"
"Include the FULL url needed to download the package Zip file\n" "Include the FULL url needed to download the package Zip file\n"
@ -65,7 +75,9 @@ msgstr ""
"Download URL:\n" "Download URL:\n"
"Include the FULL url needed to download the package Zip file\n" "Include the FULL url needed to download the package Zip file\n"
#: tfrmmain.editname.hint #: tfrmmain.edt_updatezipname.hint
#, fuzzy
msgctxt "tfrmmain.edt_updatezipname.hint"
msgid "" msgid ""
"Update Zip Name:\n" "Update Zip Name:\n"
"This is just the filename (not including the path)\n" "This is just the filename (not including the path)\n"
@ -95,18 +107,24 @@ msgstr "&Save As ..."
msgid "Save As" msgid "Save As"
msgstr "Save As" msgstr "Save As"
#: tfrmmain.lbldownloadzipurl.caption #: tfrmmain.lbl_downloadzipurl.caption
#, fuzzy
msgctxt "tfrmmain.lbl_downloadzipurl.caption"
msgid "Download URL:" msgid "Download URL:"
msgstr "Download URL:" msgstr "Download URL:"
#: tfrmmain.lblname.caption #: tfrmmain.lbl_packagefiles.caption
msgid "Update Zip Name:" #, fuzzy
msgstr "Update Zip Name:" msgctxt "tfrmmain.lbl_packagefiles.caption"
#: tfrmmain.lblpackagefiles.caption
msgid "Package Files:" msgid "Package Files:"
msgstr "Package Files:" msgstr "Package Files:"
#: tfrmmain.lbl_updatezipname.caption
#, fuzzy
msgctxt "tfrmmain.lbl_updatezipname.caption"
msgid "Update Zip Name:"
msgstr "Update Zip Name:"
#: tfrmmain.loaditem.caption #: tfrmmain.loaditem.caption
msgid "Load..." msgid "Load..."
msgstr "Load..." msgstr "Load..."
@ -221,10 +239,6 @@ msgstr "http://www.updatesite.com/myupdate/mypackagename.zip"
msgid "Language changed to \"%s\"." msgid "Language changed to \"%s\"."
msgstr "Language changed to \"%s\"." msgstr "Language changed to \"%s\"."
#: umain.rslpkfilename
msgid "lpk FileName"
msgstr "lpk FileName"
#: umain.rsmypackagelpk #: umain.rsmypackagelpk
#, fuzzy #, fuzzy
#| msgid "mypackagename.zip" #| msgid "mypackagename.zip"
@ -277,16 +291,14 @@ msgstr "The .lpk entry #%d is missing the .lpk extension"
msgid "The .lpk entry #%d is is absent" msgid "The .lpk entry #%d is is absent"
msgstr "The .lpk entry #%d is is absent" msgstr "The .lpk entry #%d is is absent"
#: umain.rstherearenolp
msgid "- There are no .lpk files in the list yet"
msgstr "- There are no .lpk files in the list yet"
#: umain.rsthereareoneo #: umain.rsthereareoneo
msgid "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name." msgid "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name."
msgstr "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name." msgstr "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name."
#: umain.rsthisoptionsh #: umain.rsthisoptionsh
msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" #, fuzzy
#| msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?"
msgid "This option should only be used for crucial updates or bug-fixed packages."
msgstr "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" msgstr "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?"
#: umain.rsturnhintsoff #: umain.rsturnhintsoff
@ -309,19 +321,6 @@ msgstr "- Update zip name is too short or missing"
msgid "- Update zip name missing extension \".zip\"" msgid "- Update zip name missing extension \".zip\""
msgstr "- Update zip name missing extension \".zip\"" msgstr "- Update zip name missing extension \".zip\""
#: umain.rsversion0000
msgctxt "umain.rsversion0000"
msgid "Version (n.n.n.n)"
msgstr "Version (n.n.n.n)"
#: umain.rsversionentry
msgid "Version Entry #%d is absent"
msgstr "Version Entry #%d is absent"
#: umain.rsversionentry2
msgid "Version entry #%d needs to be of the form n.n.n.n"
msgstr "Version entry #%d needs to be of the form n.n.n.n"
#: umain.rswouldyoulike #: umain.rswouldyoulike
msgid "Would you like to copy %s to the %s folder?" msgid "Would you like to copy %s to the %s folder?"
msgstr "Would you like to copy %s to the %s folder?" msgstr "Would you like to copy %s to the %s folder?"

View File

@ -12,11 +12,19 @@ msgstr ""
"X-Generator: Poedit 1.8.11\n" "X-Generator: Poedit 1.8.11\n"
"X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SourceCharset: UTF-8\n"
#: tfrmmain.btnadd.caption #: tfrmmain.chk_disableinopm.caption
msgid "Disable in OPM"
msgstr ""
#: tfrmmain.cmd_addpackagefile.caption
#, fuzzy
msgctxt "tfrmmain.cmd_addpackagefile.caption"
msgid "Add" msgid "Add"
msgstr "Agregar" msgstr "Agregar"
#: tfrmmain.btnadd.hint #: tfrmmain.cmd_addpackagefile.hint
#, fuzzy
msgctxt "tfrmmain.cmd_addpackagefile.hint"
msgid "" msgid ""
"Add Package File:\n" "Add Package File:\n"
"The update zip can contain more than one lpk file\n" "The update zip can contain more than one lpk file\n"
@ -26,11 +34,19 @@ msgstr ""
"El zip de actualización puede contener mas que un archivo lpk\n" "El zip de actualización puede contener mas que un archivo lpk\n"
"distribuido en el mismo lugar.\n" "distribuido en el mismo lugar.\n"
#: tfrmmain.btnremove.caption #: tfrmmain.cmd_close.caption
msgid "&Close"
msgstr "&Cerrar"
#: tfrmmain.cmd_removelastpackagefile.caption
#, fuzzy
msgctxt "tfrmmain.cmd_removelastpackagefile.caption"
msgid "Remove" msgid "Remove"
msgstr "Quitar" msgstr "Quitar"
#: tfrmmain.btnremove.hint #: tfrmmain.cmd_removelastpackagefile.hint
#, fuzzy
msgctxt "tfrmmain.cmd_removelastpackagefile.hint"
msgid "" msgid ""
"Remove Package File:\n" "Remove Package File:\n"
"Deletes the last entry from the list\n" "Deletes the last entry from the list\n"
@ -38,14 +54,6 @@ msgstr ""
"Quitar archivo de paquete:\n" "Quitar archivo de paquete:\n"
"Elimina la última entrada de la lista\n" "Elimina la última entrada de la lista\n"
#: tfrmmain.chk_disableinopm.caption
msgid "Disable in OPM"
msgstr ""
#: tfrmmain.cmd_close.caption
msgid "&Close"
msgstr "&Cerrar"
#: tfrmmain.cmd_save.caption #: tfrmmain.cmd_save.caption
msgid "&Save" msgid "&Save"
msgstr "&Guardar" msgstr "&Guardar"
@ -58,7 +66,9 @@ msgstr ""
"Guardar la configuración actual en el disco\n" "Guardar la configuración actual en el disco\n"
"como archivo de actualización JSON\n" "como archivo de actualización JSON\n"
#: tfrmmain.editdownloadzipurl.hint #: tfrmmain.edt_downloadzipurl.hint
#, fuzzy
msgctxt "tfrmmain.edt_downloadzipurl.hint"
msgid "" msgid ""
"Download URL:\n" "Download URL:\n"
"Include the FULL url needed to download the package Zip file\n" "Include the FULL url needed to download the package Zip file\n"
@ -66,7 +76,9 @@ msgstr ""
"URL de Descarga:\n" "URL de Descarga:\n"
"Incluye la url COMPLETA necesaria para descargar el archivo zip del paquete\n" "Incluye la url COMPLETA necesaria para descargar el archivo zip del paquete\n"
#: tfrmmain.editname.hint #: tfrmmain.edt_updatezipname.hint
#, fuzzy
msgctxt "tfrmmain.edt_updatezipname.hint"
msgid "" msgid ""
"Update Zip Name:\n" "Update Zip Name:\n"
"This is just the filename (not including the path)\n" "This is just the filename (not including the path)\n"
@ -96,18 +108,24 @@ msgstr "&Guardar Como ..."
msgid "Save As" msgid "Save As"
msgstr "Guardar Como" msgstr "Guardar Como"
#: tfrmmain.lbldownloadzipurl.caption #: tfrmmain.lbl_downloadzipurl.caption
#, fuzzy
msgctxt "tfrmmain.lbl_downloadzipurl.caption"
msgid "Download URL:" msgid "Download URL:"
msgstr "URL de Descarga:" msgstr "URL de Descarga:"
#: tfrmmain.lblname.caption #: tfrmmain.lbl_packagefiles.caption
msgid "Update Zip Name:" #, fuzzy
msgstr "Nombre del Zip de actualización:" msgctxt "tfrmmain.lbl_packagefiles.caption"
#: tfrmmain.lblpackagefiles.caption
msgid "Package Files:" msgid "Package Files:"
msgstr "Archivos de Paquete:" msgstr "Archivos de Paquete:"
#: tfrmmain.lbl_updatezipname.caption
#, fuzzy
msgctxt "tfrmmain.lbl_updatezipname.caption"
msgid "Update Zip Name:"
msgstr "Nombre del Zip de actualización:"
#: tfrmmain.loaditem.caption #: tfrmmain.loaditem.caption
msgid "Load..." msgid "Load..."
msgstr "Cargar..." msgstr "Cargar..."
@ -222,10 +240,6 @@ msgstr "http://www.sitioactualizacion.com/miactualizacion/nombredemipaquete.zip"
msgid "Language changed to \"%s\"." msgid "Language changed to \"%s\"."
msgstr "Idioma cambiado a \"%s\"." msgstr "Idioma cambiado a \"%s\"."
#: umain.rslpkfilename
msgid "lpk FileName"
msgstr "Archivo lpk"
#: umain.rsmypackagelpk #: umain.rsmypackagelpk
#, fuzzy #, fuzzy
#| msgid "mypackagename.zip" #| msgid "mypackagename.zip"
@ -278,16 +292,14 @@ msgstr "La entrada .lpk #%d no tiene la extensión .lpk"
msgid "The .lpk entry #%d is is absent" msgid "The .lpk entry #%d is is absent"
msgstr "La entrada .lpk #%d está vacía" msgstr "La entrada .lpk #%d está vacía"
#: umain.rstherearenolp
msgid "- There are no .lpk files in the list yet"
msgstr "- No hay ningún archivo .lpk en la lista todavía"
#: umain.rsthereareoneo #: umain.rsthereareoneo
msgid "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name." msgid "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name."
msgstr "- Hay una o más entradas .lpk con el mismo nombre.%s- Cada entrada .lpk debe tener un nombre único." msgstr "- Hay una o más entradas .lpk con el mismo nombre.%s- Cada entrada .lpk debe tener un nombre único."
#: umain.rsthisoptionsh #: umain.rsthisoptionsh
msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" #, fuzzy
#| msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?"
msgid "This option should only be used for crucial updates or bug-fixed packages."
msgstr "Esta opción debe ser usada solamente para actualizaciones cruciales o paquetes con arreglos de bugs. ¿Estás de acuerdo con esto?" msgstr "Esta opción debe ser usada solamente para actualizaciones cruciales o paquetes con arreglos de bugs. ¿Estás de acuerdo con esto?"
#: umain.rsturnhintsoff #: umain.rsturnhintsoff
@ -310,19 +322,6 @@ msgstr "- El nombre del zip es muy corto o está vacío"
msgid "- Update zip name missing extension \".zip\"" msgid "- Update zip name missing extension \".zip\""
msgstr "- El nombre del zip no tiene la extensión \".zip\"" msgstr "- El nombre del zip no tiene la extensión \".zip\""
#: umain.rsversion0000
msgctxt "umain.rsversion0000"
msgid "Version (n.n.n.n)"
msgstr "Versión (n.n.n.n)"
#: umain.rsversionentry
msgid "Version Entry #%d is absent"
msgstr "Entrada de versión #%d está ausente"
#: umain.rsversionentry2
msgid "Version entry #%d needs to be of the form n.n.n.n"
msgstr "Entrada de versión #%d necesita ser de la forma n.n.n.n"
#: umain.rswouldyoulike #: umain.rswouldyoulike
msgid "Would you like to copy %s to the %s folder?" msgid "Would you like to copy %s to the %s folder?"
msgstr "¿Quieres copiar %s a la carpeta %s?" msgstr "¿Quieres copiar %s a la carpeta %s?"

View File

@ -12,35 +12,39 @@ msgstr ""
"X-Generator: Poedit 1.8.11\n" "X-Generator: Poedit 1.8.11\n"
"X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SourceCharset: UTF-8\n"
#: tfrmmain.btnadd.caption #: tfrmmain.chk_disableinopm.caption
msgid "Disable in OPM"
msgstr ""
#: tfrmmain.cmd_addpackagefile.caption
msgctxt "tfrmmain.cmd_addpackagefile.caption"
msgid "Add" msgid "Add"
msgstr "" msgstr ""
#: tfrmmain.btnadd.hint #: tfrmmain.cmd_addpackagefile.hint
msgctxt "tfrmmain.cmd_addpackagefile.hint"
msgid "" msgid ""
"Add Package File:\n" "Add Package File:\n"
"The update zip can contain more than one lpk file\n" "The update zip can contain more than one lpk file\n"
"deployed to the same place.\n" "deployed to the same place.\n"
msgstr "" msgstr ""
#: tfrmmain.btnremove.caption #: tfrmmain.cmd_close.caption
msgid "&Close"
msgstr ""
#: tfrmmain.cmd_removelastpackagefile.caption
msgctxt "tfrmmain.cmd_removelastpackagefile.caption"
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
#: tfrmmain.btnremove.hint #: tfrmmain.cmd_removelastpackagefile.hint
msgctxt "tfrmmain.cmd_removelastpackagefile.hint"
msgid "" msgid ""
"Remove Package File:\n" "Remove Package File:\n"
"Deletes the last entry from the list\n" "Deletes the last entry from the list\n"
msgstr "" msgstr ""
#: tfrmmain.chk_disableinopm.caption
msgid "Disable in OPM"
msgstr ""
#: tfrmmain.cmd_close.caption
msgid "&Close"
msgstr ""
#: tfrmmain.cmd_save.caption #: tfrmmain.cmd_save.caption
msgid "&Save" msgid "&Save"
msgstr "" msgstr ""
@ -51,13 +55,15 @@ msgid ""
"as a JSON update file\n" "as a JSON update file\n"
msgstr "" msgstr ""
#: tfrmmain.editdownloadzipurl.hint #: tfrmmain.edt_downloadzipurl.hint
msgctxt "tfrmmain.edt_downloadzipurl.hint"
msgid "" msgid ""
"Download URL:\n" "Download URL:\n"
"Include the FULL url needed to download the package Zip file\n" "Include the FULL url needed to download the package Zip file\n"
msgstr "" msgstr ""
#: tfrmmain.editname.hint #: tfrmmain.edt_updatezipname.hint
msgctxt "tfrmmain.edt_updatezipname.hint"
msgid "" msgid ""
"Update Zip Name:\n" "Update Zip Name:\n"
"This is just the filename (not including the path)\n" "This is just the filename (not including the path)\n"
@ -84,16 +90,19 @@ msgstr ""
msgid "Save As" msgid "Save As"
msgstr "" msgstr ""
#: tfrmmain.lbldownloadzipurl.caption #: tfrmmain.lbl_downloadzipurl.caption
msgctxt "tfrmmain.lbl_downloadzipurl.caption"
msgid "Download URL:" msgid "Download URL:"
msgstr "" msgstr ""
#: tfrmmain.lblname.caption #: tfrmmain.lbl_packagefiles.caption
msgid "Update Zip Name:" msgctxt "tfrmmain.lbl_packagefiles.caption"
msgid "Package Files:"
msgstr "" msgstr ""
#: tfrmmain.lblpackagefiles.caption #: tfrmmain.lbl_updatezipname.caption
msgid "Package Files:" msgctxt "tfrmmain.lbl_updatezipname.caption"
msgid "Update Zip Name:"
msgstr "" msgstr ""
#: tfrmmain.loaditem.caption #: tfrmmain.loaditem.caption
@ -207,10 +216,6 @@ msgstr ""
msgid "Language changed to \"%s\"." msgid "Language changed to \"%s\"."
msgstr "" msgstr ""
#: umain.rslpkfilename
msgid "lpk FileName"
msgstr ""
#: umain.rsmypackagelpk #: umain.rsmypackagelpk
msgctxt "umain.rsmypackagelpk" msgctxt "umain.rsmypackagelpk"
msgid "mypackagename.lpk" msgid "mypackagename.lpk"
@ -261,16 +266,12 @@ msgstr ""
msgid "The .lpk entry #%d is is absent" msgid "The .lpk entry #%d is is absent"
msgstr "" msgstr ""
#: umain.rstherearenolp
msgid "- There are no .lpk files in the list yet"
msgstr ""
#: umain.rsthereareoneo #: umain.rsthereareoneo
msgid "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name." msgid "- There are one or more .lpk entries with the same name.%s- Every .lpk entry must have a unique name."
msgstr "" msgstr ""
#: umain.rsthisoptionsh #: umain.rsthisoptionsh
msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" msgid "This option should only be used for crucial updates or bug-fixed packages."
msgstr "" msgstr ""
#: umain.rsturnhintsoff #: umain.rsturnhintsoff
@ -293,19 +294,6 @@ msgstr ""
msgid "- Update zip name missing extension \".zip\"" msgid "- Update zip name missing extension \".zip\""
msgstr "" msgstr ""
#: umain.rsversion0000
msgctxt "umain.rsversion0000"
msgid "Version (n.n.n.n)"
msgstr ""
#: umain.rsversionentry
msgid "Version Entry #%d is absent"
msgstr ""
#: umain.rsversionentry2
msgid "Version entry #%d needs to be of the form n.n.n.n"
msgstr ""
#: umain.rswouldyoulike #: umain.rswouldyoulike
msgid "Would you like to copy %s to the %s folder?" msgid "Would you like to copy %s to the %s folder?"
msgstr "" msgstr ""

View File

@ -19,7 +19,7 @@ object frmMain: TfrmMain
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '1.7' LCLVersion = '1.7'
Scaled = True Scaled = True
object lblName: TLabel object lbl_UpdateZipName: TLabel
Left = 8 Left = 8
Height = 15 Height = 15
Top = 8 Top = 8
@ -27,7 +27,7 @@ object frmMain: TfrmMain
Caption = 'Update Zip Name:' Caption = 'Update Zip Name:'
ParentColor = False ParentColor = False
end end
object editName: TEdit object edt_UpdateZipName: TEdit
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideRight.Control = sb_editName AnchorSideRight.Control = sb_editName
Left = 12 Left = 12
@ -41,7 +41,7 @@ object frmMain: TfrmMain
Color = clWindow Color = clWindow
TabOrder = 0 TabOrder = 0
end end
object lblDownloadZipURL: TLabel object lbl_DownloadZipURL: TLabel
Left = 8 Left = 8
Height = 15 Height = 15
Top = 64 Top = 64
@ -49,7 +49,7 @@ object frmMain: TfrmMain
Caption = 'Download URL:' Caption = 'Download URL:'
ParentColor = False ParentColor = False
end end
object editDownloadZipURL: TEdit object edt_DownloadZipURL: TEdit
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideRight.Control = spd_CheckURL AnchorSideRight.Control = spd_CheckURL
Left = 12 Left = 12
@ -63,8 +63,8 @@ object frmMain: TfrmMain
Color = clWindow Color = clWindow
TabOrder = 1 TabOrder = 1
end end
object lblPackageFiles: TLabel object lbl_PackageFiles: TLabel
AnchorSideRight.Control = btnAdd AnchorSideRight.Control = cmd_AddPackageFile
Left = 8 Left = 8
Height = 15 Height = 15
Top = 130 Top = 130
@ -76,8 +76,8 @@ object frmMain: TfrmMain
Caption = 'Package Files:' Caption = 'Package Files:'
ParentColor = False ParentColor = False
end end
object btnAdd: TButton object cmd_AddPackageFile: TButton
AnchorSideRight.Control = btnRemove AnchorSideRight.Control = cmd_RemoveLastPackageFile
Left = 420 Left = 420
Height = 25 Height = 25
Hint = 'Add Package File:'#13#10'The update zip can contain more than one lpk file'#13#10'deployed to the same place.' Hint = 'Add Package File:'#13#10'The update zip can contain more than one lpk file'#13#10'deployed to the same place.'
@ -86,10 +86,10 @@ object frmMain: TfrmMain
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 8 BorderSpacing.Right = 8
Caption = 'Add' Caption = 'Add'
OnClick = btnAddClick OnClick = cmd_AddPackageFileClick
TabOrder = 2 TabOrder = 2
end end
object btnRemove: TButton object cmd_RemoveLastPackageFile: TButton
Left = 525 Left = 525
Height = 25 Height = 25
Hint = 'Remove Package File:'#13#10'Deletes the last entry from the list' Hint = 'Remove Package File:'#13#10'Deletes the last entry from the list'
@ -98,7 +98,7 @@ object frmMain: TfrmMain
Anchors = [akTop] Anchors = [akTop]
BorderSpacing.Right = 8 BorderSpacing.Right = 8
Caption = 'Remove' Caption = 'Remove'
OnClick = btnRemoveClick OnClick = cmd_RemoveLastPackageFileClick
TabOrder = 3 TabOrder = 3
end end
object cmd_Close: TBitBtn object cmd_Close: TBitBtn
@ -113,11 +113,10 @@ object frmMain: TfrmMain
Caption = '&Close' Caption = '&Close'
Kind = bkClose Kind = bkClose
ModalResult = 11 ModalResult = 11
OnClick = cmd_CloseClick
TabOrder = 4 TabOrder = 4
end end
object cmd_save: TBitBtn object cmd_save: TBitBtn
AnchorSideTop.Control = btnAdd AnchorSideTop.Control = cmd_AddPackageFile
Left = 280 Left = 280
Height = 30 Height = 30
Hint = 'Save the current configuration to disk'#13#10'as a JSON update file' Hint = 'Save the current configuration to disk'#13#10'as a JSON update file'
@ -271,7 +270,7 @@ object frmMain: TfrmMain
end end
end end
object ActionList1: TActionList object ActionList1: TActionList
Left = 136 Left = 168
object FileSaveAs1: TFileSaveAs object FileSaveAs1: TFileSaveAs
Category = 'File' Category = 'File'
Caption = '&Save As ...' Caption = '&Save As ...'
@ -286,7 +285,7 @@ object frmMain: TfrmMain
ShortCut = 16463 ShortCut = 16463
end end
end end
object mypopup: TPopupNotifier object popup_hint: TPopupNotifier
Color = 14483455 Color = 14483455
Icon.Data = { Icon.Data = {
07544269746D617000000000 07544269746D617000000000
@ -294,6 +293,6 @@ object frmMain: TfrmMain
Text = 'Text' Text = 'Text'
Title = 'Caption' Title = 'Caption'
Visible = False Visible = False
Left = 168 Left = 240
end end
end end

View File

@ -1,13 +1,13 @@
{"version":1,"strings":[ {"version":1,"strings":[
{"hash":183952426,"name":"tfrmmain.lblname.caption","sourcebytes":[85,112,100,97,116,101,32,90,105,112,32,78,97,109,101,58],"value":"Update Zip Name:"}, {"hash":183952426,"name":"tfrmmain.lbl_updatezipname.caption","sourcebytes":[85,112,100,97,116,101,32,90,105,112,32,78,97,109,101,58],"value":"Update Zip Name:"},
{"hash":260482813,"name":"tfrmmain.editname.hint","sourcebytes":[85,112,100,97,116,101,32,90,105,112,32,78,97,109,101,58,13,10,84,104,105,115,32,105,115,32,106,117,115,116,32,116,104,101,32,102,105,108,101,110,97,109,101,32,40,110,111,116,32,105,110,99,108,117,100,105,110,103,32,116,104,101,32,112,97,116,104,41,13,10,111,102,32,121,111,117,114,32,117,112,100,97,116,101,32,122,105,112,46,32,84,121,112,101,44,32,111,114,32,99,108,105,99,107,32,116,104,101,32,91,46,46,46,93],"value":"Update Zip Name:\r\nThis is just the filename (not including the path)\r\nof your update zip. Type, or click the [...]"}, {"hash":260482813,"name":"tfrmmain.edt_updatezipname.hint","sourcebytes":[85,112,100,97,116,101,32,90,105,112,32,78,97,109,101,58,13,10,84,104,105,115,32,105,115,32,106,117,115,116,32,116,104,101,32,102,105,108,101,110,97,109,101,32,40,110,111,116,32,105,110,99,108,117,100,105,110,103,32,116,104,101,32,112,97,116,104,41,13,10,111,102,32,121,111,117,114,32,117,112,100,97,116,101,32,122,105,112,46,32,84,121,112,101,44,32,111,114,32,99,108,105,99,107,32,116,104,101,32,91,46,46,46,93],"value":"Update Zip Name:\r\nThis is just the filename (not including the path)\r\nof your update zip. Type, or click the [...]"},
{"hash":202110442,"name":"tfrmmain.lbldownloadzipurl.caption","sourcebytes":[68,111,119,110,108,111,97,100,32,85,82,76,58],"value":"Download URL:"}, {"hash":202110442,"name":"tfrmmain.lbl_downloadzipurl.caption","sourcebytes":[68,111,119,110,108,111,97,100,32,85,82,76,58],"value":"Download URL:"},
{"hash":265021141,"name":"tfrmmain.editdownloadzipurl.hint","sourcebytes":[68,111,119,110,108,111,97,100,32,85,82,76,58,13,10,73,110,99,108,117,100,101,32,116,104,101,32,70,85,76,76,32,117,114,108,32,110,101,101,100,101,100,32,116,111,32,100,111,119,110,108,111,97,100,32,116,104,101,32,112,97,99,107,97,103,101,32,90,105,112,32,102,105,108,101],"value":"Download URL:\r\nInclude the FULL url needed to download the package Zip file"}, {"hash":265021141,"name":"tfrmmain.edt_downloadzipurl.hint","sourcebytes":[68,111,119,110,108,111,97,100,32,85,82,76,58,13,10,73,110,99,108,117,100,101,32,116,104,101,32,70,85,76,76,32,117,114,108,32,110,101,101,100,101,100,32,116,111,32,100,111,119,110,108,111,97,100,32,116,104,101,32,112,97,99,107,97,103,101,32,90,105,112,32,102,105,108,101],"value":"Download URL:\r\nInclude the FULL url needed to download the package Zip file"},
{"hash":57627770,"name":"tfrmmain.lblpackagefiles.caption","sourcebytes":[80,97,99,107,97,103,101,32,70,105,108,101,115,58],"value":"Package Files:"}, {"hash":57627770,"name":"tfrmmain.lbl_packagefiles.caption","sourcebytes":[80,97,99,107,97,103,101,32,70,105,108,101,115,58],"value":"Package Files:"},
{"hash":61051198,"name":"tfrmmain.btnadd.hint","sourcebytes":[65,100,100,32,80,97,99,107,97,103,101,32,70,105,108,101,58,13,10,84,104,101,32,117,112,100,97,116,101,32,122,105,112,32,99,97,110,32,99,111,110,116,97,105,110,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,108,112,107,32,102,105,108,101,13,10,100,101,112,108,111,121,101,100,32,116,111,32,116,104,101,32,115,97,109,101,32,112,108,97,99,101,46],"value":"Add Package File:\r\nThe update zip can contain more than one lpk file\r\ndeployed to the same place."}, {"hash":61051198,"name":"tfrmmain.cmd_addpackagefile.hint","sourcebytes":[65,100,100,32,80,97,99,107,97,103,101,32,70,105,108,101,58,13,10,84,104,101,32,117,112,100,97,116,101,32,122,105,112,32,99,97,110,32,99,111,110,116,97,105,110,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,108,112,107,32,102,105,108,101,13,10,100,101,112,108,111,121,101,100,32,116,111,32,116,104,101,32,115,97,109,101,32,112,108,97,99,101,46],"value":"Add Package File:\r\nThe update zip can contain more than one lpk file\r\ndeployed to the same place."},
{"hash":18340,"name":"tfrmmain.btnadd.caption","sourcebytes":[65,100,100],"value":"Add"}, {"hash":18340,"name":"tfrmmain.cmd_addpackagefile.caption","sourcebytes":[65,100,100],"value":"Add"},
{"hash":3931908,"name":"tfrmmain.btnremove.hint","sourcebytes":[82,101,109,111,118,101,32,80,97,99,107,97,103,101,32,70,105,108,101,58,13,10,68,101,108,101,116,101,115,32,116,104,101,32,108,97,115,116,32,101,110,116,114,121,32,102,114,111,109,32,116,104,101,32,108,105,115,116],"value":"Remove Package File:\r\nDeletes the last entry from the list"}, {"hash":3931908,"name":"tfrmmain.cmd_removelastpackagefile.hint","sourcebytes":[82,101,109,111,118,101,32,80,97,99,107,97,103,101,32,70,105,108,101,58,13,10,68,101,108,101,116,101,115,32,116,104,101,32,108,97,115,116,32,101,110,116,114,121,32,102,114,111,109,32,116,104,101,32,108,105,115,116],"value":"Remove Package File:\r\nDeletes the last entry from the list"},
{"hash":93079237,"name":"tfrmmain.btnremove.caption","sourcebytes":[82,101,109,111,118,101],"value":"Remove"}, {"hash":93079237,"name":"tfrmmain.cmd_removelastpackagefile.caption","sourcebytes":[82,101,109,111,118,101],"value":"Remove"},
{"hash":44709525,"name":"tfrmmain.cmd_close.caption","sourcebytes":[38,67,108,111,115,101],"value":"&Close"}, {"hash":44709525,"name":"tfrmmain.cmd_close.caption","sourcebytes":[38,67,108,111,115,101],"value":"&Close"},
{"hash":29947669,"name":"tfrmmain.cmd_save.hint","sourcebytes":[83,97,118,101,32,116,104,101,32,99,117,114,114,101,110,116,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,116,111,32,100,105,115,107,13,10,97,115,32,97,32,74,83,79,78,32,117,112,100,97,116,101,32,102,105,108,101],"value":"Save the current configuration to disk\r\nas a JSON update file"}, {"hash":29947669,"name":"tfrmmain.cmd_save.hint","sourcebytes":[83,97,118,101,32,116,104,101,32,99,117,114,114,101,110,116,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,116,111,32,100,105,115,107,13,10,97,115,32,97,32,74,83,79,78,32,117,112,100,97,116,101,32,102,105,108,101],"value":"Save the current configuration to disk\r\nas a JSON update file"},
{"hash":2857157,"name":"tfrmmain.cmd_save.caption","sourcebytes":[38,83,97,118,101],"value":"&Save"}, {"hash":2857157,"name":"tfrmmain.cmd_save.caption","sourcebytes":[38,83,97,118,101],"value":"&Save"},

View File

@ -60,11 +60,9 @@ unit umain;
In Laz 1.7 DPIAwareness configured In Laz 1.7 DPIAwareness configured
0.2.0.0: Refactored GUI(minesadorada) 0.2.0.0: Refactored GUI(minesadorada)
0.2.1.0: Added scrollbox to contain package info (GetMem) 0.2.1.0: Added scrollbox to contain package info (GetMem)
0.2.2.0: Hints and Validation updated 0.2.2.0: Hints and Validation updated (minesadorada)
0.2.3.0: ToDo 0.2.3.0: ToDo
- sort out resourcestrings - sort out resourcestrings
- Update Validation
- Update hints
} }
{$mode objfpc}{$H+} {$mode objfpc}{$H+}
@ -105,14 +103,14 @@ type
TUpdatePackageData = class(TPersistent) TUpdatePackageData = class(TPersistent)
private private
FDownloadZipURL: string; FDownloadZipURL: string;
FDisableInOPM: Boolean; FDisableInOPM: boolean;
FName: string; FName: string;
public public
constructor Create; constructor Create;
published published
property Name: string read FName write FName; property Name: string read FName write FName;
property DownloadZipURL: string read FDownloadZipURL write FDownloadZipURL; property DownloadZipURL: string read FDownloadZipURL write FDownloadZipURL;
property DisableInOPM:Boolean read FDisableInOPM write FDisableInOPM; property DisableInOPM: boolean read FDisableInOPM write FDisableInOPM;
end; end;
{ TUpdatePackage } { TUpdatePackage }
@ -140,15 +138,15 @@ type
chk_DisableInOPM: TCheckBox; chk_DisableInOPM: TCheckBox;
cmd_Close: TBitBtn; cmd_Close: TBitBtn;
cmd_save: TBitBtn; cmd_save: TBitBtn;
btnAdd: TButton; cmd_AddPackageFile: TButton;
btnRemove: TButton; cmd_RemoveLastPackageFile: TButton;
editName: TEdit; edt_UpdateZipName: TEdit;
editDownloadZipURL: TEdit; edt_DownloadZipURL: TEdit;
FileOpen1: TFileOpen; FileOpen1: TFileOpen;
FileSaveAs1: TFileSaveAs; FileSaveAs1: TFileSaveAs;
lblPackageFiles: TLabel; lbl_PackageFiles: TLabel;
lblName: TLabel; lbl_UpdateZipName: TLabel;
lblDownloadZipURL: TLabel; lbl_DownloadZipURL: TLabel;
MainMenu1: TMainMenu; MainMenu1: TMainMenu;
FileMenu: TMenuItem; FileMenu: TMenuItem;
LoadItem: TMenuItem; LoadItem: TMenuItem;
@ -162,16 +160,13 @@ type
mnu_helpShowHints: TMenuItem; mnu_helpShowHints: TMenuItem;
mnu_help: TMenuItem; mnu_help: TMenuItem;
mnu_fileSave: TMenuItem; mnu_fileSave: TMenuItem;
mypopup: TPopupNotifier; popup_hint: TPopupNotifier;
SaveAsItem: TMenuItem; SaveAsItem: TMenuItem;
sb_editName: TSpeedButton; sb_editName: TSpeedButton;
sbPackageFiles: TScrollBox; sbPackageFiles: TScrollBox;
spd_CheckURL: TSpeedButton; spd_CheckURL: TSpeedButton;
procedure btnAddClick(Sender: TObject); procedure cmd_AddPackageFileClick(Sender: TObject);
procedure btnRemoveClick(Sender: TObject); procedure cmd_RemoveLastPackageFileClick(Sender: TObject);
procedure cbForceNotifyMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: integer);
procedure cmd_CloseClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: boolean); procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
@ -198,19 +193,19 @@ type
CFG: TIniFile; CFG: TIniFile;
INIFilePath: string; INIFilePath: string;
// Start of Package Information controls // Start of Package Information controls
ArrayGrpBox:Array of TGroupBox; ArrayGrpBox: array of TGroupBox;
ArrayLblPackageFileName:Array of TLabel; ArrayLblPackageFileName: array of TLabel;
ArrayEdtPackageFileName:Array of TEdit; ArrayEdtPackageFileName: array of TEdit;
ArrayLblPackageVersion:Array of TLabel; ArrayLblPackageVersion: array of TLabel;
ArraySpinEditV1:Array of TSpinEdit; ArraySpinEditV1: array of TSpinEdit;
ArraySpinEditV2:Array of TSpinEdit; ArraySpinEditV2: array of TSpinEdit;
ArraySpinEditV3:Array of TSpinEdit; ArraySpinEditV3: array of TSpinEdit;
ArraySpinEditV4:Array of TSpinEdit; ArraySpinEditV4: array of TSpinEdit;
ArrayChkBoxForceNotify:Array of TCheckBox; ArrayChkBoxForceNotify: array of TCheckBox;
ArraySpinEditInternalVersion:Array of TSpinEdit; ArraySpinEditInternalVersion: array of TSpinEdit;
ArrayLblPackageInternalVersion:Array of TLabel; ArrayLblPackageInternalVersion: array of TLabel;
// End of Package Information controls // End of Package Information controls
iNumLpkFilesVisible:Integer; iNumLpkFilesVisible: integer;
procedure AddPackageFileToList; procedure AddPackageFileToList;
procedure RemovePackageFileFromList; procedure RemovePackageFileFromList;
procedure ResetPackageFileControlsToOne; procedure ResetPackageFileControlsToOne;
@ -218,6 +213,8 @@ type
procedure DestroyControlArrays; procedure DestroyControlArrays;
procedure RemoveLastControlArray; procedure RemoveLastControlArray;
function ValidationFailed: boolean; function ValidationFailed: boolean;
procedure ProcessNotify(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: integer);
procedure CtrlShowPopup(Sender: TObject); procedure CtrlShowPopup(Sender: TObject);
procedure CtrlHidePopup(Sender: TObject); procedure CtrlHidePopup(Sender: TObject);
procedure CtrlSetUpPopupHandlers; procedure CtrlSetUpPopupHandlers;
@ -257,12 +254,9 @@ resourcestring
rsMypackagenam = 'mypackagename.zip'; rsMypackagenam = 'mypackagename.zip';
rsMypackagelpk = 'mypackagename.lpk'; rsMypackagelpk = 'mypackagename.lpk';
rsHttpWwwUpdat = 'http://www.updatesite.com/myupdate/mypackagename.zip'; rsHttpWwwUpdat = 'http://www.updatesite.com/myupdate/mypackagename.zip';
rsLpkFileName = 'lpk FileName';
rsVersion0000 = 'Version (n.n.n.n)';
rsFixThenTryAg = 'Fix, then try again.'; rsFixThenTryAg = 'Fix, then try again.';
rsUpdateZipNam = '- Update zip name is too short or missing'; rsUpdateZipNam = '- Update zip name is too short or missing';
rsDownloadZipURLI = '- Download URL is too short or missing'; rsDownloadZipURLI = '- Download URL is too short or missing';
rsThereAreNoLp = '- There are no .lpk files in the list yet';
rsUpdateZipNam2 = '- Update zip name missing extension ".zip"'; rsUpdateZipNam2 = '- Update zip name missing extension ".zip"';
rsDownloadZipURLI2 = '- Download URL is incomplete'; rsDownloadZipURLI2 = '- Download URL is incomplete';
rsDownloadZipURLS = '- Download URL should start with "http"'; rsDownloadZipURLS = '- Download URL should start with "http"';
@ -272,12 +266,10 @@ resourcestring
rsSorryCopyOpe = 'Sorry - copy operation was unsuccessful'; rsSorryCopyOpe = 'Sorry - copy operation was unsuccessful';
rsCompiledWith2 = 'Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s -' + rsCompiledWith2 = 'Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s -' +
' %s platform%s%s'; ' %s platform%s%s';
rsVersionEntry = 'Version Entry #%d is absent';
rsVersionEntry2 = 'Version entry #%d needs to be of the form n.n.n.n';
rsTheLpkEntryD = 'The .lpk entry #%d is missing the .lpk extension'; rsTheLpkEntryD = 'The .lpk entry #%d is missing the .lpk extension';
rsTheLpkEntryD2 = 'The .lpk entry #%d is is absent'; rsTheLpkEntryD2 = 'The .lpk entry #%d is is absent';
rsThisOptionSh = rsThisOptionSh =
'This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?'; 'This option should only be used for crucial updates or bug-fixed packages.';
rsLanguageChan = 'Language changed to "%s".'; rsLanguageChan = 'Language changed to "%s".';
rsSorryThisLan = 'Sorry, this language is unavailable at this time.'; rsSorryThisLan = 'Sorry, this language is unavailable at this time.';
rsYouMayNeedTo = '(You may need to restart the app to see the change)'; rsYouMayNeedTo = '(You may need to restart the app to see the change)';
@ -290,7 +282,7 @@ resourcestring
constructor TUpdatePackageData.Create; constructor TUpdatePackageData.Create;
begin begin
FName := ''; FName := '';
// FForceNotify := False; // FForceNotify := False;
FDownloadZipURL := ''; FDownloadZipURL := '';
end; end;
@ -303,7 +295,7 @@ end;
procedure TfrmMain.CtrlHidePopup(Sender: TObject); procedure TfrmMain.CtrlHidePopup(Sender: TObject);
// Get rid of highlighting // Get rid of highlighting
begin begin
mypopup.Hide; popup_hint.Hide;
slErrorList.Clear; slErrorList.Clear;
if Sender.ClassName <> 'TLabel' then if Sender.ClassName <> 'TLabel' then
TControl(Sender).Color := clWindow; TControl(Sender).Color := clWindow;
@ -314,19 +306,19 @@ procedure TfrmMain.CtrlShowPopup(Sender: TObject);
begin begin
if not bShowPopupHints then if not bShowPopupHints then
exit; exit;
MyPopup.Text := ''; popup_hint.Text := '';
MyPopup.Title := ''; popup_hint.Title := '';
if (Sender.InheritsFrom(TControl) = False) then if (Sender.InheritsFrom(TControl) = False) then
exit; exit;
myPopup.Text := TControl(Sender).Hint; popup_hint.Text := TControl(Sender).Hint;
if (MyPopup.Text <> '') then if (popup_hint.Text <> '') then
begin begin
mypopup.Title := rsHelpAndInfor; popup_hint.Title := rsHelpAndInfor;
mypopup.Text := mypopup.Text; popup_hint.Text := popup_hint.Text;
if bIsVirgin then if bIsVirgin then
mypopup.Text := mypopup.Text + LineEnding + rsTurnHintsOff; popup_hint.Text := popup_hint.Text + LineEnding + rsTurnHintsOff;
mypopup.showatpos(Mouse.CursorPos.X, Mouse.CursorPos.Y); popup_hint.showatpos(Mouse.CursorPos.X, Mouse.CursorPos.Y);
end; end;
end; end;
@ -392,31 +384,33 @@ begin
end; end;
end; end;
end; end;
procedure TfrmMain.DestroyControlArrays; procedure TfrmMain.DestroyControlArrays;
Var i:Integer; var
i: integer;
begin begin
// This could be done with one loop // This could be done with one loop
For i:=0 to High(ArraySpinEditInternalVersion) do for i := 0 to High(ArraySpinEditInternalVersion) do
FreeAndNil(ArraySpinEditInternalVersion[i]); FreeAndNil(ArraySpinEditInternalVersion[i]);
For i:=0 to High(ArrayLblPackageInternalVersion) do for i := 0 to High(ArrayLblPackageInternalVersion) do
FreeAndNil(ArrayLblPackageInternalVersion[i]); FreeAndNil(ArrayLblPackageInternalVersion[i]);
For i:=0 to High(ArrayChkBoxForceNotify) do for i := 0 to High(ArrayChkBoxForceNotify) do
FreeAndNil(ArrayChkBoxForceNotify[i]); FreeAndNil(ArrayChkBoxForceNotify[i]);
For i:=0 to High(ArraySpinEditV4) do for i := 0 to High(ArraySpinEditV4) do
FreeAndNil(ArraySpinEditV4[i]); FreeAndNil(ArraySpinEditV4[i]);
For i:=0 to High(ArraySpinEditV3) do for i := 0 to High(ArraySpinEditV3) do
FreeAndNil(ArraySpinEditV3[i]); FreeAndNil(ArraySpinEditV3[i]);
For i:=0 to High(ArraySpinEditV2) do for i := 0 to High(ArraySpinEditV2) do
FreeAndNil(ArraySpinEditV2[i]); FreeAndNil(ArraySpinEditV2[i]);
For i:=0 to High(ArraySpinEditV1) do for i := 0 to High(ArraySpinEditV1) do
FreeAndNil(ArraySpinEditV1[i]); FreeAndNil(ArraySpinEditV1[i]);
For i:=0 to High(ArrayLblPackageVersion) do for i := 0 to High(ArrayLblPackageVersion) do
FreeAndNil(ArrayLblPackageVersion[i]); FreeAndNil(ArrayLblPackageVersion[i]);
For i:=0 to High(ArrayEdtPackageFileName) do for i := 0 to High(ArrayEdtPackageFileName) do
FreeAndNil(ArrayEdtPackageFileName[i]); FreeAndNil(ArrayEdtPackageFileName[i]);
For i:=0 to High(ArrayLblPackageFileName) do for i := 0 to High(ArrayLblPackageFileName) do
FreeAndNil(ArrayLblPackageFileName[i]); FreeAndNil(ArrayLblPackageFileName[i]);
For i:=0 to High(ArrayGrpBox) do for i := 0 to High(ArrayGrpBox) do
FreeAndNil(ArrayGrpBox[i]); FreeAndNil(ArrayGrpBox[i]);
end; end;
@ -438,217 +432,221 @@ ArraySpinEditInternalVersion:Array of TSpinEdit;
SetBounds(Left,Top,Width,Height); SetBounds(Left,Top,Width,Height);
} }
begin begin
SetLength(ArrayGrpBox,Succ(iNumLpkFilesVisible)); SetLength(ArrayGrpBox, Succ(iNumLpkFilesVisible));
ArrayGrpBox[iNumLpkFilesVisible]:=TGroupBox.Create(Self); ArrayGrpBox[iNumLpkFilesVisible] := TGroupBox.Create(Self);
SetLength(ArrayLblPackageFileName,Succ(iNumLpkFilesVisible)); SetLength(ArrayLblPackageFileName, Succ(iNumLpkFilesVisible));
SetLength(ArrayEdtPackageFileName,Succ(iNumLpkFilesVisible)); SetLength(ArrayEdtPackageFileName, Succ(iNumLpkFilesVisible));
SetLength(ArrayLblPackageVersion,Succ(iNumLpkFilesVisible)); SetLength(ArrayLblPackageVersion, Succ(iNumLpkFilesVisible));
SetLength(ArraySpinEditV1,Succ(iNumLpkFilesVisible)); SetLength(ArraySpinEditV1, Succ(iNumLpkFilesVisible));
SetLength(ArraySpinEditV2,Succ(iNumLpkFilesVisible)); SetLength(ArraySpinEditV2, Succ(iNumLpkFilesVisible));
SetLength(ArraySpinEditV3,Succ(iNumLpkFilesVisible)); SetLength(ArraySpinEditV3, Succ(iNumLpkFilesVisible));
SetLength(ArraySpinEditV4,Succ(iNumLpkFilesVisible)); SetLength(ArraySpinEditV4, Succ(iNumLpkFilesVisible));
SetLength(ArrayChkBoxForceNotify,Succ(iNumLpkFilesVisible)); SetLength(ArrayChkBoxForceNotify, Succ(iNumLpkFilesVisible));
SetLength(ArrayLblPackageInternalVersion,Succ(iNumLpkFilesVisible)); SetLength(ArrayLblPackageInternalVersion, Succ(iNumLpkFilesVisible));
SetLength(ArraySpinEditInternalVersion,Succ(iNumLpkFilesVisible)); SetLength(ArraySpinEditInternalVersion, Succ(iNumLpkFilesVisible));
With ArrayGrpBox[iNumLpkFilesVisible] do with ArrayGrpBox[iNumLpkFilesVisible] do
begin begin
Caption:=Format('Package #%d Information',[Succ(iNumLpkFilesVisible)]); Caption := Format('Package #%d Information', [Succ(iNumLpkFilesVisible)]);
if (iNumLpkFilesVisible > 0) then if (iNumLpkFilesVisible > 0) then
SetBounds(8,ArrayGrpBox[Pred(iNumLpkFilesVisible)].Top + ArrayGrpBox[Pred(iNumLpkFilesVisible)].Height + 10,frmMain.Width - 16,100) SetBounds(8, ArrayGrpBox[Pred(iNumLpkFilesVisible)].Top +
else ArrayGrpBox[Pred(iNumLpkFilesVisible)].Height + 10, frmMain.Width - 16, 100)
SetBounds(8,btnAdd.Top + btnAdd.Height + 10,frmMain.Width - 16,100); else
Visible:=False; SetBounds(8, cmd_AddPackageFile.Top + cmd_AddPackageFile.Height + 10,
Tag:=Pred(iNumLpkFilesVisible); frmMain.Width - 16, 100);
// Label - Package name Visible := False;
ArrayLblPackageFileName[iNumLpkFilesVisible]:=TLabel.Create(Nil); Tag := Pred(iNumLpkFilesVisible);
With ArrayLblPackageFileName[iNumLpkFilesVisible] do // Label - Package name
begin ArrayLblPackageFileName[iNumLpkFilesVisible] := TLabel.Create(nil);
Caption:='Filename: '; with ArrayLblPackageFileName[iNumLpkFilesVisible] do
SetBounds(8,10,50,23); begin
Visible:=True; Caption := 'Filename: ';
Tag:=Pred(iNumLpkFilesVisible); SetBounds(8, 10, 50, 23);
OnMouseEnter:=@CtrlShowPopup; Visible := True;
OnMouseLeave := @CtrlHidePopup; Tag := Pred(iNumLpkFilesVisible);
OnClick := @CtrlHidePopup; OnMouseEnter := @CtrlShowPopup;
Hint:='Just the package filename e.g. package.lpk'; OnMouseLeave := @CtrlHidePopup;
Parent:=ArrayGrpBox[iNumLpkFilesVisible]; OnClick := @CtrlHidePopup;
end; Hint := 'Just the package filename e.g. package.lpk';
// EditBox - Package name Parent := ArrayGrpBox[iNumLpkFilesVisible];
ArrayEdtPackageFileName[iNumLpkFilesVisible]:=TEdit.Create(Nil); end;
With ArrayEdtPackageFileName[iNumLpkFilesVisible] do // EditBox - Package name
begin ArrayEdtPackageFileName[iNumLpkFilesVisible] := TEdit.Create(nil);
Text:=rsMypackagelpk; with ArrayEdtPackageFileName[iNumLpkFilesVisible] do
SetBounds(64,8,256,23); begin
Visible:=True; Text := rsMypackagelpk;
Tag:=Pred(iNumLpkFilesVisible); SetBounds(64, 8, 256, 23);
OnMouseEnter:=@CtrlShowPopup; Visible := True;
OnMouseLeave := @CtrlHidePopup; Tag := Pred(iNumLpkFilesVisible);
OnClick := @CtrlHidePopup; OnMouseEnter := @CtrlShowPopup;
OnEditingDone := @CtrlMakeDirty; OnMouseLeave := @CtrlHidePopup;
Hint:='Just the package filename e.g. package.lpk'; OnClick := @CtrlHidePopup;
Parent:=ArrayGrpBox[iNumLpkFilesVisible]; OnEditingDone := @CtrlMakeDirty;
end; Hint := 'Just the package filename e.g. package.lpk';
// Label - Package Version Parent := ArrayGrpBox[iNumLpkFilesVisible];
ArrayLblPackageVersion[iNumLpkFilesVisible]:=TLabel.Create(Nil); end;
With ArrayLblPackageVersion[iNumLpkFilesVisible] do // Label - Package Version
begin ArrayLblPackageVersion[iNumLpkFilesVisible] := TLabel.Create(nil);
Caption:='Version: '; with ArrayLblPackageVersion[iNumLpkFilesVisible] do
SetBounds(330,10,50,23); begin
Visible:=True; Caption := 'Version: ';
Tag:=Pred(iNumLpkFilesVisible); SetBounds(330, 10, 50, 23);
OnMouseEnter:=@CtrlShowPopup; Visible := True;
OnMouseLeave := @CtrlHidePopup; Tag := Pred(iNumLpkFilesVisible);
OnClick := @CtrlHidePopup; OnMouseEnter := @CtrlShowPopup;
Hint:='Format is: n.n.n.n'; OnMouseLeave := @CtrlHidePopup;
Parent:=ArrayGrpBox[iNumLpkFilesVisible]; OnClick := @CtrlHidePopup;
end; Hint := 'Format is: n.n.n.n';
// SpinEdit V1 Parent := ArrayGrpBox[iNumLpkFilesVisible];
ArraySpinEditV1[iNumLpkFilesVisible]:=TSpinEdit.Create(Nil); end;
With ArraySpinEditV1[iNumLpkFilesVisible] do // SpinEdit V1
begin ArraySpinEditV1[iNumLpkFilesVisible] := TSpinEdit.Create(nil);
Value:=0; with ArraySpinEditV1[iNumLpkFilesVisible] do
SetBounds(380,8,40,20); begin
Visible:=True; Value := 0;
Tag:=Pred(iNumLpkFilesVisible); SetBounds(380, 8, 40, 20);
OnMouseEnter := @CtrlShowPopup; Visible := True;
OnMouseLeave := @CtrlHidePopup; Tag := Pred(iNumLpkFilesVisible);
OnClick := @CtrlHidePopup; OnMouseEnter := @CtrlShowPopup;
OnChange :=@CtrlMakeDirty; OnMouseLeave := @CtrlHidePopup;
Hint:='Format is: n.n.n.n'; OnClick := @CtrlHidePopup;
Parent:=ArrayGrpBox[iNumLpkFilesVisible]; OnChange := @CtrlMakeDirty;
end; Hint := 'Format is: n.n.n.n';
// SpinEdit V2 Parent := ArrayGrpBox[iNumLpkFilesVisible];
ArraySpinEditV2[iNumLpkFilesVisible]:=TSpinEdit.Create(Nil); end;
With ArraySpinEditV2[iNumLpkFilesVisible] do // SpinEdit V2
begin ArraySpinEditV2[iNumLpkFilesVisible] := TSpinEdit.Create(nil);
Value:=0; with ArraySpinEditV2[iNumLpkFilesVisible] do
SetBounds(430,8,40,20); begin
Visible:=True; Value := 0;
Tag:=Pred(iNumLpkFilesVisible); SetBounds(430, 8, 40, 20);
Hint:='Format is: n.n.n.n'; Visible := True;
OnMouseEnter := @CtrlShowPopup; Tag := Pred(iNumLpkFilesVisible);
OnMouseLeave := @CtrlHidePopup; Hint := 'Format is: n.n.n.n';
OnClick := @CtrlHidePopup; OnMouseEnter := @CtrlShowPopup;
OnChange :=@CtrlMakeDirty; OnMouseLeave := @CtrlHidePopup;
Hint:='Format is: n.n.n.n'; OnClick := @CtrlHidePopup;
Parent:=ArrayGrpBox[iNumLpkFilesVisible]; OnChange := @CtrlMakeDirty;
end; Hint := 'Format is: n.n.n.n';
// SpinEdit V3 Parent := ArrayGrpBox[iNumLpkFilesVisible];
ArraySpinEditV3[iNumLpkFilesVisible]:=TSpinEdit.Create(Nil); end;
With ArraySpinEditV3[iNumLpkFilesVisible] do // SpinEdit V3
begin ArraySpinEditV3[iNumLpkFilesVisible] := TSpinEdit.Create(nil);
Value:=0; with ArraySpinEditV3[iNumLpkFilesVisible] do
SetBounds(480,8,40,20); begin
Visible:=True; Value := 0;
Tag:=Pred(iNumLpkFilesVisible); SetBounds(480, 8, 40, 20);
Hint:='Format is: n.n.n.n'; Visible := True;
OnMouseEnter := @CtrlShowPopup; Tag := Pred(iNumLpkFilesVisible);
OnMouseLeave := @CtrlHidePopup; Hint := 'Format is: n.n.n.n';
OnClick := @CtrlHidePopup; OnMouseEnter := @CtrlShowPopup;
OnChange :=@CtrlMakeDirty; OnMouseLeave := @CtrlHidePopup;
Hint:='Format is: n.n.n.n'; OnClick := @CtrlHidePopup;
Parent:=ArrayGrpBox[iNumLpkFilesVisible]; OnChange := @CtrlMakeDirty;
end; Hint := 'Format is: n.n.n.n';
// SpinEdit V4 Parent := ArrayGrpBox[iNumLpkFilesVisible];
ArraySpinEditV4[iNumLpkFilesVisible]:=TSpinEdit.Create(Nil); end;
With ArraySpinEditV4[iNumLpkFilesVisible] do // SpinEdit V4
begin ArraySpinEditV4[iNumLpkFilesVisible] := TSpinEdit.Create(nil);
Value:=0; with ArraySpinEditV4[iNumLpkFilesVisible] do
SetBounds(530,8,40,20); begin
Visible:=True; Value := 0;
Tag:=Pred(iNumLpkFilesVisible); SetBounds(530, 8, 40, 20);
Hint:='Format is: n.n.n.n'; Visible := True;
OnMouseEnter := @CtrlShowPopup; Tag := Pred(iNumLpkFilesVisible);
OnMouseLeave := @CtrlHidePopup; Hint := 'Format is: n.n.n.n';
OnClick := @CtrlHidePopup; OnMouseEnter := @CtrlShowPopup;
OnChange :=@CtrlMakeDirty; OnMouseLeave := @CtrlHidePopup;
Hint:='Format is: n.n.n.n'; OnClick := @CtrlHidePopup;
Parent:=ArrayGrpBox[iNumLpkFilesVisible]; OnChange := @CtrlMakeDirty;
end; Hint := 'Format is: n.n.n.n';
// ChkBox Notify Parent := ArrayGrpBox[iNumLpkFilesVisible];
ArrayChkBoxForceNotify[iNumLpkFilesVisible]:=TCheckBox.Create(Nil); end;
With ArrayChkBoxForceNotify[iNumLpkFilesVisible] do // ChkBox Notify
begin ArrayChkBoxForceNotify[iNumLpkFilesVisible] := TCheckBox.Create(nil);
Checked:=False; with ArrayChkBoxForceNotify[iNumLpkFilesVisible] do
Caption:='Notify Update'; begin
SetBounds(8,50,40,20); Checked := False;
Visible:=True; Caption := 'Notify Update';
Tag:=Pred(iNumLpkFilesVisible); SetBounds(8, 50, 40, 20);
OnMouseEnter:=@CtrlShowPopup; Visible := True;
OnMouseLeave := @CtrlHidePopup; Tag := Pred(iNumLpkFilesVisible);
OnClick := @CtrlHidePopup; OnMouseEnter := @CtrlShowPopup;
OnEditingDone := @CtrlMakeDirty; OnMouseLeave := @CtrlHidePopup;
Hint:='Check this if you don''t want to incrememt the version'; OnClick := @CtrlHidePopup;
Parent:=ArrayGrpBox[iNumLpkFilesVisible]; OnMouseUp := @ProcessNotify;
end; OnEditingDone := @CtrlMakeDirty;
// Label Internal version Hint := 'Check this if you don''t want to incrememt the package version';
ArrayLblPackageInternalVersion[iNumLpkFilesVisible]:=TLabel.Create(Nil); Parent := ArrayGrpBox[iNumLpkFilesVisible];
With ArrayLblPackageInternalVersion[iNumLpkFilesVisible] do end;
begin // Label Internal version
Caption:='Internal Version: '; ArrayLblPackageInternalVersion[iNumLpkFilesVisible] := TLabel.Create(nil);
SetBounds(160,50,40,23); with ArrayLblPackageInternalVersion[iNumLpkFilesVisible] do
Visible:=True; begin
Tag:=Pred(iNumLpkFilesVisible); Caption := 'Internal Version: ';
OnMouseEnter:=@CtrlShowPopup; SetBounds(160, 50, 40, 23);
OnMouseLeave := @CtrlHidePopup; Visible := True;
OnClick := @CtrlHidePopup; Tag := Pred(iNumLpkFilesVisible);
Hint:='Use in combination with Notify Update'; OnMouseEnter := @CtrlShowPopup;
Parent:=ArrayGrpBox[iNumLpkFilesVisible]; OnMouseLeave := @CtrlHidePopup;
end; OnClick := @CtrlHidePopup;
// SpinEdit Internal Version Hint := 'Use in combination with Notify Update';
ArraySpinEditInternalVersion[iNumLpkFilesVisible]:=TSpinEdit.Create(Nil); Parent := ArrayGrpBox[iNumLpkFilesVisible];
With ArraySpinEditInternalVersion[iNumLpkFilesVisible] do end;
begin // SpinEdit Internal Version
Value:=0; ArraySpinEditInternalVersion[iNumLpkFilesVisible] := TSpinEdit.Create(nil);
SetBounds(260,48,40,20); with ArraySpinEditInternalVersion[iNumLpkFilesVisible] do
Visible:=True; begin
Tag:=Pred(iNumLpkFilesVisible); Value := 1;
OnMouseEnter := @CtrlShowPopup; SetBounds(260, 48, 40, 20);
OnMouseLeave := @CtrlHidePopup; Visible := True;
OnClick := @CtrlHidePopup; Tag := Pred(iNumLpkFilesVisible);
OnChange :=@CtrlMakeDirty; OnMouseEnter := @CtrlShowPopup;
Hint:='Use in combination with Notify Update'; OnMouseLeave := @CtrlHidePopup;
Parent:=ArrayGrpBox[iNumLpkFilesVisible]; OnClick := @CtrlHidePopup;
end; OnChange := @CtrlMakeDirty;
// This sets the subcontrols up correctly Hint := 'Use in combination with Notify Update';
Parent := sbPackageFiles; Parent := ArrayGrpBox[iNumLpkFilesVisible];
end; end;
// This sets the subcontrols up correctly
Parent := sbPackageFiles;
end;
end; end;
procedure TfrmMain.RemoveLastControlArray; procedure TfrmMain.RemoveLastControlArray;
// Uses iLpkFilesCount // Uses iLpkFilesCount
Var iLast:Integer; var
iLast: integer;
begin begin
iLast:=High(ArrayGrpBox); iLast := High(ArrayGrpBox);
// Makes the group control invisible // Makes the group control invisible
ArrayGrpBox[iLast].Parent:=nil; ArrayGrpBox[iLast].Parent := nil;
// Tidy up memory // Tidy up memory
FreeAndNil(ArrayChkBoxForceNotify[iLast]); FreeAndNil(ArrayChkBoxForceNotify[iLast]);
FreeAndNil(ArrayLblPackageInternalVersion[iLast]); FreeAndNil(ArrayLblPackageInternalVersion[iLast]);
FreeAndNil(ArraySpinEditInternalVersion[iLast]); FreeAndNil(ArraySpinEditInternalVersion[iLast]);
FreeAndNil(ArraySpinEditV4[iLast]); FreeAndNil(ArraySpinEditV4[iLast]);
FreeAndNil(ArraySpinEditV3[iLast]); FreeAndNil(ArraySpinEditV3[iLast]);
FreeAndNil(ArraySpinEditV2[iLast]); FreeAndNil(ArraySpinEditV2[iLast]);
FreeAndNil(ArraySpinEditV1[iLast]); FreeAndNil(ArraySpinEditV1[iLast]);
FreeAndNil(ArrayLblPackageVersion[iLast]); FreeAndNil(ArrayLblPackageVersion[iLast]);
FreeAndNil(ArrayEdtPackageFileName[iLast]); FreeAndNil(ArrayEdtPackageFileName[iLast]);
FreeAndNil(ArrayLblPackageFileName[iLast]); FreeAndNil(ArrayLblPackageFileName[iLast]);
FreeAndNil(ArrayGrpBox[iLast]); FreeAndNil(ArrayGrpBox[iLast]);
// Tidy up control arrays // Tidy up control arrays
SetLength(ArrayChkBoxForceNotify,iLast); SetLength(ArrayChkBoxForceNotify, iLast);
SetLength(ArrayLblPackageInternalVersion,iLast); SetLength(ArrayLblPackageInternalVersion, iLast);
SetLength(ArraySpinEditInternalVersion,iLast); SetLength(ArraySpinEditInternalVersion, iLast);
SetLength(ArraySpinEditV4,iLast); SetLength(ArraySpinEditV4, iLast);
SetLength(ArraySpinEditV3,iLast); SetLength(ArraySpinEditV3, iLast);
SetLength(ArraySpinEditV2,iLast); SetLength(ArraySpinEditV2, iLast);
SetLength(ArraySpinEditV1,iLast); SetLength(ArraySpinEditV1, iLast);
SetLength(ArrayLblPackageVersion,iLast); SetLength(ArrayLblPackageVersion, iLast);
SetLength(ArrayEdtPackageFileName,iLast); SetLength(ArrayEdtPackageFileName, iLast);
SetLength(ArrayLblPackageFileName,iLast); SetLength(ArrayLblPackageFileName, iLast);
SetLength(ArrayGrpBox,iLast); SetLength(ArrayGrpBox, iLast);
end; end;
procedure TfrmMain.AddPackageFileToList; procedure TfrmMain.AddPackageFileToList;
@ -656,7 +654,7 @@ begin
AddNewControlArray; // make another one AddNewControlArray; // make another one
// Makes it visible // Makes it visible
ArrayGrpBox[High(ArrayGrpBox)].Visible:=TRUE; ArrayGrpBox[High(ArrayGrpBox)].Visible := True;
ArrayGrpBox[High(ArrayGrpBox)].Align := alTop; ArrayGrpBox[High(ArrayGrpBox)].Align := alTop;
Inc(iNumLpkFilesVisible); Inc(iNumLpkFilesVisible);
CtrlSetUpPopupHandlers; CtrlSetUpPopupHandlers;
@ -664,12 +662,14 @@ begin
end; end;
procedure TfrmMain.ResetPackageFileControlsToOne; procedure TfrmMain.ResetPackageFileControlsToOne;
Var iCount:Integer; var
iCount: integer;
begin begin
if (iNumLpkFilesVisible = 1) then exit; if (iNumLpkFilesVisible = 1) then
For iCount:=iNumLpkFilesVisible downto 1 do exit;
for iCount := iNumLpkFilesVisible downto 1 do
begin begin
RemovePackageFileFromList; RemovePackageFileFromList;
end; end;
end; end;
@ -693,38 +693,39 @@ begin
Result := False; Result := False;
TempStringList := TStringList.Create; TempStringList := TStringList.Create;
try try
For iCount := 0 to High(ArrayEdtPackageFileName) do for iCount := 0 to High(ArrayEdtPackageFileName) do
begin begin
if TempStringlist.IndexOf(ArrayEdtPackageFileName[iCount].Text) = -1 then if TempStringlist.IndexOf(ArrayEdtPackageFileName[iCount].Text) = -1 then
TempStringList.Add(ArrayEdtPackageFileName[iCount].Text) TempStringList.Add(ArrayEdtPackageFileName[iCount].Text)
else else
Result := True; Result := True;
end; end;
finally finally
TempStringList.Free; TempStringList.Free;
end; end;
end; end;
procedure TfrmMain.btnAddClick(Sender: TObject); procedure TfrmMain.ProcessNotify(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: integer);
begin
if not bShowPopupHints then
exit;
popup_hint.Text := rsThisOptionSh;
popup_hint.Title := rsHelpAndInfor;
popup_hint.Text := popup_hint.Text;
popup_hint.showatpos(Mouse.CursorPos.X, Mouse.CursorPos.Y);
end;
procedure TfrmMain.cmd_AddPackageFileClick(Sender: TObject);
begin begin
AddPackageFileToList; AddPackageFileToList;
end; end;
procedure TfrmMain.btnRemoveClick(Sender: TObject); procedure TfrmMain.cmd_RemoveLastPackageFileClick(Sender: TObject);
begin begin
RemovePackageFileFromList; RemovePackageFileFromList;
end; end;
procedure TfrmMain.cbForceNotifyMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: integer);
begin
end;
procedure TfrmMain.cmd_CloseClick(Sender: TObject);
begin
end;
procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: boolean); procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: boolean);
begin begin
CanClose := True; CanClose := True;
@ -763,24 +764,21 @@ var
iIniCount: integer; iIniCount: integer;
begin begin
// Enable AutoSize again to get correct Height // Enable AutoSize again to get correct Height
editName.AutoSize := True; edt_UpdateZipName.AutoSize := True;
editDownloadZipURL.AutoSize := True; edt_DownloadZipURL.AutoSize := True;
// Furniture // Furniture
Caption := Application.Title; Caption := Application.Title;
Icon := Application.Icon; Icon := Application.Icon;
{ Height:=btnAdd.Top + btnAdd.Height + (cmd_Save.Height * 3);
cmd_Save.Top:=Height - cmd_Save.Height - cmd_Save.Height;
cmd_Close.Top:=Height - cmd_Close.Height - cmd_Close.Height;}
{$IFNDEF IGNOREPICTURE} {$IFNDEF IGNOREPICTURE}
MyPopup.Icon := TPicture(Application.Icon); popup_hint.Icon := TPicture(Application.Icon);
{$ENDIF} {$ENDIF}
editname.Text := rsMypackagenam; edt_UpdateZipName.Text := rsMypackagenam;
editDownloadZipURL.Text := rsHttpWwwUpdat; edt_DownloadZipURL.Text := rsHttpWwwUpdat;
// Defaults // Defaults
slErrorList := TStringList.Create; slErrorList := TStringList.Create;
bForceSaveAs := True; bForceSaveAs := True;
bShowPopupHints := True; bShowPopupHints := True;
iNumLpkFilesVisible:=0; iNumLpkFilesVisible := 0;
// Encourage the user to maintain an updates folder // Encourage the user to maintain an updates folder
sUpdateDirectory := ProgramDirectory + 'updates'; sUpdateDirectory := ProgramDirectory + 'updates';
if not FileExistsUTF8(sUpdateDirectory) then if not FileExistsUTF8(sUpdateDirectory) then
@ -852,21 +850,26 @@ begin
try try
if JSONPackage.LoadFromFile(FileOpen1.Dialog.FileName) then if JSONPackage.LoadFromFile(FileOpen1.Dialog.FileName) then
begin begin
editName.Text := JSONPackage.UpdatePackageData.Name; edt_UpdateZipName.Text := JSONPackage.UpdatePackageData.Name;
editDownloadZipURL.Text := JSONPackage.UpdatePackageData.DownloadZipURL; edt_DownloadZipURL.Text := JSONPackage.UpdatePackageData.DownloadZipURL;
for i := 0 to JSONPackage.UpdatePackageFiles.Count - 1 do for i := 0 to JSONPackage.UpdatePackageFiles.Count - 1 do
begin begin
If (i > 0) then AddPackageFileToList; if (i > 0) then
ArrayEdtPackageFileName[i].Text:=JSONPackage.UpdatePackageFiles.Items[i].Name; AddPackageFileToList;
If fileinfo.TryStrToVersionQuad(JSONPackage.UpdatePackageFiles.Items[i].Version,Quad) then ArrayEdtPackageFileName[i].Text :=
JSONPackage.UpdatePackageFiles.Items[i].Name;
if fileinfo.TryStrToVersionQuad(
JSONPackage.UpdatePackageFiles.Items[i].Version, Quad) then
begin begin
ArraySpinEditV1[i].Value:=Quad[1]; ArraySpinEditV1[i].Value := Quad[1];
ArraySpinEditV2[i].Value:=Quad[2]; ArraySpinEditV2[i].Value := Quad[2];
ArraySpinEditV3[i].Value:=Quad[3]; ArraySpinEditV3[i].Value := Quad[3];
ArraySpinEditV4[i].Value:=Quad[4]; ArraySpinEditV4[i].Value := Quad[4];
end; end;
ArrayChkBoxForceNotify[i].Checked:=JSONPackage.UpdatePackageFiles.Items[i].ForceNotify; ArrayChkBoxForceNotify[i].Checked :=
ArraySpinEditInternalVersion[i].Value:=JSONPackage.UpdatePackageFiles.Items[i].InternalVersion; JSONPackage.UpdatePackageFiles.Items[i].ForceNotify;
ArraySpinEditInternalVersion[i].Value :=
JSONPackage.UpdatePackageFiles.Items[i].InternalVersion;
end; end;
if ValidationFailed then if ValidationFailed then
begin begin
@ -897,18 +900,18 @@ end;
procedure TfrmMain.mnu_fileNewClick(Sender: TObject); procedure TfrmMain.mnu_fileNewClick(Sender: TObject);
begin begin
editname.Text := rsMypackagenam; edt_UpdateZipName.Text := rsMypackagenam;
editDownloadZipURL.Text := rsHttpWwwUpdat; edt_DownloadZipURL.Text := rsHttpWwwUpdat;
sJSONFilePath := ''; sJSONFilePath := '';
sZipDirectory := ''; sZipDirectory := '';
ResetPackageFileControlsToOne; ResetPackageFileControlsToOne;
ArrayEdtPackageFileName[0].Text:=rsMypackagelpk; ArrayEdtPackageFileName[0].Text := rsMypackagelpk;
ArraySpinEditV1[0].Value:=0; ArraySpinEditV1[0].Value := 0;
ArraySpinEditV2[0].Value:=0; ArraySpinEditV2[0].Value := 0;
ArraySpinEditV3[0].Value:=0; ArraySpinEditV3[0].Value := 0;
ArraySpinEditV4[0].Value:=0; ArraySpinEditV4[0].Value := 0;
ArrayChkBoxForceNotify[0].Checked:=False; ArrayChkBoxForceNotify[0].Checked := False;
ArraySpinEditInternalVersion[0].Value:=0; ArraySpinEditInternalVersion[0].Value := 0;
end; end;
procedure TfrmMain.mnu_fileSaveClick(Sender: TObject); procedure TfrmMain.mnu_fileSaveClick(Sender: TObject);
@ -1011,56 +1014,57 @@ var
begin begin
Result := False; Result := False;
// Check Zipname and URL http:// length // Check Zipname and URL http:// length
if (Length(editName.Text) < 5) then if (Length(edt_UpdateZipName.Text) < 5) then
begin begin
editName.Color := clYellow; edt_UpdateZipName.Color := clYellow;
slErrorList.Add(rsUpdateZipNam); slErrorList.Add(rsUpdateZipNam);
Result := True; Result := True;
end; end;
// URL implausable? // URL implausable?
if (Length(editDownloadZipURL.Text) < 10) then if (Length(edt_DownloadZipURL.Text) < 10) then
begin begin
slErrorList.Add(rsDownloadZipURLI); slErrorList.Add(rsDownloadZipURLI);
editDownloadZipURL.Color := clYellow; edt_DownloadZipURL.Color := clYellow;
Result := True; Result := True;
end; end;
// Remembered to type 'zip'? // Remembered to type 'zip'?
if (Length(editName.Text) > 4) then if (Length(edt_UpdateZipName.Text) > 4) then
if (RightStr(LowerCase(editName.Text), 4) <> '.zip') then if (RightStr(LowerCase(edt_UpdateZipName.Text), 4) <> '.zip') then
begin begin
slErrorList.Add(rsUpdateZipNam2); slErrorList.Add(rsUpdateZipNam2);
editName.Color := clYellow; edt_UpdateZipName.Color := clYellow;
Result := True; Result := True;
end; end;
// A full URL? // A full URL?
if ((Length(editDownloadZipURL.Text) > 0) and if ((Length(edt_DownloadZipURL.Text) > 0) and
(RightStr(editDownloadZipURL.Text, 1) = '/')) then (RightStr(edt_DownloadZipURL.Text, 1) = '/')) then
begin begin
slErrorList.Add(rsDownloadZipURLI2); slErrorList.Add(rsDownloadZipURLI2);
editDownloadZipURL.Color := clYellow; edt_DownloadZipURL.Color := clYellow;
Result := True; Result := True;
end; end;
// URL starts with 'http' ? // URL starts with 'http' ?
if ((Length(editDownloadZipURL.Text) > 4) and if ((Length(edt_DownloadZipURL.Text) > 4) and
(LeftStr(LowerCase(editDownloadZipURL.Text), 4) <> 'http')) then (LeftStr(LowerCase(edt_DownloadZipURL.Text), 4) <> 'http')) then
begin begin
slErrorList.Add(rsDownloadZipURLS); slErrorList.Add(rsDownloadZipURLS);
editDownloadZipURL.Color := clYellow; edt_DownloadZipURL.Color := clYellow;
Result := True; Result := True;
end; end;
// URL contains zipfile name? // URL contains zipfile name?
if (Pos(Lowercase(editName.Text), Lowercase(editDownloadZipURL.Text)) = 0) then if (Pos(Lowercase(edt_UpdateZipName.Text),
Lowercase(edt_DownloadZipURL.Text)) = 0) then
begin begin
slErrorList.Add(rsDownloadZipURLD); slErrorList.Add(rsDownloadZipURLD);
editDownloadZipURL.Color := clYellow; edt_DownloadZipURL.Color := clYellow;
Result := True; Result := True;
end; end;
// Check package files entries // Check package files entries
For iCount:=0 to High(ArrayGrpBox) do for iCount := 0 to High(ArrayGrpBox) do
begin begin
// Is package name empty? // Is package name empty?
If Length(ArrayEdtPackageFileName[iCount].Text)=0 then if Length(ArrayEdtPackageFileName[iCount].Text) = 0 then
begin begin
slErrorList.Add(Format(rsTheLpkEntryD2, [Succ(iCount)])); slErrorList.Add(Format(rsTheLpkEntryD2, [Succ(iCount)]));
ArrayEdtPackageFileName[iCount].Color := clYellow; ArrayEdtPackageFileName[iCount].Color := clYellow;
@ -1074,19 +1078,26 @@ begin
Result := True; Result := True;
end; end;
// Is the version number zero // Is the version number zero
If (ArraySpinEditV1[iCount].Value = 0) if (ArraySpinEditV1[iCount].Value = 0) and
AND (ArraySpinEditV2[iCount].Value = 0) (ArraySpinEditV2[iCount].Value = 0) and
AND (ArraySpinEditV3[iCount].Value = 0) (ArraySpinEditV3[iCount].Value = 0) and
AND (ArraySpinEditV4[iCount].Value = 0) (ArraySpinEditV4[iCount].Value = 0) then
then begin
begin slErrorList.Add(Format('Version for package %d is zero', [Succ(iCount)]));
slErrorList.Add(Format('Version for package %d is zero', [Succ(iCount)])); ArraySpinEditV1[iCount].Color := clYellow;
ArraySpinEditV1[iCount].Color := clYellow; ArraySpinEditV2[iCount].Color := clYellow;
ArraySpinEditV2[iCount].Color := clYellow; ArraySpinEditV3[iCount].Color := clYellow;
ArraySpinEditV3[iCount].Color := clYellow; ArraySpinEditV4[iCount].Color := clYellow;
ArraySpinEditV4[iCount].Color := clYellow; Result := True;
Result := True; end;
end; // Check Forcenotify version isn't zero
If ArrayChkBoxForceNotify[iCount].Checked = TRUE then
If ArraySpinEditInternalVersion[iCount].Value = 0 then
begin
ArraySpinEditInternalVersion[iCount].Color := clYellow;
slErrorList.Add(Format('Internal version number should not be Zero%s', [LineEnding]));
Result := True;
end;
// Check for duplicate .lpk entries // Check for duplicate .lpk entries
if FoundADuplicateLPK then if FoundADuplicateLPK then
begin begin
@ -1100,7 +1111,7 @@ end;
procedure TfrmMain.SaveAsItemClick(Sender: TObject); procedure TfrmMain.SaveAsItemClick(Sender: TObject);
var var
i: integer; i: integer;
Quad:TVersionQuad; Quad: TVersionQuad;
begin begin
if ValidationFailed then if ValidationFailed then
begin begin
@ -1116,7 +1127,7 @@ begin
begin begin
FileSaveAs1.Dialog.InitialDir := sUpdateDirectory; FileSaveAs1.Dialog.InitialDir := sUpdateDirectory;
FileSaveAs1.Dialog.FileName := FileSaveAs1.Dialog.FileName :=
'update_' + ExtractFilenameOnly(editName.Text) + '.json'; 'update_' + ExtractFilenameOnly(edt_UpdateZipName.Text) + '.json';
if FileSaveAs1.Dialog.Execute then if FileSaveAs1.Dialog.Execute then
sJSONFilePath := FileSaveAs1.Dialog.FileName sJSONFilePath := FileSaveAs1.Dialog.FileName
else else
@ -1125,21 +1136,21 @@ begin
JSONPackage := TUpdatePackage.Create; JSONPackage := TUpdatePackage.Create;
try try
JSONPackage.UpdatePackageData.Name := editName.Text; JSONPackage.UpdatePackageData.Name := edt_UpdateZipName.Text;
JSONPackage.UpdatePackageData.DownloadZipURL := editDownloadZipURL.Text; JSONPackage.UpdatePackageData.DownloadZipURL := edt_DownloadZipURL.Text;
For i:=0 to High(ArrayGrpBox) do for i := 0 to High(ArrayGrpBox) do
begin begin
with JSONPackage.UpdatePackageFiles.Add do with JSONPackage.UpdatePackageFiles.Add do
begin begin
Name:=ArrayEdtPackageFileName[i].Text; Name := ArrayEdtPackageFileName[i].Text;
Quad[1]:=ArraySpinEditV1[i].Value; Quad[1] := ArraySpinEditV1[i].Value;
Quad[2]:=ArraySpinEditV2[i].Value; Quad[2] := ArraySpinEditV2[i].Value;
Quad[3]:=ArraySpinEditV3[i].Value; Quad[3] := ArraySpinEditV3[i].Value;
Quad[4]:=ArraySpinEditV4[i].Value; Quad[4] := ArraySpinEditV4[i].Value;
Version:=VersionQuadToStr(Quad); Version := VersionQuadToStr(Quad);
ForceNotify:=ArrayChkBoxForceNotify[i].Checked; ForceNotify := ArrayChkBoxForceNotify[i].Checked;
InternalVersion:=ArraySpinEditInternalVersion[i].Value; InternalVersion := ArraySpinEditInternalVersion[i].Value;
end; end;
end; end;
if FileExistsUTF8(sJSONFilePath) and (bDisableWarnings = False) then if FileExistsUTF8(sJSONFilePath) and (bDisableWarnings = False) then
begin begin
@ -1172,7 +1183,7 @@ begin
sZipDirectory := ExtractFileDir(FileOpen1.Dialog.Filename); sZipDirectory := ExtractFileDir(FileOpen1.Dialog.Filename);
CFG.WriteString('Options', 'LastLoadedZipPath', sZipDirectory); CFG.WriteString('Options', 'LastLoadedZipPath', sZipDirectory);
s := ExtractFileName(FileOpen1.Dialog.Filename); s := ExtractFileName(FileOpen1.Dialog.Filename);
editName.Text := s; edt_UpdateZipName.Text := s;
if MessageDlg(Format(rsWouldYouLike, [s, sUpdateDirectory]), if MessageDlg(Format(rsWouldYouLike, [s, sUpdateDirectory]),
mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes then mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes then
begin begin
@ -1190,7 +1201,7 @@ procedure TfrmMain.spd_CheckURLClick(Sender: TObject);
var var
bTemp: boolean; bTemp: boolean;
begin begin
if OpenURL(editDownloadZipURL.Text) then if OpenURL(edt_DownloadZipURL.Text) then
begin begin
bTemp := bShowPopupHints; bTemp := bShowPopupHints;
bShowPopupHints := True; bShowPopupHints := True;