pas2js: added TMultiProjectPas2JSWebApp

This commit is contained in:
mattias 2022-04-18 10:27:20 +02:00
parent 7da59fbd6c
commit f54488e9b9
11 changed files with 492 additions and 323 deletions

View File

@ -23,11 +23,6 @@ msgstr "Répertoire des modèles de paquets Atom"
msgid "Browse" msgid "Browse"
msgstr "Parcourir" msgstr "Parcourir"
#: strpas2jsdesign.pjsdbrowsertoopenhtmlpage
msgctxt "strpas2jsdesign.pjsdbrowsertoopenhtmlpage"
msgid "Browser to open HTML page, macro $(Pas2JSBrowser)"
msgstr "Navigateur pour ouvrir la page HTML, macro $(Pas2JSBrowser)"
#: strpas2jsdesign.pjsdbtnselectfile #: strpas2jsdesign.pjsdbtnselectfile
msgid "Select the file" msgid "Select the file"
msgstr "" msgstr ""
@ -45,6 +40,10 @@ msgstr "Créer la page initiale HTML"
msgid "directory \"%s\" not found" msgid "directory \"%s\" not found"
msgstr "répertoire \"%s\" non trouvé" msgstr "répertoire \"%s\" non trouvé"
#: strpas2jsdesign.pjsderror
msgid "Error"
msgstr ""
#: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js #: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js
msgid "filename does not start with \"pas2js\"" msgid "filename does not start with \"pas2js\""
msgstr "le nom de fichier ne commence pas par \"pas2js\"" msgstr "le nom de fichier ne commence pas par \"pas2js\""
@ -103,6 +102,10 @@ msgstr "Paquet Atom"
msgid "A pas2js program running as Atom package." msgid "A pas2js program running as Atom package."
msgstr "Un programme pas2js exécuté en tant que paquet Atom." msgstr "Un programme pas2js exécuté en tant que paquet Atom."
#: strpas2jsdesign.pjsdnewprojectfile
msgid "New project file"
msgstr ""
#: strpas2jsdesign.pjsdnewvscodeextension #: strpas2jsdesign.pjsdnewvscodeextension
msgid "Visual Studio Code extension" msgid "Visual Studio Code extension"
msgstr "Extension de code Visual Studio" msgstr "Extension de code Visual Studio"
@ -123,6 +126,14 @@ msgstr "Application Node.js"
msgid "NodeJS project options" msgid "NodeJS project options"
msgstr "Options du projet NodeJS" msgstr "Options du projet NodeJS"
#: strpas2jsdesign.pjsdoverwrite
msgid "Overwrite?"
msgstr ""
#: strpas2jsdesign.pjsdoverwritefiles
msgid "Overwrite files:"
msgstr ""
#: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions #: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions
msgid "Pas2JS Browser project options" msgid "Pas2JS Browser project options"
msgstr "Options du projet de navigateur Pas2JS" msgstr "Options du projet de navigateur Pas2JS"
@ -153,6 +164,10 @@ msgctxt "strpas2jsdesign.pjsdpathofxmacropas2js"
msgid "Path of %s, macro $(pas2js)" msgid "Path of %s, macro $(pas2js)"
msgstr "Chemin de %s, macro $(pas2js)" msgstr "Chemin de %s, macro $(pas2js)"
#: strpas2jsdesign.pjsdpleasechooseafilewithfullpath
msgid "Please choose a file with full path."
msgstr ""
#: strpas2jsdesign.pjsdportnumbertostartallocatingfrom #: strpas2jsdesign.pjsdportnumbertostartallocatingfrom
msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)" msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)"
msgstr "Numéro de port pour l'allocation, macro $(Pas2JSWebServerPort)" msgstr "Numéro de port pour l'allocation, macro $(Pas2JSWebServerPort)"
@ -173,6 +188,10 @@ msgstr "Page du projet HTML :"
msgid "Project is a Web Browser (pas2js) project" msgid "Project is a Web Browser (pas2js) project"
msgstr "Le projet est un projet de navigateur Web (pas2js)" msgstr "Le projet est un projet de navigateur Web (pas2js)"
#: strpas2jsdesign.pjsdprojectpascalfile
msgid "Project Pascal file"
msgstr ""
#: strpas2jsdesign.pjsdresetcompilecommand #: strpas2jsdesign.pjsdresetcompilecommand
msgid "Reset Compile command" msgid "Reset Compile command"
msgstr "Réinitialiser la commande de compilation" msgstr "Réinitialiser la commande de compilation"
@ -245,10 +264,6 @@ msgstr "Utiliser l'unité de la console du navigateur pour afficher la sortie wr
msgid "Use NodeJS Application object" msgid "Use NodeJS Application object"
msgstr "Utiliser l'objet application NodeJS" msgstr "Utiliser l'objet application NodeJS"
#: strpas2jsdesign.pjsdusethisbrowserwhenopeningtheurlorhtmlfileofawebbro
msgid "Use this browser when opening the URL or HTML file of a web browser project"
msgstr "Utiliser ce navigateur lors de l'ouverture de l'URL ou du fichier HTML d'un projet de navigateur Web"
#: strpas2jsdesign.pjsdusethisurltostartapplication #: strpas2jsdesign.pjsdusethisurltostartapplication
msgid "Use this URL to start application" msgid "Use this URL to start application"
msgstr "Utiliser cette URL pour démarrer l'application" msgstr "Utiliser cette URL pour démarrer l'application"
@ -273,8 +288,8 @@ msgstr "Application navigateur Web"
msgid "Web Project (pas2js)" msgid "Web Project (pas2js)"
msgstr "Projet Web (pas2js)" msgstr "Projet Web (pas2js)"
#: strpas2jsdesign.pjsdwebserveroptions #: strpas2jsdesign.pjsdwebserverandbrowseroptions
msgid "Web server options" msgid "Web server and browser options"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea #: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea

View File

@ -23,11 +23,6 @@ msgstr ""
msgid "Browse" msgid "Browse"
msgstr "Böngészés" msgstr "Böngészés"
#: strpas2jsdesign.pjsdbrowsertoopenhtmlpage
msgctxt "strpas2jsdesign.pjsdbrowsertoopenhtmlpage"
msgid "Browser to open HTML page, macro $(Pas2JSBrowser)"
msgstr "Böngésző a HTML lapok megnyitásához, makró $(Pas2JSBrowser)"
#: strpas2jsdesign.pjsdbtnselectfile #: strpas2jsdesign.pjsdbtnselectfile
msgid "Select the file" msgid "Select the file"
msgstr "" msgstr ""
@ -45,6 +40,10 @@ msgstr "Kezdő HTML lap létrehozása"
msgid "directory \"%s\" not found" msgid "directory \"%s\" not found"
msgstr "a(z) \"%s\" könyvtár nem található" msgstr "a(z) \"%s\" könyvtár nem található"
#: strpas2jsdesign.pjsderror
msgid "Error"
msgstr ""
#: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js #: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js
msgid "filename does not start with \"pas2js\"" msgid "filename does not start with \"pas2js\""
msgstr "a fájlnév eleje nem \"pas2js\"" msgstr "a fájlnév eleje nem \"pas2js\""
@ -103,6 +102,10 @@ msgstr ""
msgid "A pas2js program running as Atom package." msgid "A pas2js program running as Atom package."
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdnewprojectfile
msgid "New project file"
msgstr ""
#: strpas2jsdesign.pjsdnewvscodeextension #: strpas2jsdesign.pjsdnewvscodeextension
msgid "Visual Studio Code extension" msgid "Visual Studio Code extension"
msgstr "" msgstr ""
@ -125,6 +128,14 @@ msgstr "Node.js alkalmazás"
msgid "NodeJS project options" msgid "NodeJS project options"
msgstr "NodeJS projekt beállítások" msgstr "NodeJS projekt beállítások"
#: strpas2jsdesign.pjsdoverwrite
msgid "Overwrite?"
msgstr ""
#: strpas2jsdesign.pjsdoverwritefiles
msgid "Overwrite files:"
msgstr ""
#: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions #: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions
msgid "Pas2JS Browser project options" msgid "Pas2JS Browser project options"
msgstr "Pas2JS projekt beállítások" msgstr "Pas2JS projekt beállítások"
@ -155,6 +166,10 @@ msgctxt "strpas2jsdesign.pjsdpathofxmacropas2js"
msgid "Path of %s, macro $(pas2js)" msgid "Path of %s, macro $(pas2js)"
msgstr "%s útvonala, makró $(pas2js)" msgstr "%s útvonala, makró $(pas2js)"
#: strpas2jsdesign.pjsdpleasechooseafilewithfullpath
msgid "Please choose a file with full path."
msgstr ""
#: strpas2jsdesign.pjsdportnumbertostartallocatingfrom #: strpas2jsdesign.pjsdportnumbertostartallocatingfrom
msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)" msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)"
msgstr "A portok lefoglalása e porttól kezdődik, makró $(Pas2JSWebServerPort)" msgstr "A portok lefoglalása e porttól kezdődik, makró $(Pas2JSWebServerPort)"
@ -175,6 +190,10 @@ msgstr "A projekt HTML lapja:"
msgid "Project is a Web Browser (pas2js) project" msgid "Project is a Web Browser (pas2js) project"
msgstr "A projekt egy webböngészős (pas2js) projekt" msgstr "A projekt egy webböngészős (pas2js) projekt"
#: strpas2jsdesign.pjsdprojectpascalfile
msgid "Project Pascal file"
msgstr ""
#: strpas2jsdesign.pjsdresetcompilecommand #: strpas2jsdesign.pjsdresetcompilecommand
msgid "Reset Compile command" msgid "Reset Compile command"
msgstr "A fordítás parancs alaphelyzetbe állítása" msgstr "A fordítás parancs alaphelyzetbe állítása"
@ -247,10 +266,6 @@ msgstr "Böngészőkonzol használata a writeln() kimenet megjelenítésére"
msgid "Use NodeJS Application object" msgid "Use NodeJS Application object"
msgstr "NodeJS alkalmazásobjektum használata" msgstr "NodeJS alkalmazásobjektum használata"
#: strpas2jsdesign.pjsdusethisbrowserwhenopeningtheurlorhtmlfileofawebbro
msgid "Use this browser when opening the URL or HTML file of a web browser project"
msgstr "Ez a böngésző legyen használva amikor egy böngészős projekt URL-je vagy HTML lapja megnyitásra kerül"
#: strpas2jsdesign.pjsdusethisurltostartapplication #: strpas2jsdesign.pjsdusethisurltostartapplication
msgid "Use this URL to start application" msgid "Use this URL to start application"
msgstr "Az alkalmazás indításához ezt az URL-t használja" msgstr "Az alkalmazás indításához ezt az URL-t használja"
@ -277,8 +292,8 @@ msgstr "Webböngésző alkalmazás"
msgid "Web Project (pas2js)" msgid "Web Project (pas2js)"
msgstr "Web projekt (pas2js)" msgstr "Web projekt (pas2js)"
#: strpas2jsdesign.pjsdwebserveroptions #: strpas2jsdesign.pjsdwebserverandbrowseroptions
msgid "Web server options" msgid "Web server and browser options"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea #: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea

