From dd3a9f8894f90669a68f8f999d7b32ef6d95ba8f Mon Sep 17 00:00:00 2001 From: xavierqet Date: Sat, 11 Nov 2006 13:56:40 +0000 Subject: [PATCH] Amelioration des indications de la barre de statut (en francais et en anglais) et documentation de la classe QETApp git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@18 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- qet_en.qm | Bin 8993 -> 13660 bytes qet_en.ts | 325 +++++++++++++++++++++++++++++++++++++++------------- qetapp.cpp | 125 ++++++++++++++++++-- qetapp.h | 5 +- schemavue.h | 3 +- 5 files changed, 367 insertions(+), 91 deletions(-) diff --git a/qet_en.qm b/qet_en.qm index 549e55f7b9b6497b0f0b7c13e200cc02332056b2..94f338a285f2bf286983b0184f02bce32c97b304 100644 GIT binary patch delta 4862 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 Z>L{3=koP?w1H67&`>I9nzv|C-{TC3o?5qF) delta 920 zcmXZa2}l%C7zgn0&9OT>yR&1u=9;ak6kTMt8QGmy77=7br_iBBC7az+bZkV0T4XiY zA&GXF-K5!FYde}% z9on;W(XpG2F+{wbh~jYL;>O_-Oat8cFotqwG(#7iYUbb@s$Mvlhy}2LH|8R@kPXQ_ ziTOj=>_^?;3iiU22+wfy<>RoPEAx9vB!qLf{V-q5;cDD%1qd2>XV5ny!&E*aeGM$+ z_oa2hCjN9S8ZjpFXO|TdNdx#l-><^mLZ5xPuuWLH?HQ3NUPvu0hnIzohA!U-=k}se z*$=*jkr4IdS;DzY22+KqJ;;*}3GRPExhR*S0l8iDsc;gR*NJnU#t>Pii!RSlxLI^n z4TA+@#+I(}hvIpyACVF*UYL>sv&E;*?eMwSS(ij)l?*|x4RD$vZvyIC(+nRHgJF^3 zgL^OhY*dmD5UFWyqvPuW1VzRT*Esmocv8AU!}gCskSQlT=o+Y!*SyCb+P=wWSD_*Q82P@|0$0oRrA;u`>}m*uP3An!OVnL9 z7nFa2NoG&e6R2ArWM6_Emge(+hywapya`VD#nSmPfyf@I^ew`V*cU7Phv7`Q?G;M2 z4NDa0qfDIl8OFo!a681F1>ROB&X=H9*_c0psE4ZDyL$pgE43NRVX9Ksp~Jh%V3btF{b?F$aGQNhQ$dRH3vQ`{&rlvd;phrz@ z^o6bJj?wFhdikr_t;6Zwa<1o|KhBWK3VOdOf_Ri$=%D%4!y(Bz<>8^+} KriVt3Vt)ak1`G)R diff --git a/qet_en.ts b/qet_en.ts index 2d0d0bf49..93750533b 100644 --- a/qet_en.ts +++ b/qet_en.ts @@ -45,7 +45,7 @@ Programmation : Xavier Guerrin <xavier.guerrin@gmail.com> Programming : Xavier Guerrin <xavier.guerrin@gmail.com> - + Ce programme est sous licence GNU/GPL. This program is under the GNU/GPL license. @@ -60,32 +60,32 @@ Programming : Xavier Guerrin <xavier.guerrin@gmail.com> The text file containing the GNU/GPL license exists but could not be opened - however, you know it by heart, don't you ? - + Idée originale Original concept - + Programmation Programming - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? The text file containing the GNU/GPL license could not be found - however, you know it by heart, don't you ? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? The text file containing the GNU/GPL license exists but could not be opened - however, you know it by heart, don't you ? - + QElectroTech, une application de réalisation de schémas électriques. QElectroTech, an application to design electric plans. - + © 2006 Les développeurs de QElectroTech © 2006 QElectroTech developers @@ -171,142 +171,142 @@ Programming : Xavier Guerrin <xavier.guerrin@gmail.com> x - + &Masquer &Hide - + &Quitter &Quit - + &Restaurer &Show - + &Fichier &File - + &Édition &Edit - + Afficha&ge Displ&ay - + O&utils &Tools - + &Configuration &Settings - + &Aide &Help - + &Nouveau &New - + &Ouvrir &Open - + &Enregistrer &Save - + Enregistrer sous Save as - + &Importer &Import - + Ctrl+Shift+I - + E&xporter &Export - + Ctrl+Shift+X - + Ctrl+Q - + Annu&ler &Undo - + Re&faire &Redo - + Co&uper Cu&t - + Cop&ier &Copy - + C&oller &Paste - + Tout sélectionner Select All - + Désélectionner tout Select none - + Ctrl+Shift+A - + Inverser la sélection Invert selection - + Ctrl+I @@ -321,7 +321,7 @@ Programming : Xavier Guerrin <xavier.guerrin@gmail.com> &Fullscreen Mode - + Ctrl+Shift+F Ctrl+Shift+F @@ -331,27 +331,27 @@ Programming : Xavier Guerrin <xavier.guerrin@gmail.com> Configure tool&bars - + &Configurer QElectroTech &Configure QElectroTech - + À &propos de QElectroTech A&bout QElectroTech - + À propos de &Qt About &Qt - + Désactiver l'&antialiasing Render without &Antialiasing - + Activer l'&antialiasing Render with &Antialiasing @@ -366,87 +366,87 @@ Programming : Xavier Guerrin <xavier.guerrin@gmail.com> Elements Panel - + Imprimer Print - + Zoom avant Zoom In - + Zoom arrière Zoom Out - + Zoom adapté Fit in view - + Pas de zoom Reset zoom - + Mode Selection Selection Mode - + Passer en &mode plein écran F&ullScreen Screen Mode - + Sortir du &mode plein écran Exit F&ullScreen Screen Mode - + Reduire QElectroTech dans le systray Minimize QElectroTech to the sytray - + Restaurer QElectroTech Restore QElectroTech - + P P - + Ctrl+9 - + Ctrl+0 - + Afficher Display - + Outils Tools - + Exporter vers le fichier Export to file - + Image PNG (*.png) PNG Picture (*.png) @@ -456,7 +456,7 @@ Programming : Xavier Guerrin <xavier.guerrin@gmail.com> QElectroTech Schema (*.qet) - + Erreur Error @@ -466,12 +466,12 @@ Programming : Xavier Guerrin <xavier.guerrin@gmail.com> Can't write to the file - + Ouvrir un fichier Open a file - + Schema QelectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QelectroTech Schema (*.qet);;XML Files (*.xml);;All Files (*) @@ -481,7 +481,7 @@ Programming : Xavier Guerrin <xavier.guerrin@gmail.com> Can't read that file - + Ce fichier n'est pas un document XML valide. This file is not a valid XML Document. @@ -496,95 +496,260 @@ Programming : Xavier Guerrin <xavier.guerrin@gmail.com> Do you wish to save the current schema ? - + Supprimer Delete - + Pivoter Rotate - + Mode Visualisation View Mode - + &Fermer &Close - + &Mosaïque &Tile - + &Cascade &Cascade - + Arranger les fenêtres réduites Arranges iconized windows - + Fenêtre suivante Next Window - + Fenêtre précédente Previous Window - + Dispose les fenêtres en mosaïque Arranges windows in a tile pattern - + Dispose les fenêtres en cascade Arranges windows in a cascade pattern - + Aligne les fenêtres réduites Arranges all iconized windows at the bottom of the workspace - + Active la fenêtre suivante Activates the next window - + Active la fenêtre précédente Activates the previous window - + Fe&nêtres Wi&ndows - + Ce fichier n'existe pas. This file does not exist. - + Impossible de lire ce fichier. Could not read file. - + Une erreur s'est produite lors de l'ouverture du fichier. An error occured while opening the file. + + + Crée un nouveau schéma + Opens a new plan + + + + Ferme le schéma courant + Closes the current plan + + + + Enregistre le schéma courant + Saves the current plan + + + + Enregistre le schéma courant avec un autre nom de fichier + Saves the current plan as another filename + + + + Importe un schéma dans le schéma courant + Imports a plan into the current plan + + + + Exporte le schéma courant dans un autre format + Exports the curent plan to another format + + + + Imprime le schéma courant + Prints the current plan + + + + Ferme l'application QElectroTech + Closes QElectroTech + + + + Annule l'action précédente + Undoes the previous action + + + + Restaure l'action annulée + Restores the undone action + + + + Transfère les éléments sélectionnés dans le presse-papier + Puts selected elements into the clipboard + + + + Copie les éléments sélectionnés dans le presse-papier + Copies selected elements + + + + Place les éléments du presse-papier sur le schéma + Pastes elements from the clipboard into the plan + + + + Sélectionne tous les éléments du schéma + Selects all elements on the plan + + + + Désélectionne tous les éléments du schéma + Deselect all elements on the plan + + + + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés + Deselects selected elements and select non-selected elements + + + + Enlève les éléments sélectionnés du schéma + Removes selected elements from the plan + + + + Pivote les éléments sélectionnés + Rotates selected elements + + + + Active / désactive l'antialiasing pour le rendu du schéma courant + Render the current plan with or without antialiasing + + + + Agrandit le schéma + Enlarge the plan + + + + Rétrécit le schéma + Shrinks the plan + + + + Adapte la taille du schéma afin qu'il soit entièrement visible + Changes the size of the plan so that it fits in the view + + + + Restaure le zoom par défaut + Restores default zoom level + + + + Permet de sélectionner les éléments + Allows to select elements + + + + Permet de visualiser le schéma sans pouvoir le modifier + Allows to view the plan without modifying it + + + + Affiche QElectroTech en mode plein écran + Displays QELectroTech in full screen mode + + + + Affiche QElectroTech en mode fenêtré + Displays QElectroTech in windowed mode + + + + Permet de régler différents paramètres de QElectroTech + Allows to specify various parameters for QElectroTech + + + + Affiche des informations sur QElectroTech + Displays informations about QElectroTech + + + + Affiche des informations sur la bibliothèque Qt + Displays informations about Qt library + + + + Affiche ou non la barre d'outils + Displays or not the toolbar + + + + Affiche ou non le panel d'appareils + Displays or not the elements panel + + + + Active la fenêtre + Activates the window + Schema diff --git a/qetapp.cpp b/qetapp.cpp index d0750c42a..4fe21ebd3 100644 --- a/qetapp.cpp +++ b/qetapp.cpp @@ -139,6 +139,7 @@ void QETApp::systrayRestaurer() { /** Permet de quitter l'application lors de la fermeture de la fenetre principale + @param qce Le QCloseEvent correspondant a l'evenement de fermeture */ void QETApp::closeEvent(QCloseEvent *qce) { quitter(qce); @@ -146,11 +147,13 @@ void QETApp::closeEvent(QCloseEvent *qce) { /** Gere la sortie de l'application - @todo gerer les eventuelles fermetures de fichiers + @param e Le QCloseEvent correspondant a l'evenement de fermeture */ void QETApp::quitter(QCloseEvent *e) { + // quitte directement s'il n'y a aucun schema ouvert if (!schemaEnCours()) qApp -> quit(); else { + // sinon demande la permission de fermer chaque schema bool peut_quitter = true; foreach(QWidget *fenetre, workspace.windowList()) { if (qobject_cast(fenetre)) { @@ -164,11 +167,10 @@ void QETApp::quitter(QCloseEvent *e) { } if (peut_quitter) qApp -> quit(); } - } /** - Fait passer la fenetre en mode plein ecran au mode normal et vice-versa + Fait passer la fenetre du mode plein ecran au mode normal et vice-versa */ void QETApp::toggleFullScreen() { setWindowState(windowState() ^ Qt::WindowFullScreen); @@ -247,7 +249,7 @@ void QETApp::actions() { masquer_appli = new QAction(QIcon(":/ico/masquer.png"), tr("&Masquer"), this); restaurer_appli = new QAction(QIcon(":/ico/restaurer.png"), tr("&Restaurer"), this); - // info-bulles / indications dans la barre de statut + // info-bulles masquer_appli -> setToolTip(tr("Reduire QElectroTech dans le systray")); restaurer_appli -> setToolTip(tr("Restaurer QElectroTech")); @@ -281,12 +283,49 @@ void QETApp::actions() { sortir_pe -> setShortcut(QKeySequence(tr("Ctrl+Shift+F"))); // affichage dans la barre de statut + nouveau_fichier -> setStatusTip(tr("Cr\351e un nouveau sch\351ma")); + ouvrir_fichier -> setStatusTip(tr("Ouvre un sch\351ma existant")); + fermer_fichier -> setStatusTip(tr("Ferme le sch\351ma courant")); + enr_fichier -> setStatusTip(tr("Enregistre le sch\351ma courant")); + enr_fichier_sous -> setStatusTip(tr("Enregistre le sch\351ma courant avec un autre nom de fichier")); + importer -> setStatusTip(tr("Importe un sch\351ma dans le sch\351ma courant")); + exporter -> setStatusTip(tr("Exporte le sch\351ma courant dans un autre format")); + imprimer -> setStatusTip(tr("Imprime le sch\351ma courant")); + quitter_qet -> setStatusTip(tr("Ferme l'application QElectroTech")); + + annuler -> setStatusTip(tr("Annule l'action pr\351c\351dente")); + refaire -> setStatusTip(tr("Restaure l'action annul\351e")); + couper -> setStatusTip(tr("Transf\350re les \351l\351ments s\351lectionn\351s dans le presse-papier")); + copier -> setStatusTip(tr("Copie les \351l\351ments s\351lectionn\351s dans le presse-papier")); + coller -> setStatusTip(tr("Place les \351l\351ments du presse-papier sur le sch\351ma")); + sel_tout -> setStatusTip(tr("S\351lectionne tous les \351l\351ments du sch\351ma")); + sel_rien -> setStatusTip(tr("D\351s\351lectionne tous les \351l\351ments du sch\351ma")); + sel_inverse -> setStatusTip(tr("D\351s\351lectionne les \351l\351ments s\351lectionn\351s et s\351lectionne les \351l\351ments non s\351lectionn\351s")); + supprimer -> setStatusTip(tr("Enl\350ve les \351l\351ments s\351lectionn\351s du sch\351ma")); + pivoter -> setStatusTip(tr("Pivote les \351l\351ments s\351lectionn\351s")); + + toggle_aa -> setStatusTip(tr("Active / d\351sactive l'antialiasing pour le rendu du sch\351ma courant")); + zoom_avant -> setStatusTip(tr("Agrandit le sch\351ma")); + zoom_arriere -> setStatusTip(tr("R\351tr\351cit le sch\351ma")); + zoom_adapte -> setStatusTip(tr("Adapte la taille du sch\351ma afin qu'il soit enti\350rement visible")); + zoom_reset -> setStatusTip(tr("Restaure le zoom par d\351faut")); + + mode_selection -> setStatusTip(tr("Permet de s\351lectionner les \351l\351ments")); + mode_visualise -> setStatusTip(tr("Permet de visualiser le sch\351ma sans pouvoir le modifier")); + + entrer_pe -> setStatusTip(tr("Affiche QElectroTech en mode plein \351cran")); + sortir_pe -> setStatusTip(tr("Affiche QElectroTech en mode fen\352tr\351")); + configurer -> setStatusTip(tr("Permet de r\351gler diff\351rents param\350tres de QElectroTech")); + f_mosaique -> setStatusTip(tr("Dispose les fen\352tres en mosa\357que")); f_cascade -> setStatusTip(tr("Dispose les fen\352tres en cascade")); f_reorganise -> setStatusTip(tr("Aligne les fen\352tres réduites")); f_suiv -> setStatusTip(tr("Active la fen\352tre suivante")); f_prec -> setStatusTip(tr("Active la fen\352tre pr\351c\351dente")); + a_propos_de_qet -> setStatusTip(tr("Affiche des informations sur QElectroTech")); + a_propos_de_qt -> setStatusTip(tr("Affiche des informations sur la biblioth\350que Qt")); + // traitements speciaux mode_selection -> setCheckable(true); mode_visualise -> setCheckable(true); @@ -385,8 +424,11 @@ void QETApp::menus() { // menu Affichage > Afficher QMenu *menu_aff_aff = new QMenu(tr("Afficher")); + menu_aff_aff -> setTearOffEnabled(true); menu_aff_aff -> addAction(barre_outils -> toggleViewAction()); + barre_outils -> toggleViewAction() -> setStatusTip(tr("Affiche ou non la barre d'outils")); menu_aff_aff -> addAction(qdw_pa -> toggleViewAction()); + qdw_pa -> toggleViewAction() -> setStatusTip(tr("Affiche ou non le panel d'appareils")); // menu Affichage menu_affichage -> addMenu(menu_aff_aff); @@ -452,13 +494,18 @@ void QETApp::dialogue_imprimer() { qpd -> exec(); } +/** + Gere l'export de schema vers un autre format (PNG pour le moment) +*/ void QETApp::dialogue_exporter() { + // demande un nom de fichier QString nom_fichier = QFileDialog::getSaveFileName( this, tr("Exporter vers le fichier"), QDir::homePath(), tr("Image PNG (*.png)") ); + // exporte le schema if (nom_fichier != "") { if (!nom_fichier.endsWith(".png", Qt::CaseInsensitive)) nom_fichier += ".png"; QFile fichier(nom_fichier); @@ -568,58 +615,100 @@ SchemaVue *QETApp::schemaEnCours() { return(qobject_cast(workspace.activeWindow())); } +/** + Effectue l'action "couper" sur le schema en cours +*/ void QETApp::slot_couper() { if(schemaEnCours()) schemaEnCours() -> couper(); } +/** + Effectue l'action "copier" sur le schema en cours +*/ void QETApp::slot_copier() { if(schemaEnCours()) schemaEnCours() -> copier(); } +/** + Effectue l'action "coller" sur le schema en cours +*/ void QETApp::slot_coller() { if(schemaEnCours()) schemaEnCours() -> coller(); } +/** + Effectue l'action "zoom avant" sur le schema en cours +*/ void QETApp::slot_zoomPlus() { if(schemaEnCours()) schemaEnCours() -> zoomPlus(); } +/** + Effectue l'action "zoom arriere" sur le schema en cours +*/ void QETApp::slot_zoomMoins() { if(schemaEnCours()) schemaEnCours() -> zoomMoins(); } +/** + Effectue l'action "zoom arriere" sur le schema en cours +*/ void QETApp::slot_zoomFit() { if(schemaEnCours()) schemaEnCours() -> zoomFit(); } +/** + Effectue l'action "zoom par defaut" sur le schema en cours +*/ void QETApp::slot_zoomReset() { if(schemaEnCours()) schemaEnCours() -> zoomReset(); } +/** + Effectue l'action "selectionner tout" sur le schema en cours +*/ void QETApp::slot_selectAll() { if(schemaEnCours()) schemaEnCours() -> selectAll(); } +/** + Effectue l'action "deselectionenr tout" sur le schema en cours +*/ void QETApp::slot_selectNothing() { if(schemaEnCours()) schemaEnCours() -> selectNothing(); } +/** + Effectue l'action "inverser la selection" sur le schema en cours +*/ void QETApp::slot_selectInvert() { if(schemaEnCours()) schemaEnCours() -> selectInvert(); } +/** + Effectue l'action "supprimer" sur le schema en cours +*/ void QETApp::slot_supprimer() { if(schemaEnCours()) schemaEnCours() -> supprimer(); } +/** + Effectue l'action "pivoter" sur le schema en cours +*/ void QETApp::slot_pivoter() { if(schemaEnCours()) schemaEnCours() -> pivoter(); } +/** + Effectue l'action "mode selection" sur le schema en cours +*/ void QETApp::slot_setSelectionMode() { if(schemaEnCours()) schemaEnCours() -> setSelectionMode(); } +/** + Effectue l'action "mode visualisation" sur le schema en cours +*/ void QETApp::slot_setVisualisationMode() { if(schemaEnCours()) schemaEnCours() -> setVisualisationMode(); } @@ -693,6 +782,10 @@ void QETApp::slot_updateActions() { slot_updateMenuFenetres(); } +/** + Ajoute un schema dans l'espace de travail + @param sv L'objet SchemaVue a ajouter a l'espace de travail +*/ void QETApp::addSchemaVue(SchemaVue *sv) { if (!sv) return; SchemaVue *s_v = schemaEnCours(); @@ -704,6 +797,9 @@ void QETApp::addSchemaVue(SchemaVue *sv) { else p -> show(); } +/** + met a jour le menu "Fenetres" +*/ void QETApp::slot_updateMenuFenetres() { // nettoyage du menu menu_fenetres -> clear(); @@ -728,7 +824,9 @@ void QETApp::slot_updateMenuFenetres() { if (!fenetres.isEmpty()) menu_fenetres -> addSeparator(); for (int i = 0 ; i < fenetres.size() ; ++ i) { SchemaVue *sv = qobject_cast(fenetres.at(i)); - QAction *action = menu_fenetres -> addAction(sv -> windowTitle().left(sv -> windowTitle().length()-3)); + QString sv_titre = sv -> windowTitle().left(sv -> windowTitle().length() - 3); + QAction *action = menu_fenetres -> addAction(sv_titre); + action -> setStatusTip(tr("Active la fen\352tre ") + sv_titre); action -> setCheckable(true); action -> setChecked(sv == schemaEnCours()); connect(action, SIGNAL(triggered()), &windowMapper, SLOT(map())); @@ -737,14 +835,19 @@ void QETApp::slot_updateMenuFenetres() { } /** - @return Le chemin du dossier dans lequel QET doit chercher les definitions XML des elements communs + Renvoie le dossier des elements communs, c-a-d le chemin du dossier dans + lequel QET doit chercher les definitions XML des elements de la collection QET. + @return Le chemin du dossier des elements communs */ QString QETApp::commonElementsDir() { return(QDir::current().path() + "/elements/"); } /** - @return Le chemin du dossier dans lequel QET doit chercher les definitions XML des elements propres a l'utilisateur + Renvoie le dossier des elements de l'utilisateur, c-a-d le chemin du dossier + dans lequel QET chercher les definitions XML des elements propres a + l'utilisateur. + @return Le chemin du dossier des elements persos */ QString QETApp::customElementsDir() { #ifdef Q_OS_WIN32 @@ -754,6 +857,14 @@ QString QETApp::customElementsDir() { #endif } +/** + Renvoie le dossier de configuration de QET, c-a-d le chemin du dossier dans + lequel QET lira les informations de configuration et de personnalisation + propres a l'utilisateur courant. Ce dossier est generalement + C:\Documents And Settings\utilisateur\Application Data\qet sous Windows et + ~/.qet sous les systèmes type UNIX. + @return Le chemin du dossier de configuration de QElectroTech +*/ QString QETApp::configDir() { #ifdef Q_OS_WIN32 return(QDir::homePath() + "\\Application Data\\qet\\"); diff --git a/qetapp.h b/qetapp.h index e235e0586..71cc3b426 100644 --- a/qetapp.h +++ b/qetapp.h @@ -6,8 +6,9 @@ /** Cette classe represente la fenetre principale de QElectroTech et, ipso facto, la plus grande partie de l'interface graphique de QElectroTech. - Il s'agit d'un objet QMainWindow avec un objet « Schema » en guise de widget central - et un « Panel d'Appareils » en guise de widget « Dock ». + Il s'agit d'un objet QMainWindow avec un QWorkSpace contenant des objets + « Schema » en guise de widget central et un « Panel d'Appareils » en guise + de widget « Dock ». */ class QETApp : public QMainWindow { Q_OBJECT diff --git a/schemavue.h b/schemavue.h index ecd8c6135..713501d21 100644 --- a/schemavue.h +++ b/schemavue.h @@ -6,8 +6,7 @@ #include "conducteur.h" #define TAILLE_GRILLE 10 /** - Classe representant un SchemaVue electrique - @todo creer une structure capable de retenir les differents composants du SchemaVue : elements, fils, indications eventuelles => revoir les SchemaVues + Classe representant graphiquement un schema electrique */ class SchemaVue : public QGraphicsView { Q_OBJECT