From 3adee3a411cabf7f30e4fb90af551ea7e50c7b36 Mon Sep 17 00:00:00 2001 From: gambas Date: Sat, 22 Feb 2020 15:58:32 +0100 Subject: [PATCH] Add support for test modules. [DEVELOPMENT ENVIRONMENT] * NEW: Add support for test modules. --- app/src/gambas3/.lang/fr.po | 920 +++++++++--------- .../.src/Component/CDocumentation.class | 30 +- app/src/gambas3/.src/Component/CModule.class | 4 +- .../gambas3/.src/Dialog/FFileProperty.class | 3 + .../gambas3/.src/Exported/TextEditor.class | 2 +- app/src/gambas3/.src/FMain.class | 6 +- app/src/gambas3/.src/FMain.form | 34 +- app/src/gambas3/.src/Project.module | 44 +- .../gambas3/.src/Project/CProjectTree.class | 14 +- .../gambas3/.src/Project/FCreateFile.class | 6 + app/src/gambas3/.src/Project/FCreateFile.form | 2 +- .../gambas3/.src/Project/FImportFile.class | 15 +- .../.src/Project/FProjectProperty.class | 1 + .../.src/VersionControl/FConflict.class | 2 +- app/src/gambas3/img/module/test-dark.png | Bin 0 -> 193 bytes app/src/gambas3/img/module/test.png | Bin 0 -> 193 bytes 16 files changed, 568 insertions(+), 515 deletions(-) create mode 100644 app/src/gambas3/img/module/test-dark.png create mode 100644 app/src/gambas3/img/module/test.png diff --git a/app/src/gambas3/.lang/fr.po b/app/src/gambas3/.lang/fr.po index c6d208d2f..732045fbe 100644 --- a/app/src/gambas3/.lang/fr.po +++ b/app/src/gambas3/.lang/fr.po @@ -222,7 +222,7 @@ msgid "" msgstr "" "Project-Id-Version: gambas3 3.14.90\n" -"PO-Revision-Date: 2020-01-28 22:13 UTC\n" +"PO-Revision-Date: 2020-02-22 14:56 UTC\n" "Last-Translator: Benoît Minisini \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -270,7 +270,7 @@ msgstr "Méthodes statiques" msgid "Constants" msgstr "Constantes" -#: CClassInfo.class:623 FMain.form:568 FProperty.form:28 +#: CClassInfo.class:623 FMain.form:569 FProperty.form:28 msgid "Properties" msgstr "Propriétés" @@ -346,7 +346,7 @@ msgstr "Cette classe se comporte comme un tableau accessible en &1." msgid "write-only" msgstr "écriture seule" -#: CClassInfo.class:692 Project.module:1653 +#: CClassInfo.class:692 Project.module:1656 msgid "read-only" msgstr "lecture seule" @@ -398,11 +398,11 @@ msgstr "énumérable statiquement" msgid "Loading information on component &1..." msgstr "Chargement des informations sur le composant &1..." -#: CComponent.class:1596 FFileProperty.class:164 FProjectProperty.class:942 +#: CComponent.class:1596 FFileProperty.class:167 FProjectProperty.class:943 msgid "Classes" msgstr "Classes" -#: CComponent.class:1640 FDebugInfo.class:40 FMain.form:888 +#: CComponent.class:1640 FDebugInfo.class:40 FMain.form:896 msgid "Class" msgstr "Classe" @@ -866,11 +866,11 @@ msgstr "Nombres complexes" msgid "XML management" msgstr "Gestion du XML" -#: CInsertColor.class:238 FEditor.form:211 FTextEditor.form:211 +#: CInsertColor.class:238 FEditor.form:211 FTextEditor.form:208 msgid "Insert color" msgstr "Insérer une couleur" -#: CInsertDate.class:58 FEditor.form:561 FTextEditor.form:545 +#: CInsertDate.class:58 FEditor.form:561 FTextEditor.form:537 msgid "Insert today's date" msgstr "Insérer la date du jour" @@ -890,7 +890,7 @@ msgstr "ATTENTION ! Bibliothèque introuvable." msgid "Provides" msgstr "Fournit" -#: CModule.class:28 FEditor.form:414 FForm.form:462 FMain.form:895 +#: CModule.class:28 FEditor.form:414 FForm.form:468 FMain.form:903 msgid "Form" msgstr "Formulaire" @@ -906,7 +906,7 @@ msgstr "Formulaires Gambas" msgid "Gambas web pages" msgstr "Pages web Gambas" -#: CModule.class:29 FMain.form:902 +#: CModule.class:29 FMain.form:910 msgid "WebPage" msgstr "Page Web" @@ -918,7 +918,7 @@ msgstr "Pages Web" msgid "Gambas reports" msgstr "États Gambas" -#: CModule.class:30 FMain.form:909 +#: CModule.class:30 FMain.form:917 msgid "Report" msgstr "État" @@ -930,7 +930,7 @@ msgstr "États" msgid "Gambas web forms" msgstr "Formulaires Web Gambas" -#: CModule.class:31 FMain.form:916 +#: CModule.class:31 FMain.form:924 msgid "WebForm" msgstr "Formulaire Web" @@ -942,7 +942,7 @@ msgstr "Formulaires Web" msgid "Gambas terminal forms" msgstr "Formulaires de terminal Gambas" -#: CModule.class:32 FMain.form:923 +#: CModule.class:32 FMain.form:931 msgid "TermForm" msgstr "Formulaire de terminal" @@ -970,7 +970,7 @@ msgstr "ici" msgid "IDE extensions" msgstr "Extension de l'EDI" -#: CProjectList.class:552 CVersionControlGit.class:397 CWaitingAnimation.class:63 FColorChooser.form:68 FComponentChooser.form:97 FConflict.class:197 FConnectionEditor.class:470 FCrash.form:97 FCreateFile.form:204 FDebugExpr.form:46 FDebugInfo.form:290 FExportData.class:126 FFarmConfig.form:38 FFarmLogin.form:126 FFarmRegister.form:141 FFarmRequest.form:43 FFieldChooser.form:144 FFileProperty.class:144 FFontChooser.form:40 FGotoLine.form:23 FHelpBrowser.form:73 FImageOffsetSelection.form:33 FImageQuality.form:30 FImageResize.form:49 FImageRotate.form:32 FLayout.form:50 FList.form:128 FMain.class:256 FMakeInstall.class:358 FMenu.form:414 FNewConnection.form:318 FNewTable.form:86 FNewTranslation.form:21 FOption.class:818 FPasteSpecial.form:86 FPasteTable.form:105 FProjectChooser.form:73 FProjectProperty.form:1032 FProjectVersion.class:211 FProxy.form:57 FPublish.class:273 FReportBorderChooser.form:48 FReportBoxShadowChooser.form:27 FReportBrushChooser.form:36 FReportCoordChooser.form:26 FReportPaddingChooser.form:75 FSave.form:28 FSaveProjectAs.form:81 FSearch.class:946 FSelectComponent.form:39 FSelectExtraFile.form:43 FSelectIcon.form:89 FSelectLibrary.form:66 FSnippet.form:57 FSoftwareFarm.class:552 FTableChooser.form:68 FText.form:40 FTranslate.class:677 FVersionControl.form:78 FWebFontChooser.form:129 Project.module:562 VersionControl.module:382 +#: CProjectList.class:552 CVersionControlGit.class:397 CWaitingAnimation.class:63 FColorChooser.form:68 FComponentChooser.form:97 FConflict.class:197 FConnectionEditor.class:470 FCrash.form:97 FCreateFile.form:204 FDebugExpr.form:46 FDebugInfo.form:290 FExportData.class:126 FFarmConfig.form:38 FFarmLogin.form:126 FFarmRegister.form:141 FFarmRequest.form:43 FFieldChooser.form:144 FFileProperty.class:146 FFontChooser.form:40 FGotoLine.form:23 FHelpBrowser.form:73 FImageOffsetSelection.form:33 FImageQuality.form:30 FImageResize.form:49 FImageRotate.form:32 FLayout.form:50 FList.form:128 FMain.class:256 FMakeInstall.class:358 FMenu.form:414 FNewConnection.form:318 FNewTable.form:86 FNewTranslation.form:21 FOption.class:818 FPasteSpecial.form:86 FPasteTable.form:105 FProjectChooser.form:73 FProjectProperty.form:1032 FProjectVersion.class:211 FProxy.form:57 FPublish.class:273 FReportBorderChooser.form:48 FReportBoxShadowChooser.form:27 FReportBrushChooser.form:36 FReportCoordChooser.form:26 FReportPaddingChooser.form:75 FSave.form:28 FSaveProjectAs.form:81 FSearch.class:946 FSelectComponent.form:39 FSelectExtraFile.form:43 FSelectIcon.form:89 FSelectLibrary.form:66 FSnippet.form:57 FSoftwareFarm.class:552 FTableChooser.form:68 FText.form:40 FTranslate.class:677 FVersionControl.form:78 FWebFontChooser.form:129 Project.module:565 VersionControl.module:382 msgid "Cancel" msgstr "Annuler" @@ -994,27 +994,27 @@ msgstr "Le logiciel a été désinstallé avec succès." msgid "Files" msgstr "Fichiers" -#: CProjectTree.class:355 FHelpShortcut.form:22 FMain.form:426 FSearch.class:111 FSelectIcon.form:31 +#: CProjectTree.class:357 FHelpShortcut.form:22 FMain.form:427 FSearch.class:111 FSelectIcon.form:31 msgid "Project" msgstr "Projet" -#: CProjectTree.class:358 +#: CProjectTree.class:360 msgid "Sources" msgstr "Sources" -#: CProjectTree.class:360 +#: CProjectTree.class:362 msgid "Connections" msgstr "Connexions" -#: CProjectTree.class:361 +#: CProjectTree.class:363 msgid "Public" msgstr "Public" -#: CProjectTree.class:362 +#: CProjectTree.class:364 msgid "Data" msgstr "Données" -#: CRecentProject.class:68 FMain.class:724 +#: CRecentProject.class:68 FMain.class:726 msgid "Today" msgstr "Aujourd'hui" @@ -1050,7 +1050,7 @@ msgstr "Impossible de décompresser l'archive source." msgid "Abort" msgstr "Abandonner" -#: CSoftware.class:361 FMain.class:2712 FMenu.class:76 +#: CSoftware.class:361 FMain.class:2706 FMenu.class:76 msgid "Ignore" msgstr "Ignorer" @@ -1166,7 +1166,7 @@ msgstr "URL du référentiel distant" msgid "A new Git repository will be created for this project." msgstr "Un nouveau référentiel Git sera créé pour ce projet." -#: CVersionControlGit.class:397 Design.module:508 FColorChooser.form:62 FConnectionEditor.class:700 FCrash.form:91 FCreateFile.form:210 FFarmConfig.form:33 FFarmLogin.form:121 FFieldChooser.form:138 FFontChooser.form:34 FGotoLine.form:17 FImageOffsetSelection.form:27 FImageQuality.form:24 FImageResize.form:103 FImageRotate.form:26 FLayout.form:44 FList.form:122 FMenu.form:409 FNewConnection.form:312 FNewTable.form:80 FNewTranslation.form:15 FPasteSpecial.form:80 FProjectProperty.form:1026 FProxy.form:63 FReportBorderChooser.form:54 FReportBoxShadowChooser.form:33 FReportBrushChooser.form:42 FReportCoordChooser.form:32 FReportPaddingChooser.form:69 FSelectComponent.form:34 FSelectExtraFile.form:37 FSelectIcon.form:84 FSelectLibrary.form:60 FSnippet.form:51 FTableChooser.form:62 FText.form:34 FVersionError.form:69 FWebFontChooser.form:123 +#: CVersionControlGit.class:397 Design.module:508 FColorChooser.form:62 FConnectionEditor.class:707 FCrash.form:91 FCreateFile.form:210 FFarmConfig.form:33 FFarmLogin.form:121 FFieldChooser.form:138 FFontChooser.form:34 FGotoLine.form:17 FImageOffsetSelection.form:27 FImageQuality.form:24 FImageResize.form:103 FImageRotate.form:26 FLayout.form:44 FList.form:122 FMenu.form:409 FNewConnection.form:312 FNewTable.form:80 FNewTranslation.form:15 FPasteSpecial.form:80 FProjectProperty.form:1026 FProxy.form:63 FReportBorderChooser.form:54 FReportBoxShadowChooser.form:33 FReportBrushChooser.form:42 FReportCoordChooser.form:32 FReportPaddingChooser.form:69 FSelectComponent.form:34 FSelectExtraFile.form:37 FSelectIcon.form:84 FSelectLibrary.form:60 FSnippet.form:51 FTableChooser.form:62 FText.form:34 FVersionError.form:69 FWebFontChooser.form:123 msgid "OK" msgstr "OK" @@ -1198,19 +1198,19 @@ msgstr "La police Gambas est publiée sous licence « SIL Open Font License »." msgid "This program is published under the GNU General Public License." msgstr "Ce programme est publié sous la « Licence Publique Générale GNU »." -#: Design.module:221 Project.module:2212 +#: Design.module:221 Project.module:2215 msgid "first" msgstr "premier" -#: Design.module:223 Project.module:2214 +#: Design.module:223 Project.module:2217 msgid "second" msgstr "deuxième" -#: Design.module:225 Project.module:2216 +#: Design.module:225 Project.module:2219 msgid "third" msgstr "troisième" -#: Design.module:319 Project.module:2275 +#: Design.module:319 Project.module:2278 msgid "in &1:&2." msgstr "dans &1:&2." @@ -1242,7 +1242,7 @@ msgstr "Licence" msgid "Financial support" msgstr "Aide financière" -#: FAbout.form:12 FMain.form:1265 FWelcome.class:75 +#: FAbout.form:12 FMain.form:1273 FWelcome.class:75 msgid "About Gambas" msgstr "À propos de Gambas" @@ -1318,7 +1318,7 @@ msgstr "Choisissez un composant" msgid "Show deprecated components" msgstr "Afficher les composants dépréciés" -#: FComponentChooser.form:103 FConflictEditor.form:293 FConnectionEditor.form:120 FEditor.form:366 FForm.form:439 FHelpBrowser.form:79 FImageEditor.form:377 FMain.form:376 FTextEditor.form:370 FTranslate.form:93 Project.module:853 +#: FComponentChooser.form:103 FConflictEditor.form:293 FConnectionEditor.form:120 FEditor.form:366 FForm.form:445 FHelpBrowser.form:79 FImageEditor.form:377 FMain.form:377 FTextEditor.form:362 FTranslate.form:93 Project.module:856 msgid "Reload" msgstr "Recharger" @@ -1334,7 +1334,7 @@ msgstr "Zoom arrière" msgid "No zoom" msgstr "Taille normale" -#: FConflict.class:14 FMain.form:1609 +#: FConflict.class:14 FMain.form:1617 msgid "&Edit" msgstr "&Editer" @@ -1350,7 +1350,7 @@ msgstr "Impossible de charger le fichier :" msgid "Text" msgstr "Texte" -#: FConflict.class:141 FMain.form:933 FReportBrushChooser.form:49 Project.module:232 +#: FConflict.class:141 FMain.form:941 FReportBrushChooser.form:49 Project.module:235 msgid "Image" msgstr "Image" @@ -1378,39 +1378,39 @@ msgstr "Fichiers en conflits" msgid "Version conflict" msgstr "Conflit de version" -#: FConflict.form:70 FConflictEditor.form:114 FConnectionEditor.form:382 FEditor.form:130 FForm.form:158 FImageEditor.form:138 FMain.form:1028 FMenu.form:120 FProjectVersion.form:234 FTextEditor.form:131 +#: FConflict.form:70 FConflictEditor.form:114 FConnectionEditor.form:382 FEditor.form:130 FForm.form:164 FImageEditor.form:138 FMain.form:1036 FMenu.form:120 FProjectVersion.form:234 FTextEditor.form:128 msgid "Cut" msgstr "Couper" -#: FConflict.form:76 FConflictEditor.form:121 FConnectionEditor.form:152 FEditor.form:137 FForm.form:165 FImageEditor.form:146 FList.form:99 FMain.form:1035 FMakeInstall.form:898 FMenu.form:126 FOutput.form:40 FProjectVersion.form:240 FSystemInfo.form:62 FTextEditor.form:138 FTranslate.form:114 +#: FConflict.form:76 FConflictEditor.form:121 FConnectionEditor.form:152 FEditor.form:137 FForm.form:171 FImageEditor.form:146 FList.form:99 FMain.form:1043 FMakeInstall.form:898 FMenu.form:126 FOutput.form:40 FProjectVersion.form:240 FSystemInfo.form:62 FTextEditor.form:135 FTranslate.form:114 msgid "Copy" msgstr "Copier" -#: FConflict.form:82 FConflictEditor.form:128 FConnectionEditor.form:161 FEditor.form:144 FForm.form:178 FImageEditor.form:153 FList.form:105 FMain.form:1042 FMenu.form:132 FOutput.form:47 FPasteTable.form:99 FProjectVersion.form:246 FTextEditor.form:145 +#: FConflict.form:82 FConflictEditor.form:128 FConnectionEditor.form:161 FEditor.form:144 FForm.form:184 FImageEditor.form:153 FList.form:105 FMain.form:1050 FMenu.form:132 FOutput.form:47 FPasteTable.form:99 FProjectVersion.form:246 FTextEditor.form:142 msgid "Paste" msgstr "Coller" -#: FConflict.form:88 FConflictEditor.form:97 FConnectionEditor.form:403 FEditor.form:113 FFieldChooser.form:127 FForm.form:141 FImageEditor.form:119 FList.form:111 FOption.form:1096 FProjectVersion.form:252 FTextEditor.form:114 +#: FConflict.form:88 FConflictEditor.form:97 FConnectionEditor.form:403 FEditor.form:113 FFieldChooser.form:127 FForm.form:147 FImageEditor.form:119 FList.form:111 FOption.form:1096 FProjectVersion.form:252 FTextEditor.form:111 msgid "Undo" msgstr "Annuler" -#: FConflict.form:94 FConflictEditor.form:104 FConnectionEditor.form:410 FEditor.form:120 FForm.form:148 FImageEditor.form:127 FProjectVersion.form:258 FTextEditor.form:121 +#: FConflict.form:94 FConflictEditor.form:104 FConnectionEditor.form:410 FEditor.form:120 FForm.form:154 FImageEditor.form:127 FProjectVersion.form:258 FTextEditor.form:118 msgid "Redo" msgstr "Rétablir" -#: FConflict.form:100 FConflictEditor.form:441 FEditor.form:580 FMenu.form:142 FProjectVersion.form:264 FTextEditor.form:564 +#: FConflict.form:100 FConflictEditor.form:441 FEditor.form:580 FMenu.form:142 FProjectVersion.form:264 FTextEditor.form:556 msgid "Indent" msgstr "Indenter" -#: FConflict.form:106 FConflictEditor.form:449 FEditor.form:588 FMenu.form:148 FProjectVersion.form:270 FTextEditor.form:572 +#: FConflict.form:106 FConflictEditor.form:449 FEditor.form:588 FMenu.form:148 FProjectVersion.form:270 FTextEditor.form:564 msgid "Unindent" msgstr "Désindenter" -#: FConflict.form:141 FMain.form:369 FOpenProject.form:35 FProjectChooser.form:85 +#: FConflict.form:141 FMain.form:370 FOpenProject.form:35 FProjectChooser.form:85 msgid "Open" msgstr "Ouvrir" -#: FConflict.form:149 FConflictEditor.form:299 FConnectionEditor.form:112 FEditor.form:372 FForm.form:445 FImageEditor.form:384 FMain.form:385 FMenu.class:76 FOption.form:805 FSaveProjectAs.form:87 FTextEditor.form:376 FTranslate.form:234 +#: FConflict.form:149 FConflictEditor.form:299 FConnectionEditor.form:112 FEditor.form:372 FForm.form:451 FImageEditor.form:384 FMain.form:386 FMenu.class:76 FOption.form:805 FSaveProjectAs.form:87 FTextEditor.form:368 FTranslate.form:234 msgid "Save" msgstr "Enregistrer" @@ -1418,11 +1418,11 @@ msgstr "Enregistrer" msgid "Solve" msgstr "Résoudre" -#: FConflict.form:166 FConflictEditor.form:306 FDebugInfo.form:297 FEditor.form:346 FFileProperty.form:76 FForm.form:432 FImageEditor.form:391 FMain.form:401 FPatch.form:88 FProjectVersion.form:322 FSystemInfo.form:68 FTextEditor.form:350 FTips.form:83 FTranslate.form:411 +#: FConflict.form:166 FConflictEditor.form:306 FDebugInfo.form:297 FEditor.form:346 FFileProperty.form:76 FForm.form:438 FImageEditor.form:391 FMain.form:402 FPatch.form:88 FProjectVersion.form:322 FSystemInfo.form:68 FTextEditor.form:342 FTips.form:83 FTranslate.form:411 msgid "Close" msgstr "Fermer" -#: FConflictEditor.class:956 FEditor.class:2720 FTextEditor.class:1125 +#: FConflictEditor.class:956 FEditor.class:2720 FTextEditor.class:1139 msgid "(Declarations)" msgstr "(Déclarations)" @@ -1430,114 +1430,114 @@ msgstr "(Déclarations)" msgid "There are still conflicts in this file." msgstr "Il reste des conflits dans ce fichier." -#: FConflictEditor.form:134 FEditor.form:150 FTextEditor.form:151 +#: FConflictEditor.form:134 FEditor.form:150 FTextEditor.form:148 msgid "Advanced" msgstr "Avancé" -#: FConflictEditor.form:138 FEditor.form:161 FTextEditor.form:155 +#: FConflictEditor.form:138 FEditor.form:161 FTextEditor.form:152 msgid "Upper case" msgstr "Majuscules" -#: FConflictEditor.form:145 FEditor.form:154 FTextEditor.form:162 +#: FConflictEditor.form:145 FEditor.form:154 FTextEditor.form:159 msgid "Lower case" msgstr "Minuscules" -#: FConflictEditor.form:155 FEditor.form:171 FTextEditor.form:187 +#: FConflictEditor.form:155 FEditor.form:171 FTextEditor.form:184 msgid "Comment" msgstr "Mettre en commentaire" -#: FConflictEditor.form:162 FEditor.form:178 FTextEditor.form:194 +#: FConflictEditor.form:162 FEditor.form:178 FTextEditor.form:191 msgid "Uncomment" msgstr "Retirer les commentaires" -#: FConflictEditor.form:172 FEditor.form:188 FPasteSpecial.form:19 FTextEditor.form:204 +#: FConflictEditor.form:172 FEditor.form:188 FPasteSpecial.form:19 FTextEditor.form:201 msgid "Paste special" msgstr "Collage spécial" -#: FConflictEditor.form:183 FEditor.form:221 FImageEditor.form:222 FTextEditor.form:240 +#: FConflictEditor.form:183 FEditor.form:221 FImageEditor.form:222 FTextEditor.form:232 msgid "Select All" msgstr "Tout sélectionner" -#: FConflictEditor.form:193 FEditor.form:236 FGotoLine.form:12 FTextEditor.form:250 +#: FConflictEditor.form:193 FEditor.form:236 FGotoLine.form:12 FTextEditor.form:242 msgid "Go to line" msgstr "Aller à la ligne" -#: FConflictEditor.form:198 FEditor.form:241 FTextEditor.form:255 +#: FConflictEditor.form:198 FEditor.form:241 FTextEditor.form:247 msgid "Bookmarks" msgstr "Signets" -#: FConflictEditor.form:206 FEditor.form:256 FTextEditor.form:263 +#: FConflictEditor.form:206 FEditor.form:256 FTextEditor.form:255 msgid "Find next" msgstr "Poursuivre la recherche" -#: FConflictEditor.form:213 FEditor.form:263 FTextEditor.form:270 +#: FConflictEditor.form:213 FEditor.form:263 FTextEditor.form:262 msgid "Find previous" msgstr "Recherche en arrière" -#: FConflictEditor.form:222 FEditor.form:272 FImageEditor.form:330 FMain.form:718 FTextEditor.form:279 +#: FConflictEditor.form:222 FEditor.form:272 FImageEditor.form:330 FMain.form:719 FTextEditor.form:271 msgid "View" msgstr "Affichage" -#: FConflictEditor.form:226 FEditor.form:276 FTextEditor.form:283 +#: FConflictEditor.form:226 FEditor.form:276 FTextEditor.form:275 msgid "Automatic word wrap" msgstr "Retour à la ligne automatique" -#: FConflictEditor.form:233 FTextEditor.form:290 +#: FConflictEditor.form:233 FTextEditor.form:282 msgid "Indent with tab" msgstr "Indenter avec des tabulations" -#: FConflictEditor.form:240 FEditor.form:283 FTextEditor.form:297 +#: FConflictEditor.form:240 FEditor.form:283 FTextEditor.form:289 msgid "No split" msgstr "Affichage complet" -#: FConflictEditor.form:246 FEditor.form:289 FTextEditor.form:303 +#: FConflictEditor.form:246 FEditor.form:289 FTextEditor.form:295 msgid "Horizontal split" msgstr "Séparation horizontale" -#: FConflictEditor.form:253 FEditor.form:296 FTextEditor.form:310 +#: FConflictEditor.form:253 FEditor.form:296 FTextEditor.form:302 msgid "Vertical split" msgstr "Séparation verticale" -#: FConflictEditor.form:260 FImportTable.form:89 FTextEditor.form:317 +#: FConflictEditor.form:260 FImportTable.form:89 FTextEditor.form:309 msgid "End of line" msgstr "Fin de ligne" # gb-ignore -#: FConflictEditor.form:263 FTextEditor.form:320 +#: FConflictEditor.form:263 FTextEditor.form:312 msgid "Unix" msgstr "" # gb-ignore -#: FConflictEditor.form:268 FTextEditor.form:325 +#: FConflictEditor.form:268 FTextEditor.form:317 msgid "Windows" msgstr "" # gb-ignore -#: FConflictEditor.form:273 FTextEditor.form:330 +#: FConflictEditor.form:273 FTextEditor.form:322 msgid "MAC" msgstr "" -#: FConflictEditor.form:283 FForm.form:408 FMain.form:991 FTextEditor.form:340 +#: FConflictEditor.form:283 FForm.form:414 FMain.form:999 FTextEditor.form:332 msgid "Open code" msgstr "Ouvrir le code" -#: FConflictEditor.form:316 FEditor.form:382 FPasteSpecial.form:60 FTextEditor.form:386 +#: FConflictEditor.form:316 FEditor.form:382 FPasteSpecial.form:60 FTextEditor.form:378 msgid "Paste as string" msgstr "Coller comme chaîne" -#: FConflictEditor.form:321 FEditor.form:387 FPasteSpecial.form:65 FTextEditor.form:391 +#: FConflictEditor.form:321 FEditor.form:387 FPasteSpecial.form:65 FTextEditor.form:383 msgid "Paste as multi-line string" msgstr "Coller comme chaîne sur plusieurs lignes" -#: FConflictEditor.form:326 FEditor.form:392 FPasteSpecial.form:50 FTextEditor.form:396 +#: FConflictEditor.form:326 FEditor.form:392 FPasteSpecial.form:50 FTextEditor.form:388 msgid "Paste as comments" msgstr "Coller comme commentaires" -#: FConflictEditor.form:342 FTextEditor.form:412 +#: FConflictEditor.form:342 FTextEditor.form:404 msgid "Text editor" msgstr "Éditeur de texte" -#: FConflictEditor.form:348 FForm.form:468 FTextEditor.form:418 +#: FConflictEditor.form:348 FForm.form:474 FTextEditor.form:410 msgid "Code" msgstr "Code" @@ -1617,111 +1617,111 @@ msgstr "Ne pas enregistrer" msgid "The table '&1' has been modified. Do you want to save it?" msgstr "La table « &1 » a été modifiée. Voulez-vous l'enregistrer ?" -#: FConnectionEditor.class:596 +#: FConnectionEditor.class:498 msgid "No record" msgstr "Aucun enregistrement" -#: FConnectionEditor.class:598 +#: FConnectionEditor.class:500 msgid "One record" msgstr "Un enregistrement" -#: FConnectionEditor.class:600 +#: FConnectionEditor.class:502 msgid "&1 records" msgstr "&1 enregistrements" -#: FConnectionEditor.class:637 +#: FConnectionEditor.class:644 msgid "Unable to load table '&1'." msgstr "Impossible de charger la table « &1 »." -#: FConnectionEditor.class:708 +#: FConnectionEditor.class:715 msgid "Unable to run query." msgstr "Impossible d'exécuter la requête." -#: FConnectionEditor.class:710 +#: FConnectionEditor.class:717 msgid "&1 s" msgstr "&1 s" -#: FConnectionEditor.class:743 +#: FConnectionEditor.class:750 msgid "unlimited" msgstr "illimité" -#: FConnectionEditor.class:830 MConnection.module:149 +#: FConnectionEditor.class:837 MConnection.module:149 msgid "Blob" msgstr "Blob" -#: FConnectionEditor.class:830 MConnection.module:143 +#: FConnectionEditor.class:837 MConnection.module:143 msgid "Boolean" msgstr "Booléen" -#: FConnectionEditor.class:830 FProjectVersion.class:290 MConnection.module:141 +#: FConnectionEditor.class:837 FProjectVersion.class:290 MConnection.module:141 msgid "Date" msgstr "Date" -#: FConnectionEditor.class:830 MConnection.module:139 +#: FConnectionEditor.class:837 MConnection.module:139 msgid "Float" msgstr "Décimal" -#: FConnectionEditor.class:830 MConnection.module:135 +#: FConnectionEditor.class:837 MConnection.module:135 msgid "Integer" msgstr "Entier" -#: FConnectionEditor.class:830 MConnection.module:137 +#: FConnectionEditor.class:837 MConnection.module:137 msgid "Long" msgstr "Entier long" -#: FConnectionEditor.class:830 MConnection.module:147 +#: FConnectionEditor.class:837 MConnection.module:147 msgid "Serial" msgstr "Série" -#: FConnectionEditor.class:830 MConnection.module:145 +#: FConnectionEditor.class:837 MConnection.module:145 msgid "String" msgstr "Chaîne" -#: FConnectionEditor.class:919 +#: FConnectionEditor.class:926 msgid "This name is already in used." msgstr "Ce nom est déjà utilisé." -#: FConnectionEditor.class:944 +#: FConnectionEditor.class:951 msgid "Please enter a number." msgstr "Veuillez saisir un nombre." -#: FConnectionEditor.class:949 +#: FConnectionEditor.class:956 msgid "The length must be greater than 1 and lower than 255." msgstr "La longueur doit être comprise entre 1 et 255." -#: FConnectionEditor.class:973 +#: FConnectionEditor.class:980 msgid "Type mismatch." msgstr "Type de données incorrect." -#: FConnectionEditor.class:1025 +#: FConnectionEditor.class:1032 msgid "This name already exists." msgstr "Ce nom existe déjà." -#: FConnectionEditor.class:1113 +#: FConnectionEditor.class:1120 msgid "This field is used in an index." msgstr "Le champ est utilisé dans un index." -#: FConnectionEditor.class:1467 +#: FConnectionEditor.class:1474 msgid "The table '&1' has no primary key." msgstr "La table « &1 » n'a pas de clef primaire." -#: FConnectionEditor.class:1603 +#: FConnectionEditor.class:1610 msgid "Cannot write table '&1'." msgstr "Impossible d'écrire la table « &1 »." -#: FConnectionEditor.class:1700 +#: FConnectionEditor.class:1707 msgid "Do you really want to delete table '&1'?" msgstr "Voulez-vous vraiment supprimer la table « &1 » ?" -#: FConnectionEditor.class:1712 +#: FConnectionEditor.class:1719 msgid "Cannot delete table '&1'." msgstr "Impossible de supprimer la table « &1 »." -#: FConnectionEditor.class:1765 +#: FConnectionEditor.class:1772 msgid "Do you really want to remove the selected rows?" msgstr "Voulez-vous vraiment supprimer les lignes sélectionnées ?" -#: FConnectionEditor.class:1927 +#: FConnectionEditor.class:1936 msgid "Do you really want to remove this query?" msgstr "Voulez-vous vraiment supprimer cette requête ?" @@ -1741,7 +1741,7 @@ msgstr "Nouvelle table" msgid "Delete table" msgstr "Supprimer la table" -#: FConnectionEditor.form:134 FDebugInfo.form:186 FMain.form:1172 FMakeInstall.form:739 FOption.form:1547 FProjectProperty.form:605 FPublish.form:268 FSoftwareFarm.form:422 +#: FConnectionEditor.form:134 FDebugInfo.form:186 FMain.form:1180 FMakeInstall.form:739 FOption.form:1547 FProjectProperty.form:605 FPublish.form:268 FSoftwareFarm.form:422 msgid "Remove" msgstr "Supprimer" @@ -1749,7 +1749,7 @@ msgstr "Supprimer" msgid "Rename table" msgstr "Renommer la table" -#: FConnectionEditor.form:143 FMain.form:1049 +#: FConnectionEditor.form:143 FMain.form:1057 msgid "Rename" msgstr "Renommer" @@ -1765,7 +1765,7 @@ msgstr "Copier la table" msgid "Import text file" msgstr "Importer un fichier texte" -#: FConnectionEditor.form:170 FImportTable.form:48 FMain.form:969 FOption.form:1533 FTranslate.form:431 +#: FConnectionEditor.form:170 FImportTable.form:48 FMain.form:977 FOption.form:1533 FTranslate.form:431 msgid "Import" msgstr "Importer" @@ -1773,7 +1773,7 @@ msgstr "Importer" msgid "Fields" msgstr "Champs" -#: FConnectionEditor.form:229 FMain.class:2165 FMakeInstall.form:733 FProjectProperty.form:672 FPublish.form:158 +#: FConnectionEditor.form:229 FMain.class:2164 FMakeInstall.form:733 FProjectProperty.form:672 FPublish.form:158 msgid "Add" msgstr "Ajouter" @@ -1805,7 +1805,7 @@ msgstr "Exécuter la requête" msgid "New query" msgstr "Nouvelle requête" -#: FConnectionEditor.form:361 FMain.form:864 FOption.form:1525 FTranslate.form:88 +#: FConnectionEditor.form:361 FMain.form:865 FOption.form:1525 FTranslate.form:88 msgid "New" msgstr "Nouveau" @@ -1817,7 +1817,7 @@ msgstr "Supprimer la requête" msgid "Clear" msgstr "Effacer" -#: FConnectionEditor.form:455 FDebugExpr.form:28 FMain.form:417 FOption.form:1540 +#: FConnectionEditor.form:455 FDebugExpr.form:28 FMain.form:418 FOption.form:1540 msgid "Edit" msgstr "Editer" @@ -1829,15 +1829,15 @@ msgstr "Exporter vers un fichier CSV" msgid "Export" msgstr "Exporter" -#: FConnectionEditor.form:492 FForm.form:185 FList.form:65 FMain.form:1056 FMenu.form:110 FNewConnection.class:402 FOption.form:812 FSoftwareFarm.class:654 FTranslate.form:98 +#: FConnectionEditor.form:492 FForm.form:191 FList.form:65 FMain.form:1064 FMenu.form:110 FNewConnection.class:402 FOption.form:812 FSoftwareFarm.class:654 FTranslate.form:98 msgid "Delete" msgstr "Supprimer" -#: FConnectionEditor.form:500 FForm.form:219 +#: FConnectionEditor.form:500 FForm.form:225 msgid "Select all" msgstr "Sélectionner tout" -#: FConnectionEditor.form:508 FForm.form:231 +#: FConnectionEditor.form:508 FForm.form:237 msgid "Unselect all" msgstr "Déselectionner tout" @@ -1845,7 +1845,7 @@ msgstr "Déselectionner tout" msgid "Gambas 3 project conversion" msgstr "Conversion en projet Gambas 3" -#: FCrash.class:73 FTranslate.class:244 Project.module:4531 +#: FCrash.class:73 FTranslate.class:244 Project.module:4532 msgid "The '&1' command has failed." msgstr "La commande '&1' a échoué." @@ -1877,7 +1877,7 @@ msgstr "Ne pas joindre le projet au mail" msgid "(No parent)" msgstr "(Aucune)" -#: FCreateFile.class:293 +#: FCreateFile.class:299 msgid "Cannot add file." msgstr "Impossible d'ajouter le fichier." @@ -1937,7 +1937,7 @@ msgstr "Veuillez choisir un modèle" msgid "Please enter the location of the repository." msgstr "Veuillez saisir l'emplacement du référentiel." -#: FCreateProject.form:31 FMain.form:289 +#: FCreateProject.form:31 FMain.form:290 msgid "New project" msgstr "Nouveau projet" @@ -1993,7 +1993,7 @@ msgstr "Le référentiel du projet est directement envoyé à la commande 'svn c msgid "Debugging" msgstr "Débogage" -#: FDebugButton.form:29 FDebugInfo.form:169 FMain.form:741 FOption.form:933 +#: FDebugButton.form:29 FDebugInfo.form:169 FMain.form:742 FOption.form:933 msgid "Console" msgstr "Console" @@ -2013,7 +2013,7 @@ msgstr "Tâches" msgid "Search result" msgstr "Résultat de la recherche" -#: FDebugButton.form:74 FDebugInfo.form:358 FMain.form:497 FProjectProperty.form:970 +#: FDebugButton.form:74 FDebugInfo.form:358 FMain.form:498 FProjectProperty.form:970 msgid "Version control" msgstr "Contrôle de version" @@ -2057,7 +2057,7 @@ msgstr "Ligne" msgid "Function" msgstr "Fonction" -#: FDebugInfo.class:60 FMain.form:285 FTranslate.class:78 +#: FDebugInfo.class:60 FMain.form:286 FTranslate.class:78 msgid "File" msgstr "Fichier" @@ -2093,7 +2093,7 @@ msgstr "Objet courant" msgid "Local variables" msgstr "Variables locales" -#: FDebugInfo.form:68 FMain.form:576 +#: FDebugInfo.form:68 FMain.form:577 msgid "Debug" msgstr "Débogage" @@ -2149,23 +2149,23 @@ msgstr "La chaîne recherchée est introuvable." msgid "Clear console" msgstr "Effacer la console" -#: FDebugInfo.form:372 FMain.form:502 FProjectVersion.form:89 FVersionControl.form:16 +#: FDebugInfo.form:372 FMain.form:503 FProjectVersion.form:89 FVersionControl.form:16 msgid "Commit" msgstr "Publier" -#: FDebugInfo.form:379 FMain.form:508 FReportBorderChooser.form:60 FReportPaddingChooser.form:64 +#: FDebugInfo.form:379 FMain.form:509 FReportBorderChooser.form:60 FReportPaddingChooser.form:64 msgid "Synchronize" msgstr "Synchroniser" -#: FDebugInfo.form:386 FMain.form:521 +#: FDebugInfo.form:386 FMain.form:522 msgid "Revert all changes" msgstr "Annuler tous les changements" -#: FDebugInfo.form:393 FMain.form:527 +#: FDebugInfo.form:393 FMain.form:528 msgid "Add everything to repository" msgstr "Tout ajouter au référentiel" -#: FEditor.form:195 FTextEditor.form:217 +#: FEditor.form:195 FTextEditor.form:214 msgid "Format code" msgstr "Formater le code" @@ -2181,7 +2181,7 @@ msgstr "Aller à" msgid "Find definition" msgstr "Trouver la définition" -#: FEditor.form:306 FMain.form:1499 +#: FEditor.form:306 FMain.form:1507 msgid "Run until current line" msgstr "Exécuter jusqu'à la ligne courante" @@ -2197,15 +2197,15 @@ msgstr "Surveiller des expressions" msgid "Open form" msgstr "Ouvrir le formulaire" -#: FEditor.form:336 FMain.form:1082 +#: FEditor.form:336 FMain.form:1090 msgid "Run this class" msgstr "Exécuter cette classe" -#: FEditor.form:353 FForm.form:425 FImageEditor.form:369 FTextEditor.form:357 +#: FEditor.form:353 FForm.form:431 FImageEditor.form:369 FTextEditor.form:349 msgid "Locked" msgstr "Verrouillé" -#: FEditor.form:359 FHelpBrowser.form:120 FTextEditor.form:363 +#: FEditor.form:359 FHelpBrowser.form:120 FTextEditor.form:355 msgid "Print" msgstr "Imprimer" @@ -2213,31 +2213,31 @@ msgstr "Imprimer" msgid "Editor" msgstr "Éditeur" -#: FEditor.form:421 FTextEditor.form:425 +#: FEditor.form:421 FForm.form:481 FTextEditor.form:417 msgid "Show modifications" msgstr "Afficher les modifications" -#: FEditor.form:430 FTextEditor.form:434 +#: FEditor.form:430 FForm.form:490 FTextEditor.form:426 msgid "Previous modification" msgstr "Modification précédente" -#: FEditor.form:437 FTextEditor.form:441 +#: FEditor.form:437 FForm.form:497 FTextEditor.form:433 msgid "Next modification" msgstr "Modification suivante" -#: FEditor.form:570 FTextEditor.form:554 +#: FEditor.form:570 FTextEditor.form:546 msgid "Insert special character" msgstr "Insérer un caractère spécial" -#: FEditor.form:613 FTextEditor.form:597 +#: FEditor.form:613 FTextEditor.form:589 msgid "Make code pretty" msgstr "Réindenter le code" -#: FEditor.form:678 FTextEditor.form:661 +#: FEditor.form:678 FTextEditor.form:644 msgid "Procedure list" msgstr "Liste des procédures" -#: FEditor.form:700 FImageEditor.form:769 FTextEditor.form:702 +#: FEditor.form:700 FImageEditor.form:769 FTextEditor.form:685 msgid "Lock / unlock file" msgstr "Vérrouiller / déverrouiller le fichier" @@ -2370,46 +2370,54 @@ msgid "Gambas module" msgstr "Module Gambas" #: FFileProperty.class:40 +msgid "Gambas test module" +msgstr "Module de test Gambas" + +#: FFileProperty.class:42 msgid "Gambas class" msgstr "Classe Gambas" -#: FFileProperty.class:80 +#: FFileProperty.class:82 msgid "&1 properties" msgstr "Propriétés de &1" -#: FFileProperty.class:84 FProjectVersion.form:299 FVersionControl.form:35 +#: FFileProperty.class:86 FProjectVersion.form:299 FVersionControl.form:35 msgid "Changes" msgstr "Modifications" -#: FFileProperty.class:92 FProjectProperty.form:991 FTranslate.form:417 +#: FFileProperty.class:94 FProjectProperty.form:991 FTranslate.form:417 msgid "Statistics" msgstr "Statistiques" -#: FFileProperty.class:127 +#: FFileProperty.class:129 msgid "This file is locked, and will be deleted on the next commit." msgstr "Le fichier est verrouillé, et sera supprimé à la prochaine publication." -#: FFileProperty.class:129 +#: FFileProperty.class:131 msgid "This file is not versioned, and must be added to the repository." msgstr "Le fichier n'est pas versionné, et doit être ajouté au référentiel." -#: FFileProperty.class:132 +#: FFileProperty.class:134 msgid "This file has not been modified since the last commit." msgstr "Ce fichier est inchangé depuis la dernière publication." -#: FFileProperty.class:144 FMakeInstall.class:358 FProjectVersion.class:211 FSave.form:21 Project.module:3519 VersionControl.module:382 +#: FFileProperty.class:146 FMakeInstall.class:358 FProjectVersion.class:211 FSave.form:21 Project.module:3520 VersionControl.module:382 msgid "Continue" msgstr "Continuer" -#: FFileProperty.class:144 FProjectVersion.class:211 VersionControl.module:382 +#: FFileProperty.class:146 FProjectVersion.class:211 VersionControl.module:382 msgid "You are going to cancel your changes!" msgstr "Tous les changements vont être annulés !" -#: FFileProperty.class:163 FProjectProperty.class:941 +#: FFileProperty.class:165 FProjectProperty.class:941 msgid "Modules" msgstr "Modules" -#: FFileProperty.class:168 FProjectProperty.class:949 +#: FFileProperty.class:166 FProjectProperty.class:942 +msgid "Test modules" +msgstr "Modules de test" + +#: FFileProperty.class:171 FProjectProperty.class:950 msgid "Lines of code" msgstr "Lignes de code" @@ -2421,207 +2429,207 @@ msgstr "Annuler les changements" msgid "Select a font" msgstr "Choisissez une police" -#: FForm.class:134 +#: FForm.class:136 msgid "Bad form file" msgstr "Fichier formulaire incorrect" -#: FForm.class:264 +#: FForm.class:268 msgid "Unknown control: &1" msgstr "Contrôle inconnu : &1" -#: FForm.class:1327 +#: FForm.class:1333 msgid "Component missing for control &1" msgstr "Composant introuvable pour le contrôle &1" -#: FForm.class:1870 +#: FForm.class:1876 msgid "Cannot paste data." msgstr "Impossible de coller les données." -#: FForm.form:172 +#: FForm.form:178 msgid "Copy at the same place" msgstr "Copier au même emplacement" -#: FForm.form:192 +#: FForm.form:198 msgid "Delete container only" msgstr "Supprimer le conteneur uniquement" -#: FForm.form:199 +#: FForm.form:205 msgid "Embed into a container" msgstr "Imbriquer dans un conteneur" -#: FForm.form:205 +#: FForm.form:211 msgid "Change into" msgstr "Transformer en" -#: FForm.form:213 +#: FForm.form:219 msgid "Select" msgstr "Sélectionner" -#: FForm.form:226 +#: FForm.form:232 msgid "Select parent" msgstr "Sélectionner le parent" -#: FForm.form:239 +#: FForm.form:245 msgid "Arrangement" msgstr "Disposition" -#: FForm.form:243 +#: FForm.form:249 msgid "Bring to foreground" msgstr "Au premier plan" -#: FForm.form:250 +#: FForm.form:256 msgid "Send to background" msgstr "A l'arrière-plan" -#: FForm.form:260 +#: FForm.form:266 msgid "Horizontal" msgstr "Horizontal" -#: FForm.form:267 +#: FForm.form:273 msgid "Rows" msgstr "Lignes" -#: FForm.form:273 +#: FForm.form:279 msgid "Vertical" msgstr "Vertical" -#: FForm.form:280 +#: FForm.form:286 msgid "Columns" msgstr "Colonnes" -#: FForm.form:289 +#: FForm.form:295 msgid "Center horizontally" msgstr "Centrer horizontalement" -#: FForm.form:295 +#: FForm.form:301 msgid "Center vertically" msgstr "Centrer verticalement" -#: FForm.form:301 +#: FForm.form:307 msgid "Alignment" msgstr "Alignement" -#: FForm.form:305 +#: FForm.form:311 msgid "Align to left" msgstr "Aligner sur la gauche" -#: FForm.form:311 +#: FForm.form:317 msgid "Align to right" msgstr "Aligner sur la droite" -#: FForm.form:317 +#: FForm.form:323 msgid "Align to top" msgstr "Aligner sur le haut" -#: FForm.form:323 +#: FForm.form:329 msgid "Align to bottom" msgstr "Aligner sur le bas" -#: FForm.form:332 +#: FForm.form:338 msgid "Same width" msgstr "Même largeur" -#: FForm.form:338 +#: FForm.form:344 msgid "Same height" msgstr "Même hauteur" -#: FForm.form:347 +#: FForm.form:353 msgid "Show tab" msgstr "Afficher l'onglet" -#: FForm.form:355 +#: FForm.form:361 msgid "Move tab" msgstr "Déplacer l'onglet" -#: FForm.form:360 +#: FForm.form:366 msgid "First" msgstr "Début" -#: FForm.form:367 FSearch.form:189 FTips.form:71 +#: FForm.form:373 FSearch.form:189 FTips.form:71 msgid "Previous" msgstr "Précédent" -#: FForm.form:374 FSearch.form:183 FTips.form:77 +#: FForm.form:380 FSearch.form:183 FTips.form:77 msgid "Next" msgstr "Suivant" -#: FForm.form:381 +#: FForm.form:387 msgid "Last" msgstr "Fin" -#: FForm.form:392 FMenu.form:69 +#: FForm.form:398 FMenu.form:69 msgid "Menu editor" msgstr "Éditeur de menu" -#: FForm.form:401 +#: FForm.form:407 msgid "Event" msgstr "Evènement" -#: FForm.form:415 +#: FForm.form:421 msgid "Run this form" msgstr "Exécuter ce formulaire" -#: FForm.form:568 +#: FForm.form:601 msgid "Toggle grid" msgstr "Bascule l'affichage de la grille" -#: FForm.form:577 FImageEditor.form:514 +#: FForm.form:610 FImageEditor.form:514 msgid "Toggle information tooltip" msgstr "Basculer l'affichage des informations" -#: FForm.form:696 +#: FForm.form:729 msgid "Move tab first" msgstr "Déplacer l'onglet au début" -#: FForm.form:703 +#: FForm.form:736 msgid "Move tab left" msgstr "Déplacer l'onglet à gauche" -#: FForm.form:710 +#: FForm.form:743 msgid "Move tab right" msgstr "Déplacer l'onglet à droite" -#: FForm.form:717 +#: FForm.form:750 msgid "Move tab last" msgstr "Déplacer l'onglet à la fin" -#: FForm.form:745 FOption.form:282 +#: FForm.form:778 FOption.form:282 msgid "Bold" msgstr "Gras" -#: FForm.form:753 +#: FForm.form:786 msgid "Italic" msgstr "Italique" -#: FForm.form:761 FOption.form:287 +#: FForm.form:794 FOption.form:287 msgid "Underline" msgstr "Souligné" -#: FForm.form:769 +#: FForm.form:802 msgid "Bigger font" msgstr "Police plus grande" -#: FForm.form:777 +#: FForm.form:810 msgid "Smaller font" msgstr "Police plus petite" -#: FForm.form:785 FOption.form:835 +#: FForm.form:818 FOption.form:835 msgid "Default font" msgstr "Police par défaut" -#: FForm.form:793 FOption.form:1554 MTheme.module:6 +#: FForm.form:826 FOption.form:1554 MTheme.module:6 msgid "Background" msgstr "Arrière-plan" -#: FForm.form:801 +#: FForm.form:834 msgid "Foreground" msgstr "Avant-plan" -#: FForm.form:812 +#: FForm.form:845 msgid "Lock / unlock form" msgstr "Vérrouiller / déverrouiller le formulaire" -#: FFormStack.form:14 FMain.form:1905 +#: FFormStack.form:14 FMain.form:1913 msgid "Hierarchy" msgstr "Hiérarchie" @@ -2645,7 +2653,7 @@ msgstr "Déplacer tout en bas" msgid "Default language" msgstr "Langage par défaut" -#: FHelpBrowser.form:30 FMain.form:1236 +#: FHelpBrowser.form:30 FMain.form:1244 msgid "Help browser" msgstr "Navigateur d'aide" @@ -2653,11 +2661,11 @@ msgstr "Navigateur d'aide" msgid "Show help tree" msgstr "Afficher l'arborescence de l'aide" -#: FHelpBrowser.form:61 FMain.form:768 FProfile.form:48 +#: FHelpBrowser.form:61 FMain.form:769 FProfile.form:48 msgid "Go back" msgstr "Revenir en arrière" -#: FHelpBrowser.form:67 FMain.form:775 FProfile.form:54 +#: FHelpBrowser.form:67 FMain.form:776 FProfile.form:54 msgid "Go forward" msgstr "Aller en avant" @@ -2985,7 +2993,7 @@ msgstr "Aperçu" msgid "Reset" msgstr "Réinitialiser" -#: FImageProperty.form:709 FMain.form:490 FPatch.form:69 +#: FImageProperty.form:709 FMain.form:491 FPatch.form:69 msgid "Apply" msgstr "Appliquer" @@ -3075,23 +3083,27 @@ msgstr "Classes Gambas" msgid "Gambas modules" msgstr "Modules Gambas" -#: FImportFile.class:32 +#: FImportFile.class:24 +msgid "Gambas test modules" +msgstr "Modules de test Gambas" + +#: FImportFile.class:33 msgid "Cascading style sheets" msgstr "Feuilles de style en cascade" -#: FImportFile.class:32 +#: FImportFile.class:33 msgid "HTML files" msgstr "Fichiers HTML" -#: FImportFile.class:32 +#: FImportFile.class:33 msgid "Javascript files" msgstr "Fichiers Javascript" -#: FImportFile.class:32 +#: FImportFile.class:33 msgid "Picture files" msgstr "Fichiers image" -#: FImportFile.class:183 +#: FImportFile.class:188 msgid "Cannot import file." msgstr "Impossible d'importer le fichier." @@ -3239,499 +3251,503 @@ msgstr "Impossible de supprimer le fichier ou le répertoire" msgid "File or directory does not exist anymore." msgstr "Le fichier ou le répertoire n'existe plus." -#: FMain.class:745 +#: FMain.class:747 msgid "Sort history" msgstr "Trier l'historique" -#: FMain.class:749 FOpenProject.form:77 FWelcome.form:33 +#: FMain.class:751 FOpenProject.form:77 FWelcome.form:33 msgid "Sort by date" msgstr "Trier par date" -#: FMain.class:749 FOpenProject.form:86 FWelcome.form:41 +#: FMain.class:751 FOpenProject.form:86 FWelcome.form:41 msgid "Sort by name" msgstr "Trier par nom" -#: FMain.class:749 FOpenProject.form:94 FWelcome.form:48 +#: FMain.class:751 FOpenProject.form:94 FWelcome.form:48 msgid "Sort by path" msgstr "Trier dans l'ordre des chemins" -#: FMain.class:761 +#: FMain.class:763 msgid "&Clear history" msgstr "&Effacer l'historique" -#: FMain.class:945 +#: FMain.class:947 msgid "New folder" msgstr "Nouveau dossier" -#: FMain.class:1016 +#: FMain.class:1018 msgid "The GNU translation tools are not installed on your system.\n\nPlease install them to be able to do the translation." msgstr "Les outils de traduction GNU ne sont pas installés sur votre système.\n\nVeuillez les installer pour pouvoir effectuer la traduction." -#: FMain.class:1723 +#: FMain.class:1722 msgid "Unable to drop file into the project." msgstr "Impossible de déposer le fichier à l'intérieur du projet." -#: FMain.class:1848 +#: FMain.class:1847 msgid "All backup or generated files will be removed from the project directory." msgstr "Les fichiers de sauvegarde et les fichiers générés du projet vont être supprimés." -#: FMain.class:1848 +#: FMain.class:1847 msgid "Clean" msgstr "Nettoyer" -#: FMain.class:2165 +#: FMain.class:2164 msgid "Do you really want to add every file to the repository?" msgstr "Voulez-vous vraiment ajouter tous les fichiers au référentiel ?" -#: FMain.class:2305 +#: FMain.class:2304 msgid "Choose a profile" msgstr "Choisissez un profilage" -#: FMain.class:2306 +#: FMain.class:2305 msgid "Profile for &1 project" msgstr "Profilage pour le projet &1" -#: FMain.class:2562 FProperty.class:1033 +#: FMain.class:2556 FProperty.class:1033 msgid "Select a file" msgstr "Choisissez un fichier" -#: FMain.class:2577 +#: FMain.class:2571 msgid "This file is located inside the project." msgstr "Le fichier est situé à l'intérieur du projet." -#: FMain.class:2712 Project.module:853 +#: FMain.class:2706 Project.module:856 msgid "The file has been modified.\n\nAll your changes will be lost." msgstr "Le fichier a été modifié.\n\nToutes les modifications seront perdues." -#: FMain.class:2823 +#: FMain.class:2817 msgid "Edit arguments" msgstr "Éditer les arguments" -#: FMain.form:296 FWelcome.class:69 +#: FMain.form:297 FWelcome.class:69 msgid "Open project" msgstr "Ouvrir un projet" -#: FMain.form:302 +#: FMain.form:303 msgid "Open recent" msgstr "Ouvrir un projet récent" -#: FMain.form:310 +#: FMain.form:311 msgid "Open example" msgstr "Ouvrir un exemple" -#: FMain.form:319 FWelcome.class:74 +#: FMain.form:320 FWelcome.class:74 msgid "Open file" msgstr "Ouvrir un fichier" -#: FMain.form:328 +#: FMain.form:329 msgid "Save project" msgstr "Enregistrer le projet" -#: FMain.form:336 FSaveProjectAs.form:19 +#: FMain.form:337 FSaveProjectAs.form:19 msgid "Save project as" msgstr "Enregistrer le projet sous" -#: FMain.form:347 +#: FMain.form:348 msgid "Reload project" msgstr "Recharger le projet" -#: FMain.form:356 FSave.class:28 FWelcome.class:76 +#: FMain.form:357 FSave.class:28 FWelcome.class:76 msgid "Quit" msgstr "Quitter" -#: FMain.form:391 +#: FMain.form:392 msgid "Save as" msgstr "Enregistrer sous" -#: FMain.form:431 +#: FMain.form:432 msgid "Compile" msgstr "Compiler" -#: FMain.form:438 +#: FMain.form:439 msgid "Compile All" msgstr "Tout compiler" -#: FMain.form:448 +#: FMain.form:449 msgid "Translate" msgstr "Traduire" -#: FMain.form:457 +#: FMain.form:458 msgid "Make" msgstr "Générer" -#: FMain.form:461 +#: FMain.form:462 msgid "Executable" msgstr "Exécutable" -#: FMain.form:468 FMakePatch.form:52 +#: FMain.form:469 FMakePatch.form:52 msgid "Source archive" msgstr "Archive source" -#: FMain.form:475 +#: FMain.form:476 msgid "Installation package" msgstr "Paquet d'installation" -#: FMain.form:482 +#: FMain.form:483 msgid "Patch" msgstr "Patch" -#: FMain.form:485 +#: FMain.form:486 msgid "Create" msgstr "Créer" -#: FMain.form:514 +#: FMain.form:515 msgid "Undo synchronization" msgstr "Annuler la synchronisation" -#: FMain.form:533 +#: FMain.form:534 msgid "Branch" msgstr "Branche" -#: FMain.form:538 +#: FMain.form:539 msgid "Put under version control" msgstr "Mettre sous contrôle de version" -#: FMain.form:544 FPublish.form:64 +#: FMain.form:545 FPublish.form:64 msgid "Publish" msgstr "Publier" -#: FMain.form:553 FProjectVersion.form:95 +#: FMain.form:554 FProjectVersion.form:95 msgid "Clean up" msgstr "Nettoyer" -#: FMain.form:559 +#: FMain.form:560 msgid "Refresh" msgstr "Rafraîchir" -#: FMain.form:581 +#: FMain.form:582 msgid "Run" msgstr "Démarrer" -#: FMain.form:587 +#: FMain.form:588 msgid "Run with" msgstr "Démarrer avec" -#: FMain.form:590 +#: FMain.form:591 msgid "No argument" msgstr "Aucun argument" -#: FMain.form:600 +#: FMain.form:601 msgid "Use terminal emulator" msgstr "Utiliser un émulateur de terminal" -#: FMain.form:606 +#: FMain.form:607 msgid "Redirect standard error output" msgstr "Rediriger la sortie erreur standard" -#: FMain.form:612 +#: FMain.form:613 msgid "Use embedded HTTP server" msgstr "Utiliser le serveur HTTP embarqué" -#: FMain.form:618 +#: FMain.form:619 msgid "Activate profiling" msgstr "Activer le profilage" -#: FMain.form:624 +#: FMain.form:625 msgid "GUI component" msgstr "Composant graphique" -#: FMain.form:628 +#: FMain.form:629 msgid "Current desktop" msgstr "Bureau courant" # gb-ignore -#: FMain.form:642 +#: FMain.form:643 msgid "QT5" msgstr "" -#: FMain.form:664 +#: FMain.form:665 msgid "Pause" msgstr "Pause" -#: FMain.form:671 +#: FMain.form:672 msgid "Stop" msgstr "Arrêter" -#: FMain.form:678 +#: FMain.form:679 msgid "Step" msgstr "Pas-à-pas" -#: FMain.form:685 +#: FMain.form:686 msgid "Forward" msgstr "Avancer" -#: FMain.form:692 +#: FMain.form:693 msgid "Finish" msgstr "Terminer" -#: FMain.form:701 +#: FMain.form:702 msgid "Open profile" msgstr "Ouvrir un profilage" -#: FMain.form:707 +#: FMain.form:708 msgid "Clear all breakpoints" msgstr "Effacer tous les points d'arrêts" -#: FMain.form:712 +#: FMain.form:713 msgid "Close all debug windows" msgstr "Fermer toutes les fenêtres de débogage" -#: FMain.form:751 +#: FMain.form:752 msgid "Status bar" msgstr "Barre d'état" -#: FMain.form:758 +#: FMain.form:759 msgid "Hide menubar" msgstr "Cacher la barre de menus" -#: FMain.form:782 +#: FMain.form:783 msgid "Close all windows" msgstr "Fermer toutes les fenêtres" -#: FMain.form:789 +#: FMain.form:790 msgid "Tools" msgstr "Outils" -#: FMain.form:793 +#: FMain.form:794 msgid "Find" msgstr "Rechercher" -#: FMain.form:799 FSearch.form:74 +#: FMain.form:800 FSearch.form:74 msgid "Replace" msgstr "Remplacer" -#: FMain.form:809 +#: FMain.form:810 msgid "Browse project" msgstr "Parcourir le projet" -#: FMain.form:816 +#: FMain.form:817 msgid "Open a terminal" msgstr "Ouvrir un terminal" -#: FMain.form:823 +#: FMain.form:824 msgid "Send project by mail" msgstr "Envoyer le projet par courriel" -#: FMain.form:829 +#: FMain.form:830 msgid "Update all forms" msgstr "Mettre à-jour tous les formulaires" -#: FMain.form:838 FWelcome.class:73 +#: FMain.form:839 FWelcome.class:73 msgid "Software farm" msgstr "Logithèque" -#: FMain.form:847 +#: FMain.form:848 msgid "Shortcuts" msgstr "Raccourcis" -#: FMain.form:853 FOption.form:262 +#: FMain.form:854 FOption.form:262 msgid "Preferences" msgstr "Préférences" -#: FMain.form:867 +#: FMain.form:868 msgid "Directory" msgstr "Répertoire" -#: FMain.form:872 +#: FMain.form:873 msgid "Project link" msgstr "Lien vers un projet" -#: FMain.form:881 +#: FMain.form:882 msgid "Module" msgstr "Module" -#: FMain.form:940 +#: FMain.form:889 +msgid "Test module" +msgstr "Module de test" + +#: FMain.form:948 msgid "HTML file" msgstr "Fichier HTML" -#: FMain.form:947 +#: FMain.form:955 msgid "Style sheet" msgstr "Feuille de style" -#: FMain.form:954 +#: FMain.form:962 msgid "Javascript file" msgstr "Fichier Javascript" -#: FMain.form:962 +#: FMain.form:970 msgid "Other" msgstr "Autre" -#: FMain.form:973 FOpenProject.form:44 +#: FMain.form:981 FOpenProject.form:44 msgid "Recent" msgstr "Récent" -#: FMain.form:996 +#: FMain.form:1004 msgid "Open in file manager" msgstr "Ouvrir dans le gestionnaire de fichiers" -#: FMain.form:1001 +#: FMain.form:1009 msgid "Open in project" msgstr "Ouvir dans le projet" -#: FMain.form:1005 +#: FMain.form:1013 msgid "Open with" msgstr "Ouvrir avec" -#: FMain.form:1013 +#: FMain.form:1021 msgid "Compress all" msgstr "Tout compresser" -#: FMain.form:1019 +#: FMain.form:1027 msgid "Uncompress all" msgstr "Tout décompresser" -#: FMain.form:1066 +#: FMain.form:1074 msgid "Copy file path" msgstr "Copier le chemin du fichier" -#: FMain.form:1075 +#: FMain.form:1083 msgid "Startup class" msgstr "Classe de démarrage" -#: FMain.form:1090 +#: FMain.form:1098 msgid "Add to repository" msgstr "Ajouter au référentiel" -#: FMain.form:1095 FSoftwareFarm.form:203 +#: FMain.form:1103 FSoftwareFarm.form:203 msgid "Filter" msgstr "Filtrer" -#: FMain.form:1098 +#: FMain.form:1106 msgid "Show exported classes" msgstr "Afficher les classes exportées" -#: FMain.form:1103 +#: FMain.form:1111 msgid "Show added files" msgstr "Afficher les fichier ajoutés" -#: FMain.form:1108 +#: FMain.form:1116 msgid "Show modified files" msgstr "Afficher les fichiers modifiés" -#: FMain.form:1113 +#: FMain.form:1121 msgid "Show files in conflict" msgstr "Afficher les fichiers en conflit" -#: FMain.form:1121 +#: FMain.form:1129 msgid "Show all" msgstr "Afficher tout" -#: FMain.form:1133 +#: FMain.form:1141 msgid "Do not translate" msgstr "Ne pas traduire" -#: FMain.form:1150 FNewConnection.class:159 +#: FMain.form:1158 FNewConnection.class:159 msgid "New connection" msgstr "Nouvelle connexion" -#: FMain.form:1226 FOutput.form:161 +#: FMain.form:1234 FOutput.form:161 msgid "?" msgstr "?" -#: FMain.form:1244 FTips.form:18 +#: FMain.form:1252 FTips.form:18 msgid "Tips of the day" msgstr "Astuces du jour" -#: FMain.form:1250 +#: FMain.form:1258 msgid "Keyboard shortcuts" msgstr "Raccourcis claviers" -#: FMain.form:1259 FSystemInfo.form:15 +#: FMain.form:1267 FSystemInfo.form:15 msgid "System information" msgstr "Informations système" -#: FMain.form:1318 FProjectProperty.form:154 +#: FMain.form:1326 FProjectProperty.form:154 msgid "Project properties" msgstr "Propriétés du projet" -#: FMain.form:1326 +#: FMain.form:1334 msgid "Refresh project" msgstr "Rafraîchir le projet" -#: FMain.form:1353 FMakeExecutable.form:16 +#: FMain.form:1361 FMakeExecutable.form:16 msgid "Make executable" msgstr "Générer l'exécutable" -#: FMain.form:1368 +#: FMain.form:1376 msgid "Make source archive" msgstr "Générer une archive des sources" -#: FMain.form:1376 FMakeInstall.form:133 +#: FMain.form:1384 FMakeInstall.form:133 msgid "Make installation package" msgstr "Créer un paquet d'installation" -#: FMain.form:1397 +#: FMain.form:1405 msgid "Properties sheet" msgstr "Feuille de propriétés" -#: FMain.form:1406 +#: FMain.form:1414 msgid "Toolbox" msgstr "Boîte à outils" -#: FMain.form:1424 FSearch.form:60 +#: FMain.form:1432 FSearch.form:60 msgid "Search" msgstr "Rechercher" -#: FMain.form:1448 +#: FMain.form:1456 msgid "Compile all" msgstr "Tout compiler" -#: FMain.form:1491 +#: FMain.form:1499 msgid "Finish current function" msgstr "Terminer la fonction courante" -#: FMain.form:1507 +#: FMain.form:1515 msgid "Show menubar" msgstr "Afficher la barre des menus" -#: FMain.form:1567 FPublish.form:51 +#: FMain.form:1575 FPublish.form:51 msgid "Publish software" msgstr "Publier un logiciel" -#: FMain.form:1597 +#: FMain.form:1605 msgid "&File" msgstr "&Fichier" -#: FMain.form:1621 +#: FMain.form:1629 msgid "&Project" msgstr "&Projet" -#: FMain.form:1633 +#: FMain.form:1641 msgid "&Debug" msgstr "&Débogage" -#: FMain.form:1645 +#: FMain.form:1653 msgid "&View" msgstr "&Affichage" -#: FMain.form:1657 +#: FMain.form:1665 msgid "&Tools" msgstr "&Outils" -#: FMain.form:1669 +#: FMain.form:1677 msgid "&?" msgstr "&?" -#: FMain.form:1720 +#: FMain.form:1728 msgid "Dispose class files according to inheritance" msgstr "Disposer les fichiers classes selon l'héritage" -#: FMain.form:1834 -msgid "Show project tree" -msgstr "Afficher l'arbre du projet" - #: FMain.form:1842 msgid "Show properties sheet" msgstr "Afficher la feuille de propriétés" -#: FMain.form:1912 -msgid "Show controls" -msgstr "Afficher les contrôles" +#: FMain.form:1850 +msgid "Show project tree" +msgstr "Afficher l'arbre du projet" #: FMain.form:1920 msgid "Show property help" msgstr "Afficher l'aide sur les propriétés" +#: FMain.form:1928 +msgid "Show controls" +msgstr "Afficher les contrôles" + #: FMakeExecutable.class:18 msgid "Gambas applications" msgstr "Applications Gambas" @@ -3776,7 +3792,7 @@ msgstr "Fichier ou répertoire" msgid "Creating packages..." msgstr "Creation des paquets..." -#: FMakeInstall.class:280 Package.module:305 +#: FMakeInstall.class:280 Package.module:311 msgid "The packages have been successfully created." msgstr "Les paquets ont été créés avec succès." @@ -4053,7 +4069,7 @@ msgstr "Selectionnez l'archive source" msgid "*.gz;*.bz2;*.xz" msgstr "" -#: FMakePatch.form:97 Project.module:4570 +#: FMakePatch.form:97 Project.module:4571 msgid "Source packages" msgstr "Paquets sources" @@ -4094,7 +4110,7 @@ msgstr "Nom de groupe incorrect !" msgid "This menu is too deep !" msgstr "Ce menu est trop profond !" -#: FMenu.class:1065 Project.module:5451 +#: FMenu.class:1065 Project.module:5465 msgid "modified" msgstr "modifié" @@ -4170,7 +4186,7 @@ msgstr "Emplacement" msgid "No password" msgstr "Pas de mot de passe" -#: FNewConnection.form:189 Project.module:229 +#: FNewConnection.form:189 Project.module:232 msgid "Database" msgstr "Bases de données" @@ -4486,7 +4502,7 @@ msgstr "Taille des titres" msgid "Debugger size" msgstr "Taille du débogueur" -#: FOption.form:949 Project.module:236 +#: FOption.form:949 Project.module:239 msgid "Printing" msgstr "Impression" @@ -4822,27 +4838,27 @@ msgstr "&1 ne contient aucune classe exportée." msgid "&1 is already used as a library." msgstr "&1 est déjà utilisé comme bibliothèque." -#: FProjectProperty.class:952 +#: FProjectProperty.class:953 msgid "Executable size" msgstr "Taille de l'exécutable" -#: FProjectProperty.class:952 +#: FProjectProperty.class:953 msgid "bytes" msgstr "octets" -#: FProjectProperty.class:969 +#: FProjectProperty.class:970 msgid "Information about component" msgstr "Information sur le composant" -#: FProjectProperty.class:975 +#: FProjectProperty.class:976 msgid "Information about library" msgstr "Information sur la bibliothèque" -#: FProjectProperty.class:1466 +#: FProjectProperty.class:1467 msgid "Select a Gambas executable" msgstr "Choisissez un exécutable Gambas" -#: FProjectProperty.class:1467 +#: FProjectProperty.class:1468 msgid "Gambas executable" msgstr "Exécutable Gambas" @@ -5402,7 +5418,7 @@ msgstr "Nouveau fragment de code" msgid "Trigger string" msgstr "Chaîne de déclenchement" -#: FSoftwareFarm.class:42 Project.module:231 +#: FSoftwareFarm.class:42 Project.module:234 msgid "Games" msgstr "Jeux" @@ -5422,7 +5438,7 @@ msgstr "Graphique" msgid "Audio" msgstr "Son" -#: FSoftwareFarm.class:48 Project.module:238 +#: FSoftwareFarm.class:48 Project.module:241 msgid "Video" msgstr "Vidéo" @@ -5586,38 +5602,30 @@ msgstr "Éditer la propriété « &1 »" msgid "Use a fixed font" msgstr "Utiliser une police non proportionnelle" -#: FTextEditor.class:218 +#: FTextEditor.class:253 msgid "Console output #&1" msgstr "Sortie de console n°&1" -#: FTextEditor.class:915 -msgid "Original file has been saved in the Project folder." -msgstr "Le fichier d'origine a été sauvegardé dans le répertoire Projet." - -#: FTextEditor.class:915 -msgid "The file has been compressed from &1 to &2 bytes (&3)." -msgstr "La taille du fichier a été réduite de &1 à &2 octets (&3)." - -#: FTextEditor.class:923 +#: FTextEditor.class:969 msgid "Unable to compress file." msgstr "Impossible de compresser le fichier." -#: FTextEditor.form:172 +#: FTextEditor.class:1887 +msgid "Compressed at &1" +msgstr "Compressé à &1" + +#: FTextEditor.form:169 msgid "Sort ascent" msgstr "Tri ascendant" -#: FTextEditor.form:178 +#: FTextEditor.form:175 msgid "Sort descent" msgstr "Tri descendant" -#: FTextEditor.form:224 +#: FTextEditor.form:221 msgid "Compress file" msgstr "Compresser le fichier" -#: FTextEditor.form:230 -msgid "Uncompress file" -msgstr "Décompresser le fichier" - #: FTips.class:46 msgid "Tip of the day #&1" msgstr "Astuce du jour n°&1" @@ -5822,7 +5830,7 @@ msgstr "Nouveau projet..." msgid "Recent projects" msgstr "Projets récents" -#: FWelcome.class:72 Project.module:6256 +#: FWelcome.class:72 Project.module:6268 msgid "Installed software" msgstr "Logiciels installés" @@ -7330,71 +7338,71 @@ msgstr "Routines" msgid "Symbols" msgstr "Symboles" -#: Package.module:82 +#: Package.module:83 msgid "'&1' is missing." msgstr "'&1' est introuvable." -#: Package.module:92 +#: Package.module:93 msgid "'&1' and '&2' are missing." msgstr "'&1' et '&2' sont introuvables." -#: Package.module:278 +#: Package.module:284 msgid "Saving CHANGELOG file." msgstr "Sauvegarde du fichier CHANGELOG." -#: Package.module:720 +#: Package.module:726 msgid "Making &1 support package..." msgstr "Création du paquet de support &1..." -#: Package.module:775 +#: Package.module:781 msgid "Creating package for &1." msgstr "Création du paquet pour &1." -#: Package.module:807 +#: Package.module:813 msgid "The package build has failed." msgstr "La construction des paquets a échoué." -#: Package.module:879 +#: Package.module:885 msgid "Making build directory." msgstr "Fabrication du répertoire de construction." -#: Package.module:938 +#: Package.module:944 msgid "Creating desktop file..." msgstr "Création du fichier *.desktop..." -#: Package.module:946 +#: Package.module:952 msgid "Sources are being debianizated." msgstr "\"Debianisation\" des sources..." -#: Package.module:1153 +#: Package.module:1159 msgid "Creating package..." msgstr "Création du paquet..." -#: Package.module:1161 +#: Package.module:1167 msgid "'dpkg-buildpackage' has failed." msgstr "'dpkg-buildpackage' a échoué." -#: Package.module:1444 +#: Package.module:1447 msgid "Initializing ~/RPM directory." msgstr "Initialisation du répertoire ~/RPM." -#: Package.module:1464 +#: Package.module:1467 msgid "Creating source package." msgstr "Création du paquet des sources." -#: Package.module:1488 +#: Package.module:1491 msgid "Creating .spec file." msgstr "Creation du fichier .spec." -#: Package.module:1733 +#: Package.module:1736 msgid "'rpmbuild' has returned the following error code:" msgstr "'rpmbuild' a retourné le code d'erreur suivant :" -#: Package.module:2155 +#: Package.module:2161 msgid "'tar' has returned the following error code:" msgstr "'tar' a retourné le code d'erreur suivant:" -#: Package.module:2427 +#: Package.module:2433 msgid "'makepkg' has failed." msgstr "'makepkg' a échoué." @@ -7410,347 +7418,347 @@ msgstr "Format d'archive des sources non supporté" msgid "Patch didn't apply:\n" msgstr "Le patch n'a pas été appliqué :\n" -#: Project.module:227 +#: Project.module:230 msgid "Automation" msgstr "Automatisation" -#: Project.module:228 +#: Project.module:231 msgid "Basic" msgstr "Exemples de base" -#: Project.module:230 +#: Project.module:233 msgid "Drawing" msgstr "Dessin" -#: Project.module:233 +#: Project.module:236 msgid "Miscellaneous" msgstr "Divers" -#: Project.module:234 +#: Project.module:237 msgid "Networking" msgstr "Programmation réseau" -#: Project.module:235 +#: Project.module:238 msgid "OpenGL" msgstr "OpenGL" -#: Project.module:237 +#: Project.module:240 msgid "Sound" msgstr "Son" -#: Project.module:239 +#: Project.module:242 msgid "Controls" msgstr "Contrôles" -#: Project.module:240 +#: Project.module:243 msgid "Multimedia" msgstr "Multimedia" -#: Project.module:241 +#: Project.module:244 msgid "Web" msgstr "Web" -#: Project.module:413 +#: Project.module:416 msgid "File not found!" msgstr "Fichier introuvable !" -#: Project.module:525 +#: Project.module:528 msgid "This project does not exist." msgstr "Ce projet n'existe pas." -#: Project.module:537 +#: Project.module:540 msgid "Unable to find Gambas IDE executable in directory:\n\n&1" msgstr "Impossible de trouver l'exécutable de l'EDI Gambas dans le répertoire :\n\n&1" -#: Project.module:556 +#: Project.module:559 msgid "This is not a Gambas project." msgstr "Ce n'est pas un projet Gambas." -#: Project.module:559 +#: Project.module:562 msgid "This is a Gambas 1.0 project. Use Gambas 2 to convert it." msgstr "Ceci est un projet Gambas 1.0. Utilisez Gambas 2 pour le convertir." -#: Project.module:562 +#: Project.module:565 msgid "Convert" msgstr "Convertir" -#: Project.module:562 +#: Project.module:565 msgid "This is a Gambas 2.0 project.\n\nDo you want to convert it?" msgstr "Ceci est un projet Gambas 2.0.\n\nDésirez-vous le convertir ?" -#: Project.module:580 +#: Project.module:583 msgid "Do not open" msgstr "Ne pas ouvrir" -#: Project.module:580 +#: Project.module:583 msgid "Open after all" msgstr "Ouvrir malgré tout" -#: Project.module:580 +#: Project.module:583 msgid "This project seems to be already opened.\n\nOpening the same project twice can lead to data loss." msgstr "Il semble que ce projet soit déjà ouvert.\n\nOuvrir le même projet deux fois peut provoquer des pertes de données." -#: Project.module:586 +#: Project.module:589 msgid "It cannot be converted." msgstr "Il ne peut être converti." -#: Project.module:586 +#: Project.module:589 msgid "This project is read-only." msgstr "Le projet est en lecture seule." -#: Project.module:597 +#: Project.module:600 msgid "Current project" msgstr "Projet courant" -#: Project.module:604 +#: Project.module:607 msgid "Copying project inside a temporary directory..." msgstr "Copie du projet dans un répertoire temporaire..." -#: Project.module:607 +#: Project.module:610 msgid "Unable to create temporary directory" msgstr "Impossible de créer le répertoire temporaire" -#: Project.module:637 +#: Project.module:640 msgid "Converting project structure..." msgstr "Conversion de la structure du projet..." -#: Project.module:670 +#: Project.module:673 msgid "Applying conversion..." msgstr "Application de la conversion..." -#: Project.module:676 +#: Project.module:679 msgid "Unable to apply conversion" msgstr "Impossible d'appliquer la conversion" -#: Project.module:795 +#: Project.module:798 msgid "Some libraries used by the project are missing." msgstr "Des bibliothèques utilisées par le projet sont manquantes." -#: Project.module:814 +#: Project.module:817 msgid "Cannot open project file :" msgstr "Impossible d'ouvrir le fichier :" -#: Project.module:866 +#: Project.module:869 msgid "Cannot reload file." msgstr "Impossible de recharger le fichier." -#: Project.module:1662 +#: Project.module:1665 msgid "ALPHA VERSION, USE AT YOUR OWN RISK!" msgstr "VERSION ALPHA, À UTILISER À VOS RISQUES ET PÉRILS !" -#: Project.module:1664 +#: Project.module:1667 msgid "DEVELOPMENT VERSION, USE AT YOUR OWN RISK!" msgstr "VERSION DE DÉVELOPPEMENT, À UTILISER À VOS RISQUES ET PÉRILS !" -#: Project.module:2022 +#: Project.module:2025 msgid "Cannot open a binary file." msgstr "Impossible d'ouvrir un fichier binaire." -#: Project.module:2060 +#: Project.module:2063 msgid "Cannot open file." msgstr "Impossible d'ouvrir le fichier." -#: Project.module:2218 +#: Project.module:2221 msgid "&1th" msgstr "&1ème" -#: Project.module:2271 +#: Project.module:2274 msgid "in form definition" msgstr "dans la définition du formulaire" -#: Project.module:2278 +#: Project.module:2281 msgid "in &1." msgstr "dans &1." -#: Project.module:2439 +#: Project.module:2442 msgid "Some project source files are in conflict.\nPlease solve them if you want to compile the project." msgstr "Certains fichiers sources du projet sont en conflit.\nVeuillez résoudre ces conflits pour pouvoir compiler le projet." -#: Project.module:2443 +#: Project.module:2446 msgid "Compiling project" msgstr "Compilation du projet" -#: Project.module:2694 +#: Project.module:2697 msgid "File already exists." msgstr "Ce fichier existe déja." -#: Project.module:2726 +#: Project.module:2729 msgid "Directory already exists." msgstr "Le répertoire existe déja." -#: Project.module:2738 +#: Project.module:2741 msgid "Cannot link template file." msgstr "Impossible de créer le lien vers le fichier modèle." -#: Project.module:2744 +#: Project.module:2747 msgid "Cannot copy template file." msgstr "Impossible de copier le fichier modèle." -#: Project.module:2950 +#: Project.module:2953 msgid "The contents of VERSION file is incorrect." msgstr "Le contenu du fichier VERSION est incorrect." -#: Project.module:2972 +#: Project.module:2975 msgid "Cannot install library in &1." msgstr "Impossible d'installer la bibliothèque dans &1." -#: Project.module:3011 +#: Project.module:3014 msgid "Making executable..." msgstr "Génération de l'exécutable..." -#: Project.module:3063 +#: Project.module:3066 msgid "Cannot make executable." msgstr "Impossible de créer l'exécutable." -#: Project.module:3518 +#: Project.module:3519 msgid "Some components are missing: &1" msgstr "Certains composants ne sont pas installés : &1" -#: Project.module:3720 +#: Project.module:3721 msgid "Cannot write project file." msgstr "Impossible d'écrire le fichier projet." -#: Project.module:3769 +#: Project.module:3770 msgid "Unable to create desktop shortcut." msgstr "Imposible de créer le raccourci sur le bureau." -#: Project.module:4033 +#: Project.module:4034 msgid "The directory will be removed at the next commit." msgstr "Le répertoire sera supprimé à la prochaine publication." -#: Project.module:4050 +#: Project.module:4051 msgid "You must define a startup class or form!" msgstr "Vous devez définir une classe ou un formulaire de démarrage !" -#: Project.module:4081 +#: Project.module:4082 msgid "Please type a name." msgstr "Veuillez saisir un nom." -#: Project.module:4085 +#: Project.module:4086 msgid "This name contains a forbidden character:" msgstr "Ce nom contient un caractère interdit:" -#: Project.module:4089 +#: Project.module:4090 msgid "The name cannot begins with a dot." msgstr "Le nom ne peut pas commencer par un point." -#: Project.module:4093 +#: Project.module:4094 msgid "This name is already used. Choose another one." msgstr "Ce nom est déjà utilisé. Choisissez-en un autre." -#: Project.module:4129 +#: Project.module:4130 msgid "A class name must begin with a letter or an underscore, followed by any letter or digit." msgstr "Un nom de classe doit commencer par une lettre ou un caractère '_', et être suivi par des lettres ou des chiffres. " -#: Project.module:4172 +#: Project.module:4173 msgid "Destination already exists." msgstr "La destination existe déjà." -#: Project.module:4354 +#: Project.module:4355 msgid "Unable to rename '&1'" msgstr "Impossible de renommer « &1 »" -#: Project.module:4470 +#: Project.module:4471 msgid "Please type a project name." msgstr "Veuillez saisir un nom de projet." -#: Project.module:4478 +#: Project.module:4479 msgid "The project name cannot begin with a dot." msgstr "Un nom de projet ne peut commencer par un point." -#: Project.module:4481 +#: Project.module:4482 msgid "Non-ASCII characters are forbidden in a project name." msgstr "Un nom de projet ne peut contenir que des caractères ASCII." -#: Project.module:4482 +#: Project.module:4483 msgid "SPACE" msgstr "ESPACE" -#: Project.module:4482 +#: Project.module:4483 msgid "The following characters are forbidden in a project name:" msgstr "Les caractères suivants sont interdits dans un nom de projet :" -#: Project.module:4489 +#: Project.module:4490 msgid "This project already exists." msgstr "Ce projet existe déjà." -#: Project.module:4492 +#: Project.module:4493 msgid "The project directory already exists." msgstr "Le répertoire du projet existe déjà." -#: Project.module:4494 +#: Project.module:4495 msgid "The project directory cannot be created because a file with the same name already exists." msgstr "Le répertoire du projet ne peut être créé car un fichier avec le même nom existe déjà." -#: Project.module:4542 +#: Project.module:4543 msgid "Unable to create source archive." msgstr "Impossible de créer l'archive source." -#: Project.module:4569 +#: Project.module:4570 msgid "Create source package" msgstr "Générer une archive des sources du projet" -#: Project.module:4836 +#: Project.module:4850 msgid "Cannot copy file &1." msgstr "Impossible de copier le fichier &1." -#: Project.module:4884 +#: Project.module:4898 msgid "Cannot create link &1." msgstr "Impossible de créer le lien &1." -#: Project.module:4899 +#: Project.module:4913 msgid "Cannot move a directory inside itself." msgstr "Impossible de déplacer un répertoire à l'intérieur de lui-même." -#: Project.module:4963 +#: Project.module:4977 msgid "Cannot move file &1." msgstr "Impossible de déplacer le fichier &1." -#: Project.module:5176 +#: Project.module:5190 msgid "The following files couldn't be removed:" msgstr "Les fichiers suivants n'ont pu être supprimés :" -#: Project.module:5663 +#: Project.module:5675 msgid "Project cleanup..." msgstr "Nettoyage du projet..." -#: Project.module:5669 +#: Project.module:5681 msgid "Project files conversion..." msgstr "Conversion des fichiers du projet..." -#: Project.module:5699 +#: Project.module:5711 msgid "Unable to convert &1" msgstr "Impossible de convertir &1" -#: Project.module:5950 +#: Project.module:5962 msgid "Unable to update forms." msgstr "Impossible de mettre à-jour les formulaires." -#: Project.module:6040 +#: Project.module:6052 msgid "The &1 program is not installed on your system." msgstr "Le programme &1 n'est pas installé sur votre système." -#: Project.module:6042 +#: Project.module:6054 msgid "The following programs are not installed on your system: &1." msgstr "Les programmes suivants ne sont pas installés sur votre système : &1." -#: Project.module:6134 +#: Project.module:6146 msgid "Unable to read component description file." msgstr "Impossible de lire le fichier de description du composant." -#: Project.module:6195 +#: Project.module:6207 msgid "Cannot write component description file." msgstr "Impossible d'écrire le fichier de description du composant." -#: Project.module:6256 +#: Project.module:6268 msgid "Project templates" msgstr "Modèles de projet" -#: Project.module:6302 +#: Project.module:6314 msgid "Unable to run terminal." msgstr "Impossible de démarrer le terminal." -#: Save.module:51 +#: Save.module:57 msgid "Cannot save file !" msgstr "Impossible d'enregistrer le fichier !" diff --git a/app/src/gambas3/.src/Component/CDocumentation.class b/app/src/gambas3/.src/Component/CDocumentation.class index 51f6a3c49..165f3106a 100644 --- a/app/src/gambas3/.src/Component/CDocumentation.class +++ b/app/src/gambas3/.src/Component/CDocumentation.class @@ -907,6 +907,10 @@ Private Sub GetModule(sClass As String) As Object sPath = Project.FindPath(sClass & ".module") If sPath Then Return Project.LoadFile(sPath) + If Project.HasTest Then + sPath = Project.FindPath(sClass & ".test") + If sPath Then Return Project.LoadFile(sPath) + Endif For Each sFamily In CFamily.List sPath = Project.FindPath(sClass & "." & sFamily) If sPath Then Return Project.LoadFile(sPath) @@ -974,7 +978,7 @@ Public Sub ScanSingleClass(hPModule As FEditor) As Collection cSymbol = New Collection(gb.IgnoreCase) hPModule.Scan = cSymbol - ScanClass(hPModule, cSymbol, File.Ext(hPModule.Path) = "module", False) + ScanClass(hPModule, cSymbol, Project.IsModuleExt(hPModule.Path), False) Return cSymbol End @@ -1032,16 +1036,20 @@ Public Function GetClassSymbols(sClass As String, Optional sComponent As String) Endif sPath = Project.FindPath(sClass & ".module") - If Exist(sPath) Then hPModule = Project.LoadFile(sPath) - For Each sFamily In CFamily.List - sPath = Project.FindPath(sClass & "." & sFamily) - If Exist(sPath) Then - Try hPForm = Project.LoadFile(sPath) - Break - Endif - Next - sPath = Project.FindPath(sClass & ".class") - If Exist(sPath) Then hPClass = Project.LoadFile(sPath) + If Not Exist(sPath) Then sPath = Project.FindPath(sClass & ".test") + If Exist(sPath) Then + hPModule = Project.LoadFile(sPath) + Else + For Each sFamily In CFamily.List + sPath = Project.FindPath(sClass & "." & sFamily) + If Exist(sPath) Then + Try hPForm = Project.LoadFile(sPath) + Break + Endif + Next + sPath = Project.FindPath(sClass & ".class") + If Exist(sPath) Then hPClass = Project.LoadFile(sPath) + Endif cSymbol = New Collection diff --git a/app/src/gambas3/.src/Component/CModule.class b/app/src/gambas3/.src/Component/CModule.class index 823014dd5..40187e2fd 100644 --- a/app/src/gambas3/.src/Component/CModule.class +++ b/app/src/gambas3/.src/Component/CModule.class @@ -18,12 +18,12 @@ Static Public Sub _init() All = New Collection(gb.IgnoreCase) - For Each sModule In ["module", "class"] + For Each sModule In ["module", "test", "class"] Picture["img/16" &/ sModule & ".png"] = Project.MakeModuleIcon(sModule, 16).Picture Picture["img/32" &/ sModule & ".png"] = Project.MakeModuleIcon(sModule, 32).Picture Next - Ext = ["module", "class"] + Ext = ["module", "test", "class"] hModule = New CModule("form", ("Form"), ("Forms"), ("Gambas forms")) hModule = New CModule("webpage", ("WebPage"), ("WebPages"), ("Gambas web pages")) diff --git a/app/src/gambas3/.src/Dialog/FFileProperty.class b/app/src/gambas3/.src/Dialog/FFileProperty.class index bc77b937f..e3c702188 100644 --- a/app/src/gambas3/.src/Dialog/FFileProperty.class +++ b/app/src/gambas3/.src/Dialog/FFileProperty.class @@ -36,6 +36,8 @@ Public Sub fprInfo_Data() Case "module" sType = ("Gambas module") + Case "test" + sType = ("Gambas test module") Case "class" sType = ("Gambas class") @@ -161,6 +163,7 @@ Public Sub panStat_Arrange() gvwStat.Columns.Count = 2 AddStat(("Modules"), Project.GetCount("module")) + If Project.HasTest Then AddStat(("Test modules"), Project.GetCount("test")) AddStat(("Classes"), Project.GetCount("class")) For Each hModule In CModule.All If hModule.Used Then AddStat(hModule.NamePlural, Project.GetCount(hModule.Key)) diff --git a/app/src/gambas3/.src/Exported/TextEditor.class b/app/src/gambas3/.src/Exported/TextEditor.class index 8377b1f8e..3e61fc6e3 100644 --- a/app/src/gambas3/.src/Exported/TextEditor.class +++ b/app/src/gambas3/.src/Exported/TextEditor.class @@ -377,7 +377,7 @@ Static Public Sub GetModeFromPath(sPath As String) As String sMode = "gambas" Case "html", "htm", "xml", "kml", "rss" sMode = "html" - Case "module", "class" + Case "module", "test", "class" If Project.IsSourcePath(sPath) Then sMode = "gambas" If Project.IsHiddenPath(sPath) Then sMode = "gambas" End Select diff --git a/app/src/gambas3/.src/FMain.class b/app/src/gambas3/.src/FMain.class index 55bc03229..09822cf03 100644 --- a/app/src/gambas3/.src/FMain.class +++ b/app/src/gambas3/.src/FMain.class @@ -165,7 +165,7 @@ Public Sub tvwProject_Activate() tvwProject[sKey].Expanded = True If CanEdit(sKey) Then If $bCtrl Then - If Project.IsSourcePath(sKey) And If File.Ext(sKey) <> "module" Then + If Project.IsSourcePath(sKey) And If Not Project.IsModuleExt(sKey) Then sKeyClass = File.SetExt(sKey, "class") If Project.IsSourcePath(sKeyClass) Then sKey = sKeyClass Endif @@ -423,7 +423,7 @@ Public Sub mnuPopup_Show() mnuDeleteFile.Visible = mnuDeleteFile.Visible And CanDelete(sCurrent) And Not Project.Running mnuEditFile.Visible = mnuEditFile.Visible And CanEdit(sCurrent) - mnuEditClass.Visible = mnuEditFile.Visible And Project.IsFormPath(sCurrent) + mnuEditClass.Visible = mnuEditFile.Visible And Project.IsFormExt(sCurrent) mnuStartup.Visible = mnuEditFile.Visible If mnuStartup.Visible Then @@ -483,6 +483,7 @@ Public Sub mnuPopup_Show() Next mnuNewClass.Show mnuNewModule.Show + mnuNewTest.Visible = Project.HasTest Endif @@ -553,6 +554,7 @@ Public Sub mnuPopup_Show() Next mnuNewClass.Hide mnuNewModule.Hide + mnuNewTest.Hide Endif diff --git a/app/src/gambas3/.src/FMain.form b/app/src/gambas3/.src/FMain.form index b65ffba8f..979779f92 100644 --- a/app/src/gambas3/.src/FMain.form +++ b/app/src/gambas3/.src/FMain.form @@ -501,6 +501,12 @@ Picture = Picture["img/module/module.png"] Tag = "module" } + { mnuNewTest Menu mnuNewFile + Name = "mnuNewTest" + Text = ("Test module") & "..." + Picture = Picture["img/module/test.png"] + Tag = "test" + } { mnuNewClass Menu mnuNewFile Name = "mnuNewClass" Text = ("Class") & "..." @@ -1298,13 +1304,6 @@ MoveScaled(86,8,0,9) Visible = False } - { btnWorkspaceProject ToolButton - MoveScaled(22,1,4,4) - Visible = False - ToolTip = ("Show project tree") - Ignore = True - Picture = Picture["icon:/small/view-tree"] - } { btnWorkspaceProperty ToolButton MoveScaled(27,1,4,4) Visible = False @@ -1312,6 +1311,13 @@ Ignore = True Picture = Picture["icon:/small/properties"] } + { btnWorkspaceProject ToolButton + MoveScaled(22,1,4,4) + Visible = False + ToolTip = ("Show project tree") + Ignore = True + Picture = Picture["icon:/small/view-tree"] + } } { panDebug SidePanel MoveScaled(3,37,81,14) @@ -1366,13 +1372,6 @@ Text = ("Hierarchy") Index = 0 } - { btnPropertyToolbar ToolButton - MoveScaled(0,0,4,4) - Visible = False - ToolTip = ("Show controls") - Ignore = True - Picture = Picture["img/16/control.png"] - } { btnPropertyHelp ToolButton MoveScaled(4,0,4,4) Visible = False @@ -1380,6 +1379,13 @@ Ignore = True Picture = Picture["icon:/small/help"] } + { btnPropertyToolbar ToolButton + MoveScaled(0,0,4,4) + Visible = False + ToolTip = ("Show controls") + Ignore = True + Picture = Picture["img/16/control.png"] + } } { panTool SidePanel MoveScaled(5,49,21,37) diff --git a/app/src/gambas3/.src/Project.module b/app/src/gambas3/.src/Project.module index 3eb3f2f6b..d5e122410 100644 --- a/app/src/gambas3/.src/Project.module +++ b/app/src/gambas3/.src/Project.module @@ -219,6 +219,9 @@ Public UseInheritance As Boolean Private $bFileIsUnknown As Boolean +' If 'gb.test' is checked +Public HasTest As Boolean + ' If GetFileIcon() has been called on an added file 'Private $bLastAdded As Boolean @@ -1971,7 +1974,7 @@ Public Function LoadFile(sPath As String, Optional bNoErrorIfUnknown As Boolean) Select Case sType - Case "module", "class" + Case "module", "test", "class" hForm = New FEditor(sPath) Case "form", "report", "webform", "termform" @@ -2003,7 +2006,7 @@ Public Function LoadFile(sPath As String, Optional bNoErrorIfUnknown As Boolean) Case "png", "gif", "jpg", "jpeg", "bmp", "xpm" hForm = New FImageEditor(sPath) - Case "module", "class" + Case "module", "test", "class" hForm = New FEditor(sPath) Case Else @@ -3080,14 +3083,12 @@ Public Function GetClasses(Optional bFullPath As Boolean) As String[] Dim sPath As String Dim aClass As New String[] - Dim sExt As String If Not Path Then Return aClass For Each sPath In Tree.Sources - sExt = File.Ext(sPath) - If sExt = "class" Or If sExt = "module" Then + If IsModuleExt(sPath) Or If sPath Ends ".class" Then If bFullPath Then aClass.Add(sPath) Else @@ -4669,8 +4670,10 @@ Public Sub RefreshComponents(Optional bForce As Boolean) $aOldRefreshComponents = aLib + HasTest = Components.Exist("gb.test") + Endif - + End Public Function IsSourceDir(sDir As String) As Boolean @@ -4696,22 +4699,33 @@ Public Function IsSourcePath(sPath As String, Optional bAllowDir As Boolean) As End -Public Function IsFormPath(sPath As String) As Boolean - - If Not IsSourcePath(sPath) Then Return +Public Function IsFormExt(sPath As String) As Boolean If File.Ext(sPath) = "class" Then Return Return Exist(File.SetExt(sPath, "class")) End +Public Function IsFormPath(sPath As String) As Boolean + + If Not IsSourcePath(sPath) Then Return + Return IsFormExt(sPath) + +End + +Public Function IsModuleExt(sPath As String) As Boolean + + Dim sExt As String = File.Ext(sPath) + If sExt = "module" Or If sExt = "test" Then Return True + +End + Public Sub IsProjectPath(sPath As String) As Boolean Return sPath Begins Project.Dir &/ "/" End - Public Function IsImagePath(sPath As String) As Boolean Return IMAGE_EXT.Exist(File.Ext(sPath)) @@ -5468,10 +5482,8 @@ Public Sub IsExported(sPath As String) As Boolean Dim hFile As File Dim sLine As String - Dim sExt As String - sExt = File.Ext(sPath) - If sExt <> "module" And If sExt <> "class" Then sPath = File.SetExt(sPath, "class") + If Not IsModuleExt(sPath) Then sPath = File.SetExt(sPath, "class") If Not Exist(sPath) Then Return Try hFile = Open sPath @@ -6402,7 +6414,7 @@ Public Sub IsModified(sPath As String, Optional bNoClass As Boolean) As Boolean If HasFlag(sPath, FLAG_MODIFIED) Then Return True If Not IsSourcePath(sPath) Then Return - If Not IsFormPath(sPath) Then Return + If Not IsFormExt(sPath) Then Return If bNoClass Then Return Return HasFlag(File.SetExt(sPath, "class"), FLAG_MODIFIED) @@ -6443,7 +6455,6 @@ Private Sub RenamePaths(sOld As String, sNew As String) Dim hForm As Object Dim sCheck As String Dim sNewFormPath As String - Dim sExt As String ' Rename DoNotTranslate @@ -6492,8 +6503,7 @@ Private Sub RenamePaths(sOld As String, sNew As String) ' Rename breakpoints If IsSourcePath(sOld) Then - sExt = File.Ext(sOld) - If sExt = "class" Or If sExt = "module" Then + If IsModuleExt(sOld) Or If sOld Ends ".class" Then Design.RenameClass(File.BaseName(sOld), File.BaseName(sNew)) Endif Endif diff --git a/app/src/gambas3/.src/Project/CProjectTree.class b/app/src/gambas3/.src/Project/CProjectTree.class index 888494fa3..a1164e8f9 100644 --- a/app/src/gambas3/.src/Project/CProjectTree.class +++ b/app/src/gambas3/.src/Project/CProjectTree.class @@ -165,10 +165,10 @@ Private Sub AddFile(sDir As String, sFile As String, Optional bAfter As Boolean, ' 'sParent = hModule.TreeKey ' 'If Not hModule.Used Then bIgnore = True ' sParent = sDir - Else If sExt <> "module" Then - 'If Not HasModule(sExt) Then - ' bIgnore = True - 'Endif + ' Else If sExt <> "module" Then + ' 'If Not HasModule(sExt) Then + ' ' bIgnore = True + ' 'Endif Endif If Not sParent Then sParent = sDir @@ -418,6 +418,9 @@ Public Function FindPath(sClass As String) As String sPath = Sources[sClass & ".module"] If sPath Then Return sPath + sPath = Sources[sClass & ".test"] + If sPath Then Return sPath + End Public Sub FindKey(sClass As String) As String @@ -570,7 +573,7 @@ Public Sub GetFileIcon(sPath As String, Optional iSize As Integer, hStat As Stat sExt = File.Ext(sPath) Select Case sExt - Case "form", "class", "module", "webpage", "report", "webform", "termform" + Case "form", "class", "module", "test", "webpage", "report", "webform", "termform" If IsSourcePath(sPath) Then sModule = sExt sIcon = sExt @@ -982,6 +985,7 @@ Public Sub ExistClass(sClass As String) As Boolean If Sources.Exist(sClass & ".class") Then Return True If Sources.Exist(sClass & ".module") Then Return True + If Sources.Exist(sClass & ".test") Then Return True End diff --git a/app/src/gambas3/.src/Project/FCreateFile.class b/app/src/gambas3/.src/Project/FCreateFile.class index 3a7310df9..a9ed3715c 100644 --- a/app/src/gambas3/.src/Project/FCreateFile.class +++ b/app/src/gambas3/.src/Project/FCreateFile.class @@ -157,6 +157,12 @@ Private Sub CreateFile() As Boolean Project.InsertSource(sName, sType, $sDir, sTemp) + Case "test" + + sTemp = "' Gambas test module file\n\n" + + Project.InsertSource(sName, sType, $sDir, sTemp) + Case "class" sTemp = "' Gambas class file\n\n" diff --git a/app/src/gambas3/.src/Project/FCreateFile.form b/app/src/gambas3/.src/Project/FCreateFile.form index 2cf95a1d2..231d67ffb 100644 --- a/app/src/gambas3/.src/Project/FCreateFile.form +++ b/app/src/gambas3/.src/Project/FCreateFile.form @@ -1,7 +1,7 @@ # Gambas Form File 3.0 { Form Form - MoveScaled(0,0,63,74) + MoveScaled(0,0,64,74) Text = ("New file") Icon = Picture["icon:/small/new"] Resizable = False diff --git a/app/src/gambas3/.src/Project/FImportFile.class b/app/src/gambas3/.src/Project/FImportFile.class index eb41fdce6..af96eefe4 100644 --- a/app/src/gambas3/.src/Project/FImportFile.class +++ b/app/src/gambas3/.src/Project/FImportFile.class @@ -21,6 +21,7 @@ Private Sub InitFilter() If Project.IsSourceDir($sDir) Then aFilter = ["*.module", ("Gambas modules"), "*.class", ("Gambas classes")] + If Project.HasTest Then aFilter.Insert(["*.test", ("Gambas test modules")]) For Each hModule In CModule.All If Not hModule.Used Then Continue aFilter.Add("*." & hModule.Key) @@ -131,13 +132,17 @@ Private Sub ImportFile() As Boolean Select Case sExt - Case "module" + Case "module", "test", "class" sName = File.BaseName(Project.GetUniqueSourceName(sName)) - Project.InsertSource(sName, "module", $sDir, sTemp,,, chkLink.Value) + Project.InsertSource(sName, sExt, $sDir, sTemp,,, chkLink.Value) - Case "class" - sName = File.BaseName(Project.GetUniqueSourceName(sName)) - Project.InsertSource(sName, "class", $sDir, sTemp,,, chkLink.Value) + ' Case "test" + ' sName = File.BaseName(Project.GetUniqueSourceName(sName)) + ' Project.InsertSource(sName, "test", $sDir, sTemp,,, chkLink.Value) + ' + ' Case "class" + ' sName = File.BaseName(Project.GetUniqueSourceName(sName)) + ' Project.InsertSource(sName, "class", $sDir, sTemp,,, chkLink.Value) Case "form", "report", "webform", "termform" sName = File.BaseName(Project.GetUniqueSourceName(sName)) diff --git a/app/src/gambas3/.src/Project/FProjectProperty.class b/app/src/gambas3/.src/Project/FProjectProperty.class index 0c8fc7636..527cb9ed2 100644 --- a/app/src/gambas3/.src/Project/FProjectProperty.class +++ b/app/src/gambas3/.src/Project/FProjectProperty.class @@ -939,6 +939,7 @@ Private Sub UpdateStat() gvwStat.Rows.Count = 0 AddStat(("Modules"), CStr(Project.GetCount("module"))) + If Project.HasTest Then AddStat(("Test modules"), CStr(Project.GetCount("test"))) AddStat(("Classes"), CStr(Project.GetCount("class"))) For Each hModule In CModule.All diff --git a/app/src/gambas3/.src/VersionControl/FConflict.class b/app/src/gambas3/.src/VersionControl/FConflict.class index c82de2bbb..3a7f31027 100644 --- a/app/src/gambas3/.src/VersionControl/FConflict.class +++ b/app/src/gambas3/.src/VersionControl/FConflict.class @@ -107,7 +107,7 @@ Private Sub GetFileType() As Integer Select Case LCase(File.Ext($sPath)) - Case "class", "module", "form", "text", "txt", "html", "css", "svg", "desktop", "inf" + Case "class", "module", "test", "form", "text", "txt", "html", "css", "svg", "desktop", "inf" Return TYPE_TEXT Case "jpg", "jpeg", "png", "gif", "xpm", "bmp" diff --git a/app/src/gambas3/img/module/test-dark.png b/app/src/gambas3/img/module/test-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..2a01483ea7a242adc587e21a5e875dab75a97ef0 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnH3?%tPCZz)@&H|6fVj%Ab2s2LA=92~q2Ka=y zx)=DoeEs^>>o+GQ7wG^6nM#8Ef*BfSYx_w6c>$g-jv*44lM@aw#H>D$z$nD5QkFo+<;~?c)I$ztaD0e0suJqHxK{- literal 0 HcmV?d00001 diff --git a/app/src/gambas3/img/module/test.png b/app/src/gambas3/img/module/test.png new file mode 100644 index 0000000000000000000000000000000000000000..25e2ff31016d239c753a02a3324559cd9fb116d6 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnH3?%tPCZz)@&H|6fVj%Ab2s2LA=92~q2Ka=y zx)=Cp>F8)_>*)Vp{|6|@R1)MD%+N4f+fM?>3-EMt43W5;oN$04X7zytMj>V;M?Pnk zV<%dSB*L8}bG#4m2(qo@OmI_kp2j?5;?o^Mi(<2G32`*%US;8EE}Y7I<%!P>QKb|s go-+qNXtFUd$f{~rpW4LY1~i+&)78&qol`;+0FBNwxBvhE literal 0 HcmV?d00001