View File

@ -13,11 +13,6 @@ msgstr ""
msgid "Browse" msgid "Browse"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdbrowsertoopenhtmlpage
msgctxt "strpas2jsdesign.pjsdbrowsertoopenhtmlpage"
msgid "Browser to open HTML page, macro $(Pas2JSBrowser)"
msgstr ""
#: strpas2jsdesign.pjsdbtnselectfile #: strpas2jsdesign.pjsdbtnselectfile
msgid "Select the file" msgid "Select the file"
msgstr "" msgstr ""
@ -35,6 +30,10 @@ msgstr ""
msgid "directory \"%s\" not found" msgid "directory \"%s\" not found"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsderror
msgid "Error"
msgstr ""
#: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js #: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js
msgid "filename does not start with \"pas2js\"" msgid "filename does not start with \"pas2js\""
msgstr "" msgstr ""
@ -93,6 +92,10 @@ msgstr ""
msgid "A pas2js program running as Atom package." msgid "A pas2js program running as Atom package."
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdnewprojectfile
msgid "New project file"
msgstr ""
#: strpas2jsdesign.pjsdnewvscodeextension #: strpas2jsdesign.pjsdnewvscodeextension
msgid "Visual Studio Code extension" msgid "Visual Studio Code extension"
msgstr "" msgstr ""
@ -113,6 +116,14 @@ msgstr ""
msgid "NodeJS project options" msgid "NodeJS project options"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdoverwrite
msgid "Overwrite?"
msgstr ""
#: strpas2jsdesign.pjsdoverwritefiles
msgid "Overwrite files:"
msgstr ""
#: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions #: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions
msgid "Pas2JS Browser project options" msgid "Pas2JS Browser project options"
msgstr "" msgstr ""
@ -143,6 +154,10 @@ msgctxt "strpas2jsdesign.pjsdpathofxmacropas2js"
msgid "Path of %s, macro $(pas2js)" msgid "Path of %s, macro $(pas2js)"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdpleasechooseafilewithfullpath
msgid "Please choose a file with full path."
msgstr ""
#: strpas2jsdesign.pjsdportnumbertostartallocatingfrom #: strpas2jsdesign.pjsdportnumbertostartallocatingfrom
msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)" msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)"
msgstr "" msgstr ""
@ -163,6 +178,10 @@ msgstr ""
msgid "Project is a Web Browser (pas2js) project" msgid "Project is a Web Browser (pas2js) project"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdprojectpascalfile
msgid "Project Pascal file"
msgstr ""
#: strpas2jsdesign.pjsdresetcompilecommand #: strpas2jsdesign.pjsdresetcompilecommand
msgid "Reset Compile command" msgid "Reset Compile command"
msgstr "" msgstr ""
@ -233,10 +252,6 @@ msgstr ""
msgid "Use NodeJS Application object" msgid "Use NodeJS Application object"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdusethisbrowserwhenopeningtheurlorhtmlfileofawebbro
msgid "Use this browser when opening the URL or HTML file of a web browser project"
msgstr ""
#: strpas2jsdesign.pjsdusethisurltostartapplication #: strpas2jsdesign.pjsdusethisurltostartapplication
msgid "Use this URL to start application" msgid "Use this URL to start application"
msgstr "" msgstr ""
@ -261,8 +276,8 @@ msgstr ""
msgid "Web Project (pas2js)" msgid "Web Project (pas2js)"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdwebserveroptions #: strpas2jsdesign.pjsdwebserverandbrowseroptions
msgid "Web server options" msgid "Web server and browser options"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea #: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea

View File

@ -23,11 +23,6 @@ msgstr "Diretório de modelos de pacote do Atom"
msgid "Browse" msgid "Browse"
msgstr "Navegar" msgstr "Navegar"
#: strpas2jsdesign.pjsdbrowsertoopenhtmlpage
msgctxt "strpas2jsdesign.pjsdbrowsertoopenhtmlpage"
msgid "Browser to open HTML page, macro $(Pas2JSBrowser)"
msgstr "Navegador para abrir páginas HTML, macro $(Pas2JSBrowser)"
#: strpas2jsdesign.pjsdbtnselectfile #: strpas2jsdesign.pjsdbtnselectfile
msgid "Select the file" msgid "Select the file"
msgstr "" msgstr ""
@ -45,6 +40,10 @@ msgstr "Criar página HTML inicial"
msgid "directory \"%s\" not found" msgid "directory \"%s\" not found"
msgstr "diretório \"%s\" não encontrado" msgstr "diretório \"%s\" não encontrado"
#: strpas2jsdesign.pjsderror
msgid "Error"
msgstr ""
#: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js #: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js
msgid "filename does not start with \"pas2js\"" msgid "filename does not start with \"pas2js\""
msgstr "nome de arquivo não se inicia com \"pas2js\"" msgstr "nome de arquivo não se inicia com \"pas2js\""
@ -103,6 +102,10 @@ msgstr "Pacote Atom"
msgid "A pas2js program running as Atom package." msgid "A pas2js program running as Atom package."
msgstr "Um programa pas2js executando como um pacote Atom" msgstr "Um programa pas2js executando como um pacote Atom"
#: strpas2jsdesign.pjsdnewprojectfile
msgid "New project file"
msgstr ""
#: strpas2jsdesign.pjsdnewvscodeextension #: strpas2jsdesign.pjsdnewvscodeextension
msgid "Visual Studio Code extension" msgid "Visual Studio Code extension"
msgstr "Extensão de código do Visual Studio" msgstr "Extensão de código do Visual Studio"
@ -125,6 +128,14 @@ msgstr "Aplicação Node.js"
msgid "NodeJS project options" msgid "NodeJS project options"
msgstr "Opções de projeto NodeJS" msgstr "Opções de projeto NodeJS"
#: strpas2jsdesign.pjsdoverwrite
msgid "Overwrite?"
msgstr ""
#: strpas2jsdesign.pjsdoverwritefiles
msgid "Overwrite files:"
msgstr ""
#: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions #: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions
msgid "Pas2JS Browser project options" msgid "Pas2JS Browser project options"
msgstr "Navegador de opções de projeto Pas2JS" msgstr "Navegador de opções de projeto Pas2JS"
@ -155,6 +166,10 @@ msgctxt "strpas2jsdesign.pjsdpathofxmacropas2js"
msgid "Path of %s, macro $(pas2js)" msgid "Path of %s, macro $(pas2js)"
msgstr "Caminho de %s, macro $(pas2js)" msgstr "Caminho de %s, macro $(pas2js)"
#: strpas2jsdesign.pjsdpleasechooseafilewithfullpath
msgid "Please choose a file with full path."
msgstr ""
#: strpas2jsdesign.pjsdportnumbertostartallocatingfrom #: strpas2jsdesign.pjsdportnumbertostartallocatingfrom
msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)" msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)"
msgstr "Número de porta de onde iniciar alocação, macro $(Pas2JSWebServerPort)" msgstr "Número de porta de onde iniciar alocação, macro $(Pas2JSWebServerPort)"
@ -175,6 +190,10 @@ msgstr "Página HTML do projeto:"
msgid "Project is a Web Browser (pas2js) project" msgid "Project is a Web Browser (pas2js) project"
msgstr "Projeto é uma Navegador Web (pas2js)" msgstr "Projeto é uma Navegador Web (pas2js)"
#: strpas2jsdesign.pjsdprojectpascalfile
msgid "Project Pascal file"
msgstr ""
#: strpas2jsdesign.pjsdresetcompilecommand #: strpas2jsdesign.pjsdresetcompilecommand
msgid "Reset Compile command" msgid "Reset Compile command"
msgstr "Comando redefinir compilação" msgstr "Comando redefinir compilação"
@ -246,10 +265,6 @@ msgstr "Usar a unidade \"Browser Console\" para exibir saídas \"writeln()\""
msgid "Use NodeJS Application object" msgid "Use NodeJS Application object"
msgstr "Usar objeto \"NodeJS Application\"" msgstr "Usar objeto \"NodeJS Application\""
#: strpas2jsdesign.pjsdusethisbrowserwhenopeningtheurlorhtmlfileofawebbro
msgid "Use this browser when opening the URL or HTML file of a web browser project"
msgstr "Usar este navegador ao abrir a URL ou arquivo HTML de um projeto de navegador web"
#: strpas2jsdesign.pjsdusethisurltostartapplication #: strpas2jsdesign.pjsdusethisurltostartapplication
msgid "Use this URL to start application" msgid "Use this URL to start application"
msgstr "Usar esta URL para iniciar a aplicação" msgstr "Usar esta URL para iniciar a aplicação"
@ -276,8 +291,8 @@ msgstr "Aplicação navegador web"
msgid "Web Project (pas2js)" msgid "Web Project (pas2js)"
msgstr "Projeto Web (pas2js)" msgstr "Projeto Web (pas2js)"
#: strpas2jsdesign.pjsdwebserveroptions #: strpas2jsdesign.pjsdwebserverandbrowseroptions
msgid "Web server options" msgid "Web server and browser options"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea #: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea

View File

@ -23,11 +23,6 @@ msgstr ""
msgid "Browse" msgid "Browse"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdbrowsertoopenhtmlpage
msgctxt "strpas2jsdesign.pjsdbrowsertoopenhtmlpage"
msgid "Browser to open HTML page, macro $(Pas2JSBrowser)"
msgstr ""
#: strpas2jsdesign.pjsdbtnselectfile #: strpas2jsdesign.pjsdbtnselectfile
msgid "Select the file" msgid "Select the file"
msgstr "" msgstr ""
@ -45,6 +40,10 @@ msgstr ""
msgid "directory \"%s\" not found" msgid "directory \"%s\" not found"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsderror
msgid "Error"
msgstr ""
#: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js #: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js
msgid "filename does not start with \"pas2js\"" msgid "filename does not start with \"pas2js\""
msgstr "" msgstr ""
@ -103,6 +102,10 @@ msgstr ""
msgid "A pas2js program running as Atom package." msgid "A pas2js program running as Atom package."
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdnewprojectfile
msgid "New project file"
msgstr ""
#: strpas2jsdesign.pjsdnewvscodeextension #: strpas2jsdesign.pjsdnewvscodeextension
msgid "Visual Studio Code extension" msgid "Visual Studio Code extension"
msgstr "" msgstr ""
@ -125,6 +128,14 @@ msgstr "Node.js uygulaması"
msgid "NodeJS project options" msgid "NodeJS project options"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdoverwrite
msgid "Overwrite?"
msgstr ""
#: strpas2jsdesign.pjsdoverwritefiles
msgid "Overwrite files:"
msgstr ""
#: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions #: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions
msgid "Pas2JS Browser project options" msgid "Pas2JS Browser project options"
msgstr "" msgstr ""
@ -155,6 +166,10 @@ msgctxt "strpas2jsdesign.pjsdpathofxmacropas2js"
msgid "Path of %s, macro $(pas2js)" msgid "Path of %s, macro $(pas2js)"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdpleasechooseafilewithfullpath
msgid "Please choose a file with full path."
msgstr ""
#: strpas2jsdesign.pjsdportnumbertostartallocatingfrom #: strpas2jsdesign.pjsdportnumbertostartallocatingfrom
msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)" msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)"
msgstr "" msgstr ""
@ -175,6 +190,10 @@ msgstr ""
msgid "Project is a Web Browser (pas2js) project" msgid "Project is a Web Browser (pas2js) project"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdprojectpascalfile
msgid "Project Pascal file"
msgstr ""
#: strpas2jsdesign.pjsdresetcompilecommand #: strpas2jsdesign.pjsdresetcompilecommand
msgid "Reset Compile command" msgid "Reset Compile command"
msgstr "" msgstr ""
@ -245,10 +264,6 @@ msgstr ""
msgid "Use NodeJS Application object" msgid "Use NodeJS Application object"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdusethisbrowserwhenopeningtheurlorhtmlfileofawebbro
msgid "Use this browser when opening the URL or HTML file of a web browser project"
msgstr ""
#: strpas2jsdesign.pjsdusethisurltostartapplication #: strpas2jsdesign.pjsdusethisurltostartapplication
msgid "Use this URL to start application" msgid "Use this URL to start application"
msgstr "" msgstr ""
@ -275,8 +290,8 @@ msgstr "Web Tarayıcı Uygulaması"
msgid "Web Project (pas2js)" msgid "Web Project (pas2js)"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdwebserveroptions #: strpas2jsdesign.pjsdwebserverandbrowseroptions
msgid "Web server options" msgid "Web server and browser options"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea #: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea

View File

@ -25,11 +25,6 @@ msgstr "Тека шаблонів пакунка Atom"
msgid "Browse" msgid "Browse"
msgstr "Огляд" msgstr "Огляд"
#: strpas2jsdesign.pjsdbrowsertoopenhtmlpage
msgctxt "strpas2jsdesign.pjsdbrowsertoopenhtmlpage"
msgid "Browser to open HTML page, macro $(Pas2JSBrowser)"
msgstr "Оглядач для відкривання файлів HTML), макрос $(Pas2JSBrowser)"
#: strpas2jsdesign.pjsdbtnselectfile #: strpas2jsdesign.pjsdbtnselectfile
msgid "Select the file" msgid "Select the file"
msgstr "" msgstr ""
@ -47,6 +42,10 @@ msgstr "Створити початкову HTML-сторінку"
msgid "directory \"%s\" not found" msgid "directory \"%s\" not found"
msgstr "теку \"%s\" не знайдено" msgstr "теку \"%s\" не знайдено"
#: strpas2jsdesign.pjsderror
msgid "Error"
msgstr ""
#: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js #: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js
msgid "filename does not start with \"pas2js\"" msgid "filename does not start with \"pas2js\""
msgstr "назва файлу не починається з \"pas2js\"" msgstr "назва файлу не починається з \"pas2js\""
@ -105,6 +104,10 @@ msgstr "Пакунок Atom"
msgid "A pas2js program running as Atom package." msgid "A pas2js program running as Atom package."
msgstr "Програма pas2js запущена, як пакунок Atom" msgstr "Програма pas2js запущена, як пакунок Atom"
#: strpas2jsdesign.pjsdnewprojectfile
msgid "New project file"
msgstr ""
#: strpas2jsdesign.pjsdnewvscodeextension #: strpas2jsdesign.pjsdnewvscodeextension
msgid "Visual Studio Code extension" msgid "Visual Studio Code extension"
msgstr "Розширення Visual Studio Code" msgstr "Розширення Visual Studio Code"
@ -125,6 +128,14 @@ msgstr "Застосунок Node.js"
msgid "NodeJS project options" msgid "NodeJS project options"
msgstr "Параметри проєкту NodeJS" msgstr "Параметри проєкту NodeJS"
#: strpas2jsdesign.pjsdoverwrite
msgid "Overwrite?"
msgstr ""
#: strpas2jsdesign.pjsdoverwritefiles
msgid "Overwrite files:"
msgstr ""
#: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions #: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions
msgid "Pas2JS Browser project options" msgid "Pas2JS Browser project options"
msgstr "Параметри проєкту Оглядач Pas2JS" msgstr "Параметри проєкту Оглядач Pas2JS"
@ -155,6 +166,10 @@ msgctxt "strpas2jsdesign.pjsdpathofxmacropas2js"
msgid "Path of %s, macro $(pas2js)" msgid "Path of %s, macro $(pas2js)"
msgstr "Шлях %s, макрос $(pas2js)" msgstr "Шлях %s, макрос $(pas2js)"
#: strpas2jsdesign.pjsdpleasechooseafilewithfullpath
msgid "Please choose a file with full path."
msgstr ""
#: strpas2jsdesign.pjsdportnumbertostartallocatingfrom #: strpas2jsdesign.pjsdportnumbertostartallocatingfrom
msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)" msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)"
msgstr "Номери порту для початку розміщення, макрос $(Pas2JSWebServerPort)" msgstr "Номери порту для початку розміщення, макрос $(Pas2JSWebServerPort)"
@ -175,6 +190,10 @@ msgstr "HTML-сторінка проєкту:"
msgid "Project is a Web Browser (pas2js) project" msgid "Project is a Web Browser (pas2js) project"
msgstr "Це проєкт веб-оглядача (pas2js)" msgstr "Це проєкт веб-оглядача (pas2js)"
#: strpas2jsdesign.pjsdprojectpascalfile
msgid "Project Pascal file"
msgstr ""
#: strpas2jsdesign.pjsdresetcompilecommand #: strpas2jsdesign.pjsdresetcompilecommand
msgid "Reset Compile command" msgid "Reset Compile command"
msgstr "Скинути команду компіляції" msgstr "Скинути команду компіляції"
@ -247,10 +266,6 @@ msgstr "Для виведення команди writeln() використат
msgid "Use NodeJS Application object" msgid "Use NodeJS Application object"
msgstr "Використати об'єкт застосунку NodeJS" msgstr "Використати об'єкт застосунку NodeJS"
#: strpas2jsdesign.pjsdusethisbrowserwhenopeningtheurlorhtmlfileofawebbro
msgid "Use this browser when opening the URL or HTML file of a web browser project"
msgstr "Для відкривання URL або HTML-файлів проєкту веб-оглядача використовувати цей оглядач"
#: strpas2jsdesign.pjsdusethisurltostartapplication #: strpas2jsdesign.pjsdusethisurltostartapplication
msgid "Use this URL to start application" msgid "Use this URL to start application"
msgstr "Для запуску застосунку використати цей URL" msgstr "Для запуску застосунку використати цей URL"
@ -275,8 +290,8 @@ msgstr "Додаток для веб-оглядача"
msgid "Web Project (pas2js)" msgid "Web Project (pas2js)"
msgstr "Веб-проєкт (pas2js)" msgstr "Веб-проєкт (pas2js)"
#: strpas2jsdesign.pjsdwebserveroptions #: strpas2jsdesign.pjsdwebserverandbrowseroptions
msgid "Web server options" msgid "Web server and browser options"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea #: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea

View File

@ -24,11 +24,6 @@ msgstr ""
msgid "Browse" msgid "Browse"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdbrowsertoopenhtmlpage
msgctxt "strpas2jsdesign.pjsdbrowsertoopenhtmlpage"
msgid "Browser to open HTML page, macro $(Pas2JSBrowser)"
msgstr ""
#: strpas2jsdesign.pjsdbtnselectfile #: strpas2jsdesign.pjsdbtnselectfile
msgid "Select the file" msgid "Select the file"
msgstr "" msgstr ""
@ -46,6 +41,10 @@ msgstr ""
msgid "directory \"%s\" not found" msgid "directory \"%s\" not found"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsderror
msgid "Error"
msgstr ""
#: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js #: strpas2jsdesign.pjsdfilenamedoesnotstartwithpas2js
msgid "filename does not start with \"pas2js\"" msgid "filename does not start with \"pas2js\""
msgstr "" msgstr ""
@ -104,6 +103,10 @@ msgstr ""
msgid "A pas2js program running as Atom package." msgid "A pas2js program running as Atom package."
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdnewprojectfile
msgid "New project file"
msgstr ""
#: strpas2jsdesign.pjsdnewvscodeextension #: strpas2jsdesign.pjsdnewvscodeextension
msgid "Visual Studio Code extension" msgid "Visual Studio Code extension"
msgstr "" msgstr ""
@ -126,6 +129,14 @@ msgstr "Node.js应用程序"
msgid "NodeJS project options" msgid "NodeJS project options"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdoverwrite
msgid "Overwrite?"
msgstr ""
#: strpas2jsdesign.pjsdoverwritefiles
msgid "Overwrite files:"
msgstr ""
#: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions #: strpas2jsdesign.pjsdpas2jsbrowserprojectoptions
msgid "Pas2JS Browser project options" msgid "Pas2JS Browser project options"
msgstr "" msgstr ""
@ -156,6 +167,10 @@ msgctxt "strpas2jsdesign.pjsdpathofxmacropas2js"
msgid "Path of %s, macro $(pas2js)" msgid "Path of %s, macro $(pas2js)"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdpleasechooseafilewithfullpath
msgid "Please choose a file with full path."
msgstr ""
#: strpas2jsdesign.pjsdportnumbertostartallocatingfrom #: strpas2jsdesign.pjsdportnumbertostartallocatingfrom
msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)" msgid "Port number to start allocating from, macro $(Pas2JSWebServerPort)"
msgstr "" msgstr ""
@ -176,6 +191,10 @@ msgstr ""
msgid "Project is a Web Browser (pas2js) project" msgid "Project is a Web Browser (pas2js) project"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdprojectpascalfile
msgid "Project Pascal file"
msgstr ""
#: strpas2jsdesign.pjsdresetcompilecommand #: strpas2jsdesign.pjsdresetcompilecommand
msgid "Reset Compile command" msgid "Reset Compile command"
msgstr "" msgstr ""
@ -246,10 +265,6 @@ msgstr ""
msgid "Use NodeJS Application object" msgid "Use NodeJS Application object"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdusethisbrowserwhenopeningtheurlorhtmlfileofawebbro
msgid "Use this browser when opening the URL or HTML file of a web browser project"
msgstr ""
#: strpas2jsdesign.pjsdusethisurltostartapplication #: strpas2jsdesign.pjsdusethisurltostartapplication
msgid "Use this URL to start application" msgid "Use this URL to start application"
msgstr "" msgstr ""
@ -276,8 +291,8 @@ msgstr "网页浏览器(Web Browser)应用程序"
msgid "Web Project (pas2js)" msgid "Web Project (pas2js)"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdwebserveroptions #: strpas2jsdesign.pjsdwebserverandbrowseroptions
msgid "Web server options" msgid "Web server and browser options"
msgstr "" msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea #: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea

View File

