From d3ebb6ccc8672afd80d3f9b8035e87d409cdaa5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Minisini?= Date: Thu, 1 Jan 2015 11:46:48 +0000 Subject: [PATCH] [CONFIGURATION] * NEW: Update the state of many components. [DEVELOPMENT ENVIRONMENT] * NEW: The project property dialog now uses an IconPanel. * NEW: New design of the component tab in the project property dialog. [GB.GUI.BASE] * NEW: GridView: The background of the sorted column is now lighter. [GB.QT4.WEBKIT] * NEW: WebView.History is a new virtual access to get the number of entries in the history, to set or get the current history entry index, and to get or set the history maximum capacity. git-svn-id: svn://localhost/gambas/trunk@6788 867c0c6c-44f3-4631-809d-bfa615b0a4ec --- app/src/gambas3/.lang/fr.mo | Bin 123419 -> 123435 bytes app/src/gambas3/.lang/fr.po | 463 ++++++------------ app/src/gambas3/.src/FMain.form | 2 +- app/src/gambas3/.src/Help/MHelp.module | 1 + .../.src/Project/FProjectProperty.class | 102 ++-- .../.src/Project/FProjectProperty.form | 264 +++++----- app/src/gambas3/img/32/filter-menu.png | Bin 0 -> 628 bytes comp/src/gb.gui.base/.project | 2 +- .../gb.gui.base/.src/GridView/GridView.class | 2 +- comp/src/gb.util/.component | 2 +- comp/src/gb.util/.src/MMain.module | 2 +- gb.gtk/src/opengl/gb.gtk.opengl.component | 2 +- gb.httpd/src/gb.httpd.component | 2 +- gb.libxml/src/gb.libxml.component | 7 +- gb.media/src/gb.media.component | 2 +- gb.mime/src/gb.mime.component | 2 +- gb.opengl/src/gb.opengl.component | 2 +- gb.opengl/src/glsl/gb.opengl.glsl.component | 2 +- gb.opengl/src/glu/gb.opengl.glu.component | 2 +- gb.opengl/src/sge/gb.opengl.sge.component | 4 +- gb.pdf/src/gb.pdf.component | 6 +- gb.qt4/src/opengl/gb.qt4.opengl.component | 2 +- gb.qt4/src/webkit/ccookiejar.cpp | 2 +- gb.qt4/src/webkit/ccookiejar.h | 2 +- gb.qt4/src/webkit/cwebdownload.cpp | 4 +- gb.qt4/src/webkit/cwebdownload.h | 4 +- gb.qt4/src/webkit/cwebframe.cpp | 4 +- gb.qt4/src/webkit/cwebframe.h | 4 +- gb.qt4/src/webkit/cwebhittest.cpp | 2 +- gb.qt4/src/webkit/cwebhittest.h | 3 +- gb.qt4/src/webkit/cwebsettings.cpp | 12 +- gb.qt4/src/webkit/cwebsettings.h | 12 +- gb.qt4/src/webkit/cwebview.cpp | 77 ++- gb.qt4/src/webkit/cwebview.h | 7 +- gb.qt4/src/webkit/gb.qt4.webkit.component | 2 +- gb.qt4/src/webkit/main.cpp | 29 +- gb.xml/src/gb.xml.component | 2 +- gb.xml/src/html/gb.xml.html.component | 2 +- gb.xml/src/xslt/gb.xml.xslt.component | 7 +- main/lib/inotify/gb.inotify.component | 2 +- 40 files changed, 480 insertions(+), 570 deletions(-) create mode 100644 app/src/gambas3/img/32/filter-menu.png diff --git a/app/src/gambas3/.lang/fr.mo b/app/src/gambas3/.lang/fr.mo index cc2e33a922f0b94048181b7c7239d0ea633de7d9..b931bb6cc0e6bfffab61deed9bb30ab109e60e0d 100644 GIT binary patch delta 30105 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 PJh-a&wjztX?v?#Ni^j$< delta 30092 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\n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -746,7 +745,7 @@ msgstr "Gestion du XML" msgid "Loading information on component &1..." msgstr "Chargement des informations sur le composant &1..." -#: CComponent.class:1586 FFileProperty.class:165 FProjectProperty.class:1380 +#: CComponent.class:1586 FFileProperty.class:165 FProjectProperty.class:1395 msgid "Classes" msgstr "Classes" @@ -770,7 +769,6 @@ msgstr "ATTENTION ! Bibliothèque introuvable." msgid "Provides" msgstr "Fournit" -#: CLibraryInfo.class:158 ComponentItem.class:153 FPropertyComponent.form:144 #: LibraryItem.class:60 msgid "Requires" msgstr "Nécessite" @@ -831,7 +829,6 @@ msgstr "Les exemples sont stockés sur le serveur de la logithèque de Gambas. C msgid "there" msgstr "ici" -#: CProjectTree.class:285 FHelpShortcut.form:22 FMain.form:383 #: FSearch.class:97 FSelectIcon.form:31 Project.module:1808 msgid "Project" msgstr "Projet" @@ -900,23 +897,6 @@ msgstr "Impossible de générer l'exécutable." msgid "Unable to install source directory" msgstr "Impossible d'installer le répertoire source" -#: CWaitingAnimation.class:56 FColorChooser.form:69 FConflict.class:218 -#: FConnectionEditor.class:427 FCrash.form:96 FCreateFile.form:227 -#: FDebugInfo.form:263 FEditor.class:2323 FExportData.class:126 -#: FFarmConfig.form:210 FFarmRequest.form:43 FFieldChooser.form:138 -#: FFileProperty.class:141 FFontChooser.form:40 FForm.class:3187 -#: FGotoLine.form:23 FHelpBrowser.form:60 FImageEditor.class:354 -#: FImageOffsetSelection.form:33 FImageQuality.form:30 FImageResize.form:49 -#: FImageRotate.form:32 FList.form:121 FMain.class:214 FMakeInstall.class:361 -#: FMenu.form:402 FNewConnection.form:284 FNewTable.form:86 -#: FNewTranslation.form:21 FOption.class:713 FPasteSpecial.form:77 -#: FPasteTable.form:107 FProjectChooser.form:62 FProjectProperty.form:823 -#: FProjectVersion.class:209 FPropertyComponent.form:260 FProxy.form:57 -#: FPublish.class:277 FReportBorderChooser.form:48 FReportBrushChooser.form:36 -#: FReportCoordChooser.form:26 FReportPaddingChooser.form:75 FSave.form:28 -#: FSaveProjectAs.form:76 FSearch.class:887 FSelectExtraFile.form:43 -#: FSelectIcon.form:87 FSnippet.form:57 FSoftwareFarm.class:476 -#: FTableChooser.form:68 FText.form:41 FTextEditor.class:656 #: FTranslate.class:556 Project.module:489 msgid "Cancel" msgstr "Annuler" @@ -929,17 +909,15 @@ 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 »." -#: ComponentItem.class:139 FProjectProperty.class:1282 #: FPropertyComponent.form:82 msgid "Experimental" msgstr "Expérimental" -#: ComponentItem.class:141 FProjectProperty.class:1280 #: FPropertyComponent.form:82 msgid "Not finished but stable" msgstr "Non terminé mais stable" -#: ComponentItem.class:143 FProjectProperty.class:1286 +#: ComponentItem.class:143 FProjectProperty.class:1301 msgid "Deprecated" msgstr "Déprécié" @@ -992,23 +970,9 @@ msgid "in &1:&2." msgstr "dans &1:&2." #: Design.module:392 -msgid "" -"The program has returned\n" -"the value: &1" -msgstr "" -"Le programme a retourné\n" -"la valeur : &1" +msgid "The program has returned\nthe value: &1" +msgstr "Le programme a retourné\nla valeur : &1" -#: Design.module:458 FColorChooser.form:63 FConnectionEditor.class:629 -#: FCrash.form:90 FCreateFile.form:233 FFieldChooser.form:132 -#: FFontChooser.form:34 FGotoLine.form:17 FImageOffsetSelection.form:27 -#: FImageQuality.form:24 FImageResize.form:103 FImageRotate.form:26 -#: FList.form:115 FMakeInstall.class:307 FMenu.form:397 -#: FNewConnection.form:278 FNewTable.form:80 FNewTranslation.form:15 -#: FPasteSpecial.form:71 FProjectProperty.form:817 FPropertyComponent.form:254 -#: FProxy.form:63 FReportBorderChooser.form:54 FReportBrushChooser.form:42 -#: FReportCoordChooser.form:32 FReportPaddingChooser.form:69 -#: FSelectExtraFile.form:37 FSelectIcon.form:82 FSnippet.form:51 #: FTableChooser.form:62 FText.form:35 msgid "OK" msgstr "OK" @@ -1034,20 +998,11 @@ msgid "About Gambas" msgstr "À propos de Gambas" #: FAbout.form:48 -msgid "" -"Gambas
\n" -"Almost
\n" -"Means
\n" -"B A S I C !" +msgid "Gambas
\nAlmost
\nMeans
\nB A S I C !" msgstr "-" #: FAbout.form:61 -msgid "" -"

