integrate "QET_ElementScaler" as external software

This commit is contained in:
plc-user
2024-08-19 09:19:28 +02:00
parent 1baf9db799
commit 85d10fc0e6
9 changed files with 376 additions and 118 deletions

View File

@@ -258,6 +258,9 @@ set(QET_SRC_FILES
${QET_DIR}/sources/dxf/dxftoelmt.cpp
${QET_DIR}/sources/dxf/dxftoelmt.h
${QET_DIR}/sources/dxf/qet_elementscaler.cpp
${QET_DIR}/sources/dxf/qet_elementscaler.h
${QET_DIR}/sources/editor/arceditor.cpp
${QET_DIR}/sources/editor/arceditor.h
${QET_DIR}/sources/editor/editorcommands.cpp

Binary file not shown.

View File

@@ -6808,47 +6808,47 @@ Verfügbare Optionen:
<context>
<name>QETElementEditor</name>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="214"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="215"/>
<source>&amp;Nouveau</source>
<translation>&amp;Neu</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="223"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="224"/>
<source>&amp;Ouvrir</source>
<translation>&amp;Öffnen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="232"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="233"/>
<source>&amp;Ouvrir depuis un fichier</source>
<translation>Aus &amp;Datei öffnen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="241"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="242"/>
<source>&amp;Lancer le plugin convertisseur DXF</source>
<translation>DXF Konverter-&amp;Plugin ausführen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="250"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="251"/>
<source>&amp;Enregistrer</source>
<translation>&amp;Speichern</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="259"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="260"/>
<source>Enregistrer sous</source>
<translation>Speichern &amp;unter</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="268"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="269"/>
<source>Enregistrer dans un fichier</source>
<translation>In einer Datei speichern</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="277"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="278"/>
<source>Recharger</source>
<translation>Neu laden</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="205"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="206"/>
<source>Tout sélectionner</source>
<translation>Alles auswählen</translation>
</message>
@@ -6858,187 +6858,192 @@ Verfügbare Optionen:
<translation>QElectroTech - Bauteileditor</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="93"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="94"/>
<source>&amp;Aide</source>
<translation>&amp;Hilfe</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="112"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="113"/>
<source>Annulations</source>
<translation>Arbeitsschritte</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="124"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="125"/>
<source>Parties</source>
<translation>Bestandteile</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="136"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="137"/>
<source>Informations</source>
<translation>Informationen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="145"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="146"/>
<source>Outils</source>
<translation>Werkzeuge</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="162"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="163"/>
<source>Affichage</source>
<translation>Anzeige</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="177"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="178"/>
<source>Élément</source>
<translation>Bauteil</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="190"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="191"/>
<source>Annulation</source>
<translation>Rückgängig: </translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="286"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="287"/>
<source>&amp;Fermer cet éditeur</source>
<translation>&amp;Editor schließen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="289"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="290"/>
<source>Fermer cet éditeur</source>
<translation>Editor schließen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="298"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="299"/>
<source>Désélectionner tout</source>
<translation>Auswahl aufheben</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="307"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="308"/>
<source>Co&amp;uper</source>
<translation>&amp;Ausschneiden</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="316"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="317"/>
<source>Cop&amp;ier</source>
<translation>Kop&amp;ieren</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="325"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="326"/>
<source>C&amp;oller</source>
<translation>E&amp;infügen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="334"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="335"/>
<source>C&amp;oller dans la zone</source>
<translation>In einen Bereich einfügen... </translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="343"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="344"/>
<source>Un fichier</source>
<translation>einer Datei</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="352"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="353"/>
<source>Un élément</source>
<translation>einem Bauteil</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="442"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="443"/>
<source>À &amp;propos de QElectroTech</source>
<translation>Ü&amp;ber QElectroTech</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="445"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="446"/>
<source>Affiche des informations sur QElectroTech</source>
<translation>Informationen zu QElectroTech anzeigen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="454"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="455"/>
<source>Manuel en ligne</source>
<translation>Online-Dokumentation (englisch)</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="457"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="458"/>
<source>Lance le navigateur par défaut vers le manuel en ligne de QElectroTech</source>
<translation>Online-Dokumentation von QElectroTech im Standard Webbrowser öffnen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="466"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="467"/>
<source>Chaine Youtube</source>
<translation>Youtube-Kanal</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="469"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="470"/>
<source>Lance le navigateur par défaut vers la chaine Youtube de QElectroTech</source>
<translation>Den Youtube-Kanal von QElectroTech im Standard Webbrowser öffnen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="478"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="479"/>
<source>Soutenir le projet par un don</source>
<translation>QElectroTech durch eine Spende unterstützen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="481"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="482"/>
<source>Soutenir le projet QElectroTech par un don</source>
<translation>Das QElectroTech-Projekt durch eine Spende unterstützen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="490"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="491"/>
<source>À propos de &amp;Qt</source>
<translation>Über &amp;Qt</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="493"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="494"/>
<source>Affiche des informations sur la bibliothèque Qt</source>
<translation>Informationen zur Qt-Bibliothek anzeigen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="502"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="503"/>
<source>Rotation</source>
<translation>Drehen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="505"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="506"/>
<source>Space</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="514"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="515"/>
<source>Importer un dxf</source>
<translation>DXF &amp;importieren</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="361"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="524"/>
<source>importer un élément à redimensionner</source>
<translation>Importiere skaliertes Element</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="362"/>
<source>Inverser la sélection</source>
<translation>Auswahl umkehren</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="370"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="371"/>
<source>&amp;Supprimer</source>
<translation>&amp;Löschen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="406"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="407"/>
<source>Zoom avant</source>
<translation>Vergrößern</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="415"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="416"/>
<source>Zoom arrière</source>
<translation>Verkleinern</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="424"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="425"/>
<source>Zoom adapté</source>
<translation>Folie einpassen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="433"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="434"/>
<source>Pas de zoom</source>
<translation>Kein Zoom</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="388"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="389"/>
<source>Éditer les informations sur l&apos;auteur</source>
<translation>Informationen über Autoren bearbeiten</translation>
</message>
@@ -7078,23 +7083,23 @@ Verfügbare Optionen:
<translation>Anschluss einfügen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="986"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="987"/>
<source>Annuler</source>
<translation>Rückgängig</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="70"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="71"/>
<source>Afficher</source>
<comment>menu entry</comment>
<translation>Werkzeugsleisten anzeigen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="495"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="496"/>
<source>Trop de primitives, liste non générée: %1</source>
<translation>Zu viele Einzelteile, Liste nicht generiert: %1</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="954"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="955"/>
<source>To install the plugin DXFtoQET
Visit https://download.qelectrotech.org/qet/builds/dxf_to_elmt/
@@ -7104,7 +7109,7 @@ Put DXFtoQET.exe binary on C:\Users\user_name\AppData\Roaming\qet\ directory
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="960"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="961"/>
<source>To install the plugin DXFtoQET
Visit https://download.qelectrotech.org/qet/builds/dxf_to_elmt/
@@ -7114,7 +7119,7 @@ Put DXFtoQET.app binary on /Users/user_name/.qet/ directory
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="966"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="967"/>
<source>To install the plugin DXFtoQET
Visit https://download.qelectrotech.org/qet/builds/dxf_to_elmt/
@@ -7125,7 +7130,7 @@ make it executable : chmod +x ./DXFtoQET
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="974"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="975"/>
<source>To install the plugin DXFtoQET
Visit https://download.qelectrotech.org/qet/builds/dxf_to_elmt/
@@ -7141,22 +7146,21 @@ Put DXFtoQET.app binary on /Users/user_name/.qet/ directory
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="987"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="988"/>
<source>Refaire</source>
<translation>Wiederholen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="997"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="998"/>
<source>Ctrl+Shift+O</source>
<translation>Strg+Umschalt+O</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="999"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1000"/>
<source>Ctrl+Shift+S</source>
<translation>Strg+Umschalt+S</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1000"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1013"/>
<source>Ctrl+Q</source>
<translation type="unfinished">Strg+Q</translation>
@@ -7197,12 +7201,12 @@ Put DXFtoQET.app binary on /Users/user_name/.qet/ directory
<translation>Strg+0</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1514"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1532"/>
<source>Avertissement</source>
<translation>Warnung</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1514"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1532"/>
<source>L&apos;import d&apos;un dxf volumineux peut prendre du temps
veuillez patienter durant l&apos;import...</source>
<translation>Das Importieren einer großen DXF-Datei kann einige Zeit in Anspruch nehmen.</translation>
@@ -7230,12 +7234,12 @@ veuillez patienter durant l&apos;import...</source>
<translation>Tiefe</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="379"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="380"/>
<source>Éditer le nom et les traductions de l&apos;élément</source>
<translation>Bauteilname und Übersetzungen bearbeiten</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="397"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="398"/>
<source>Éditer les propriétés de l&apos;élément</source>
<translation>Bauteileigenschaften bearbeiten</translation>
</message>
@@ -7250,28 +7254,28 @@ veuillez patienter durant l&apos;import...</source>
<translation>&amp;Datei</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="50"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="51"/>
<source>&amp;Édition</source>
<translation>&amp;Bearbeiten</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="83"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="84"/>
<source>Afficha&amp;ge</source>
<translation>&amp;Anzeige</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="54"/>
<location filename="../sources/editor/ui/qetelementeditor.ui" line="55"/>
<source>Coller depuis...</source>
<translation>Einfügen aus...</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="444"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="445"/>
<source>[Modifié]</source>
<comment>window title tag</comment>
<translation>[geändert]</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="448"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="449"/>
<source> [lecture seule]</source>
<comment>window title tag</comment>
<translation> [schreibgeschützt]</translation>
@@ -7288,8 +7292,8 @@ veuillez patienter durant l&apos;import...</source>
<translation>Bauteileditor</translation>
</message>
<message numerus="yes">
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="533"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="670"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="534"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="671"/>
<source>%n partie(s) sélectionnée(s).</source>
<translation>
<numerusform>%n ausgewähltes Teil.</numerusform>
@@ -7297,18 +7301,18 @@ veuillez patienter durant l&apos;import...</source>
</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="740"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="741"/>
<source>Absence de borne</source>
<comment>warning title</comment>
<translation>Anschluss nicht vorhanden</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="762"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="763"/>
<source>Absence de borne</source>
<translation>Anschluss nicht vorhanden</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="741"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="742"/>
<source>&lt;br&gt;En l&apos;absence de borne, l&apos;élément ne pourra être relié à d&apos;autres éléments par l&apos;intermédiaire de conducteurs.</source>
<comment>warning description</comment>
<translation>&lt;br&gt;Ohne Anschlüsse kann das Bauteil nicht mit anderen Bauteilen mittels Leiter verbunden werden.</translation>
@@ -7329,18 +7333,18 @@ veuillez patienter durant l&apos;import...</source>
<translation>Fügt einen Bauteiltext ein, der im Schaltplaneditor bearbeitet werden kann</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="763"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="764"/>
<source>&lt;br&gt;&lt;b&gt;Erreur&lt;/b&gt; :&lt;br&gt;Les reports de folio doivent posséder une seul borne.&lt;br&gt;&lt;b&gt;Solution&lt;/b&gt; :&lt;br&gt;Verifier que l&apos;élément ne possède qu&apos;une seul borne</source>
<translation>&lt;br&gt;&lt;b&gt;Fehler&lt;/b&gt;: &lt;br&gt;Folienverweise dürfen nur einen Anschluss haben.&lt;br&gt;&lt;b&gt;Lösung&lt;/b&gt;: &lt;br&gt;Prüfen, dass das Bauteil nur einen Anschluss hat</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="775"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="776"/>
<source>La vérification de cet élément a généré</source>
<comment>message box content</comment>
<translation>Die Überprüfung dieses Bauteils generierte</translation>
</message>
<message numerus="yes">
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="778"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="779"/>
<source> %n erreur(s)</source>
<comment>errors</comment>
<translation>
@@ -7349,88 +7353,88 @@ veuillez patienter durant l&apos;import...</source>
</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="783"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="784"/>
<source> et</source>
<translation> und</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="795"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="796"/>
<source>&lt;b&gt;%1&lt;/b&gt; : %2</source>
<comment>warning title: warning description</comment>
<translation>&lt;b&gt;%1&lt;/b&gt;: %2</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="802"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="803"/>
<source>Erreurs</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="805"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="806"/>
<source>Avertissements</source>
<translation>Warnungen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="211"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="212"/>
<source>Le fichier %1 n&apos;existe pas.</source>
<comment>message box content</comment>
<translation>Die Datei %1 existiert nicht.</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="217"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1422"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="218"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1440"/>
<source>Impossible d&apos;ouvrir le fichier %1.</source>
<comment>message box content</comment>
<translation>Öffnen der Datei %1 nicht möglich.</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="224"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1427"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="225"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1445"/>
<source>Ce fichier n&apos;est pas un document XML valide</source>
<comment>message box content</comment>
<translation>Diese Datei ist kein gültiges XML-Dokument</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="230"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1433"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="231"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1451"/>
<source>Erreur</source>
<comment>toolbar title</comment>
<translation>Fehler</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="241"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="311"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="242"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="312"/>
<source>Édition en lecture seule</source>
<comment>message box title</comment>
<translation>Schreibgeschützte Bearbeitung</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="242"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="312"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="243"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="313"/>
<source>Vous n&apos;avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule.</source>
<comment>message box content</comment>
<translation>Sie haben nicht die Schreibrechte, um dieses Bauteil zu verändern: es wird schreibgeschützt geöffnet.</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="273"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="337"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="274"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="338"/>
<source>Erreur</source>
<comment>message box title</comment>
<translation>Fehler</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="274"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="275"/>
<source>Impossible d&apos;écrire dans ce fichier</source>
<comment>message box content</comment>
<translation>Schreiben in diese Datei nicht möglich</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="338"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="339"/>
<source>Impossible d&apos;enregistrer l&apos;élément</source>
<comment>message box content</comment>
<translation>Dieses Bauteil kann nicht gespeichert werden</translation>
</message>
<message numerus="yes">
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="785"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="786"/>
<source> %n avertissement(s)</source>
<comment>warnings</comment>
<translation>
@@ -7439,98 +7443,108 @@ veuillez patienter durant l&apos;import...</source>
</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="845"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="846"/>
<source>Impossible d&apos;ouvrir le fichier</source>
<comment>message box title</comment>
<translation>Öffnen der Datei nicht möglich</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="847"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="848"/>
<source>Il semblerait que le fichier %1 que vous essayez d&apos;ouvrir n&apos;existe pas ou plus.</source>
<translation>Die zu öffnende Datei %1 existiert nicht.</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1379"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1397"/>
<source>Recharger l&apos;élément</source>
<comment>dialog title</comment>
<translation>Bauteil neu laden</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1380"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1398"/>
<source>Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l&apos;élément ?</source>
<comment>dialog content</comment>
<translation>Das Bauteil wurde verändert. Beim neu Laden gehen die Änderungen verloren. Möchten Sie wirklich das Bauteil neu laden?</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1551"/>
<source>Importer un élément à redimensionner</source>
<translation>Importiere Element zum Skalieren</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1553"/>
<source>Éléments QElectroTech (*.elmt)</source>
<translation>QElectroTech-Bauteil (*.elmt)</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1257"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1286"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1370"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1388"/>
<source>Echec de l&apos;enregistrement</source>
<translation>Speichervorgang gescheitert</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1257"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1286"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1370"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1388"/>
<source>L&apos;enregistrement à échoué,
les conditions requises ne sont pas valides</source>
<translation>Speichervorgang gescheitert\nDie erforderlichen Bedingungen wurden nicht erfüllt</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1343"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1361"/>
<source>Enregistrer sous</source>
<comment>dialog title</comment>
<translation>Speichern unter</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1345"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1363"/>
<source>Éléments QElectroTech (*.elmt)</source>
<comment>filetypes allowed when saving an element file</comment>
<translation>QElectroTech-Bauteil (*.elmt)</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="884"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="885"/>
<source>Enregistrer l&apos;élément en cours ?</source>
<comment>dialog title</comment>
<translation>Aktuelles Bauteil speichern?</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="886"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="887"/>
<source>Voulez-vous enregistrer l&apos;élément %1 ?</source>
<comment>dialog content - %1 is an element name</comment>
<translation>Bauteil %1 speichern?</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="422"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="423"/>
<source>Ouvrir un fichier</source>
<comment>dialog title</comment>
<translation>Datei öffnen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="424"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="425"/>
<source>Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*)</source>
<comment>filetypes allowed when opening an element file</comment>
<translation>QElectroTech-Bauteile (*.elmt);;XML-Dateien (*.xml);;Alle Dateien (*)</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="288"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="294"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1448"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1454"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="289"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="295"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1466"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1472"/>
<source>Élément inexistant.</source>
<comment>message box title</comment>
<translation>Bauteil nicht vorhanden.</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="295"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1455"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="296"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1473"/>
<source>L&apos;élément n&apos;existe pas.</source>
<comment>message box content</comment>
<translation>Bauteil existiert nicht.</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="289"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1449"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="290"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1467"/>
<source>Le chemin virtuel choisi ne correspond pas à un élément.</source>
<comment>message box content</comment>
<translation>Der gewählte virtuelle Pfad passt nicht zu einem Bauteil.</translation>
@@ -9430,7 +9444,7 @@ Möchten Sie sie ersetzen?</translation>
<translation>Element öffnen</translation>
</message>
<message>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1507"/>
<location filename="../sources/editor/ui/qetelementeditor.cpp" line="1525"/>
<source>Importer un fichier dxf</source>
<translation>DXF-Datei importieren</translation>
</message>
@@ -9439,6 +9453,29 @@ Möchten Sie sie ersetzen?</translation>
<source>Disposition par défaut</source>
<translation>Standard-Layout</translation>
</message>
<message>
<location filename="../sources/qet_elementscaler/qet_elementscaler.cpp" line="42"/>
<location filename="../sources/qet_elementscaler/qet_elementscaler.cpp" line="51"/>
<source>Entrer le facteur d&apos;échelle</source>
<translation>Skalierungsfaktor eingeben</translation>
</message>
<message>
<location filename="../sources/qet_elementscaler/qet_elementscaler.cpp" line="43"/>
<source>Facteur X:</source>
<translation>Faktor X:</translation>
</message>
<message>
<location filename="../sources/qet_elementscaler/qet_elementscaler.cpp" line="52"/>
<source>Facteur Y:</source>
<translation>Faktor Y:</translation>
</message>
<message>
<location filename="../sources/qet_elementscaler/qet_elementscaler.cpp" line="122"/>
<source>Le logiciel QET_ElementScaler est nécessaire pour mettre les éléments à l&apos;échelle.
Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper dans le dossier d&apos;installation</source>
<translation>Die Software QET_ElementScaler wird benötigt, um Elemente zu skalieren.
Bitte laden Sie diese über den unten stehenden Link herunter und entpacken Sie sie in den Installationsordner.</translation>
</message>
</context>
<context>
<name>QTextOrientationWidget</name>