@ -85,58 +85,13 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
Caption = 'Standard server port' Caption = 'Standard server port'
ParentColor = False ParentColor = False
end end
object BrowserComboBox: TComboBox object NodeJSLabel: TLabel
AnchorSideLeft.Control = BrowserLabel
AnchorSideTop.Control = BrowserLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = BBrowserBrowseButton
Left = 6
Height = 30
Top = 150
Width = 470
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
ItemHeight = 0
TabOrder = 3
Text = 'BrowserComboBox'
end
object BrowserLabel: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ServerPortSpinEdit AnchorSideTop.Control = ServerPortSpinEdit
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 15 Height = 15
Top = 133 Top = 133
Width = 258
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'Browser to launch when opening project HTML'
ParentColor = False
end
object BBrowserBrowseButton: TButton
AnchorSideTop.Control = BrowserComboBox
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = BrowserComboBox
AnchorSideBottom.Side = asrBottom
Left = 476
Height = 30
Top = 150
Width = 25
Anchors = [akTop, akRight, akBottom]
AutoSize = True
BorderSpacing.Right = 6
Caption = '...'
OnClick = BBrowserBrowseButtonClick
TabOrder = 4
end
object NodeJSLabel: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = BrowserComboBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 186
Width = 105 Width = 105
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -150,12 +105,12 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideRight.Control = NodeJSBrowseButton AnchorSideRight.Control = NodeJSBrowseButton
Left = 6 Left = 6
Height = 30 Height = 30
Top = 203 Top = 150
Width = 470 Width = 470
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2 BorderSpacing.Top = 2
ItemHeight = 0 ItemHeight = 0
TabOrder = 5 TabOrder = 3
Text = 'NodeJSComboBox' Text = 'NodeJSComboBox'
end end
object NodeJSBrowseButton: TButton object NodeJSBrowseButton: TButton
@ -166,14 +121,14 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 476 Left = 476
Height = 30 Height = 30
Top = 203 Top = 150
Width = 25 Width = 25
Anchors = [akTop, akRight, akBottom] Anchors = [akTop, akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = '...' Caption = '...'
OnClick = NodeJSBrowseButtonClick OnClick = NodeJSBrowseButtonClick
TabOrder = 6 TabOrder = 4
end end
object lblAtomTemplateDir: TLabel object lblAtomTemplateDir: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
@ -181,7 +136,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 15 Height = 15
Top = 239 Top = 186
Width = 185 Width = 185
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -195,12 +150,12 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideRight.Control = NodeJSBrowseButton AnchorSideRight.Control = NodeJSBrowseButton
Left = 6 Left = 6
Height = 30 Height = 30
Top = 256 Top = 203
Width = 470 Width = 470
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2 BorderSpacing.Top = 2
ItemHeight = 0 ItemHeight = 0
TabOrder = 7 TabOrder = 5
Text = 'AtomTemplateDirComboBox' Text = 'AtomTemplateDirComboBox'
end end
object AtomTemplateDirBrowseButton: TButton object AtomTemplateDirBrowseButton: TButton
@ -211,14 +166,14 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 476 Left = 476
Height = 30 Height = 30
Top = 256 Top = 203
Width = 25 Width = 25
Anchors = [akTop, akRight, akBottom] Anchors = [akTop, akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = '...' Caption = '...'
OnClick = AtomTemplateDirBrowseButtonClick OnClick = AtomTemplateDirBrowseButtonClick
TabOrder = 8 TabOrder = 6
end end
object lblVSCodeTemplateDir: TLabel object lblVSCodeTemplateDir: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
@ -226,7 +181,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 15 Height = 15
Top = 292 Top = 239
Width = 209 Width = 209
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -240,12 +195,12 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideRight.Control = NodeJSBrowseButton AnchorSideRight.Control = NodeJSBrowseButton
Left = 6 Left = 6
Height = 30 Height = 30
Top = 309 Top = 256
Width = 470 Width = 470
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2 BorderSpacing.Top = 2
ItemHeight = 0 ItemHeight = 0
TabOrder = 9 TabOrder = 7
Text = 'VSCodeTemplateDirComboBox' Text = 'VSCodeTemplateDirComboBox'
end end
object VSCodeTemplateDirBrowseButton: TButton object VSCodeTemplateDirBrowseButton: TButton
@ -256,14 +211,14 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 476 Left = 476
Height = 30 Height = 30
Top = 309 Top = 256
Width = 25 Width = 25
Anchors = [akTop, akRight, akBottom] Anchors = [akTop, akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = '...' Caption = '...'
OnClick = VSCodeTemplateDirBrowseButtonClick OnClick = VSCodeTemplateDirBrowseButtonClick
TabOrder = 10 TabOrder = 8
end end
object SimpleWebServerLinkLabel: TLabel object SimpleWebServerLinkLabel: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
@ -273,10 +228,10 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
Left = 6 Left = 6
Height = 15 Height = 15
Top = 59 Top = 59
Width = 107 Width = 178
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'Web server options' Caption = 'Web server and browser options'
Font.Color = clBlue Font.Color = clBlue
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False

View File

@ -27,9 +27,6 @@ Type
SimpleWebServerLinkLabel: TLabel; SimpleWebServerLinkLabel: TLabel;
VSCodeTemplateDirBrowseButton: TButton; VSCodeTemplateDirBrowseButton: TButton;
VSCodeTemplateDirComboBox: TComboBox; VSCodeTemplateDirComboBox: TComboBox;
BBrowserBrowseButton: TButton;
BrowserComboBox: TComboBox;
BrowserLabel: TLabel;
lblVSCodeTemplateDir: TLabel; lblVSCodeTemplateDir: TLabel;
NodeJSBrowseButton: TButton; NodeJSBrowseButton: TButton;
AtomTemplateDirBrowseButton: TButton; AtomTemplateDirBrowseButton: TButton;
@ -155,7 +152,6 @@ begin
OpenDialog.Title:=pjsdSelectBrowserExecutable; OpenDialog.Title:=pjsdSelectBrowserExecutable;
if OpenDialog.Execute then begin if OpenDialog.Execute then begin
AFilename:=CleanAndExpandFilename(OpenDialog.Filename); AFilename:=CleanAndExpandFilename(OpenDialog.Filename);
SetComboBoxText(BrowserComboBox,AFilename,cstFilename,30);
PJSOptions.BrowserFileName:=AFileName; PJSOptions.BrowserFileName:=AFileName;
end; end;
finally finally
@ -210,13 +206,10 @@ begin
pjsdYouCanUseIDEMacrosLikeMakeExeWithoutAFullPathIsSea, [DefPas2jsExe]); pjsdYouCanUseIDEMacrosLikeMakeExeWithoutAFullPathIsSea, [DefPas2jsExe]);
Pas2jsPathBrowseButton.Hint:=pjsdBrowse; Pas2jsPathBrowseButton.Hint:=pjsdBrowse;
SimpleWebServerLinkLabel.Caption:=pjsdWebServerOptions; SimpleWebServerLinkLabel.Caption:=pjsdWebServerAndBrowserOptions;
ServerPortLabel.Caption:=pjsdPortNumberToStartAllocatingFrom; ServerPortLabel.Caption:=pjsdPortNumberToStartAllocatingFrom;
ServerPortLabel.Hint:=pjsdServerInstancesWillBeStartedWithAPortStartingFromT; ServerPortLabel.Hint:=pjsdServerInstancesWillBeStartedWithAPortStartingFromT;
BrowserLabel.Caption:=pjsdBrowserToOpenHTMLPage;
BrowserLabel.Hint:=pjsdUseThisBrowserWhenOpeningTheURLOrHTMLFileOfAWebBro;
NodeJSLabel.Caption:=pjsdPathOfNodeJsExecutable; NodeJSLabel.Caption:=pjsdPathOfNodeJsExecutable;
lblAtomTemplateDir.Caption := pjsdAtomPackageTemplateDirectory; lblAtomTemplateDir.Caption := pjsdAtomPackageTemplateDirectory;
@ -227,7 +220,6 @@ procedure TPas2jsOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
begin begin
SetComboBoxText(Pas2jsPathComboBox,PJSOptions.CompilerFilename,cstFilename,30); SetComboBoxText(Pas2jsPathComboBox,PJSOptions.CompilerFilename,cstFilename,30);
ServerPortSpinEdit.Value:=PJSOptions.StartAtPort; ServerPortSpinEdit.Value:=PJSOptions.StartAtPort;
SetComboBoxText(BrowserComboBox,PJSOptions.BrowserFileName,cstFilename,30);
SetComboBoxText(NodeJSComboBox,PJSOptions.NodejsFileName,cstFilename,30); SetComboBoxText(NodeJSComboBox,PJSOptions.NodejsFileName,cstFilename,30);
SetComboBoxText(AtomTemplateDirComboBox,PJSOptions.AtomTemplateDir,cstFilename,30); SetComboBoxText(AtomTemplateDirComboBox,PJSOptions.AtomTemplateDir,cstFilename,30);
SetComboBoxText(VSCodeTemplateDirComboBox,PJSOptions.VSCodeTemplateDir,cstFilename,30); SetComboBoxText(VSCodeTemplateDirComboBox,PJSOptions.VSCodeTemplateDir,cstFilename,30);
@ -237,7 +229,6 @@ procedure TPas2jsOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
begin begin
PJSOptions.CompilerFilename:=Pas2jsPathComboBox.Text; PJSOptions.CompilerFilename:=Pas2jsPathComboBox.Text;
PJSOptions.StartAtPort:=ServerPortSpinEdit.Value; PJSOptions.StartAtPort:=ServerPortSpinEdit.Value;
PJSOptions.BrowserFileName:=BrowserComboBox.Text;
PJSOptions.NodeJSFileName:=NodeJSComboBox.Text; PJSOptions.NodeJSFileName:=NodeJSComboBox.Text;
PJSOptions.AtomTemplateDir:=AtomTemplateDirComboBox.Text; PJSOptions.AtomTemplateDir:=AtomTemplateDirComboBox.Text;
PJSOptions.VSCodeTemplateDir:=VSCodeTemplateDirComboBox.Text; PJSOptions.VSCodeTemplateDir:=VSCodeTemplateDirComboBox.Text;

View File

@ -105,23 +105,46 @@ type
function CreateStartFiles(AProject: TLazProject): TModalResult; override; function CreateStartFiles(AProject: TLazProject): TModalResult; override;
end; end;
{ TMultiProjectPas2JSWebApp }
TMultiProjectPas2JSWebApp = class(TProjectPas2JSWebApp)
private
FOverwrites: TStrings;
FProjectDir: string;
FWebDir: string;
procedure SetOverwrites(const AValue: TStrings);
protected
function CheckOverwriteFile(aFilename: string): string;
function CheckOverwriteDir(aDir: string): string;
function FileToWebFile(aFilename: string): string; virtual;
function InteractiveForceDir(Dir: string; AutoDelete: boolean): boolean; virtual;
function InteractiveSaveFile(aFilename: string): boolean; virtual;
function InteractiveCopyFile(Src, Dest: string): boolean; virtual;
function ShowModalOptions(Frm: TWebBrowserProjectOptionsForm
): TModalResult; override;
function ProjectDirSelected: boolean; virtual;
public
constructor Create; override;
destructor Destroy; override;
procedure Clear; override;
property ProjectDir: string read FProjectDir write FProjectDir;
property WebDir: string read FWebDir write FWebDir;
property Overwrites: TStrings read FOverwrites write SetOverwrites; // list of overwrite warnings
end;
{ TProjectPas2JSProgressiveWebApp } { TProjectPas2JSProgressiveWebApp }
TProjectPas2JSProgressiveWebApp = class(TProjectPas2JSWebApp) TProjectPas2JSProgressiveWebApp = class(TMultiProjectPas2JSWebApp)
private private
FCSSStyleFilename: string; FCSSStyleFilename: string;
FIconSizes: TWordDynArray; FIconSizes: TWordDynArray;
FImagesDir: string; FImagesDir: string;
FManifestFilename: string; FManifestFilename: string;
FProjectDir: string;
FServiceWorker: TProjectPas2JSServiceWorker; FServiceWorker: TProjectPas2JSServiceWorker;
FServiceWorkerLPR: string; FServiceWorkerLPR: string;
FWebDir: string;
protected protected
function FileToWebFile(aFilename: string): string; virtual;
procedure AddHTMLHead(Src: TStringList); override; procedure AddHTMLHead(Src: TStringList); override;
function ShowModalOptions(Frm: TWebBrowserProjectOptionsForm function ProjectDirSelected: boolean; override;
): TModalResult; override;
function CreateManifestFile(AProject: TLazProject; AFileName: String function CreateManifestFile(AProject: TLazProject; AFileName: String
): TLazProjectFile; virtual; ): TLazProjectFile; virtual;
function CreateCSSStyle(AProject: TLazProject; AFileName: String function CreateCSSStyle(AProject: TLazProject; AFileName: String
@ -129,9 +152,27 @@ type
function CreateProjectGroup(AProject: TLazProject): boolean; virtual; function CreateProjectGroup(AProject: TLazProject): boolean; virtual;
function CopyFavIcon: boolean; virtual; function CopyFavIcon: boolean; virtual;
function CopyIcons: boolean; virtual; function CopyIcons: boolean; virtual;
function InteractiveForceDir(Dir: string; AutoDelete: boolean): boolean; virtual; public
function InteractiveSaveFile(aFilename: string): boolean; virtual; constructor Create; override;
function InteractiveCopyFile(Src, Dest: string): boolean; virtual; destructor Destroy; override;
procedure Clear; override;
function GetLocalizedName: string; override;
function GetLocalizedDescription: string; override;
function InitProject(AProject: TLazProject): TModalResult; override;
function CreateStartFiles(AProject: TLazProject): TModalResult; override;
property ServiceWorkerLPR: string read FServiceWorkerLPR write FServiceWorkerLPR;
property CSSStyleFilename: string read FCSSStyleFilename write FCSSStyleFilename;
property ImagesDir: string read FImagesDir write FImagesDir;
property ManifestFilename: string read FManifestFilename write FManifestFilename;
property IconSizes: TWordDynArray read FIconSizes write FIconSizes;
property ServiceWorker: TProjectPas2JSServiceWorker read FServiceWorker write FServiceWorker;
end;
{ TProjectPas2JSElectronWebApp }
TProjectPas2JSElectronWebApp = class(TMultiProjectPas2JSWebApp)
private
protected
public public
constructor Create; override; constructor Create; override;
procedure Clear; override; procedure Clear; override;
@ -139,14 +180,6 @@ type
function GetLocalizedDescription: string; override; function GetLocalizedDescription: string; override;
function InitProject(AProject: TLazProject): TModalResult; override; function InitProject(AProject: TLazProject): TModalResult; override;
function CreateStartFiles(AProject: TLazProject): TModalResult; override; function CreateStartFiles(AProject: TLazProject): TModalResult; override;
property ProjectDir: string read FProjectDir write FProjectDir;
property ServiceWorkerLPR: string read FServiceWorkerLPR write FServiceWorkerLPR;
property CSSStyleFilename: string read FCSSStyleFilename write FCSSStyleFilename;
property ImagesDir: string read FImagesDir write FImagesDir;
property WebDir: string read FWebDir write FWebDir;
property ManifestFilename: string read FManifestFilename write FManifestFilename;
property IconSizes: TWordDynArray read FIconSizes write FIconSizes;
property ServiceWorker: TProjectPas2JSServiceWorker read FServiceWorker write FServiceWorker;
end; end;
{ TProjectPas2JSNodeJSApp } { TProjectPas2JSNodeJSApp }
@ -272,6 +305,7 @@ begin
SrvWorker:=TProjectPas2JSServiceWorker.Create; SrvWorker:=TProjectPas2JSServiceWorker.Create;
RegisterProjectDescriptor(SrvWorker); RegisterProjectDescriptor(SrvWorker);
PWA.ServiceWorker:=SrvWorker; PWA.ServiceWorker:=SrvWorker;
RegisterProjectDescriptor(TProjectPas2JSElectronWebApp.Create);
RegisterProjectDescriptor(TProjectPas2JSNodeJSApp.Create); RegisterProjectDescriptor(TProjectPas2JSNodeJSApp.Create);
RegisterProjectDescriptor(TProjectPas2JSModuleApp.Create); RegisterProjectDescriptor(TProjectPas2JSModuleApp.Create);
Pas2JSHTMLClassDef:=TPas2JSHTMLClassDef.Create; Pas2JSHTMLClassDef:=TPas2JSHTMLClassDef.Create;
@ -297,15 +331,225 @@ begin
ProjectInspectorItemsMenuRoot.AddHandlerOnShow(@Pas2JSHandler.OnPrjInspPopup); ProjectInspectorItemsMenuRoot.AddHandlerOnShow(@Pas2JSHandler.OnPrjInspPopup);
end; end;
{ TProjectPas2JSProgressiveWebApp } { TProjectPas2JSElectronWebApp }
function TProjectPas2JSProgressiveWebApp.FileToWebFile(aFilename: string constructor TProjectPas2JSElectronWebApp.Create;
begin
inherited Create;
end;
procedure TProjectPas2JSElectronWebApp.Clear;
begin
inherited Clear;
end;
function TProjectPas2JSElectronWebApp.GetLocalizedName: string;
begin
Result:=inherited GetLocalizedName;
end;
function TProjectPas2JSElectronWebApp.GetLocalizedDescription: string;
begin
Result:=inherited GetLocalizedDescription;
end;
function TProjectPas2JSElectronWebApp.InitProject(AProject: TLazProject
): TModalResult;
begin
Result:=inherited InitProject(AProject);
end;
function TProjectPas2JSElectronWebApp.CreateStartFiles(AProject: TLazProject
): TModalResult;
begin
Result:=inherited CreateStartFiles(AProject);
end;
{ TMultiProjectPas2JSWebApp }
procedure TMultiProjectPas2JSWebApp.SetOverwrites(const AValue: TStrings);
begin
if FOverwrites=AValue then Exit;
FOverwrites.Assign(AValue);
end;
function TMultiProjectPas2JSWebApp.CheckOverwriteFile(aFilename: string
): string; ): string;
begin
if FileExists(aFilename) then
Overwrites.Add(aFilename);
Result:=aFilename;
end;
function TMultiProjectPas2JSWebApp.CheckOverwriteDir(aDir: string): string;
begin
aDir:=ChompPathDelim(aDir);
if FileExists(aDir) and not DirectoryExistsUTF8(aDir) then
Overwrites.Add(aDir);
Result:=AppendPathDelim(aDir);
end;
function TMultiProjectPas2JSWebApp.FileToWebFile(aFilename: string): string;
begin begin
Result:=CreateRelativePath(aFilename,WebDir); Result:=CreateRelativePath(aFilename,WebDir);
Result:=FilenameToURLPath(Result); Result:=FilenameToURLPath(Result);
end; end;
function TMultiProjectPas2JSWebApp.InteractiveForceDir(Dir: string;
AutoDelete: boolean): boolean;
begin
Dir:=ChompPathDelim(Dir);
if DirectoryExistsUTF8(Dir) then
exit(true);
Result:=false;
if FileExists(Dir) then
begin
if AutoDelete then
begin
debugln(['Info: [TMultiProjectPas2JSWebApp.InteractiveForceDir] DeleteFile "',Dir,'"']);
if not DeleteFileUTF8(Dir) then
begin
IDEMessageDialog('Error','Unable to create directory "'+Dir+'", because unable to delete file.',mtError,[mbOK]);
exit;
end;
end
else
begin
IDEMessageDialog('Error','Unable to create directory "'+Dir+'", because file already exists.',mtError,[mbOK]);
exit;
end;
end;
debugln(['Info: [TMultiProjectPas2JSWebApp.InteractiveForceDir] ForceDirectories "',Dir,'"']);
if not ForceDirectoriesUTF8(Dir) then
begin
IDEMessageDialog('Error','Unable to create directory "'+Dir+'".',mtError,[mbOK]);
exit;
end;
Result:=true;
end;
function TMultiProjectPas2JSWebApp.InteractiveSaveFile(aFilename: string
): boolean;
var
Code: TCodeBuffer;
begin
Result:=false;
Code:=CodeToolBoss.FindFile(aFilename);
if Code=nil then
begin
debugln(['Error: [TMultiProjectPas2JSWebApp.SaveFile] 20220404130903 "',aFilename,'"']);
IDEMessageDialog('Error','File missing in codetools: "'+aFilename+'"',mtError,[mbOk]);
exit;
end;
debugln(['Info: [TMultiProjectPas2JSWebApp.InteractiveSaveFile] saving "',Code.Filename,'"']);
if not Code.Save then
begin
IDEMessageDialog('Error','Unable to write file "'+aFilename+'"',mtError,[mbOk]);
exit;
end;
Result:=true;
end;
function TMultiProjectPas2JSWebApp.InteractiveCopyFile(Src, Dest: string
): boolean;
begin
debugln(['Info: [TMultiProjectPas2JSWebApp.InteractiveCopyFile] CopyFile "',Src,'" -> "',Dest,'"']);
if CopyFile(Src,Dest) then
exit(true);
IDEMessageDialog('Error','Unable to copy file'+sLineBreak
+Src+sLineBreak
+'to'+sLineBreak
+Dest,mtError,[mbOk]);
Result:=false;
end;
function TMultiProjectPas2JSWebApp.ShowModalOptions(
Frm: TWebBrowserProjectOptionsForm): TModalResult;
var
CurProjDir: String;
SaveDlg: TIDESaveDialog;
begin
// hide unsupported options
Frm.HideWASM;
Frm.HideModule;
Result:=inherited ShowModalOptions(Frm);
if Result<>mrOk then exit;
SaveDlg:=IDESaveDialogClass.Create(nil);
try
InitIDEFileDialog(SaveDlg);
SaveDlg.Title:=pjsdNewProjectFile+' (.lpr)';
SaveDlg.Filter:=pjsdProjectPascalFile+' (*.lpr;*.pas)|*.lpr;*.pas';
if not SaveDlg.Execute then
exit(mrCancel);
MainSrcFileName:=SaveDlg.FileName;
if not FilenameIsAbsolute(MainSrcFileName) then
begin
IDEMessageDialog(pjsdError, pjsdPleaseChooseAFileWithFullPath,
mtError, [mbOk]);
exit(mrCancel);
end;
MainSrcFileName:=CleanAndExpandFilename(MainSrcFileName);
if CompareFileExt(MainSrcFileName,'.lpi')=0 then
MainSrcFileName:=ChangeFileExt(MainSrcFileName,'.lpr');
if ExtractFileExt(MainSrcFileName)='' then
MainSrcFileName:=MainSrcFileName+'.lpr';
if CompareFilenames(ExtractFileNameOnly(MainSrcFileName),MainSrcName)<>0 then
MainSrcName:=ExtractFileNameOnly(MainSrcFileName);
CurProjDir:=ExtractFilePath(MainSrcFileName);
if CurProjDir='' then exit(mrCancel);
CurProjDir:=AppendPathDelim(CurProjDir);
ProjectDir:=CurProjDir;
CheckOverwriteFile(MainSrcFileName);
CheckOverwriteFile(ChangeFileExt(MainSrcFileName,'.lpi'));
ProjectDirSelected;
if Overwrites.Count>0 then
begin
if IDEMessageDialog(pjsdOverwrite, pjsdOverwriteFiles+sLineBreak+
Overwrites.Text,
mtConfirmation,[mbOk,mbCancel])<>mrOk then
exit(mrCancel);
end;
finally
SaveDlg.Free;
end;
end;
function TMultiProjectPas2JSWebApp.ProjectDirSelected: boolean;
begin
Result:=true;
end;
constructor TMultiProjectPas2JSWebApp.Create;
begin
inherited Create;
FOverwrites:=TStringList.Create;
end;
destructor TMultiProjectPas2JSWebApp.Destroy;
begin
FreeAndNil(FOverwrites);
inherited Destroy;
end;
procedure TMultiProjectPas2JSWebApp.Clear;
begin
inherited Clear;
FProjectDir:='';
FWebDir:='';
FOverwrites.Clear;
end;
{ TProjectPas2JSProgressiveWebApp }
procedure TProjectPas2JSProgressiveWebApp.AddHTMLHead(Src: TStringList); procedure TProjectPas2JSProgressiveWebApp.AddHTMLHead(Src: TStringList);
var var
i: Integer; i: Integer;
@ -324,91 +568,20 @@ begin
end; end;
end; end;
function TProjectPas2JSProgressiveWebApp.ShowModalOptions( function TProjectPas2JSProgressiveWebApp.ProjectDirSelected: boolean;
Frm: TWebBrowserProjectOptionsForm): TModalResult;
var
CurProjDir: String;
Overwrites: TStringList;
SaveDlg: TIDESaveDialog;
function CheckOverwriteFile(aFilename: string): string;
begin
if FileExists(aFilename) then
Overwrites.Add(aFilename);
Result:=aFilename;
end;
function CheckOverwriteDir(aDir: string): string;
begin
aDir:=ChompPathDelim(aDir);
if FileExists(aDir) and not DirectoryExistsUTF8(aDir) then
Overwrites.Add(aDir);
Result:=AppendPathDelim(aDir);
end;
begin begin
// hide unsupported options Result:=true;
Frm.HideWASM; ScriptFilename:=ExtractFileNameOnly(MainSrcFileName)+'.js';
Frm.HideModule;
Result:=inherited ShowModalOptions(Frm); ServiceWorkerLPR:=CheckOverwriteFile(ProjectDir+ServiceWorkerLPR);
if Result<>mrOk then exit; CheckOverwriteFile(ChangeFileExt(ServiceWorkerLPR,'.lpi'));
SaveDlg:=IDESaveDialogClass.Create(nil); WebDir:=CheckOverwriteDir(ProjectDir+WebDir);
Overwrites:=TStringList.Create; ImagesDir:=CheckOverwriteDir(WebDir+ImagesDir);
try
InitIDEFileDialog(SaveDlg);
SaveDlg.Title:='New project file (.lpr)';
SaveDlg.Filter:='Project Pascal file (*.lpr;*.pas)|*.lpr;*.pas';
if not SaveDlg.Execute then HTMLFilename:=CheckOverwriteFile(WebDir+HTMLFilename);
exit(mrCancel); ManifestFilename:=CheckOverwriteFile(WebDir+ManifestFilename);
CSSStyleFilename:=CheckOverwriteFile(WebDir+CSSStyleFilename);
MainSrcFileName:=SaveDlg.FileName;
if not FilenameIsAbsolute(MainSrcFileName) then
begin
IDEMessageDialog('Error','Please choose a file with full path.',mtError,[mbOk]);
exit(mrCancel);
end;
MainSrcFileName:=CleanAndExpandFilename(MainSrcFileName);
if CompareFileExt(MainSrcFileName,'.lpi')=0 then
MainSrcFileName:=ChangeFileExt(MainSrcFileName,'.lpr');
if ExtractFileExt(MainSrcFileName)='' then
MainSrcFileName:=MainSrcFileName+'.lpr';
CurProjDir:=ExtractFilePath(MainSrcFileName);
if CurProjDir='' then exit(mrCancel);
CurProjDir:=AppendPathDelim(CurProjDir);
ProjectDir:=CurProjDir;
CheckOverwriteFile(MainSrcFileName);
CheckOverwriteFile(ChangeFileExt(MainSrcFileName,'.lpi'));
ScriptFilename:=ExtractFileNameOnly(MainSrcFileName)+'.js';
ServiceWorkerLPR:=CheckOverwriteFile(ProjectDir+ServiceWorkerLPR);
CheckOverwriteFile(ChangeFileExt(ServiceWorkerLPR,'.lpi'));
WebDir:=CheckOverwriteDir(CurProjDir+WebDir);
ImagesDir:=CheckOverwriteDir(WebDir+ImagesDir);
HTMLFilename:=CheckOverwriteFile(WebDir+HTMLFilename);
ManifestFilename:=CheckOverwriteFile(WebDir+ManifestFilename);
CSSStyleFilename:=CheckOverwriteFile(WebDir+CSSStyleFilename);
if Overwrites.Count>0 then
begin
if IDEMessageDialog('Overwrite?','Overwrite files:'+sLineBreak+Overwrites.Text,
mtConfirmation,[mbOk,mbCancel])<>mrOk then
exit(mrCancel);
end;
finally
SaveDlg.Free;
Overwrites.Free;
end;
if CompareFilenames(ExtractFileNameOnly(MainSrcFileName),MainSrcName)<>0 then
MainSrcName:=ExtractFileNameOnly(MainSrcFileName);
end; end;
function TProjectPas2JSProgressiveWebApp.CreateManifestFile( function TProjectPas2JSProgressiveWebApp.CreateManifestFile(
@ -518,73 +691,6 @@ begin
Result:=true; Result:=true;
end; end;
function TProjectPas2JSProgressiveWebApp.InteractiveForceDir(Dir: string;
AutoDelete: boolean): boolean;
begin
Dir:=ChompPathDelim(Dir);
if DirectoryExistsUTF8(Dir) then
exit(true);
Result:=false;
if FileExists(Dir) then
begin
if AutoDelete then
begin
debugln(['Info: [TProjectPas2JSProgressiveWebApp.InteractiveForceDir] DeleteFile "',Dir,'"']);
if not DeleteFileUTF8(Dir) then
begin
IDEMessageDialog('Error','Unable to create directory "'+Dir+'", because unable to delete file.',mtError,[mbOK]);
exit;
end;
end
else
begin
IDEMessageDialog('Error','Unable to create directory "'+Dir+'", because file already exists.',mtError,[mbOK]);
exit;
end;
end;
debugln(['Info: [TProjectPas2JSProgressiveWebApp.InteractiveForceDir] ForceDirectories "',Dir,'"']);
if not ForceDirectoriesUTF8(Dir) then
begin
IDEMessageDialog('Error','Unable to create directory "'+Dir+'".',mtError,[mbOK]);
exit;
end;
Result:=true;
end;
function TProjectPas2JSProgressiveWebApp.InteractiveSaveFile(aFilename: string): boolean;
var
Code: TCodeBuffer;
begin
Result:=false;
Code:=CodeToolBoss.FindFile(aFilename);
if Code=nil then
begin
debugln(['Error: [TProjectPas2JSProgressiveWebApp.SaveFile] 20220404130903 "',aFilename,'"']);
IDEMessageDialog('Error','File missing in codetools: "'+aFilename+'"',mtError,[mbOk]);
exit;
end;
debugln(['Info: [TProjectPas2JSProgressiveWebApp.InteractiveSaveFile] saving "',Code.Filename,'"']);
if not Code.Save then
begin
IDEMessageDialog('Error','Unable to write file "'+aFilename+'"',mtError,[mbOk]);
exit;
end;
Result:=true;
end;
function TProjectPas2JSProgressiveWebApp.InteractiveCopyFile(Src, Dest: string
): boolean;
begin
debugln(['Info: [TProjectPas2JSProgressiveWebApp.InteractiveCopyFile] CopyFile "',Src,'" -> "',Dest,'"']);
if CopyFile(Src,Dest) then
exit(true);
IDEMessageDialog('Error','Unable to copy file'+sLineBreak
+Src+sLineBreak
+'to'+sLineBreak
+Dest,mtError,[mbOk]);
Result:=false;
end;
function TProjectPas2JSProgressiveWebApp.CreateProjectGroup( function TProjectPas2JSProgressiveWebApp.CreateProjectGroup(
AProject: TLazProject): boolean; AProject: TLazProject): boolean;
var var
@ -619,7 +725,12 @@ constructor TProjectPas2JSProgressiveWebApp.Create;
begin begin
inherited Create; inherited Create;
Name:=ProjDescNamePas2JSProgressiveWebApp; Name:=ProjDescNamePas2JSProgressiveWebApp;
Clear; end;
destructor TProjectPas2JSProgressiveWebApp.Destroy;
begin
FreeAndNil(FServiceWorker);
inherited Destroy;
end; end;
procedure TProjectPas2JSProgressiveWebApp.Clear; procedure TProjectPas2JSProgressiveWebApp.Clear;
@ -635,9 +746,12 @@ begin
FCSSStyleFilename:='style.css'; FCSSStyleFilename:='style.css';
FServiceWorkerLPR:='ServiceWorker.lpr'; FServiceWorkerLPR:='ServiceWorker.lpr';
FServiceWorkerJSFilename:='/ServiceWorker.js'; FServiceWorkerJSFilename:='/ServiceWorker.js';
FreeAndNil(FServiceWorker);
FServiceWorker:=TProjectPas2JSServiceWorker.Create;
SetLength(FIconSizes,length(DefaultIconSizes)); SetLength(FIconSizes,length(DefaultIconSizes));
for i:=0 to high(DefaultIconSizes) do for i:=0 to high(DefaultIconSizes) do
FIconSizes[i]:=DefaultIconSizes[i]; FIconSizes[i]:=DefaultIconSizes[i];
FOverwrites.Clear;
end; end;
function TProjectPas2JSProgressiveWebApp.GetLocalizedName: string; function TProjectPas2JSProgressiveWebApp.GetLocalizedName: string;
@ -1370,13 +1484,14 @@ constructor TProjectPas2JSWebApp.Create;
begin begin
inherited Create; inherited Create;
Name:=ProjDescNamePas2JSWebApp; Name:=ProjDescNamePas2JSWebApp;
Flags:=DefaultProjectNoApplicationFlags-[pfRunnable]; Clear;
FMainSrcName:='Project1';
end; end;
procedure TProjectPas2JSWebApp.Clear; procedure TProjectPas2JSWebApp.Clear;
begin begin
// Reset options // Reset options
Flags:=DefaultProjectNoApplicationFlags-[pfRunnable];
FMainSrcName:='Project1';
FOptions:=[baoCreateHtml,baoMaintainHTML,baoStartServer]; FOptions:=[baoCreateHtml,baoMaintainHTML,baoStartServer];
ProjectPort:=0; ProjectPort:=0;
ProjectURL:=''; ProjectURL:='';

View File

@ -11,6 +11,12 @@ Resourcestring
pjsdWebApplication = 'Web Browser Application'; pjsdWebApplication = 'Web Browser Application';
pjsdWebAppDescription = 'A pas2js program running in the browser.'; pjsdWebAppDescription = 'A pas2js program running in the browser.';
pjsdProgressiveWebApplication = 'Progressive Web Application'; pjsdProgressiveWebApplication = 'Progressive Web Application';
pjsdOverwrite = 'Overwrite?';
pjsdError = 'Error';
pjsdNewProjectFile = 'New project file';
pjsdProjectPascalFile = 'Project Pascal file';
pjsdPleaseChooseAFileWithFullPath = 'Please choose a file with full path.';
pjsdOverwriteFiles = 'Overwrite files:';
pjsdProgressiveWebAppDescription = 'A Web Application using a service worker, a manifest, and more to be installable.'; pjsdProgressiveWebAppDescription = 'A Web Application using a service worker, a manifest, and more to be installable.';
pjsdServiceWorker = 'Pas2JS Service Worker'; pjsdServiceWorker = 'Pas2JS Service Worker';
pjsdServiceWorkerDescription = 'A pas2js program running as cache for a web app. It does not run standalone.'; pjsdServiceWorkerDescription = 'A pas2js program running as cache for a web app. It does not run standalone.';
@ -34,15 +40,12 @@ Resourcestring
+'macros like $MakeExe(). Without a full path, %s is searched in PATH.'; +'macros like $MakeExe(). Without a full path, %s is searched in PATH.';
pjsdPathOfXMacroPas2js = 'Path of %s, macro $(pas2js)'; pjsdPathOfXMacroPas2js = 'Path of %s, macro $(pas2js)';
pjsdBrowse = 'Browse'; pjsdBrowse = 'Browse';
pjsdWebServerAndBrowserOptions = 'Web server and browser options';
pjsdPortNumberToStartAllocatingFrom = 'Port number to start allocating ' pjsdPortNumberToStartAllocatingFrom = 'Port number to start allocating '
+'from, macro $(Pas2JSWebServerPort)'; +'from, macro $(Pas2JSWebServerPort)';
pjsdWebServerOptions = 'Web server options';
pjsdServerInstancesWillBeStartedWithAPortStartingFromT = 'Server instances ' pjsdServerInstancesWillBeStartedWithAPortStartingFromT = 'Server instances '
+'will be started with a port starting from this number, increasing per ' +'will be started with a port starting from this number, increasing per '
+'new project'; +'new project';
pjsdBrowserToOpenHTMLPage = 'Browser to open HTML page, macro $(Pas2JSBrowser)';
pjsdUseThisBrowserWhenOpeningTheURLOrHTMLFileOfAWebBro = 'Use this browser '
+'when opening the URL or HTML file of a web browser project';
pjsdPathOfNodeJsExecutable = 'Path of Node.js executable, macro $(Pas2JSNodeJS)'; pjsdPathOfNodeJsExecutable = 'Path of Node.js executable, macro $(Pas2JSNodeJS)';
pjsdAtomPackageTemplateDirectory = 'Atom package template directory'; pjsdAtomPackageTemplateDirectory = 'Atom package template directory';
pjsdVisualStudioCodeExtensionTemplateDirectory = 'Visual Studio Code ' pjsdVisualStudioCodeExtensionTemplateDirectory = 'Visual Studio Code '