Licence

\n" -"\n" -"

This program is FREE SOFTWARE; you can redistribute it AND/OR modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2, or (at your option) any later version.

\n" -"\n" -"

This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

\n" +msgid "

Licence

\n\n

This program is FREE SOFTWARE; you can redistribute it AND/OR modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2, or (at your option) any later version.

\n\n

This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

\n" msgstr "

Licence

Ce programme est un LOGICIEL LIBRE. Vous pouvez le redistribuer ET/OU le modifier selon les termes de la Licence Publique Générale GNU telle qu'elle est publiée par la Free Software Foundation ; soit la version 2, ou bien n'importe quelle version ultérieure de votre choix.

Ce programme est distribué en espérant qu'il soit utile MAIS SANS GARANTIE D'AUCUNE SORTE ; y compris les garanties implicites de COMMERCIABILITÉ ET DE CONFORMITÉ À UNE UTILISATION PARTICULIÈRE. Se reporter à la Licence Publique Générale GNU pour plus d'information.

\n" #: FAbout.form:67 @@ -1071,12 +1026,8 @@ msgid "&Edit" msgstr "&Éditer" #: FConflict.class:23 -msgid "" -"This file is in conflict with the revision #&1.\n" -"You must resolve the conflict in order to use the file." -msgstr "" -"Ce fichier entre en conflit avec la révision #&1.\n" -"Vous devez résoudre le conflit pour pouvoir utiliser ce fichier de nouveau." +msgid "This file is in conflict with the revision #&1.\nYou must resolve the conflict in order to use the file." +msgstr "Ce fichier entre en conflit avec la révision #&1.\nVous devez résoudre le conflit pour pouvoir utiliser ce fichier de nouveau." #: FConflict.class:116 msgid "Unable to load file:" @@ -1086,18 +1037,13 @@ msgstr "Impossible de charger le fichier :" msgid "Text" msgstr "Texte" -#: FConflict.class:160 FCreateFile.class:142 FMain.form:844 #: FReportBrushChooser.form:49 Project.module:219 msgid "Image" msgstr "Image" #: FConflict.class:218 -msgid "" -"The file has been modified.\n" -"Do you really want to close the dialog?" -msgstr "" -"Le fichier a été modifié.\n" -"Désirez-vous réellement fermer la boite de dialogue ?" +msgid "The file has been modified.\nDo you really want to close the dialog?" +msgstr "Le fichier a été modifié.\nDésirez-vous réellement fermer la boite de dialogue ?" #: FConflict.class:246 msgid "Some conflicts are not yet resolved." @@ -1108,12 +1054,8 @@ msgid "Unable to resolve the conflict." msgstr "Impossible de résoudre le conflit." #: FConflict.class:281 -msgid "" -"The file has been modified.\n" -"Do you really want to open another file?" -msgstr "" -"Le fichier a été modifié.\n" -"Désirez-vous réellement ouvrir un autre fichier ?" +msgid "The file has been modified.\nDo you really want to open another file?" +msgstr "Le fichier a été modifié.\nDésirez-vous réellement ouvrir un autre fichier ?" #: FConflict.class:289 msgid "Conflict files" @@ -1123,50 +1065,34 @@ msgstr "Fichiers en conflits" msgid "Version conflict" msgstr "Conflit de version" -#: FConflict.form:71 FConnectionEditor.form:379 FEditor.form:149 -#: FForm.form:185 FImageEditor.form:132 FMain.form:929 FMenu.form:111 #: FOutput.form:63 FProjectVersion.form:234 FTextEditor.form:121 msgid "Cut" msgstr "Couper" -#: FConflict.form:77 FConnectionEditor.form:149 FEditor.form:156 -#: FForm.form:192 FImageEditor.form:140 FList.form:92 FMain.form:936 -#: FMenu.form:117 FOutput.form:70 FProjectVersion.form:240 FSystemInfo.form:74 #: FTextEditor.form:128 msgid "Copy" msgstr "Copier" -#: FConflict.form:83 FConnectionEditor.form:157 FEditor.form:163 -#: FForm.form:205 FImageEditor.form:147 FList.form:98 FMain.form:943 -#: FMenu.form:123 FOutput.form:77 FPasteTable.form:101 #: FProjectVersion.form:246 FTextEditor.form:135 msgid "Paste" msgstr "Coller" -#: FConflict.form:89 FConnectionEditor.form:407 FEditor.form:132 -#: FFieldChooser.form:121 FForm.form:168 FImageEditor.form:113 FList.form:104 -#: FOption.form:847 FOutput.form:46 FProjectVersion.form:252 #: FTextEditor.form:104 msgid "Undo" msgstr "Annuler" -#: FConflict.form:95 FConnectionEditor.form:414 FEditor.form:139 -#: FForm.form:175 FImageEditor.form:121 FOutput.form:53 #: FProjectVersion.form:258 FTextEditor.form:111 msgid "Redo" msgstr "Rétablir" -#: FConflict.form:101 FEditor.form:479 FMenu.form:133 FProjectVersion.form:264 #: FTextEditor.form:363 msgid "Indent" msgstr "Indenter" -#: FConflict.form:107 FEditor.form:487 FMenu.form:139 FProjectVersion.form:270 #: FTextEditor.form:371 msgid "Unindent" msgstr "Désindenter" -#: FConflict.form:149 FMain.form:335 FOpenProject.form:35 #: FProjectChooser.form:75 msgid "Open" msgstr "Ouvrir" @@ -1175,8 +1101,6 @@ msgstr "Ouvrir" msgid "Open..." msgstr "Ouvrir..." -#: FConflict.form:157 FConnectionEditor.form:102 FEditor.form:333 -#: FForm.form:433 FImageEditor.form:349 FMain.form:351 FMenu.class:72 #: FSaveProjectAs.form:82 FTextEditor.form:266 msgid "Save" msgstr "Enregistrer" @@ -1185,21 +1109,14 @@ msgstr "Enregistrer" msgid "Solve" msgstr "Résoudre" -#: FConflict.form:174 FDebugInfo.form:270 FEditor.form:320 -#: FFarmConfig.form:143 FFileProperty.form:76 FForm.form:420 -#: FImageEditor.form:356 FImportTable.form:222 FMain.form:368 FPatch.form:105 -#: FProjectVersion.form:323 FSystemInfo.form:80 FTextEditor.form:273 #: FTips.form:83 FTranslate.form:308 msgid "Close" msgstr "Fermer" -#: FConnectionEditor.class:45 FCreateFile.form:78 FDebugInfo.class:38 -#: FMakeInstall.form:186 FNewConnection.form:65 FNewTable.form:33 #: FOption.form:256 msgid "Name" msgstr "Nom" -#: FConnectionEditor.class:50 FCreateFile.form:129 FCreateProject.form:98 #: FDebugInfo.class:76 FNewConnection.form:79 FNewTable.form:48 FProxy.form:27 msgid "Type" msgstr "Type" @@ -1228,7 +1145,6 @@ msgstr "Unique" msgid "Field" msgstr "Champ" -#: FConnectionEditor.class:290 FMakeInstall.form:253 FProjectProperty.form:292 #: FPublish.form:140 FSoftwareFarm.form:187 msgid "Description" msgstr "Description" @@ -1265,7 +1181,6 @@ msgstr "Blob" msgid "Boolean" msgstr "Booléen" -#: FConnectionEditor.class:755 FProjectVersion.class:288 #: MConnection.module:120 msgid "Date" msgstr "Date" @@ -1334,7 +1249,7 @@ msgstr "Impossible de supprimer la table « &1 »." msgid "Select the CSV file to import" msgstr "Choisissez le fichier CSV à importer" -#: FConnectionEditor.class:1682 FSearch.form:172 FTranslate.class:1206 +#: FConnectionEditor.class:1682 FSearch.form:172 FTranslate.class:1209 msgid "All files" msgstr "Tous les fichiers" @@ -1354,8 +1269,6 @@ msgstr "Voulez-vous vraiment supprimer cette requête ?" msgid "Connection editor" msgstr "Editeur de connexion" -#: FConnectionEditor.form:110 FEditor.form:327 FForm.form:427 -#: FHelpBrowser.form:66 FImageEditor.form:342 FMain.form:342 #: FTextEditor.form:260 FTranslate.form:76 msgid "Reload" msgstr "Recharger" @@ -1372,8 +1285,6 @@ msgstr "Nouvelle table" msgid "Delete table" msgstr "Supprimer la table" -#: FConnectionEditor.form:133 FMain.form:1056 FMakeInstall.form:644 -#: FOption.form:1256 FProjectProperty.form:464 FPropertyComponent.form:229 #: FPublish.form:237 FSoftwareFarm.form:122 msgid "Remove" msgstr "Supprimer" @@ -1398,7 +1309,6 @@ msgstr "Copier la table" msgid "Import text file" msgstr "Importer un fichier texte" -#: FConnectionEditor.form:165 FImportTable.form:215 FOption.form:1264 #: FTranslate.form:328 msgid "Import" msgstr "Importer" @@ -1411,18 +1321,14 @@ msgstr "Requêtes SQL" msgid "Fields" msgstr "Champs" -#: FConnectionEditor.form:233 FMain.class:2084 FMakeInstall.form:638 -#: FOption.form:1304 FProjectProperty.form:458 FPropertyComponent.form:221 #: FPublish.form:172 msgid "Add" msgstr "Ajouter" -#: FConnectionEditor.form:247 FList.form:76 FMakeInstall.form:656 #: FPublish.form:249 msgid "Down" msgstr "Descendre" -#: FConnectionEditor.form:254 FList.form:70 FMakeInstall.form:650 #: FPublish.form:243 msgid "Up" msgstr "Monter" @@ -1447,7 +1353,6 @@ msgstr "Exécuter la requête" msgid "New query" msgstr "Nouvelle requête" -#: FConnectionEditor.form:365 FCreateFile.form:53 FMain.form:788 #: FOption.form:1242 FTranslate.form:71 msgid "New" msgstr "Nouveau" @@ -1456,7 +1361,6 @@ msgstr "Nouveau" msgid "Remove query" msgstr "Supprimer la requête" -#: FConnectionEditor.form:452 FEditor.form:128 FForm.form:164 #: FImageEditor.form:108 FOption.form:1249 FTextEditor.form:100 msgid "Edit" msgstr "Éditer" @@ -1469,8 +1373,6 @@ msgstr "Exporter vers un fichier CSV" msgid "Export" msgstr "Exporter" -#: FConnectionEditor.form:485 FForm.form:212 FList.form:64 FMain.form:957 -#: FMenu.form:101 FNewConnection.class:347 FOption.class:878 #: FSoftwareFarm.class:573 FTranslate.form:81 msgid "Delete" msgstr "Supprimer" @@ -1479,7 +1381,7 @@ msgstr "Supprimer" msgid "Gambas 3 project conversion" msgstr "Conversion en projet Gambas 3" -#: FCrash.class:73 FTranslate.class:1121 Project.module:4526 +#: FCrash.class:73 FTranslate.class:1124 Project.module:4526 msgid "The '&1' command has failed." msgstr "La commande '&1' a échoué." @@ -1567,8 +1469,6 @@ msgstr "Impossible d'ajouter le fichier." msgid "New file" msgstr "Nouveau fichier" -#: FCreateFile.form:88 FCreateProject.form:274 FImportTable.form:57 -#: FMakePatch.form:66 FProjectProperty.form:587 FPropertyComponent.form:65 #: FSearch.form:100 msgid "Options" msgstr "Options" @@ -1625,7 +1525,7 @@ msgstr "Le projet a été créé avec succès." msgid "New project" msgstr "Nouveau projet" -#: FCreateProject.form:82 FProjectProperty.form:235 +#: FCreateProject.form:82 FProjectProperty.form:250 msgid "Project type" msgstr "Type de projet" @@ -1654,12 +1554,8 @@ msgid "CGI Web application" msgstr "Application Web CGI" #: FCreateProject.form:259 -msgid "" -"Application stored in a\n" -"Subversion repository" -msgstr "" -"Application stockée dans un\n" -"référentiel Subversion" +msgid "Application stored in a\nSubversion repository" +msgstr "Application stockée dans un\nréférentiel Subversion" #: FCreateProject.form:288 msgid "Internationalization" @@ -1737,7 +1633,7 @@ msgstr "Le référentiel du projet est directement envoyé à la commande 'svn c msgid "not available" msgstr "non disponible" -#: FDebugExpr.class:472 FDebugInfo.class:39 FProjectProperty.class:142 +#: FDebugExpr.class:472 FDebugInfo.class:39 FProjectProperty.class:144 msgid "Value" msgstr "Valeur" @@ -1765,7 +1661,6 @@ msgstr "Expression" msgid "Function" msgstr "Fonction" -#: FDebugInfo.class:55 FImageEditor.form:568 FImportTable.class:56 #: FOption.form:647 msgid "Line" msgstr "Ligne" @@ -1790,7 +1685,6 @@ msgstr "Message" msgid "native code" msgstr "code natif" -#: FDebugInfo.class:559 FImageEditor.form:676 FList.form:86 #: FMakeInstall.form:662 FOption.class:713 FOutput.form:84 FPublish.form:184 msgid "Clear" msgstr "Effacer" @@ -1899,16 +1793,9 @@ msgstr "La chaîne recherchée est introuvable." msgid "Stack backtrace" msgstr "Pile des appels" -#: FEditor.class:2323 FImageEditor.class:354 FMain.class:2586 #: FTextEditor.class:656 -msgid "" -"The file has been modified.\n" -"\n" -"All your changes will be lost." -msgstr "" -"Le fichier a été modifié.\n" -"\n" -"Toutes les modifications seront perdues." +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." #: FEditor.class:2777 FTextEditor.class:1067 msgid "(Declarations)" @@ -2047,14 +1934,8 @@ msgid "&Overwrite" msgstr "&Remplacer" #: FExportData.class:126 -msgid "" -"This file already exists.\n" -"\n" -"Do you want to overwrite it?" -msgstr "" -"Ce fichier existe déjà.\n" -"\n" -"Désirez-vous le remplacer ?" +msgid "This file already exists.\n\nDo you want to overwrite it?" +msgstr "Ce fichier existe déjà.\n\nDésirez-vous le remplacer ?" #: FExportData.form:31 FImportTable.form:100 msgid "Delimiter character" @@ -2093,14 +1974,8 @@ msgid "Unable to register user." msgstr "Impossible d'enregistrer l'utilisateur." #: FFarmConfig.class:93 -msgid "" -"You have been successfully registered.\n" -"\n" -"You will receive a confirmation e-mail soon." -msgstr "" -"Vous avez été enregistré avec succès.\n" -"\n" -"Vous recevrez un courriel de confirmation bientôt." +msgid "You have been successfully registered.\n\nYou will receive a confirmation e-mail soon." +msgstr "Vous avez été enregistré avec succès.\n\nVous recevrez un courriel de confirmation bientôt." #: FFarmConfig.class:128 msgid "Authentication failed." @@ -2122,7 +1997,6 @@ msgstr "Serveur" msgid "Login" msgstr "Identifiant" -#: FFarmConfig.form:95 FNewConnection.form:152 FProjectVersion.form:142 #: FProxy.form:47 msgid "Password" msgstr "Mot de passe" @@ -2144,14 +2018,8 @@ msgid "Confirm password" msgstr "Confirmer le mot de passe" #: FFarmConfig.form:189 -msgid "" -"A confirmation mail will be sent to the specified e-mail address. Click on the link included in that mail to activate your account.\n" -"