View File

@@ -166,7 +166,8 @@ HEADERS += $$files(sources/*.h) \
$$files(sources/TerminalStrip/GraphicsItem/*.h) \
$$files(sources/TerminalStrip/GraphicsItem/properties/*.h) \
$$files(sources/xml/*.h) \
$$files(sources/dxf/*.h)
$$files(sources/dxf/*.h) \
$$files(sources/qet_elementscaler/*.h)
SOURCES += $$files(sources/*.cpp) \
$$files(sources/editor/*.cpp) \
@@ -208,7 +209,8 @@ SOURCES += $$files(sources/*.cpp) \
$$files(sources/TerminalStrip/GraphicsItem/*.cpp) \
$$files(sources/TerminalStrip/GraphicsItem/properties/*.cpp) \
$$files(sources/xml/*.cpp) \
$$files(sources/dxf/*.cpp)
$$files(sources/dxf/*.cpp) \
$$files(sources/qet_elementscaler/*.cpp)
# Needed for use promote QTreeWidget in terminalstripeditor.ui
INCLUDEPATH += sources/TerminalStrip/ui

View File

@@ -47,6 +47,7 @@
#include "../../newelementwizard.h"
#include "../editorcommands.h"
#include "../../dxf/dxftoelmt.h"
#include "../../qet_elementscaler/qet_elementscaler.h"
#include "../UndoCommand/openelmtcommand.h"
#include <QSettings>
@@ -1332,6 +1333,24 @@ void QETElementEditor::on_m_open_dxf_action_triggered()
DXF -> start(program,arguments);
}
void QETElementEditor::on_m_open_scaled_element_action_triggered()
{
#ifdef TODO_LIST
# pragma message("@TODO Merge 'Element-Scaling' code into QET")
# pragma message("https://github.com/plc-user/QET_ElementScaler")
#endif
#if defined(Q_OS_WIN32) || defined(Q_OS_WIN64)
QString program = (QDir::homePath() + "/Application Data/qet/QET_ElementScaler.exe");
#elif defined(Q_OS_MAC)
QString program = (QDir::homePath() + "/.qet/QET_ElementScaler.app");
#else
QString program = (QDir::homePath() + "/.qet/QET_ElementScaler");
#endif
QStringList arguments;
QProcess *ES = new QProcess(qApp);
ES -> start(program,arguments);
}
bool QETElementEditor::on_m_save_as_file_action_triggered()
{
// Check element before writing
@@ -1504,7 +1523,7 @@ void QETElementEditor::on_m_import_dxf_triggered()
{
QString file_path{QFileDialog::getOpenFileName(this,
QObject::tr("Importer un fichier dxf"),
"/home",
QDir::homePath(),
"DXF (*.dxf)")};
if (file_path.isEmpty()) {
return;
@@ -1524,3 +1543,26 @@ void QETElementEditor::on_m_import_dxf_triggered()
}
}
void QETElementEditor::on_m_import_scaled_element_triggered()
{
if (ElementScalerIsPresent(true, this))
{
QString file_path{QFileDialog::getOpenFileName(this,
tr("Importer un élément à redimensionner"),
QDir::homePath(),
tr("Éléments QElectroTech (*.elmt)"))};
if (file_path.isEmpty()) {
return;
}
const QByteArray array_{ElementScaler(file_path, this)};
if (array_.isEmpty()) {
return;
}
QDomDocument xml_;
xml_.setContent(array_);
m_elmt_scene->undoStack().push(new OpenElmtCommand(xml_, m_elmt_scene));
}
}

View File

@@ -87,6 +87,7 @@ class QETElementEditor : public QMainWindow
void on_m_open_action_triggered();
void on_m_open_from_file_action_triggered();
void on_m_open_dxf_action_triggered();
void on_m_open_scaled_element_action_triggered();
bool on_m_save_as_file_action_triggered();
void on_m_reload_action_triggered();
void on_m_quit_action_triggered();
@@ -111,6 +112,7 @@ class QETElementEditor : public QMainWindow
void on_m_donate_action_triggered();
void on_m_about_qt_action_triggered();
void on_m_import_dxf_triggered();
void on_m_import_scaled_element_triggered();
private:
bool canClose();

View File

@@ -35,6 +35,7 @@
<addaction name="m_new_action"/>
<addaction name="m_open_action"/>
<addaction name="m_open_from_file_action"/>
<addaction name="m_import_scaled_element"/>
<addaction name="m_import_dxf"/>
<addaction name="m_open_dxf_action"/>
<addaction name="m_save_action"/>
@@ -514,6 +515,15 @@
<string>Importer un dxf</string>
</property>
</action>
<action name="m_import_scaled_element">
<property name="icon">
<iconset resource="../../../qelectrotech.qrc">
<normaloff>:/ico/22x22/folder-open.png</normaloff>:/ico/22x22/folder-open.png</iconset>
</property>
<property name="text">
<string>importer un élément à redimensionner</string>
</property>
</action>
</widget>
<resources>
<include location="../../../qelectrotech.qrc"/>

View File

@@ -0,0 +1,132 @@
/*
Copyright 2024 The QElectroTech Team
This file is part of QElectroTech.
QElectroTech 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 of the License, or
(at your option) any later version.
QElectroTech 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.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
*/
#include "qet_elementscaler.h"
#include "../ui/thirdpartybinaryinstalldialog.h"
#include <QFile>
#include <QProcess>
#include <QInputDialog>
#include <QDir>
/**
* @brief QET_ElementScaler
* Return the scaled element from @a file_path.
* The returned value is a QByteArray, instead of a
* QDomDocument or QString, to let user do what he/she wants.
* If something goes wrong the QByteArray returned is empty.
* @param file_path
* @return
*/
QByteArray ElementScaler(const QString &file_path, QWidget *parent)
{
if (!ElementScalerIsPresent(false)) {
return QByteArray();
}
bool ok;
double fx = QInputDialog::getDouble(parent, QObject::tr("Entrer le facteur d'échelle"),
QObject::tr("Facteur X:"), 1.0, 0.1, 100, 5, &ok,
Qt::WindowFlags(), 1);
QString sFactorX = "1.0";
if (ok)
sFactorX = (QString::number(fx, 'f', 5));
else
return QByteArray();
double fy = QInputDialog::getDouble(parent, QObject::tr("Entrer le facteur d'échelle"),
QObject::tr("Facteur Y:"), fx, 0.1, 100, 5, &ok,
Qt::WindowFlags(), 1);
QString sFactorY = "1.0";
if (ok)
sFactorY = (QString::number(fy, 'f', 5));
else
return QByteArray();
QProcess process_;
const QString program{ElementScalerBinaryPath()};
const QStringList arguments{QStringLiteral("-x"), sFactorX,
QStringLiteral("-y"), sFactorY,
QStringLiteral("-o"), QStringLiteral("-f"), file_path};
process_.start(program, arguments);
if (process_.waitForFinished())
{
const auto byte_array{process_.readAll()};
process_.close();
return byte_array;
}
else
{
//If something went wrong we return an empty QByteArray
return QByteArray();
}
}
QString ElementScalerDirPath()
{
#if defined(Q_OS_WIN32) || defined(Q_OS_WIN64)
return (QDir::homePath() + QStringLiteral("/Application Data/qet/binary"));
#elif defined(Q_OS_MACOS)
return (QDir::homePath() + QStringLiteral("/.qet/binary"));
#else
return (QDir::homePath() + QStringLiteral("/.qet/binary"));
#endif
}
/**
* @brief ElementScalerBinaryPath
* @return the path to the QET_ElementScaler program
*/
QString ElementScalerBinaryPath()
{
#if defined(Q_OS_WIN32) || defined(Q_OS_WIN64)
return ElementScalerDirPath() + QStringLiteral("/QET_ElementScaler.exe");
#elif defined(Q_OS_MACOS)
return ElementScalerDirPath() + QStringLiteral("/./QET_ElementScaler");
#else
return ElementScalerDirPath() + QStringLiteral("/QET_ElementScaler");
#endif
}
/**
* @brief ElementScalerIsPresent
* Return true if QET_ElementScaler is present in the system
* @param install_dialog
* True to display a dialog with the explanations
* of how to install the QET_ElementScaler program
* if not present in the system.
* @return
*/
bool ElementScalerIsPresent(bool install_dialog, QWidget *parent)
{
const bool exist{QFile::exists(ElementScalerBinaryPath())};
if (!exist && install_dialog)
{
auto string_{QObject::tr("Le logiciel QET_ElementScaler est nécessaire pour mettre les éléments à l'échelle.\n"
"Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper dans le dossier d'installation")};
ThirdPartyBinaryInstallDialog dialog_(string_,
QStringLiteral("https://github.com/plc-user/QET_ElementScaler/releases"),
ElementScalerDirPath(),
parent);
dialog_.exec();
}
return exist;
}

View File

@@ -0,0 +1,30 @@
/*
Copyright 2024 The QElectroTech Team
This file is part of QElectroTech.
QElectroTech 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 of the License, or
(at your option) any later version.
QElectroTech 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.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef QET_ELEMENTSCALER_H
#define QET_ELEMENTSCALER_H
#include <QByteArray>
class QWidget;
QByteArray ElementScaler(const QString &file_path, QWidget *parent);
QString ElementScalerDirPath();
QString ElementScalerBinaryPath();
bool ElementScalerIsPresent(bool install_dialog = true, QWidget *parent = nullptr);
#endif // QET_ELEMENTSCALER_H