\n" -"Your e-mail will not be stored on the publishing server." -msgstr "" -"Un mail de confirmation sera envoyé à l'adresse spécifiée. Cliquez sur le lien contenu dans ce mail pour activer votre compte.\n" -"

\n" -"Votre e-mail ne sera pas stocké sur le serveur de publication." +msgid "A confirmation mail will be sent to the specified e-mail address. Click on the link included in that mail to activate your account.\n

\nYour e-mail will not be stored on the publishing server." +msgstr "Un mail de confirmation sera envoyé à l'adresse spécifiée. Cliquez sur le lien contenu dans ce mail pour activer votre compte.\n

\nVotre e-mail ne sera pas stocké sur le serveur de publication." #: FFarmConfig.form:204 msgid "Register" @@ -2205,7 +2073,7 @@ msgstr "Propriétés de &1" msgid "Versioning" msgstr "Suivi" -#: FFileProperty.class:92 FProjectProperty.form:804 FTranslate.form:314 +#: FFileProperty.class:92 FProjectProperty.form:791 FTranslate.form:314 msgid "Statistics" msgstr "Statistiques" @@ -2221,7 +2089,6 @@ msgstr "Le fichier n'est pas versionné, et doit être ajouté au référentiel. msgid "This file has not been modified since the last commit." msgstr "Ce fichier est inchangé depuis le dernier envoi vers le réferentiel." -#: FFileProperty.class:141 FMakeInstall.class:361 FProjectVersion.class:209 #: FSave.form:21 Project.module:3496 msgid "Continue" msgstr "Continuer" @@ -2230,11 +2097,11 @@ msgstr "Continuer" msgid "You are going to cancel your changes!" msgstr "Tous les changements vont être annulés !" -#: FFileProperty.class:164 FProjectProperty.class:1379 +#: FFileProperty.class:164 FProjectProperty.class:1394 msgid "Modules" msgstr "Modules" -#: FFileProperty.class:169 FProjectProperty.class:1387 +#: FFileProperty.class:169 FProjectProperty.class:1402 msgid "Lines of code" msgstr "Lignes de code" @@ -2255,14 +2122,8 @@ msgid "Component missing for control &1" msgstr "Composant introuvable pour le contrôle &1" #: FForm.class:3187 -msgid "" -"The form has been modified.\n" -"\n" -"All your changes will be lost." -msgstr "" -"Le formulaire a été modifié.\n" -"\n" -"Tous vos changements seront perdus." +msgid "The form has been modified.\n\nAll your changes will be lost." +msgstr "Le formulaire a été modifié.\n\nTous vos changements seront perdus." #: FForm.form:131 msgid "Select" @@ -2484,7 +2345,7 @@ msgstr "Déplacer vers le bas" msgid "Move bottom" msgstr "Déplacer tout en bas" -#: FHelpBrowser.class:23 FProjectProperty.form:715 +#: FHelpBrowser.class:23 FProjectProperty.form:702 msgid "Default language" msgstr "Langage par défaut" @@ -2528,7 +2389,7 @@ msgstr "Raccourcis claviers de l'EDI" msgid "Debugger" msgstr "Débogueur" -#: FHelpShortcut.form:28 FProjectProperty.form:687 FTranslate.form:112 +#: FHelpShortcut.form:28 FProjectProperty.form:674 FTranslate.form:112 msgid "Translation" msgstr "Traduction" @@ -2792,7 +2653,7 @@ msgstr "Flou" msgid "Preview" msgstr "Aperçu" -#: FImageProperty.form:571 FOption.form:1318 FProjectProperty.form:395 +#: FImageProperty.form:571 FOption.form:1318 FProjectProperty.form:416 msgid "Reset" msgstr "Réinitialiser" @@ -2964,7 +2825,7 @@ msgstr "Voulez-vous vraiment vider la liste ?" msgid "Edit list property" msgstr "Éditer la liste des propriétés" -#: FList.form:58 FMenu.form:85 FProjectProperty.form:520 +#: FList.form:58 FMenu.form:85 FProjectProperty.form:553 msgid "Insert" msgstr "Insérer" @@ -3013,14 +2874,8 @@ msgid "New folder" msgstr "Nouveau dossier" #: FMain.class:946 -msgid "" -"The GNU translation tools are not installed on your system.\n" -"\n" -"Please 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" -"\n" -"Veuillez les installer pour pouvoir effectuer la traduction." +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:1184 FPropertyComponent.class:163 msgid "Library properties" @@ -3162,15 +3017,15 @@ msgstr "Démarrer" msgid "Use terminal emulator" msgstr "Utiliser un émulateur de terminal" -#: FMain.form:524 FProjectProperty.form:775 +#: FMain.form:524 FProjectProperty.form:762 msgid "Redirect standard error output" msgstr "Rediriger la sortie erreur standard" -#: FMain.form:530 FProjectProperty.form:793 +#: FMain.form:530 FProjectProperty.form:780 msgid "Use embedded HTTP server" msgstr "Utiliser le serveur HTTP embarqué" -#: FMain.form:536 FProjectProperty.form:741 +#: FMain.form:536 FProjectProperty.form:728 msgid "Activate profiling" msgstr "Activer le profilage" @@ -3442,11 +3297,11 @@ msgstr "&?" msgid "Publish software" msgstr "Publier un logiciel" -#: FMain.form:1612 FProjectProperty.form:345 +#: FMain.form:1612 FProjectProperty.form:357 msgid "Reset filter" msgstr "Réinitialiser le filtre" -#: FMakeExecutable.class:18 FProjectProperty.class:1113 +#: FMakeExecutable.class:18 FProjectProperty.class:1128 msgid "Gambas applications" msgstr "Applications Gambas" @@ -3582,7 +3437,6 @@ msgstr "Version du paquet" msgid "Maintainer information" msgstr "Informations sur le mainteneur" -#: FMakeInstall.form:218 FOption.form:294 FPublish.form:82 #: FSoftwareFarm.form:322 msgid "Vendor name" msgstr "Nom du fournisseur" @@ -3632,12 +3486,8 @@ msgid "Mimetypes" msgstr "Types MIME" #: FMakeInstall.form:580 -msgid "" -"Enter the mimetypes handled by your application there.\n" -"Please enter one mimetype by line.\n" -msgstr "" -"Saisissez les types MIME gérés par votre application.\n" -"Veuillez saisir un type MIME par ligne.\n" +msgid "Enter the mimetypes handled by your application there.\nPlease enter one mimetype by line.\n" +msgstr "Saisissez les types MIME gérés par votre application.\nVeuillez saisir un type MIME par ligne.\n" #: FMakeInstall.form:592 msgid "Additional configuration" @@ -3672,9 +3522,7 @@ msgid "Extra autoconf tests" msgstr "Tests autoconf supplémentaires" #: FMakeInstall.form:749 -msgid "" -"Add extra tests for the configuration process.\n" -"

Leave this blank if you don't need it, or if you don't know anything about autoconf scripts." +msgid "Add extra tests for the configuration process.\n

Leave this blank if you don't need it, or if you don't know anything about autoconf scripts." msgstr "Ajout de tests supplémentaires au processus de configuration.

Laissez ce champ vide si vous n'en avez pas besoin, ou si vous ne connaissez rien aux scripts autoconf." #: FMakeInstall.form:757 @@ -3690,18 +3538,8 @@ msgid "Create package" msgstr "Création du paquet" #: FMakeInstall.form:775 -msgid "" -"All needed information have been collected. You can now create the installation packages for your application...\n" -"

Click on the OK button to create the packages.\n" -"

Click on the Previous button if you had made a mistake.\n" -"

Click on the Cancel button to cancel the operation.\n" -"\n" -msgstr "" -"Toutes les informations nécessaires ont été collectées. Vous pouvez maintenant créer les paquets d'installations de votre application...\n" -"

Cliquez sur le bouton OK pour créer les paquets.\n" -"

Cliquez sur le bouton Précédent pour corriger une erreur.\n" -"

Cliquez sur le bouton Annuler pour abandonner l'opération.\n" -"\n" +msgid "All needed information have been collected. You can now create the installation packages for your application...\n

Click on the OK button to create the packages.\n

Click on the Previous button if you had made a mistake.\n

Click on the Cancel button to cancel the operation.\n\n" +msgstr "Toutes les informations nécessaires ont été collectées. Vous pouvez maintenant créer les paquets d'installations de votre application...\n

Cliquez sur le bouton OK pour créer les paquets.\n

Cliquez sur le bouton Précédent pour corriger une erreur.\n

Cliquez sur le bouton Annuler pour abandonner l'opération.\n\n" #: FMakePatch.class:24 msgid "Please select the origin archive." @@ -4031,7 +3869,7 @@ msgstr "'wget' est introuvable." msgid "A new documentation is available!" msgstr "Une nouvelle documentation est disponible !" -#: FOption.class:1283 MHelp.module:875 +#: FOption.class:1283 MHelp.module:876 msgid "Documentation is not available." msgstr "La documentation n'est pas disponible." @@ -4051,11 +3889,11 @@ msgstr "Mainteneur du paquet" msgid "Default license" msgstr "License par défaut" -#: FOption.form:350 FProjectProperty.form:645 FPropertyComponent.form:99 +#: FOption.form:350 FProjectProperty.form:632 FPropertyComponent.form:99 msgid "No" msgstr "Non" -#: FOption.form:350 FProjectProperty.form:645 FPropertyComponent.form:99 +#: FOption.form:350 FProjectProperty.form:632 FPropertyComponent.form:99 msgid "Yes" msgstr "Oui" @@ -4099,7 +3937,7 @@ msgstr "Utiliser des fenêtres utilitaires" msgid "Toolbox size" msgstr "Taille de la boîte à outils" -#: FOption.form:538 FProjectProperty.form:242 +#: FOption.form:538 FProjectProperty.form:257 msgid "Normal" msgstr "Normal" @@ -4123,7 +3961,7 @@ msgstr "Afficher le nom de fichier dans le titre de la fenêtre" msgid "Default tab size" msgstr "Tabulation par défaut" -#: FOption.form:628 FProjectProperty.form:620 +#: FOption.form:628 FProjectProperty.form:607 msgid "space(s)" msgstr "espace(s)" @@ -4431,151 +4269,151 @@ msgstr "Fonctions appelantes" msgid "Installed softwares" msgstr "Logiciels installés" -#: FProjectProperty.class:139 +#: FProjectProperty.class:141 msgid "Variable" msgstr "Variable" -#: FProjectProperty.class:264 +#: FProjectProperty.class:266 msgid "Snapping value is incorrect." msgstr "Le pas de la grille est incorrecte." -#: FProjectProperty.class:418 Project.module:3495 +#: FProjectProperty.class:422 Project.module:3495 msgid "Some components are missing: &1" msgstr "Certains composants ne sont pas installés : &1" -#: FProjectProperty.class:544 +#: FProjectProperty.class:548 msgid "These components are incompatible:
&1." msgstr "Ces composants sont incompatibles entre eux:
&1." -#: FProjectProperty.class:557 +#: FProjectProperty.class:561 msgid "The &1 component needs one of the following components:
&2." msgstr "Le composant &1 nécessite un des composants suivants:
&2." -#: FProjectProperty.class:564 +#: FProjectProperty.class:568 msgid "The &1 component needs the &2 component." msgstr "Le composant &1 nécessite le composant &2." -#: FProjectProperty.class:1112 +#: FProjectProperty.class:1127 msgid "Select a Gambas application" msgstr "Choisissez une application Gambas" -#: FProjectProperty.class:1124 +#: FProjectProperty.class:1139 msgid "&1 does not export any class." msgstr "&1 ne contient aucune classe exportée." -#: FProjectProperty.class:1132 +#: FProjectProperty.class:1147 msgid "&1 is already used as a library." msgstr "&1 est déjà utilisé comme bibliothèque." -#: FProjectProperty.class:1284 +#: FProjectProperty.class:1299 msgid "Stable" msgstr "Stable" -#: FProjectProperty.class:1390 +#: FProjectProperty.class:1405 msgid "Executable size" msgstr "Taille de l'exécutable" -#: FProjectProperty.class:1390 +#: FProjectProperty.class:1405 msgid "bytes" msgstr "octets" -#: FProjectProperty.form:204 FPropertyComponent.form:60 -msgid "General" -msgstr "Général" - -#: FProjectProperty.form:242 -msgid "Component" -msgstr "Composant" - -#: FProjectProperty.form:242 -msgid "Library" -msgstr "Bibliothèque" - -#: FProjectProperty.form:248 FPublish.class:85 -msgid "Version" -msgstr "Version" - -#: FProjectProperty.form:274 -msgid "Get from 'VERSION' file" -msgstr "Obtenir depuis un fichier 'VERSION'" - -#: FProjectProperty.form:281 -msgid "Title" -msgstr "Titre" - -#: FProjectProperty.form:304 -msgid "Author(s)" -msgstr "Auteur(s)" - -#: FProjectProperty.form:314 FPropertyComponent.form:200 -msgid "Components" -msgstr "Composants" - -#: FProjectProperty.form:353 +#: FProjectProperty.form:203 msgid "Show only components used in project" msgstr "Afficher uniquement les composants utilisés dans le projet" -#: FProjectProperty.form:384 +#: FProjectProperty.form:208 +msgid "Show deprecated components" +msgstr "Afficher les composants dépréciés" + +#: FProjectProperty.form:219 FPropertyComponent.form:60 +msgid "General" +msgstr "Général" + +#: FProjectProperty.form:257 +msgid "Component" +msgstr "Composant" + +#: FProjectProperty.form:257 +msgid "Library" +msgstr "Bibliothèque" + +#: FProjectProperty.form:263 FPublish.class:85 +msgid "Version" +msgstr "Version" + +#: FProjectProperty.form:289 +msgid "Get from 'VERSION' file" +msgstr "Obtenir depuis un fichier 'VERSION'" + +#: FProjectProperty.form:296 +msgid "Title" +msgstr "Titre" + +#: FProjectProperty.form:319 +msgid "Author(s)" +msgstr "Auteur(s)" + +#: FProjectProperty.form:329 FPropertyComponent.form:200 +msgid "Components" +msgstr "Composants" + +#: FProjectProperty.form:398 msgid "About component" msgstr "À propos du composant" -#: FProjectProperty.form:416 +#: FProjectProperty.form:421 msgid "Libraries" msgstr "Bibliothèques" -#: FProjectProperty.form:435 +#: FProjectProperty.form:440 msgid "WARNING! The project executable and the libraries it depends on must be stored inside the same directory. Otherwise the libraries will not be found." msgstr "ATTENTION ! L'exécutable du projet et les bibliothèques dont il dépend doivent être stockés dans le même répertoire. Autrement les bibliothèques seront introuvables." -#: FProjectProperty.form:490 +#: FProjectProperty.form:499 msgid "Environment" msgstr "Environnement" -#: FProjectProperty.form:500 -msgid "Arguments" -msgstr "Arguments" - -#: FProjectProperty.form:554 -msgid "Environment variables" -msgstr "Variables d'environnement" - -#: FProjectProperty.form:574 +#: FProjectProperty.form:520 msgid "&Insert" msgstr "&Insérer" -#: FProjectProperty.form:597 +#: FProjectProperty.form:532 +msgid "Arguments" +msgstr "Arguments" + +#: FProjectProperty.form:584 msgid "Edition" msgstr "Édition" -#: FProjectProperty.form:608 +#: FProjectProperty.form:595 msgid "Tab size" msgstr "Tabulations" -#: FProjectProperty.form:628 +#: FProjectProperty.form:615 msgid "Compilation" msgstr "Compilation" -#: FProjectProperty.form:639 +#: FProjectProperty.form:626 msgid "Module symbols are public by default" msgstr "Les modules sont publics par défaut" -#: FProjectProperty.form:656 +#: FProjectProperty.form:643 msgid "Form controls are public" msgstr "Les contrôles des formulaires sont publics" -#: FProjectProperty.form:673 +#: FProjectProperty.form:660 msgid "Activate warnings" msgstr "Activer les avertissements" -#: FProjectProperty.form:698 +#: FProjectProperty.form:685 msgid "Project is translatable" msgstr "Le projet est traduisible" -#: FProjectProperty.form:730 +#: FProjectProperty.form:717 msgid "Debugging" msgstr "Débogage" -#: FProjectProperty.form:758 +#: FProjectProperty.form:745 msgid "Use a terminal emulator" msgstr "Utiliser un émulateur de terminal" @@ -5195,43 +5033,43 @@ msgstr "Voulez-vous vraiment recharger cette traduction ?" msgid "Export a translation" msgstr "Exporter une traduction" -#: FTranslate.class:852 +#: FTranslate.class:855 msgid "Please select the translation file to import." msgstr "Veuillez sélectionner le fichier de traduction à importer." -#: FTranslate.class:890 +#: FTranslate.class:893 msgid "No translation were picked up." msgstr "Aucune traduction n'a été récupérée." -#: FTranslate.class:892 +#: FTranslate.class:895 msgid "One translation was picked up." msgstr "Une traduction a été récupérée." -#: FTranslate.class:894 +#: FTranslate.class:897 msgid "&1 translations were picked up." msgstr "&1 traductions ont été récupérées." -#: FTranslate.class:902 +#: FTranslate.class:905 msgid "Cannot import translation file." msgstr "Impossible d'importer le fichier de traduction." -#: FTranslate.class:951 +#: FTranslate.class:954 msgid "Translated string symbols do not match untranslated string ones." msgstr "Les symboles de la chaîne traduite ne correspondent pas à ceux de la chaîne non traduite." -#: FTranslate.class:964 +#: FTranslate.class:967 msgid "Everything seems to be correct." msgstr "Tout semble correct." -#: FTranslate.class:987 +#: FTranslate.class:990 msgid "&1 strings. Everything is translated!" msgstr "&1 chaînes de caractères. Tout est traduit !" -#: FTranslate.class:989 +#: FTranslate.class:992 msgid "&1 strings. One is not translated. &3% done." msgstr "&1 chaînes de caractères. Une n'est pas traduite. &3% effectué." -#: FTranslate.class:991 +#: FTranslate.class:994 msgid "&1 strings. &2 are not translated. &3% done." msgstr "&1 chaînes de caractères. &2 ne sont pas traduites. &3% effectué." @@ -6639,7 +6477,7 @@ msgstr "impossible de démarrer l'exécutable: " msgid "No help found." msgstr "Aide introuvable." -#: MHelp.module:954 Wiki.module:797 +#: MHelp.module:955 Wiki.module:797 msgid "This page does not exist." msgstr "Cette page n'existe pas." @@ -6860,14 +6698,8 @@ msgid "This project does not exist." msgstr "Ce projet n'existe pas." #: Project.module:470 -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" +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:483 msgid "This is not a Gambas project." @@ -6882,14 +6714,8 @@ msgid "Convert" msgstr "Convertir" #: Project.module:489 -msgid "" -"This is a Gambas 2.0 project.\n" -"\n" -"Do you want to convert it?" -msgstr "" -"Ceci est un projet Gambas 2.0.\n" -"\n" -"Désirez-vous le convertir ?" +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:507 msgid "Do not open" @@ -6900,14 +6726,8 @@ msgid "Open after all" msgstr "Ouvrir malgré tout" #: Project.module:507 -msgid "" -"This project seems to be already opened.\n" -"\n" -"Opening the same project twice can lead to data loss." -msgstr "" -"Il semble que ce projet soit déjà ouvert.\n" -"\n" -"Ouvrir le même projet deux fois peut provoquer des pertes de données." +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:513 msgid "It cannot be converted." @@ -6986,12 +6806,8 @@ msgid "in &1." msgstr "dans &1." #: Project.module:2514 -msgid "" -"Some project source files are in conflict.\n" -"Please solve them if you want to compile the project." -msgstr "" -"Certains fichiers sources du projet sont en conflit.\n" -"Veuillez résoudre ces conflits pour pouvoir compiler le projet." +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:2518 msgid "Compiling project" @@ -7196,3 +7012,4 @@ msgstr "Cette classe n'existe pas." #: WikiMarkdown.class:180 msgid "This symbol does not exist." msgstr "Ce symbole n'existe pas." + diff --git a/app/src/gambas3/.src/FMain.form b/app/src/gambas3/.src/FMain.form index e458ca641..7354130e5 100644 --- a/app/src/gambas3/.src/FMain.form +++ b/app/src/gambas3/.src/FMain.form @@ -1124,7 +1124,7 @@ { picFilter PictureBox MoveScaled(0,0,3,3) Mouse = Mouse.Pointing - Picture = Picture["img/32/filter.png"] + Picture = Picture["img/32/filter-menu.png"] Stretch = True AutoResize = True } diff --git a/app/src/gambas3/.src/Help/MHelp.module b/app/src/gambas3/.src/Help/MHelp.module index 60dbee896..59a580af4 100644 --- a/app/src/gambas3/.src/Help/MHelp.module +++ b/app/src/gambas3/.src/Help/MHelp.module @@ -444,6 +444,7 @@ Public Sub InitWebViewWith(hWebView As WebView, iType As Integer, sSymbol As Str 'Debug sUrl hWebView.Url = sUrl Endif + hWebView.History.Clear Else diff --git a/app/src/gambas3/.src/Project/FProjectProperty.class b/app/src/gambas3/.src/Project/FProjectProperty.class index 34ff6ce99..338fe605c 100644 --- a/app/src/gambas3/.src/Project/FProjectProperty.class +++ b/app/src/gambas3/.src/Project/FProjectProperty.class @@ -1,6 +1,7 @@ ' Gambas class file Static Private $bShowUsed As Boolean +Static Private $bShowDeprecated As Boolean Static Private $bShowLibraries As Boolean Private $hCheck As Picture @@ -103,11 +104,15 @@ Public Sub Form_Open() gvwComponent.Columns[3].Width = 24 gvwComponent.Columns[3].Expand = False - chkShowUsed.Value = $bShowUsed + mnuShowUsed.Value = $bShowUsed + mnuShowDeprecated.Value = $bShowDeprecated 'chkShowBeta.Value = $bShowBeta $bCanInitComponents = True - tabProject.Index = 0 + ipnProject.Index = 0 + + panSearchProject.H = Desktop.Scale * 3.5 + btnClearFilter.W = panSearchProject.H RefreshComponents RefreshLibraries @@ -117,7 +122,7 @@ Public Sub Form_Open() If $bShowLibraries Then $bShowLibraries = False - tabProject.Index = LIBRARY_TAB + ipnProject.Index = LIBRARY_TAB Endif End @@ -408,10 +413,12 @@ Private Sub RefreshComponents(Optional bKeep As Boolean) For Each sLib In aComp hComp = CComponent.All[sLib] If hComp.Hidden Then Continue - If Not $bShowUsed Or If $cComp[hComp.Key].Value Then - If $sFilter And If Not hComp.Match($sFilter) Then Continue - $aComp.Add(hComp.Key) + If Not $cComp[hComp.Key].Value Then + If $bShowUsed Then Continue + If Not $bShowDeprecated And If hComp.State = CComponent.DEPRECATED Then Continue Endif + If $sFilter And If Not hComp.Match($sFilter) Then Continue + $aComp.Add(hComp.Key) Next If aNotFound.Count Then @@ -421,7 +428,7 @@ Private Sub RefreshComponents(Optional bKeep As Boolean) gvwComponent.Rows.Count = $aComp.Count gvwComponent.Rows.Height = -1 - tabProject_Arrange + gvwComponent_Arrange End @@ -595,7 +602,7 @@ Public Sub gvwComponent_Click() Dim hCompItem As ComponentItem Dim sDep As String - If panAboutComponent.Visible Then AboutComponent + If webAboutComponent.Visible Then AboutComponent If gvwComponent.Column <> 0 Then Return @@ -698,9 +705,16 @@ End ' END -Public Sub chkShowUsed_Click() +Public Sub mnuShowUsed_Click() - $bShowUsed = chkShowUsed.Value + $bShowUsed = mnuShowUsed.Value + RefreshComponents(True) + +End + +Public Sub mnuShowDeprecated_Click() + + $bShowDeprecated = mnuShowDeprecated.Value RefreshComponents(True) End @@ -764,35 +778,45 @@ End ' ' End -Private Sub AboutComponent() +Private Sub AboutComponent() As Boolean Dim hCompItem As ComponentItem Dim sKey As String Try hCompItem = $cComp[$aComp[gvwComponent.Row]] - If Not hCompItem Then Return + If Not hCompItem Then Return True Try sKey = hCompItem.Key - If Not sKey Then Return + If Not sKey Then Return True 'MHelp.GotoComponent(sKey) webAboutComponent.Zoom = 0.75 - MHelp.InitWebViewWith(webAboutComponent, MHelp.TYPE_COMPONENT, sKey) + MHelp.InitWebViewWith(webAboutComponent, MHelp.TYPE_COMPONENT, sKey,, "v&nh&l=" & MHelp.GetLanguage()) End Public Sub btnHelp_Click() - If panAboutComponent.Visible Then + If webAboutComponent.Visible Then - panAboutComponent.Hide - btnHelp.Picture = Picture["icon:/small/up"] + If webAboutComponent.History.Index Then + webAboutComponent.Back + Else + webAboutComponent.Hide + btnForward.Hide + panComponent.Show + btnHelp.Picture = Picture["icon:/small/next"] + btnHelp.Text = Shortcut(("About component"), "A") & "..." + Endif Else - AboutComponent - panAboutComponent.Show - Try gvwComponent.Current.EnsureVisible - btnHelp.Picture = Picture["icon:/small/down"] + If AboutComponent() Then Return + webAboutComponent.Show + btnForward.Show + panComponent.Hide + 'Try gvwComponent.Current.EnsureVisible + btnHelp.Text = "" + btnHelp.Picture = Picture["icon:/small/previous"] Endif @@ -1097,12 +1121,6 @@ Private Sub UpdateIcon() End -Public Sub lstComponent_Click() - - If panAboutComponent.Visible Then AboutComponent - -End - Public Sub btnInsertLib_Click() Dim hLib As CLibraryInfo @@ -1171,7 +1189,7 @@ Private Sub RefreshLibraries() Next - tabProject_Arrange + gvwComponent_Arrange End @@ -1247,7 +1265,7 @@ Public Sub UncheckComponents(aComp As String[]) End -Public Sub tabProject_Arrange() +Public Sub gvwComponent_Arrange() Dim I As Integer @@ -1343,13 +1361,13 @@ Public Sub timFilterComponent_Timer() End -Public Sub tabProject_Click() +Public Sub ipnProject_Click() - If tabProject.Text = ("Components") Then + If ipnProject.Text = ("Components") Then txtFilterComponent.SetFocus - Else If tabProject.Text = ("Options") Then + Else If ipnProject.Text = ("Options") Then panHttpServer.Enabled = IsChecked("gb.web") 'Project.Components.Exist("gb.web") - Else If tabProject.Text = ("Statistics") Then + Else If ipnProject.Text = ("Statistics") Then UpdateStat Endif @@ -1393,3 +1411,21 @@ Private Sub UpdateStat() gvwStat.Columns[0].Width += 16 End + +Public Sub btnForward_Click() + + webAboutComponent.Forward + +End + +Public Sub webAboutComponent_Click((Frame) As WebFrame) + + btnForward.Enabled = webAboutComponent.History.Index < webAboutComponent.History.Max + +End + +Public Sub picFilter_MouseDown() + + mnuComponent.Popup(picFilter.ScreenX, picFilter.ScreenY + picFilter.H) + +End diff --git a/app/src/gambas3/.src/Project/FProjectProperty.form b/app/src/gambas3/.src/Project/FProjectProperty.form index 1d02d0efc..513790df2 100644 --- a/app/src/gambas3/.src/Project/FProjectProperty.form +++ b/app/src/gambas3/.src/Project/FProjectProperty.form @@ -1,11 +1,12 @@ # Gambas Form File 3.0 { Form Form - MoveScaled(0,2,93,78) + MoveScaled(0,2,110,77) Text = ("Project properties") Icon = Picture["icon:/small/edit"] Persistent = True Resizable = False + Arrangement = Arrange.Vertical { mnuInsertEnv Menu { Menu1 Menu mnuInsertEnv Name = "Menu1" @@ -72,10 +73,21 @@ Tag = "LIBOVERLAY_SCROLLBAR=0" } } - { tabProject TabPanel - MoveScaled(1,1,91,71) + { mnuComponent Menu + { mnuShowUsed Menu + Text = ("Show only components used in project") + Toggle = True + } + { mnuShowDeprecated Menu + Text = ("Show deprecated components") + Toggle = True + } + } + { ipnProject IconPanel + MoveScaled(0,0,108,70) + Expand = True Arrangement = Arrange.Vertical - Count = 6 + Count = 7 Index = 0 Text = ("General") { Panel1 Panel @@ -94,7 +106,7 @@ MoveScaled(53,11,29,0) } { HPanel1 HPanel - MoveScaled(1,11,84,55) + MoveScaled(1,11,84,58) Expand = True AutoResize = True Spacing = True @@ -157,32 +169,29 @@ Wrap = True } { Label11 Label - MoveScaled(0,37,16,4) + MoveScaled(0,38,16,4) Font = Font["Bold"] Text = ("Author(s)") } { txtAuthor TextArea - MoveScaled(18,37,57,17) + MoveScaled(18,38,57,20) Expand = True Wrap = True } } Index = 1 Text = ("Components") - { Panel7 HBox - MoveScaled(1,1,88,6) - Spacing = True - Margin = True + { panComponent VBox + MoveScaled(2,2,82,35) + Expand = True { panSearchProject Panel - MoveScaled(1,1,29,3) + MoveScaled(0,0,29,3) Background = Color.TextBackground - Expand = True Arrangement = Arrange.Horizontal - Border = Border.Plain { picFilter PictureBox MoveScaled(0,0,3,3) Mouse = Mouse.Pointing - Picture = Picture["img/32/filter.png"] + Picture = Picture["img/32/filter-menu.png"] Stretch = True AutoResize = True } @@ -198,61 +207,56 @@ Picture = Picture["icon:/small/clear"] } } - { chkShowUsed CheckBox - MoveScaled(51,0,35,4) - AutoResize = True - Text = ("Show only components used in project") + { Separator4 Separator + MoveScaled(32,6,21,0) } + { gvwComponent GridView + MoveScaled(3,9,78,25) + Expand = True + Border = False + Mode = Select.Single + Grid = False + Padding = 4 + } + } + { webAboutComponent HelpView + MoveScaled(6,38,46,7) + Visible = False + Expand = True } { timFilterComponent #Timer - #MoveScaled(34,1) + #MoveScaled(76,41) Delay = 500 } - { Separator4 Separator - MoveScaled(34,8,21,0) - } - { gvwComponent GridView - MoveScaled(5,11,78,25) - Expand = True - Border = False - Mode = Select.Single - Grid = False - Padding = 4 - } { Separator2 Separator - MoveScaled(1,38,24,0) + MoveScaled(2,50,24,0) } { HBox14 HBox - MoveScaled(1,39,84,6) + MoveScaled(2,61,79,6) + Spacing = True Margin = True { btnHelp Button - MoveScaled(0,0,35,4) - Text = Shortcut(("About component"), "c") & "..." - Picture = Picture["icon:/small/up"] + MoveScaled(0,0,23,4) + AutoResize = True + Text = Shortcut(("About component"), "A") & "..." + Picture = Picture["icon:/small/next"] + } + { btnForward Button + MoveScaled(24,0,4,4) + Visible = False + AutoResize = True + Picture = Picture["icon:/small/next"] } { Panel3 Panel - MoveScaled(39,0,7,4) + MoveScaled(51,0,7,4) Expand = True } { btnUndo Button - MoveScaled(62,0,17,4) + MoveScaled(60,0,17,4) Text = Shortcut(("Reset"), "R") Picture = Picture["icon:/small/undo"] } } - { panAboutComponent Panel - MoveScaled(1,46,84,13) - Visible = False - Expand = True - Arrangement = Arrange.Vertical - { Separator5 Separator - MoveScaled(24,1,24,0) - } - { webAboutComponent HelpView - MoveScaled(8,4,46,7) - Expand = True - } - } Index = 2 Text = ("Libraries") { Panel4 Panel @@ -283,6 +287,9 @@ Border = False Mode = Select.Single } + { Separator7 Separator + MoveScaled(25,51,23,0) + } { HBox18 HBox MoveScaled(1,53,84,6) Spacing = True @@ -317,85 +324,68 @@ } Index = 3 Text = ("Environment") - { VBox1 VBox - MoveScaled(1,1,84,29) + { tvwEnv TableView + MoveScaled(3,6,68,20) Expand = True - Margin = True - { Label17 Label - MoveScaled(1,1,24,3) - Font = Font["Bold"] - Text = ("Arguments") - } - { tvwArg TableView - MoveScaled(1,5,50,16) - Expand = True - Padding = 4 - Header = GridView.Vertical - } - { Panel8 Panel - MoveScaled(21,22,5,1) - } - { HBox2 HBox - MoveScaled(2,24,53,4) - Spacing = True - { btnInsertArg Button - MoveScaled(0,0,17,4) - Text = Shortcut(("Insert"), "I") - Picture = Picture["icon:/small/add"] - } - { btnRemoveArg Button - MoveScaled(18,0,17,4) - Text = Shortcut(("Remove"), "R") - Picture = Picture["icon:/small/remove"] - } - { btnMoveUpArg Button - MoveScaled(36,0,6,4) - Picture = Picture["icon:/small/up"] - } - { btnMoveDownArg Button - MoveScaled(42,0,6,4) - Picture = Picture["icon:/small/down"] - } - } + Border = False + Padding = 4 + Header = GridView.Horizontal } - { Separator1 Separator - MoveScaled(6,31,42,0) + { Separator8 Separator + MoveScaled(30,31,24,0) } - { Panel5 VBox - MoveScaled(1,33,85,26) - Expand = True + { HBox3 HBox + MoveScaled(1,36,40,6) + Spacing = True Margin = True - { Label18 Label - MoveScaled(0,0,24,3) - Font = Font["Bold"] - Text = ("Environment variables") + { btnInsertEnv MenuButton + MoveScaled(0,0,19,4) + Text = ("&Insert") + Picture = Picture["icon:/small/add"] + Menu = "mnuInsertEnv" } - { tvwEnv TableView - MoveScaled(0,4,68,13) - Expand = True - Padding = 4 - Header = GridView.Horizontal - } - { Panel9 Panel - MoveScaled(20,18,7,1) - } - { HBox3 HBox - MoveScaled(0,21,40,4) - Spacing = True - { btnInsertEnv MenuButton - MoveScaled(0,0,19,4) - Text = ("&Insert") - Picture = Picture["icon:/small/add"] - Menu = "mnuInsertEnv" - } - { btnRemoveEnv Button - MoveScaled(20,0,17,4) - Text = Shortcut(("Remove"), "R") - Picture = Picture["icon:/small/remove"] - } + { btnRemoveEnv Button + MoveScaled(20,0,17,4) + Text = Shortcut(("Remove"), "R") + Picture = Picture["icon:/small/remove"] } } Index = 4 + Text = ("Arguments") + { tvwArg TableView + MoveScaled(6,4,58,19) + Expand = True + Border = False + Padding = 4 + Header = GridView.Vertical + } + { Separator9 Separator + MoveScaled(26,27,34,0) + } + { HBox2 HBox + MoveScaled(9,45,53,6) + Spacing = True + Margin = True + { btnInsertArg Button + MoveScaled(0,0,17,4) + Text = Shortcut(("Insert"), "I") + Picture = Picture["icon:/small/add"] + } + { btnRemoveArg Button + MoveScaled(18,0,17,4) + Text = Shortcut(("Remove"), "R") + Picture = Picture["icon:/small/remove"] + } + { btnMoveUpArg Button + MoveScaled(36,0,6,4) + Picture = Picture["icon:/small/up"] + } + { btnMoveDownArg Button + MoveScaled(42,0,6,4) + Picture = Picture["icon:/small/down"] + } + } + Index = 5 Text = ("Options") { Panel6 VBox MoveScaled(0,0,89,66) @@ -576,7 +566,7 @@ } } } - Index = 5 + Index = 6 Text = ("Statistics") { gvwStat GridView MoveScaled(10,7,62,25) @@ -586,14 +576,26 @@ } Index = 0 } - { btnOK Button - MoveScaled(59,73,16,4) - Text = ("OK") - Default = True + { Separator1 Separator + MoveScaled(54,70,23,0) } - { btnCancel Button - MoveScaled(76,73,16,4) - Text = ("Cancel") - Cancel = True + { Panel10 HBox + MoveScaled(29,71,63,6) + Spacing = True + Margin = True + { Panel11 Panel + MoveScaled(5,1,8,3) + Expand = True + } + { btnOK Button + MoveScaled(22,1,17,4) + Text = ("OK") + Default = True + } + { btnCancel Button + MoveScaled(40,1,18,4) + Text = ("Cancel") + Cancel = True + } } } diff --git a/app/src/gambas3/img/32/filter-menu.png b/app/src/gambas3/img/32/filter-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..27509a6cc4d535a16e2550a5545833480ac779bf GIT binary patch literal 628 zcmV-)0*n2LP);Fc5{m6uJ>A$|jEd z|DVMLu@+IFbfGPWv6G2q({X9VfhR?Eld=8s=6NRY-%;#fjRSS9fhF+e#(N{s0tP?{ zbRy4}zyufri(L~afivWdEf@nYBoxUZPyj>VMBQ5hpTG=}y@e>!2M$%-40u44*_y!6 zT^?iLHMXc*w**e9m6`*0z)A;NW$XbLZoCE_9f6;WHb;EWr#5K|QLIACuz7*x+~dhD zY{3_BPp#5`z_bA*^Bu480AeX?A8oy?4?lEyhK)g|T&qAQ)v3-FHg`Qr`bLF66*(^No=K!NoBGV<(}I)`n@c$ zk4)K6K|=xsVw%`_e?z3)DReFi;0o#gAwFpK^t}-1CpMoDoLvL14KX*+tc0sb&=mRp z%k6|W*5{hQjHX-X$fxwSZ8$}uaX)6l9`)C2OqE>dbZk;)Z?JgcZ}1Ja(RHBC0@7aq O0000history()) + + static QNetworkAccessManager *_network_access_manager = 0; static CWEBVIEW *_network_access_manager_view = 0; static QT_COLOR_FUNC _old_after_set_color; @@ -188,6 +191,8 @@ static void after_set_color(void *_object) } } +//------------------------------------------------------------------------- + BEGIN_METHOD(WebView_new, GB_OBJECT parent) MyWebView *wid = new MyWebView(QT.GetContainer(VARG(parent))); @@ -579,11 +584,59 @@ BEGIN_PROPERTY(WebView_Document) END_PROPERTY -/***************************************************************************/ +//------------------------------------------------------------------------- -GB_DESC CWebViewAuthDesc[] = +BEGIN_PROPERTY(WebViewHistory_Count) + + GB.ReturnInteger(HISTORY->count()); + +END_PROPERTY + +BEGIN_PROPERTY(WebViewHistory_Max) + + GB.ReturnInteger(HISTORY->count() - 1); + +END_PROPERTY + +BEGIN_PROPERTY(WebViewHistory_Index) + + if (READ_PROPERTY) + GB.ReturnInteger(HISTORY->currentItemIndex()); + else + { + int index = VPROP(GB_INTEGER); + if (index < 0 || index >= HISTORY->count()) + { + GB.Error(GB_ERR_ARG); + return; + } + HISTORY->goToItem(HISTORY->itemAt(index)); + } + +END_PROPERTY + +BEGIN_PROPERTY(WebViewHistory_MaxSize) + + if (READ_PROPERTY) + GB.ReturnInteger(HISTORY->maximumItemCount()); + else + HISTORY->setMaximumItemCount(VPROP(GB_INTEGER)); + +END_PROPERTY + +BEGIN_METHOD_VOID(WebViewHistory_Clear) + + int max = HISTORY->maximumItemCount(); + HISTORY->setMaximumItemCount(0); + HISTORY->setMaximumItemCount(max); + +END_METHOD + +//------------------------------------------------------------------------- + +GB_DESC WebViewAuthDesc[] = { - GB_DECLARE(".WebView.Auth", sizeof(CWEBVIEW)), GB_VIRTUAL_CLASS(), + GB_DECLARE_VIRTUAL(".WebView.Auth"), GB_PROPERTY_READ("Url", "s", WebViewAuth_Url), GB_PROPERTY_READ("Realm", "s", WebViewAuth_Realm), @@ -593,7 +646,20 @@ GB_DESC CWebViewAuthDesc[] = GB_END_DECLARE }; -GB_DESC CWebViewDesc[] = +GB_DESC WebViewHistoryDesc[] = +{ + GB_DECLARE_VIRTUAL(".WebView.History"), + + GB_PROPERTY_READ("Count", "i", WebViewHistory_Count), + GB_PROPERTY_READ("Max", "i", WebViewHistory_Max), + GB_PROPERTY("Index", "i", WebViewHistory_Index), + GB_PROPERTY("MaxSize", "i", WebViewHistory_MaxSize), + GB_METHOD("Clear", NULL, WebViewHistory_Clear, NULL), + + GB_END_DECLARE +}; + +GB_DESC WebViewDesc[] = { GB_DECLARE("WebView", sizeof(CWEBVIEW)), GB_INHERITS("Control"), @@ -624,12 +690,13 @@ GB_DESC CWebViewDesc[] = GB_PROPERTY_SELF("Settings", ".WebView.Settings"), GB_PROPERTY_SELF("Auth", ".WebView.Auth"), + GB_PROPERTY_SELF("History", ".WebView.History"), GB_METHOD("Back", NULL, WebView_Back, NULL), GB_METHOD("Forward", NULL, WebView_Forward, NULL), GB_METHOD("Reload", NULL, WebView_Reload, "[(BypassCache)b]"), GB_METHOD("Stop", NULL, WebView_Stop, NULL), - + GB_PROPERTY("NewView", "WebView", WebView_NewView), GB_PROPERTY("Cookies", "Cookie[]", WebView_Cookies), diff --git a/gb.qt4/src/webkit/cwebview.h b/gb.qt4/src/webkit/cwebview.h index 4598e9f4b..88e8484ed 100644 --- a/gb.qt4/src/webkit/cwebview.h +++ b/gb.qt4/src/webkit/cwebview.h @@ -37,9 +37,10 @@ #ifndef __CWEBVIEW_CPP -extern GB_DESC CWebViewAuthDesc[]; -extern GB_DESC CWebViewDesc[]; -extern GB_DESC CWebViewDownloadsDesc[]; +extern GB_DESC WebViewAuthDesc[]; +extern GB_DESC WebViewHistoryDesc[]; +extern GB_DESC WebViewDownloadsDesc[]; +extern GB_DESC WebViewDesc[]; #else diff --git a/gb.qt4/src/webkit/gb.qt4.webkit.component b/gb.qt4/src/webkit/gb.qt4.webkit.component index da81aa827..ba4504f0b 100644 --- a/gb.qt4/src/webkit/gb.qt4.webkit.component +++ b/gb.qt4/src/webkit/gb.qt4.webkit.component @@ -3,7 +3,7 @@ Key=gb.qt4.webkit Author=Benoît Minisini Type=Form Require=gb.qt4 -State=NotFinished +State=Stable [Form] Control=WebView diff --git a/gb.qt4/src/webkit/main.cpp b/gb.qt4/src/webkit/main.cpp index dddc61a78..9dc8af6a1 100644 --- a/gb.qt4/src/webkit/main.cpp +++ b/gb.qt4/src/webkit/main.cpp @@ -48,22 +48,23 @@ QT_INTERFACE QT; GB_DESC *GB_CLASSES[] EXPORT = { - CWebDownloadDesc, - CWebDownloadsDesc, - CWebHitTestDesc, - CCookieDesc, - CWebSettingsIconDatabaseDesc, - CWebSettingsCacheDesc, - CWebSettingsFontsDesc, - CWebSettingsProxyDesc, - CWebSettingsDesc, + WebDownloadDesc, + WebDownloadsDesc, + WebHitTestDesc, + CookieDesc, + WebSettingsIconDatabaseDesc, + WebSettingsCacheDesc, + WebSettingsFontsDesc, + WebSettingsProxyDesc, + WebSettingsDesc, WebElementStyleDesc, WebElementDesc, - CWebFrameChildrenDesc, - CWebFrameDesc, - CWebViewSettingsDesc, - CWebViewAuthDesc, - CWebViewDesc, + WebFrameChildrenDesc, + WebFrameDesc, + WebViewSettingsDesc, + WebViewAuthDesc, + WebViewHistoryDesc, + WebViewDesc, NULL }; diff --git a/gb.xml/src/gb.xml.component b/gb.xml/src/gb.xml.component index 1320b6393..eb2afb8b8 100755 --- a/gb.xml/src/gb.xml.component +++ b/gb.xml/src/gb.xml.component @@ -1,5 +1,5 @@ [Component] Key=gb.xml Author=Adrien Prokopowicz -State=1 +State=Stable Implements=XML \ No newline at end of file diff --git a/gb.xml/src/html/gb.xml.html.component b/gb.xml/src/html/gb.xml.html.component index be2c4f38e..c236ecc4f 100755 --- a/gb.xml/src/html/gb.xml.html.component +++ b/gb.xml/src/html/gb.xml.html.component @@ -1,5 +1,5 @@ [Component] Key=gb.xml.html Author=Adrien Prokopowicz -State=1 +State=Stable Require=gb.xml \ No newline at end of file diff --git a/gb.xml/src/xslt/gb.xml.xslt.component b/gb.xml/src/xslt/gb.xml.xslt.component index cf79c197c..8a40225b8 100755 --- a/gb.xml/src/xslt/gb.xml.xslt.component +++ b/gb.xml/src/xslt/gb.xml.xslt.component @@ -1,11 +1,6 @@ [Component] Key=gb.xml.xslt -Name=XSLT tools based on libxslt -Name[es]=Herramientas XSLT basadas en libxslt -Name[pl]=Narzędzia XSLT bazujące na libxslt -Name[fr]=Outils XSLT basés sur libxslt -Name[tr]=libxslt tabanlı XSLT araçları Author=Daniel Campos Fernández Require=gb.xml -State=1 +State=Stable diff --git a/main/lib/inotify/gb.inotify.component b/main/lib/inotify/gb.inotify.component index a443af81d..33a5dc85e 100644 --- a/main/lib/inotify/gb.inotify.component +++ b/main/lib/inotify/gb.inotify.component @@ -1,3 +1,3 @@ [Component] Author=Tobias Boege -State=Unstable +State=Stable