Compare commits

...

3 commits

Author SHA1 Message Date
b91dbfb311
Finishing touches on putting History off QML.
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-11 02:14:42 +02:00
448d94fee3
Fixed many issues with new History module, including saved status.
+ Fixed (old) bug that label content wasn't being saved.
2024-10-11 02:03:27 +02:00
2dc9234b22
Decoupled History from QML 2024-10-11 01:14:52 +02:00
25 changed files with 712 additions and 751 deletions

View file

@ -67,22 +67,22 @@
<translation>&amp;Lösen</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="84"/>
<source>&amp;Redo</source>
<translation>&amp;Wiederherstellen</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="93"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="91"/>
<source>&amp;Copy plot</source>
<translation>Grafik &amp;Kopieren</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="100"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="98"/>
<source>&amp;Preferences</source>
<translation>&amp;Einstellung</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="108"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="106"/>
<source>&amp;Create</source>
<translation>&amp;Erstellen</translation>
</message>
@ -123,52 +123,52 @@
<translation type="vanished">Syntaktische Färbung</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="128"/>
<source>&amp;Help</source>
<translation>&amp;Hilfe</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="132"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<source>&amp;Source code</source>
<translation>&amp;Quellcode</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="137"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="135"/>
<source>&amp;Report a bug</source>
<translation>Fehler &amp;Melden</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="140"/>
<source>&amp;User manual</source>
<translation>&amp;Benutzerhandbuch</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
<source>&amp;Changelog</source>
<translation>&amp;Changelog</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="150"/>
<source>&amp;Help translating!</source>
<translation>&amp;Hilfe beim Übersetzen!</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="158"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="156"/>
<source>&amp;Thanks</source>
<translation>&amp;Danksagungen</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="163"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="161"/>
<source>&amp;About</source>
<translation>&amp;Übrigens</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="172"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="170"/>
<source>Save unsaved changes?</source>
<translation>Änderungen speichern?</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="171"/>
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
<translation>Diese Grafik enthält ungespeicherte Änderungen. Dadurch gehen alle ungespeicherten Daten verloren. Fortfahren?</translation>
</message>
@ -205,12 +205,12 @@
<name>CustomPropertyList</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="196"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="214"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="216"/>
<source>+ Create new %1</source>
<translation>+ Neues %1objekt erstellen</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="314"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="316"/>
<source>Pick on graph</source>
<translation>Aufnehmen auf Graph</translation>
</message>
@ -238,9 +238,8 @@
<translation>Name</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>Label content</source>
<translation>Etikett</translation>
<translation type="vanished">Etikett</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="131"/>
@ -405,24 +404,20 @@ Diese Einstellungen können jederzeit über das Menü &quot;Einstellungen&quot;
<context>
<name>HistoryBrowser</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="56"/>
<source>Filter...</source>
<translation>Filtern</translation>
<translation type="vanished">Filtern</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="99"/>
<source>Redo &gt;</source>
<translation>Wiederherstellen &gt;</translation>
<translation type="vanished">Wiederherstellen &gt;</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="118"/>
<source>&gt; Now</source>
<translation>&gt; Aktueller Stand</translation>
<translation type="vanished">&gt; Aktueller Stand</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="148"/>
<source>&lt; Undo</source>
<translation>&lt; Rückgängig</translation>
<translation type="vanished">&lt; Rückgängig</translation>
</message>
</context>
<context>
@ -475,17 +470,17 @@ Diese Einstellungen können jederzeit über das Menü &quot;Einstellungen&quot;
<translation type="vanished">Geladene Datei &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="232"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="218"/>
<source>Copied plot screenshot to clipboard!</source>
<translation>Grafik in die Zwischenablage kopiert!</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="247"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="233"/>
<source>&amp;Update</source>
<translation>&amp;Aktualisieren</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="249"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="235"/>
<source>&amp;Update LogarithmPlotter</source>
<translation>LogarithmPlotter &amp;aktualisieren</translation>
</message>
@ -613,109 +608,109 @@ Diese Einstellungen können jederzeit über das Menü &quot;Einstellungen&quot;
<name>Settings</name>
<message>
<location filename="../../common/src/preferences/default.mjs" line="23"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="157"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="155"/>
<source>X Zoom</source>
<translation>Zoom auf X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="30"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="176"/>
<source>Y Zoom</source>
<translation>Zoom auf Y</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="37"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="189"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="197"/>
<source>Min X</source>
<translation>Minimum X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="44"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="208"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="220"/>
<source>Max Y</source>
<translation>Maximum Y</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="223"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="240"/>
<source>Max X</source>
<translation>Maximum X</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="242"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="268"/>
<source>Min Y</source>
<translation>Minimum Y</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="50"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="260"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="292"/>
<source>X Axis Step</source>
<translation>X-Achsen-Schritt</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="56"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="275"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="311"/>
<source>Y Axis Step</source>
<translation>Y-Achsen-Schritt</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="62"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="289"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="327"/>
<source>Line width</source>
<translation>Linienbreite</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="69"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="304"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="344"/>
<source>Text size (px)</source>
<translation>Textgröße (px)</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="75"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="319"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="361"/>
<source>X Label</source>
<translation>Etikett der X-Achse</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="82"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="345"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="394"/>
<source>Y Label</source>
<translation>Etikett der Y-Achse</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="89"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="373"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="428"/>
<source>X Log scale</source>
<translation>Logarithmische Skala in X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="95"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="383"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="444"/>
<source>Show X graduation</source>
<translation>X-Teilung anzeigen</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="101"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="393"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="456"/>
<source>Show Y graduation</source>
<translation>Y-Teilung anzeigen</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="404"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="468"/>
<source>Copy to clipboard</source>
<translation>Kopieren in die Zwischenablage</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="413"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="477"/>
<source>Save plot</source>
<translation>Grafik speichern</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="422"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="486"/>
<source>Save plot as</source>
<translation>Grafik speichern unter</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="431"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="495"/>
<source>Load plot</source>
<translation>Grafik laden</translation>
</message>
@ -1160,7 +1155,7 @@ Evaluated expression: %3</source>
Ausdruck analysiert: %3</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="53"/>
<source>Error while attempting to draw %1 %2:
%3
@ -1191,7 +1186,7 @@ Evaluated expression: %3</source>
Ausdruck analysiert: %3</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="139"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="50"/>
<source>LogarithmPlotter - Drawing error</source>
<translation>LogarithmPlotter - Fehler</translation>
</message>
@ -1308,27 +1303,27 @@ Ausdruck analysiert: %3</translation>
<translation type="vanished">Verlauf</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="98"/>
<location filename="../../common/src/module/io.mjs" line="94"/>
<source>Saved plot to &apos;%1&apos;.</source>
<translation>Gespeicherte Grafik auf &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="110"/>
<location filename="../../common/src/module/io.mjs" line="106"/>
<source>Loading file &apos;%1&apos;.</source>
<translation>Laden der Datei &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="154"/>
<location filename="../../common/src/module/io.mjs" line="150"/>
<source>Unknown object type: %1.</source>
<translation>Unbekannter Objekttyp: %1.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="169"/>
<location filename="../../common/src/module/io.mjs" line="165"/>
<source>Invalid file provided.</source>
<translation>Ungültige Datei angegeben.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="173"/>
<location filename="../../common/src/module/io.mjs" line="169"/>
<source>Could not load file: </source>
<translation>Datei konnte nicht geladen werden: </translation>
</message>
@ -1337,7 +1332,7 @@ Ausdruck analysiert: %3</translation>
<translation type="vanished">Die Datei konnte nicht gespeichert werden: </translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="178"/>
<location filename="../../common/src/module/io.mjs" line="174"/>
<source>Loaded file &apos;%1&apos;.</source>
<translation>Geladene Datei &apos;%1&apos;.</translation>
</message>
@ -1731,6 +1726,11 @@ Bitte vergewissern Sie sich, dass Ihre LaTeX-Installation korrekt ist, und melde
<source>color</source>
<translation type="vanished">Farbe</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>labelContent</source>
<translation>Etikett</translation>
</message>
</context>
<context>
<name>repartition</name>

View file

@ -67,22 +67,22 @@
<translation>&amp;Undo</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="84"/>
<source>&amp;Redo</source>
<translation>&amp;Redo</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="93"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="91"/>
<source>&amp;Copy plot</source>
<translation>&amp;Copy plot</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="100"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="98"/>
<source>&amp;Preferences</source>
<translation>&amp;Preferences</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="108"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="106"/>
<source>&amp;Create</source>
<translation>&amp;Create</translation>
</message>
@ -123,52 +123,52 @@
<translation type="vanished">Color Scheme</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="128"/>
<source>&amp;Help</source>
<translation>&amp;Help</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="132"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<source>&amp;Source code</source>
<translation>&amp;Source code</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="137"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="135"/>
<source>&amp;Report a bug</source>
<translation>&amp;Report a bug</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="140"/>
<source>&amp;User manual</source>
<translation>&amp;User manual</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
<source>&amp;Changelog</source>
<translation>&amp;Changelog</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="150"/>
<source>&amp;Help translating!</source>
<translation>&amp;Help translating!</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="158"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="156"/>
<source>&amp;Thanks</source>
<translation>&amp;Thanks</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="163"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="161"/>
<source>&amp;About</source>
<translation>&amp;About</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="172"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="170"/>
<source>Save unsaved changes?</source>
<translation>Save unsaved changes?</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="171"/>
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
<translation>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</translation>
</message>
@ -205,12 +205,12 @@
<name>CustomPropertyList</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="196"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="214"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="216"/>
<source>+ Create new %1</source>
<translation>+ Create new %1</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="314"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="316"/>
<source>Pick on graph</source>
<translation>Pick on graph</translation>
</message>
@ -238,9 +238,8 @@
<translation>Name</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>Label content</source>
<translation>Label content</translation>
<translation type="vanished">Label content</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="131"/>
@ -405,24 +404,20 @@ These settings can be changed at any time from the &quot;Settings&quot; menu.</t
<context>
<name>HistoryBrowser</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="56"/>
<source>Filter...</source>
<translation>Filter</translation>
<translation type="vanished">Filter</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="99"/>
<source>Redo &gt;</source>
<translation>Redo &gt;</translation>
<translation type="vanished">Redo &gt;</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="118"/>
<source>&gt; Now</source>
<translation>&gt; Now</translation>
<translation type="vanished">&gt; Now</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="148"/>
<source>&lt; Undo</source>
<translation>&lt; Undo</translation>
<translation type="vanished">&lt; Undo</translation>
</message>
</context>
<context>
@ -475,17 +470,17 @@ These settings can be changed at any time from the &quot;Settings&quot; menu.</t
<translation type="vanished">Loaded file &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="232"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="218"/>
<source>Copied plot screenshot to clipboard!</source>
<translation>Copied plot screenshot to clipboard!</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="247"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="233"/>
<source>&amp;Update</source>
<translation>&amp;Update</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="249"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="235"/>
<source>&amp;Update LogarithmPlotter</source>
<translation>&amp;Update LogarithmPlotter</translation>
</message>
@ -613,109 +608,109 @@ These settings can be changed at any time from the &quot;Settings&quot; menu.</t
<name>Settings</name>
<message>
<location filename="../../common/src/preferences/default.mjs" line="23"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="157"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="155"/>
<source>X Zoom</source>
<translation>X Zoom</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="30"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="176"/>
<source>Y Zoom</source>
<translation>Y Zoom</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="37"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="189"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="197"/>
<source>Min X</source>
<translation>Min X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="44"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="208"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="220"/>
<source>Max Y</source>
<translation>Max Y</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="223"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="240"/>
<source>Max X</source>
<translation>Max X</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="242"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="268"/>
<source>Min Y</source>
<translation>Min Y</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="50"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="260"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="292"/>
<source>X Axis Step</source>
<translation>X Axis Step</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="56"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="275"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="311"/>
<source>Y Axis Step</source>
<translation>Y Axis Step</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="62"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="289"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="327"/>
<source>Line width</source>
<translation>Line width</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="69"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="304"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="344"/>
<source>Text size (px)</source>
<translation>Text size (px)</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="75"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="319"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="361"/>
<source>X Label</source>
<translation>X Label</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="82"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="345"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="394"/>
<source>Y Label</source>
<translation>Y Label</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="89"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="373"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="428"/>
<source>X Log scale</source>
<translation>X Log scale</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="95"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="383"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="444"/>
<source>Show X graduation</source>
<translation>Show X graduation</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="101"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="393"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="456"/>
<source>Show Y graduation</source>
<translation>Show Y graduation</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="404"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="468"/>
<source>Copy to clipboard</source>
<translation>Copy to clipboard</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="413"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="477"/>
<source>Save plot</source>
<translation>Save plot</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="422"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="486"/>
<source>Save plot as</source>
<translation>Save plot as</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="431"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="495"/>
<source>Load plot</source>
<translation>Open plot</translation>
</message>
@ -1160,7 +1155,7 @@ Evaluated expression: %3</source>
Evaluated expression: %3</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="53"/>
<source>Error while attempting to draw %1 %2:
%3
@ -1191,7 +1186,7 @@ Evaluated expression: %3</source>
Evaluated expression: %3</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="139"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="50"/>
<source>LogarithmPlotter - Drawing error</source>
<translation>LogarithmPlotter - Drawing error</translation>
</message>
@ -1308,27 +1303,27 @@ Evaluated expression: %3</translation>
<translation type="vanished">History</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="98"/>
<location filename="../../common/src/module/io.mjs" line="94"/>
<source>Saved plot to &apos;%1&apos;.</source>
<translation>Saved plot to &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="110"/>
<location filename="../../common/src/module/io.mjs" line="106"/>
<source>Loading file &apos;%1&apos;.</source>
<translation>Loading file &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="154"/>
<location filename="../../common/src/module/io.mjs" line="150"/>
<source>Unknown object type: %1.</source>
<translation>Unknown object type: %1.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="169"/>
<location filename="../../common/src/module/io.mjs" line="165"/>
<source>Invalid file provided.</source>
<translation>Invalid file provided.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="173"/>
<location filename="../../common/src/module/io.mjs" line="169"/>
<source>Could not load file: </source>
<translation>Could not load file: </translation>
</message>
@ -1337,7 +1332,7 @@ Evaluated expression: %3</translation>
<translation type="vanished">Could not save file: </translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="178"/>
<location filename="../../common/src/module/io.mjs" line="174"/>
<source>Loaded file &apos;%1&apos;.</source>
<translation>Loaded file &apos;%1&apos;.</translation>
</message>
@ -1731,6 +1726,11 @@ Please make sure your LaTeX installation is correct and report a bug if so.</tra
<source>color</source>
<translation type="vanished">Color</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>labelContent</source>
<translation>Label content</translation>
</message>
</context>
<context>
<name>repartition</name>

View file

@ -67,22 +67,22 @@
<translation>&amp;Cancelar</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="84"/>
<source>&amp;Redo</source>
<translation>&amp;Reiniciar</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="93"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="91"/>
<source>&amp;Copy plot</source>
<translation>&amp;Copiar el gráfico</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="100"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="98"/>
<source>&amp;Preferences</source>
<translation>&amp;Preferencias</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="108"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="106"/>
<source>&amp;Create</source>
<translation>&amp;Crear</translation>
</message>
@ -119,52 +119,52 @@
<translation type="vanished">Esquema de colores</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="128"/>
<source>&amp;Help</source>
<translation>&amp;Ayuda</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="132"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<source>&amp;Source code</source>
<translation>&amp;Código fuente</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="137"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="135"/>
<source>&amp;Report a bug</source>
<translation>&amp;Informar de un error</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="140"/>
<source>&amp;User manual</source>
<translation>&amp;Manual del usuario</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
<source>&amp;Changelog</source>
<translation>&amp;Registro de cambios</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="150"/>
<source>&amp;Help translating!</source>
<translation>&amp;¡Ayuda a la traducción!</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="158"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="156"/>
<source>&amp;Thanks</source>
<translation>&amp;Agradecimientos</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="163"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="161"/>
<source>&amp;About</source>
<translation>&amp;Acerca de</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="172"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="170"/>
<source>Save unsaved changes?</source>
<translation>¿Guardar los cambios no guardados?</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="171"/>
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
<translation>Este gráfico contiene cambios sin guardar. Al hacer esto, se perderán todos los datos no guardados. ¿Continuar?</translation>
</message>
@ -205,12 +205,12 @@
<name>CustomPropertyList</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="196"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="214"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="216"/>
<source>+ Create new %1</source>
<translation>+ Crear nuevo %1</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="314"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="316"/>
<source>Pick on graph</source>
<translation>Elegir en el gráfico</translation>
</message>
@ -237,11 +237,6 @@
<source>Name</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>Label content</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="131"/>
<source>null</source>
@ -405,24 +400,16 @@ Estos ajustes se pueden cambiar en cualquier momento desde el menú “Ajustes
<context>
<name>HistoryBrowser</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="56"/>
<source>Filter...</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="99"/>
<source>Redo &gt;</source>
<translation>Rehacer &gt;</translation>
<translation type="vanished">Rehacer &gt;</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="118"/>
<source>&gt; Now</source>
<translation>&gt; Ahora</translation>
<translation type="vanished">&gt; Ahora</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="148"/>
<source>&lt; Undo</source>
<translation>&lt; Deshacer</translation>
<translation type="vanished">&lt; Deshacer</translation>
</message>
</context>
<context>
@ -451,17 +438,17 @@ Estos ajustes se pueden cambiar en cualquier momento desde el menú “Ajustes
<translation>Historial</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="232"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="218"/>
<source>Copied plot screenshot to clipboard!</source>
<translation>¡Captura de pantalla del gráfico copiada al portapapeles!</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="247"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="233"/>
<source>&amp;Update</source>
<translation>&amp;Actualizar</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="249"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="235"/>
<source>&amp;Update LogarithmPlotter</source>
<translation>&amp;Actualizar LogarithmPlotter</translation>
</message>
@ -613,109 +600,109 @@ Estos ajustes se pueden cambiar en cualquier momento desde el menú “Ajustes
<name>Settings</name>
<message>
<location filename="../../common/src/preferences/default.mjs" line="23"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="157"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="155"/>
<source>X Zoom</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="30"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="176"/>
<source>Y Zoom</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="37"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="189"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="197"/>
<source>Min X</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="44"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="208"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="220"/>
<source>Max Y</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="223"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="240"/>
<source>Max X</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="242"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="268"/>
<source>Min Y</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="50"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="260"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="292"/>
<source>X Axis Step</source>
<translation>Paso por eje X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="56"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="275"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="311"/>
<source>Y Axis Step</source>
<translation>Paso por eje Y</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="62"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="289"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="327"/>
<source>Line width</source>
<translation>Anchura de la línea</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="69"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="304"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="344"/>
<source>Text size (px)</source>
<translation>Tamaño del texto (px)</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="75"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="319"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="361"/>
<source>X Label</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="82"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="345"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="394"/>
<source>Y Label</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="89"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="373"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="428"/>
<source>X Log scale</source>
<translation>Escala logarítmica en X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="95"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="383"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="444"/>
<source>Show X graduation</source>
<translation>Mostrar graduación del eje X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="101"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="393"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="456"/>
<source>Show Y graduation</source>
<translation>Mostrar graduación del eje Y</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="404"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="468"/>
<source>Copy to clipboard</source>
<translation>Copiar al portapapeles</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="413"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="477"/>
<source>Save plot</source>
<translation>Guardar gráfico</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="422"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="486"/>
<source>Save plot as</source>
<translation>Guardar gráfico como</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="431"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="495"/>
<source>Load plot</source>
<translation>Abrir gráfico</translation>
</message>
@ -1147,7 +1134,7 @@ Evaluated expression: %3</source>
Expresión evaluada: %3</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="53"/>
<source>Error while attempting to draw %1 %2:
%3
@ -1191,7 +1178,7 @@ Evaluated expression: %3</source>
Expresión evaluada: %3</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="139"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="50"/>
<source>LogarithmPlotter - Drawing error</source>
<translation></translation>
</message>
@ -1320,27 +1307,27 @@ Expresión evaluada: %3</translation>
<translation type="vanished">Objetos</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="98"/>
<location filename="../../common/src/module/io.mjs" line="94"/>
<source>Saved plot to &apos;%1&apos;.</source>
<translation>Gráfico guardado en &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="110"/>
<location filename="../../common/src/module/io.mjs" line="106"/>
<source>Loading file &apos;%1&apos;.</source>
<translation>Cargando el archivo &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="154"/>
<location filename="../../common/src/module/io.mjs" line="150"/>
<source>Unknown object type: %1.</source>
<translation>Tipo de objeto desconocido: %1 .</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="169"/>
<location filename="../../common/src/module/io.mjs" line="165"/>
<source>Invalid file provided.</source>
<translation>Se ha proporcionado un archivo no válido.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="173"/>
<location filename="../../common/src/module/io.mjs" line="169"/>
<source>Could not load file: </source>
<translation>No se pudo cargar el archivo: </translation>
</message>
@ -1349,7 +1336,7 @@ Expresión evaluada: %3</translation>
<translation type="vanished">No se ha podido guardar el archivo: </translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="178"/>
<location filename="../../common/src/module/io.mjs" line="174"/>
<source>Loaded file &apos;%1&apos;.</source>
<translation>Archivo cargado &apos;%1&apos;.</translation>
</message>
@ -1731,6 +1718,11 @@ Por favor, asegúrese de que su instalación de LaTeX es correcta e informe de u
<source>baseValues</source>
<translation>Valores de inicialización</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>labelContent</source>
<translation>Contenido de la etiqueta</translation>
</message>
</context>
<context>
<name>repartition</name>

View file

@ -67,22 +67,22 @@
<translation>&amp;Annuler</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="84"/>
<source>&amp;Redo</source>
<translation>&amp;Rétablir</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="93"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="91"/>
<source>&amp;Copy plot</source>
<translation>&amp;Copier le graphe</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="100"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="98"/>
<source>&amp;Preferences</source>
<translation>&amp;Préférences</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="108"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="106"/>
<source>&amp;Create</source>
<translation>&amp;Créer</translation>
</message>
@ -124,52 +124,52 @@
<translation type="vanished">Coloration Syntaxique</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="128"/>
<source>&amp;Help</source>
<translation>&amp;Aide</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="132"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<source>&amp;Source code</source>
<translation>&amp;Code source</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="137"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="135"/>
<source>&amp;Report a bug</source>
<translation>&amp;Rapport de bug</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="140"/>
<source>&amp;User manual</source>
<translation>Manuel d&apos;&amp;utilisation</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
<source>&amp;Changelog</source>
<translation>&amp;Historique des modifications</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="150"/>
<source>&amp;Help translating!</source>
<translation>&amp;Aider à la traduction !</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="158"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="156"/>
<source>&amp;Thanks</source>
<translation>&amp;Remerciements</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="163"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="161"/>
<source>&amp;About</source>
<translation>&amp;À propos</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="172"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="170"/>
<source>Save unsaved changes?</source>
<translation>Sauvegarder les modifications ?</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="171"/>
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
<translation>Ce graphe contient des modifications non sauvegardées. En faisant cela, toutes les données non sauvegardées seront perdues. Continuer ?</translation>
</message>
@ -206,12 +206,12 @@
<name>CustomPropertyList</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="196"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="214"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="216"/>
<source>+ Create new %1</source>
<translation>+ Créer un nouvel objet %1</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="314"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="316"/>
<source>Pick on graph</source>
<translation>Prendre la position sur le graphe</translation>
</message>
@ -239,9 +239,8 @@
<translation>Nom</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>Label content</source>
<translation>Étiquette</translation>
<translation type="vanished">Étiquette</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="131"/>
@ -407,24 +406,20 @@ Ces paramètres peuvent être modifiés à tout moment à partir du menu &quot;P
<context>
<name>HistoryBrowser</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="56"/>
<source>Filter...</source>
<translation>Filtrer</translation>
<translation type="vanished">Filtrer</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="99"/>
<source>Redo &gt;</source>
<translation>Rétablir &gt;</translation>
<translation type="vanished">Rétablir &gt;</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="118"/>
<source>&gt; Now</source>
<translation>&gt; État actuel</translation>
<translation type="vanished">&gt; État actuel</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="148"/>
<source>&lt; Undo</source>
<translation>&lt; Annuler</translation>
<translation type="vanished">&lt; Annuler</translation>
</message>
</context>
<context>
@ -477,17 +472,17 @@ Ces paramètres peuvent être modifiés à tout moment à partir du menu &quot;P
<translation type="vanished">Fichier &apos;%1&apos; chargé.</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="232"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="218"/>
<source>Copied plot screenshot to clipboard!</source>
<translation>Image du graphe copiée dans le presse-papiers !</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="247"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="233"/>
<source>&amp;Update</source>
<translation>&amp;Mise à jour</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="249"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="235"/>
<source>&amp;Update LogarithmPlotter</source>
<translation>&amp;Mettre à jour LogarithmPlotter</translation>
</message>
@ -615,109 +610,109 @@ Ces paramètres peuvent être modifiés à tout moment à partir du menu &quot;P
<name>Settings</name>
<message>
<location filename="../../common/src/preferences/default.mjs" line="23"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="157"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="155"/>
<source>X Zoom</source>
<translation>Zoom en X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="30"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="176"/>
<source>Y Zoom</source>
<translation>Zoom en Y</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="37"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="189"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="197"/>
<source>Min X</source>
<translation>Min X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="44"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="208"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="220"/>
<source>Max Y</source>
<translation>Max Y</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="223"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="240"/>
<source>Max X</source>
<translation>Max X</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="242"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="268"/>
<source>Min Y</source>
<translation>Min Y</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="50"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="260"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="292"/>
<source>X Axis Step</source>
<translation>Pas de l&apos;axe X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="56"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="275"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="311"/>
<source>Y Axis Step</source>
<translation>Pas de l&apos;axe Y</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="62"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="289"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="327"/>
<source>Line width</source>
<translation>Taille des lignes</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="69"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="304"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="344"/>
<source>Text size (px)</source>
<translation>Taille du texte (px)</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="75"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="319"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="361"/>
<source>X Label</source>
<translation>Label de l&apos;axe X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="82"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="345"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="394"/>
<source>Y Label</source>
<translation>Label de l&apos;axe Y</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="89"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="373"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="428"/>
<source>X Log scale</source>
<translation>Échelle logarithmique en X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="95"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="383"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="444"/>
<source>Show X graduation</source>
<translation>Montrer la graduation de l&apos;axe X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="101"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="393"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="456"/>
<source>Show Y graduation</source>
<translation>Montrer la graduation de l&apos;axe Y</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="404"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="468"/>
<source>Copy to clipboard</source>
<translation>Copier vers le presse-papiers</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="413"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="477"/>
<source>Save plot</source>
<translation>Sauvegarder le graphe</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="422"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="486"/>
<source>Save plot as</source>
<translation>Sauvegarder le graphe sous</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="431"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="495"/>
<source>Load plot</source>
<translation>Ouvrir un graphe</translation>
</message>
@ -1163,7 +1158,7 @@ Evaluated expression: %3</source>
Formule analysée : %3</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="53"/>
<source>Error while attempting to draw %1 %2:
%3
@ -1194,7 +1189,7 @@ Evaluated expression: %3</source>
Formule analysée : %3</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="139"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="50"/>
<source>LogarithmPlotter - Drawing error</source>
<translation>LogarithmPlotter - Erreur</translation>
</message>
@ -1323,27 +1318,27 @@ Formule analysée : %3</translation>
<translation type="vanished">&amp;Mettre à jour LogarithmPlotter</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="98"/>
<location filename="../../common/src/module/io.mjs" line="94"/>
<source>Saved plot to &apos;%1&apos;.</source>
<translation>Graphe sauvegardé dans &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="110"/>
<location filename="../../common/src/module/io.mjs" line="106"/>
<source>Loading file &apos;%1&apos;.</source>
<translation>Chargement du fichier &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="154"/>
<location filename="../../common/src/module/io.mjs" line="150"/>
<source>Unknown object type: %1.</source>
<translation>Type d&apos;objet inconnu&#x202f;: %1.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="169"/>
<location filename="../../common/src/module/io.mjs" line="165"/>
<source>Invalid file provided.</source>
<translation>Fichier fourni invalide.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="173"/>
<location filename="../../common/src/module/io.mjs" line="169"/>
<source>Could not load file: </source>
<translation>Impossible de charger le fichier&#xa0;: </translation>
</message>
@ -1352,7 +1347,7 @@ Formule analysée : %3</translation>
<translation type="vanished">Impossible de sauvegarder le fichier&#x202f;: </translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="178"/>
<location filename="../../common/src/module/io.mjs" line="174"/>
<source>Loaded file &apos;%1&apos;.</source>
<translation>Fichier &apos;%1&apos; chargé.</translation>
</message>
@ -1734,6 +1729,11 @@ Vérifiez que votre installation de LaTeX est correcte et signalez un bogue si c
<source>color</source>
<translation type="vanished">Couleur</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>labelContent</source>
<translation>Étiquette</translation>
</message>
</context>
<context>
<name>repartition</name>

View file

@ -67,22 +67,22 @@
<translation>&amp;Visszavonás</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="84"/>
<source>&amp;Redo</source>
<translation>&amp;Ismétlés</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="93"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="91"/>
<source>&amp;Copy plot</source>
<translation>Ábra &amp;solása</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="100"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="98"/>
<source>&amp;Preferences</source>
<translation>&amp;Beállítások</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="108"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="106"/>
<source>&amp;Create</source>
<translation>&amp;Létrehozás</translation>
</message>
@ -123,52 +123,52 @@
<translation type="vanished">Színséma</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="128"/>
<source>&amp;Help</source>
<translation>&amp;Súgó</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="132"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<source>&amp;Source code</source>
<translation>&amp;Forráskód</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="137"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="135"/>
<source>&amp;Report a bug</source>
<translation>&amp;Hiba bejelentése</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="140"/>
<source>&amp;User manual</source>
<translation>&amp;Használati utasítás</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
<source>&amp;Changelog</source>
<translation>&amp;Változásnapló</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="150"/>
<source>&amp;Help translating!</source>
<translation>&amp;Segítség a fordításban!</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="158"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="156"/>
<source>&amp;Thanks</source>
<translation>&amp;Köszönjük</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="163"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="161"/>
<source>&amp;About</source>
<translation>&amp;Névjegy</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="172"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="170"/>
<source>Save unsaved changes?</source>
<translation>Menti a változtatásokat?</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="171"/>
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
<translation>Ez az ábra nem mentett változtatásokat tartalmaz. Ezzel az összes nem mentett adat elveszik. Folytatja?</translation>
</message>
@ -205,12 +205,12 @@
<name>CustomPropertyList</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="196"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="214"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="216"/>
<source>+ Create new %1</source>
<translation>+ Új %1 létrehozása</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="314"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="316"/>
<source>Pick on graph</source>
<translation>Ábra kijelölése</translation>
</message>
@ -238,9 +238,8 @@
<translation>Név</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>Label content</source>
<translation>Címketartalom</translation>
<translation type="vanished">Címketartalom</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="131"/>
@ -405,24 +404,20 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
<context>
<name>HistoryBrowser</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="56"/>
<source>Filter...</source>
<translation>Szűrő</translation>
<translation type="vanished">Szűrő</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="99"/>
<source>Redo &gt;</source>
<translation>Ismétlés &gt;</translation>
<translation type="vanished">Ismétlés &gt;</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="118"/>
<source>&gt; Now</source>
<translation>&gt; Most</translation>
<translation type="vanished">&gt; Most</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="148"/>
<source>&lt; Undo</source>
<translation>&lt; Visszavonás</translation>
<translation type="vanished">&lt; Visszavonás</translation>
</message>
</context>
<context>
@ -475,17 +470,17 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
<translation type="vanished">A(z) %1 fájl betöltve.</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="232"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="218"/>
<source>Copied plot screenshot to clipboard!</source>
<translation>Ábra képernyőkép vágólapra másolva!</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="247"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="233"/>
<source>&amp;Update</source>
<translation>&amp;Frissítés</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="249"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="235"/>
<source>&amp;Update LogarithmPlotter</source>
<translation>A LogarithmPlotter &amp;frissítése</translation>
</message>
@ -613,109 +608,109 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
<name>Settings</name>
<message>
<location filename="../../common/src/preferences/default.mjs" line="23"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="157"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="155"/>
<source>X Zoom</source>
<translation>X-nagyítás</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="30"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="176"/>
<source>Y Zoom</source>
<translation>Y-nagyítás</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="37"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="189"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="197"/>
<source>Min X</source>
<translation>Legkisebb X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="44"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="208"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="220"/>
<source>Max Y</source>
<translation>Legnagyobb Y</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="223"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="240"/>
<source>Max X</source>
<translation>Legnagyobb X</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="242"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="268"/>
<source>Min Y</source>
<translation>Legkisebb Y</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="50"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="260"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="292"/>
<source>X Axis Step</source>
<translation>X tengely lépésköze</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="56"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="275"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="311"/>
<source>Y Axis Step</source>
<translation>Y tengely lépésköze</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="62"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="289"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="327"/>
<source>Line width</source>
<translation>Vonalvastagság</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="69"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="304"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="344"/>
<source>Text size (px)</source>
<translation>Szövegméret (képpont)</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="75"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="319"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="361"/>
<source>X Label</source>
<translation>X címke</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="82"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="345"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="394"/>
<source>Y Label</source>
<translation>Y címke</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="89"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="373"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="428"/>
<source>X Log scale</source>
<translation>X tengely logaritmikus skálával</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="95"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="383"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="444"/>
<source>Show X graduation</source>
<translation>X érettségi megjelenítése</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="101"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="393"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="456"/>
<source>Show Y graduation</source>
<translation>Y érettségi megjelenítése</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="404"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="468"/>
<source>Copy to clipboard</source>
<translation>Másolás a vágólapra</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="413"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="477"/>
<source>Save plot</source>
<translation>Ábra mentése</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="422"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="486"/>
<source>Save plot as</source>
<translation>Ábra mentése másként</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="431"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="495"/>
<source>Load plot</source>
<translation>Ábra megnyitása</translation>
</message>
@ -1160,7 +1155,7 @@ Evaluated expression: %3</source>
Kiértékelt kifejezés: %3</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="53"/>
<source>Error while attempting to draw %1 %2:
%3
@ -1191,7 +1186,7 @@ Evaluated expression: %3</source>
Kiértékelt kifejezés: %3</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="139"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="50"/>
<source>LogarithmPlotter - Drawing error</source>
<translation>LogarithmPlotter - Rajzolási hiba</translation>
</message>
@ -1304,27 +1299,27 @@ Kiértékelt kifejezés: %3</translation>
<translation type="vanished">Előzmények</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="98"/>
<location filename="../../common/src/module/io.mjs" line="94"/>
<source>Saved plot to &apos;%1&apos;.</source>
<translation>Ábra mentve ide: %1.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="110"/>
<location filename="../../common/src/module/io.mjs" line="106"/>
<source>Loading file &apos;%1&apos;.</source>
<translation>A(z) %1 fájl betöltése folyamatban van.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="154"/>
<location filename="../../common/src/module/io.mjs" line="150"/>
<source>Unknown object type: %1.</source>
<translation>Ismeretlen objektumtípus: %1.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="169"/>
<location filename="../../common/src/module/io.mjs" line="165"/>
<source>Invalid file provided.</source>
<translation>A megadott fájl érvénytelen.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="173"/>
<location filename="../../common/src/module/io.mjs" line="169"/>
<source>Could not load file: </source>
<translation type="unfinished"></translation>
</message>
@ -1333,7 +1328,7 @@ Kiértékelt kifejezés: %3</translation>
<translation type="vanished">A fájl mentése nem sikerült: </translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="178"/>
<location filename="../../common/src/module/io.mjs" line="174"/>
<source>Loaded file &apos;%1&apos;.</source>
<translation>A(z) %1 fájl betöltve.</translation>
</message>
@ -1731,6 +1726,11 @@ Kérjük, ellenőrizze, hogy a LaTeX telepítése helyes-e, és ha igen, jelents
<source>color</source>
<translation type="vanished">Szín</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>labelContent</source>
<translation>Címketartalom</translation>
</message>
</context>
<context>
<name>repartition</name>

View file

@ -67,22 +67,22 @@
<translation>&amp;Angre</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="84"/>
<source>&amp;Redo</source>
<translation>&amp;Gjenta</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="93"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="91"/>
<source>&amp;Copy plot</source>
<translation>&amp;Kopier plott</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="100"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="98"/>
<source>&amp;Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="108"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="106"/>
<source>&amp;Create</source>
<translation>&amp;Opprett</translation>
</message>
@ -99,52 +99,52 @@
<translation type="vanished">Tilbakestill angrehistorikk automatisk</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="128"/>
<source>&amp;Help</source>
<translation>&amp;Hjelp</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="132"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<source>&amp;Source code</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="137"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="135"/>
<source>&amp;Report a bug</source>
<translation>&amp;Rapporter en feil</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="140"/>
<source>&amp;User manual</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
<source>&amp;Changelog</source>
<translation>&amp;Endringslogg</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="150"/>
<source>&amp;Help translating!</source>
<translation>&amp;Hjelp til å oversette!</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="158"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="156"/>
<source>&amp;Thanks</source>
<translation>&amp;Erkjennelser</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="163"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="161"/>
<source>&amp;About</source>
<translation>&amp;Om</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="172"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="170"/>
<source>Save unsaved changes?</source>
<translation>Lagre ikke-lagrede endringer?</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="171"/>
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
<translation>Dette plottet inneholder ikke-lagrede endringer. Hvis du gjør dette, vil alle ikke-lagrede data tapt. Fortsette?</translation>
</message>
@ -181,12 +181,12 @@
<name>CustomPropertyList</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="196"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="214"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="216"/>
<source>+ Create new %1</source>
<translation>+ Opprett nytt %1</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="314"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="316"/>
<source>Pick on graph</source>
<translation></translation>
</message>
@ -214,9 +214,8 @@
<translation>Navn</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>Label content</source>
<translation>Etikett-innhold</translation>
<translation type="vanished">Etikett-innhold</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="131"/>
@ -361,24 +360,16 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
<context>
<name>HistoryBrowser</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="56"/>
<source>Filter...</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="99"/>
<source>Redo &gt;</source>
<translation>Angre &gt;</translation>
<translation type="vanished">Angre &gt;</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="118"/>
<source>&gt; Now</source>
<translation>&gt; </translation>
<translation type="vanished">&gt; </translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="148"/>
<source>&lt; Undo</source>
<translation>&lt; Angre</translation>
<translation type="vanished">&lt; Angre</translation>
</message>
</context>
<context>
@ -431,17 +422,17 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
<translation type="vanished">Lastet inn filen «%1».</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="232"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="218"/>
<source>Copied plot screenshot to clipboard!</source>
<translation>Kopierte plott-skjermavbildning til utklippstavlen!</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="247"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="233"/>
<source>&amp;Update</source>
<translation>&amp;Oppdater</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="249"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="235"/>
<source>&amp;Update LogarithmPlotter</source>
<translation>&amp;Installer ny versjon av LogartimePlotter</translation>
</message>
@ -569,109 +560,109 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
<name>Settings</name>
<message>
<location filename="../../common/src/preferences/default.mjs" line="23"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="157"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="155"/>
<source>X Zoom</source>
<translation>X-forstørrelse</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="30"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="176"/>
<source>Y Zoom</source>
<translation>Y-forstørrelse</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="37"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="189"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="197"/>
<source>Min X</source>
<translation>Min. X</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="44"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="208"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="220"/>
<source>Max Y</source>
<translation>Maks. Y</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="223"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="240"/>
<source>Max X</source>
<translation>Maks. X</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="242"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="268"/>
<source>Min Y</source>
<translation>Min. Y</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="50"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="260"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="292"/>
<source>X Axis Step</source>
<translation>X-aksesteg</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="56"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="275"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="311"/>
<source>Y Axis Step</source>
<translation>Y-aksesteg</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="62"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="289"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="327"/>
<source>Line width</source>
<translation>Linjebredde</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="69"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="304"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="344"/>
<source>Text size (px)</source>
<translation>Tekststørrelse (piksler)</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="75"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="319"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="361"/>
<source>X Label</source>
<translation>Navn X-akse</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="82"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="345"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="394"/>
<source>Y Label</source>
<translation>Navn Y-akse</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="89"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="373"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="428"/>
<source>X Log scale</source>
<translation>Logaritmisk skala i x</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="95"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="383"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="444"/>
<source>Show X graduation</source>
<translation>Vis X-inndeling</translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="101"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="393"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="456"/>
<source>Show Y graduation</source>
<translation>Vis Y-inndeling</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="404"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="468"/>
<source>Copy to clipboard</source>
<translation>Kopier til utklippstavle</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="413"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="477"/>
<source>Save plot</source>
<translation type="unfinished">Lagre plott</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="422"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="486"/>
<source>Save plot as</source>
<translation type="unfinished">Lagre plott som</translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="431"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="495"/>
<source>Load plot</source>
<translation type="unfinished">Last inn plott</translation>
</message>
@ -971,7 +962,7 @@ Evaluated expression: %3</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="53"/>
<source>Error while attempting to draw %1 %2:
%3
@ -1122,7 +1113,7 @@ Evaluated expression: %3</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="139"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="50"/>
<source>LogarithmPlotter - Drawing error</source>
<translation></translation>
</message>
@ -1235,27 +1226,27 @@ Evaluated expression: %3</source>
<translation type="vanished">Historikk</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="98"/>
<location filename="../../common/src/module/io.mjs" line="94"/>
<source>Saved plot to &apos;%1&apos;.</source>
<translation>Lagret plott i «%1».</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="110"/>
<location filename="../../common/src/module/io.mjs" line="106"/>
<source>Loading file &apos;%1&apos;.</source>
<translation>Laster inn «%1»-fil.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="154"/>
<location filename="../../common/src/module/io.mjs" line="150"/>
<source>Unknown object type: %1.</source>
<translation>Ukjent objekttype: %1.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="169"/>
<location filename="../../common/src/module/io.mjs" line="165"/>
<source>Invalid file provided.</source>
<translation>Ugyldig fil angitt.</translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="173"/>
<location filename="../../common/src/module/io.mjs" line="169"/>
<source>Could not load file: </source>
<translation type="unfinished"></translation>
</message>
@ -1264,7 +1255,7 @@ Evaluated expression: %3</source>
<translation type="vanished">Kunne ikke lagre fil: </translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="178"/>
<location filename="../../common/src/module/io.mjs" line="174"/>
<source>Loaded file &apos;%1&apos;.</source>
<translation>Lastet inn filen «%1».</translation>
</message>
@ -1641,6 +1632,11 @@ Please make sure your latex installation is correct and report a bug if so.</sou
<source>targetValuePosition</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>labelContent</source>
<translation>Etikett-innhold</translation>
</message>
</context>
<context>
<name>repartition</name>

View file

@ -67,72 +67,72 @@
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="84"/>
<source>&amp;Redo</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="93"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="91"/>
<source>&amp;Copy plot</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="100"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="98"/>
<source>&amp;Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="108"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="106"/>
<source>&amp;Create</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="128"/>
<source>&amp;Help</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="132"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<source>&amp;Source code</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="137"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="135"/>
<source>&amp;Report a bug</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="140"/>
<source>&amp;User manual</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
<source>&amp;Changelog</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="150"/>
<source>&amp;Help translating!</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="158"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="156"/>
<source>&amp;Thanks</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="163"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="161"/>
<source>&amp;About</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="172"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="170"/>
<source>Save unsaved changes?</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="171"/>
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
<translation></translation>
</message>
@ -162,12 +162,12 @@
<name>CustomPropertyList</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="196"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="214"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="216"/>
<source>+ Create new %1</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="314"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/CustomPropertyList.qml" line="316"/>
<source>Pick on graph</source>
<translation></translation>
</message>
@ -194,11 +194,6 @@
<source>Name</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>Label content</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="131"/>
<source>null</source>
@ -294,29 +289,6 @@
<translation></translation>
</message>
</context>
<context>
<name>HistoryBrowser</name>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="56"/>
<source>Filter...</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="99"/>
<source>Redo &gt;</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="118"/>
<source>&gt; Now</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml" line="148"/>
<source>&lt; Undo</source>
<translation></translation>
</message>
</context>
<context>
<name>ListSetting</name>
<message>
@ -343,17 +315,17 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="232"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="218"/>
<source>Copied plot screenshot to clipboard!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="247"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="233"/>
<source>&amp;Update</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="249"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="235"/>
<source>&amp;Update LogarithmPlotter</source>
<translation type="unfinished"></translation>
</message>
@ -457,109 +429,109 @@
<name>Settings</name>
<message>
<location filename="../../common/src/preferences/default.mjs" line="23"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="157"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="155"/>
<source>X Zoom</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="30"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="173"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="176"/>
<source>Y Zoom</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="37"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="189"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="197"/>
<source>Min X</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="44"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="208"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="220"/>
<source>Max Y</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="223"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="240"/>
<source>Max X</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="242"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="268"/>
<source>Min Y</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="50"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="260"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="292"/>
<source>X Axis Step</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="56"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="275"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="311"/>
<source>Y Axis Step</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="62"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="289"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="327"/>
<source>Line width</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="69"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="304"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="344"/>
<source>Text size (px)</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="75"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="319"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="361"/>
<source>X Label</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="82"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="345"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="394"/>
<source>Y Label</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="89"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="373"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="428"/>
<source>X Log scale</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="95"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="383"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="444"/>
<source>Show X graduation</source>
<translation></translation>
</message>
<message>
<location filename="../../common/src/preferences/default.mjs" line="101"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="393"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="456"/>
<source>Show Y graduation</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="404"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="468"/>
<source>Copy to clipboard</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="413"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="477"/>
<source>Save plot</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="422"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="486"/>
<source>Save plot as</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="431"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="495"/>
<source>Load plot</source>
<translation></translation>
</message>
@ -859,7 +831,7 @@ Evaluated expression: %3</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="142"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="53"/>
<source>Error while attempting to draw %1 %2:
%3
@ -1010,7 +982,7 @@ Evaluated expression: %3</source>
<translation></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="139"/>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogGraphCanvas.qml" line="50"/>
<source>LogarithmPlotter - Drawing error</source>
<translation></translation>
</message>
@ -1069,32 +1041,32 @@ Evaluated expression: %3</source>
<context>
<name>io</name>
<message>
<location filename="../../common/src/module/io.mjs" line="98"/>
<location filename="../../common/src/module/io.mjs" line="94"/>
<source>Saved plot to &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="110"/>
<location filename="../../common/src/module/io.mjs" line="106"/>
<source>Loading file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="154"/>
<location filename="../../common/src/module/io.mjs" line="150"/>
<source>Unknown object type: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="169"/>
<location filename="../../common/src/module/io.mjs" line="165"/>
<source>Invalid file provided.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="173"/>
<location filename="../../common/src/module/io.mjs" line="169"/>
<source>Could not load file: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../common/src/module/io.mjs" line="178"/>
<location filename="../../common/src/module/io.mjs" line="174"/>
<source>Loaded file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
@ -1448,6 +1420,11 @@ Please make sure your latex installation is correct and report a bug if so.</sou
<source>targetValuePosition</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../runtime-pyside6/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/Editor/Dialog.qml" line="130"/>
<source>labelContent</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>sequence</name>

View file

@ -54,29 +54,40 @@ export class BaseEventEmitter {
* @param {function(BaseEvent)} eventListener - The function to be called back when the event is emitted.
*/
on(eventType, eventListener) {
if(!this.constructor.emits.includes(eventType)) {
const className = this.constructor.name
const eventTypes = this.constructor.emits.join(", ")
throw new Error(`Cannot listen to unknown event ${eventType} in class ${className}. ${className} only emits: ${eventTypes}`)
if(eventType.includes(" ")) // Listen to several different events with the same listener.
for(const type of eventType.split(" "))
this.on(type, eventListener)
else {
if(!this.constructor.emits.includes(eventType)) {
const className = this.constructor.name
const eventTypes = this.constructor.emits.join(", ")
throw new Error(`Cannot listen to unknown event ${eventType} in class ${className}. ${className} only emits: ${eventTypes}`)
}
if(!this.#listeners[eventType].has(eventListener))
this.#listeners[eventType].add(eventListener)
}
if(!this.#listeners[eventType].has(eventListener))
this.#listeners[eventType].add(eventListener)
}
/**
* Remvoes a listener from an event that can be emitted by this object.
* Removes a listener from an event that can be emitted by this object.
*
* @param {string} eventType - Name of the event that was listened to. Throws an error if this object does not emit this kind of event.
* @param {function(BaseEvent)} eventListener - The function previously registered as a listener.
* @returns {boolean} True if the listener was removed, false if it was not found.
*/
off(eventType, eventListener) {
if(!this.constructor.emits.includes(eventType)) {
const className = this.constructor.name
const eventTypes = this.constructor.emits.join(", ")
throw new Error(`Cannot listen to unknown event ${eventType} in class ${className}. ${className} only emits: ${eventTypes}`)
if(eventType.includes(" ")) { // Unlisten to several different events with the same listener.
let found = false
for(const type of eventType.split(" "))
found ||= this.off(eventType, eventListener)
} else {
if(!this.constructor.emits.includes(eventType)) {
const className = this.constructor.name
const eventTypes = this.constructor.emits.join(", ")
throw new Error(`Cannot listen to unknown event ${eventType} in class ${className}. ${className} only emits: ${eventTypes}`)
}
return this.#listeners[eventType].delete(eventListener)
}
return this.#listeners[eventType].delete(eventListener)
}
/**

View file

@ -67,6 +67,19 @@ function stringReplaceAll(from, to) {
return this.split(from).join(to)
}
/**
* Returns the value of an element of the array at a given index.
* Accepts negative indexes.
* @this {Array|string}
* @param {number} index
* @return {*}
*/
function arrayAt(index) {
if(typeof index !== "number")
throw new Error(`${index} is not a number`)
return index >= 0 ? this[index] : this[this.length + index]
}
const polyfills = {
2017: [
@ -95,8 +108,8 @@ const polyfills = {
[String.prototype, "replaceAll", stringReplaceAll]
],
2022: [
[Array.prototype, "at", notPolyfilled("Array.prototype.at")],
[String.prototype, "at", notPolyfilled("String.prototype.at")],
[Array.prototype, "at", arrayAt],
[String.prototype, "at", arrayAt],
[Object, "hasOwn", notPolyfilled("Object.hasOwn")]
],
2023: [

View file

@ -17,60 +17,164 @@
*/
import { Module } from "./common.mjs"
import { HistoryInterface, NUMBER, STRING } from "./interface.mjs"
import { HelperInterface, HistoryInterface, NUMBER, STRING } from "./interface.mjs"
import { BaseEvent } from "../events.mjs"
import { Action, Actions } from "../history/index.mjs"
class ClearedEvent extends BaseEvent {
constructor() {
super("cleared")
}
}
class LoadedEvent extends BaseEvent {
constructor() {
super("loaded")
}
}
class AddedEvent extends BaseEvent {
constructor(action) {
super("added")
this.action = action
}
}
class UndoneEvent extends BaseEvent {
constructor(action) {
super("undone")
this.undid = action
}
}
class RedoneEvent extends BaseEvent {
constructor(action) {
super("redone")
this.redid = action
}
}
class HistoryAPI extends Module {
static emits = ["cleared", "loaded", "added", "undone", "redone"]
#helper
constructor() {
super("History", {
historyObj: HistoryInterface,
helper: HelperInterface,
themeTextColor: STRING,
imageDepth: NUMBER,
fontSize: NUMBER
})
// History QML object
this.history = null
/** @type {Action[]} */
this.undoStack = []
/** @type {Action[]} */
this.redoStack = []
this.themeTextColor = "#FF0000"
this.imageDepth = 2
this.fontSize = 28
}
initialize({ historyObj, themeTextColor, imageDepth, fontSize }) {
super.initialize({ historyObj, themeTextColor, imageDepth, fontSize })
this.history = historyObj
/**
* @param {HelperInterface} historyObj
* @param {string} themeTextColor
* @param {number} imageDepth
* @param {number} fontSize
*/
initialize({ helper, themeTextColor, imageDepth, fontSize }) {
super.initialize({ helper, themeTextColor, imageDepth, fontSize })
this.#helper = helper
this.themeTextColor = themeTextColor
this.imageDepth = imageDepth
this.fontSize = fontSize
}
/**
* Undoes the Action at the top of the undo stack and pushes it to the top of the redo stack.
*/
undo() {
if(!this.initialized) throw new Error("Attempting undo before initialize!")
this.history.undo()
if(this.undoStack.length > 0) {
const action = this.undoStack.pop()
action.undo()
this.redoStack.push(action)
this.emit(new UndoneEvent(action))
}
}
/**
* Redoes the Action at the top of the redo stack and pushes it to the top of the undo stack.
*/
redo() {
if(!this.initialized) throw new Error("Attempting redo before initialize!")
this.history.redo()
if(this.redoStack.length > 0) {
const action = this.redoStack.pop()
action.redo()
this.undoStack.push(action)
this.emit(new RedoneEvent(action))
}
}
/**
* Clears both undo and redo stacks completely.
*/
clear() {
if(!this.initialized) throw new Error("Attempting clear before initialize!")
this.history.clear()
this.undoStack = []
this.redoStack = []
this.emit(new ClearedEvent())
}
/**
* Adds an instance of HistoryLib.Action to history.
* @param action
*/
addToHistory(action) {
if(!this.initialized) throw new Error("Attempting addToHistory before initialize!")
this.history.addToHistory(action)
if(action instanceof Action) {
console.log("Added new entry to history: " + action.getReadableString())
this.undoStack.push(action)
if(this.#helper.getSettingBool("reset_redo_stack"))
this.redoStack = []
this.emit(new AddedEvent(action))
}
}
unserialize(...data) {
/**
* Unserializes both the undo stack and redo stack from serialized content.
* @param {[string, any[]][]} undoSt
* @param {[string, any[]][]} redoSt
*/
unserialize(undoSt, redoSt) {
if(!this.initialized) throw new Error("Attempting unserialize before initialize!")
this.history.unserialize(...data)
this.clear()
for(const [name, args] of undoSt)
this.undoStack.push(
new Actions[name](...args)
)
for(const [name, args] of redoSt)
this.redoStack.push(
new Actions[name](...args)
)
this.emit(new LoadedEvent())
}
/**
* Serializes history into JSON-able content.
* @return {[[string, any[]], [string, any[]]]}
*/
serialize() {
if(!this.initialized) throw new Error("Attempting serialize before initialize!")
return this.history.serialize()
let undoSt = [], redoSt = [];
for(const action of this.undoStack)
undoSt.push([ action.type(), action.export() ])
for(const action of this.redoStack)
redoSt.push([ action.type(), action.export() ])
return [undoSt, redoSt]
}
}

View file

@ -60,24 +60,6 @@ export class Interface {
}
export class SettingsInterface extends Interface {
width = NUMBER
height = NUMBER
xmin = NUMBER
ymax = NUMBER
xzoom = NUMBER
yzoom = NUMBER
xaxisstep = STRING
yaxisstep = STRING
xlabel = STRING
ylabel = STRING
linewidth = NUMBER
textsize = NUMBER
logscalex = BOOLEAN
showxgrad = BOOLEAN
showygrad = BOOLEAN
}
export class CanvasInterface extends Interface {
imageLoaders = OBJECT
/** @type {function(string): CanvasRenderingContext2D} */
@ -97,7 +79,6 @@ export class CanvasInterface extends Interface {
export class RootInterface extends Interface {
width = NUMBER
height = NUMBER
updateObjectsLists = FUNCTION
}
export class DialogInterface extends Interface {

View file

@ -21,27 +21,59 @@ import Objects from "./objects.mjs"
import History from "./history.mjs"
import Canvas from "./canvas.mjs"
import Settings from "./settings.mjs"
import { DialogInterface, RootInterface, SettingsInterface } from "./interface.mjs"
import { DialogInterface, RootInterface } from "./interface.mjs"
import { BaseEvent } from "../events.mjs"
class LoadedEvent extends BaseEvent {
constructor() {
super("loaded")
}
}
class SavedEvent extends BaseEvent {
constructor() {
super("saved")
}
}
class ModifiedEvent extends BaseEvent {
constructor() {
super("modified")
}
}
class IOAPI extends Module {
static emits = ["loaded", "saved", "modified"]
/** @type {RootInterface} */
#rootElement
/** @type {{show: function(string)}} */
#alert
#saved = true
constructor() {
super("IO", {
alert: DialogInterface,
root: RootInterface
})
/**
* Path of the currently opened file. Empty if no file is opened.
* @type {string}
*/
this.saveFileName = ""
// Settings.on("changed", this.__emitModified.bind(this))
History.on("added undone redone", this.__emitModified.bind(this))
}
__emitModified() {
this.#saved = false
this.emit(new ModifiedEvent())
}
/**
* True if no changes have been made since last save, false otherwise.
* @return {boolean}
*/
get saved() { return this.#saved }
/**
* Initializes module with QML elements.
* @param {RootInterface} root
@ -92,7 +124,8 @@ class IOAPI extends Module {
}
Helper.write(filename, JSON.stringify(settings))
this.#alert.show(qsTranslate("io", "Saved plot to '%1'.").arg(filename.split("/").pop()))
History.history.saved = true
this.#saved = true
this.emit(new SavedEvent())
}
/**
@ -159,8 +192,6 @@ class IOAPI extends Module {
if("history" in data)
History.unserialize(...data["history"])
// Refreshing sidebar
this.#rootElement.updateObjectsLists()
} else {
error = qsTranslate("io", "Invalid file provided.")
}
@ -172,7 +203,8 @@ class IOAPI extends Module {
}
Canvas.redraw()
this.#alert.show(qsTranslate("io", "Loaded file '%1'.").arg(basename))
History.history.saved = true
this.#saved = true
this.emit(new LoadedEvent())
}
}

View file

@ -73,6 +73,10 @@ class SettingsAPI extends Module {
})
}
/**
*
* @param {HelperInterface} helper
*/
initialize({ helper }) {
super.initialize({ helper })
// Initialize default values.

View file

@ -63,7 +63,7 @@ export default class BodePhase extends ExecutableObject {
// Create new point
om_0 = Objects.createNewRegisteredObject("Point", [Objects.getNewName("ω"), this.color, "name"])
om_0.labelPosition = this.phase.execute() >= 0 ? "above" : "below"
History.history.addToHistory(new CreateNewObject(om_0.name, "Point", om_0.export()))
History.addToHistory(new CreateNewObject(om_0.name, "Point", om_0.export()))
labelPosition = "below"
}
om_0.requiredBy.push(this)

View file

@ -76,18 +76,16 @@ MenuBar {
Action {
text: qsTr("&Undo")
shortcut: StandardKey.Undo
onTriggered: history.undo()
onTriggered: Modules.History.undo()
icon.name: 'edit-undo'
icon.color: enabled ? sysPalette.windowText : sysPaletteIn.windowText
enabled: history.undoCount > 0
}
Action {
text: qsTr("&Redo")
shortcut: StandardKey.Redo
onTriggered: history.redo()
onTriggered: Modules.History.redo()
icon.name: 'edit-redo'
icon.color: enabled ? sysPalette.windowText : sysPaletteIn.windowText
enabled: history.redoCount > 0
}
Action {
text: qsTr("&Copy plot")
@ -119,7 +117,7 @@ MenuBar {
icon.color: sysPalette.buttonText
onTriggered: {
var newObj = Modules.Objects.createNewRegisteredObject(modelData)
history.addToHistory(new JS.HistoryLib.CreateNewObject(newObj.name, modelData, newObj.export()))
Modules.History.addToHistory(new JS.HistoryLib.CreateNewObject(newObj.name, modelData, newObj.export()))
objectLists.update()
}
}

View file

@ -1,222 +0,0 @@
/**
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and distribution functions.
* Copyright (C) 2021-2024 Ad5001
*
* 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 3 of the License, or
* (at your option) any later version.
*
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import QtQuick
import QtQml
import QtQuick.Window
import "../js/index.mjs" as JS
/*!
\qmltype History
\inqmlmodule eu.ad5001.LogarithmPlotter.History
\brief QObject holding persistantly for undo & redo stacks.
\sa HistoryBrowser, HistoryLib
*/
Item {
// Using a QtObject is necessary in order to have proper property propagation in QML
id: historyObj
/*!
\qmlproperty int History::undoCount
Count of undo actions.
*/
property int undoCount: 0
/*!
\qmlproperty int History::redoCount
Count of redo actions.
*/
property int redoCount: 0
/*!
\qmlproperty var History::undoStack
Stack of undo actions.
*/
property var undoStack: []
/*!
\qmlproperty var History::redoStack
Stack of redo actions.
*/
property var redoStack: []
/*!
\qmlproperty bool History::saved
true when no modification was done to the current working file, false otherwise.
*/
property bool saved: true
/*!
\qmlmethod void History::clear()
Clears both undo and redo stacks completly.
*/
function clear() {
undoCount = 0
redoCount = 0
undoStack = []
redoStack = []
}
/*!
\qmlmethod var History::serialize()
Serializes history into JSON-able content.
*/
function serialize() {
let undoSt = [], redoSt = [];
for(let i = 0; i < undoCount; i++)
undoSt.push([
undoStack[i].type(),
undoStack[i].export()
]);
for(let i = 0; i < redoCount; i++)
redoSt.push([
redoStack[i].type(),
redoStack[i].export()
]);
return [undoSt, redoSt]
}
/*!
\qmlmethod void History::unserialize(var undoSt, var redoSt)
Unserializes both \c undoSt stack and \c redoSt stack from serialized content.
*/
function unserialize(undoSt, redoSt) {
clear();
for(let i = 0; i < undoSt.length; i++)
undoStack.push(new JS.HistoryLib.Actions[undoSt[i][0]](...undoSt[i][1]))
for(let i = 0; i < redoSt.length; i++)
redoStack.push(new JS.HistoryLib.Actions[redoSt[i][0]](...redoSt[i][1]))
undoCount = undoSt.length;
redoCount = redoSt.length;
objectLists.update()
}
/*!
\qmlmethod void History::addToHistory(var action)
Adds an instance of HistoryLib.Action to history.
*/
function addToHistory(action) {
if(action instanceof JS.HistoryLib.Action) {
console.log("Added new entry to history: " + action.getReadableString())
undoStack.push(action)
undoCount++;
if(Helper.getSettingBool("reset_redo_stack")) {
redoStack = []
redoCount = 0
}
saved = false
}
}
/*!
\qmlmethod void History::undo(bool updateObjectList = true)
Undoes the HistoryLib.Action at the top of the undo stack and pushes it to the top of the redo stack.
By default, will update the graph and the object list. This behavior can be disabled by setting the \c updateObjectList to false.
*/
function undo(updateObjectList = true) {
if(undoStack.length > 0) {
var action = undoStack.pop()
action.undo()
if(updateObjectList)
objectLists.update()
redoStack.push(action)
undoCount--;
redoCount++;
saved = false
}
}
/*!
\qmlmethod void History::redo(bool updateObjectList = true)
Redoes the HistoryLib.Action at the top of the redo stack and pushes it to the top of the undo stack.
By default, will update the graph and the object list. This behavior can be disabled by setting the \c updateObjectList to false.
*/
function redo(updateObjectList = true) {
if(redoStack.length > 0) {
var action = redoStack.pop()
action.redo()
if(updateObjectList)
objectLists.update()
undoStack.push(action)
undoCount++;
redoCount--;
saved = false
}
}
/*!
\qmlmethod void History::undoMultipleDefered(int toUndoCount)
Undoes several HistoryLib.Action at the top of the undo stack and pushes them to the top of the redo stack.
It undoes them deferedly to avoid overwhelming the computer while creating a cool short accelerated summary of all changes.
*/
function undoMultipleDefered(toUndoCount) {
undoTimer.toUndoCount = toUndoCount;
undoTimer.start()
if(toUndoCount > 0)
saved = false
}
/*!
\qmlmethod void History::redoMultipleDefered(int toRedoCount)
Redoes several HistoryLib.Action at the top of the redo stack and pushes them to the top of the undo stack.
It redoes them deferedly to avoid overwhelming the computer while creating a cool short accelerated summary of all changes.
*/
function redoMultipleDefered(toRedoCount) {
redoTimer.toRedoCount = toRedoCount;
redoTimer.start()
if(toRedoCount > 0)
saved = false
}
Timer {
id: undoTimer
interval: 5; running: false; repeat: true
property int toUndoCount: 0
onTriggered: {
if(toUndoCount > 0) {
historyObj.undo(toUndoCount % 4 == 1) // Only redraw once every 4 changes.
toUndoCount--;
} else {
running = false;
}
}
}
Timer {
id: redoTimer
interval: 5; running: false; repeat: true
property int toRedoCount: 0
onTriggered: {
if(toRedoCount > 0) {
historyObj.redo(toRedoCount % 4 == 1) // Only redraw once every 4 changes.
toRedoCount--;
} else {
running = false;
}
}
}
Component.onCompleted: {
Modules.History.initialize({
historyObj,
themeTextColor: sysPalette.windowText.toString(),
imageDepth: Screen.devicePixelRatio,
fontSize: 14
})
}
}

View file

@ -16,6 +16,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
pragma ComponentBehavior: Bound
import QtQuick.Controls
import QtQuick
import eu.ad5001.LogarithmPlotter.Setting 1.0 as Setting
@ -47,6 +49,18 @@ Item {
*/
property bool darkTheme: isDarkTheme()
/*!
\qmlproperty int HistoryBrowser::undoCount
Number of actions in the undo stack.
*/
property int undoCount: 0
/*!
\qmlproperty int HistoryBrowser::redoCount
Number of actions in the redo stack.
*/
property int redoCount: 0
Setting.TextSetting {
id: filterInput
anchors.left: parent.left
@ -76,19 +90,22 @@ Item {
id: redoColumn
anchors.right: parent.right
anchors.top: parent.top
width: actionWidth
width: historyBrowser.actionWidth
Repeater {
model: history.redoCount
model: historyBrowser.redoCount
HistoryItem {
id: redoButton
width: actionWidth
width: historyBrowser.actionWidth
//height: actionHeight
isRedo: true
idx: index
darkTheme: historyBrowser.darkTheme
hidden: !(filterInput.value == "" || content.includes(filterInput.value))
onClicked: {
redoTimer.toRedoCount = Modules.History.redoStack.length-index
redoTimer.start()
}
}
}
}
@ -101,14 +118,14 @@ Item {
transform: Rotation { origin.x: 30; origin.y: 30; angle: 270}
height: 70
width: 20
visible: history.redoCount > 0
visible: historyBrowser.redoCount > 0
}
Rectangle {
id: nowRect
anchors.right: parent.right
anchors.top: redoColumn.bottom
width: actionWidth
width: historyBrowser.actionWidth
height: 40
color: sysPalette.highlight
Text {
@ -124,20 +141,24 @@ Item {
id: undoColumn
anchors.right: parent.right
anchors.top: nowRect.bottom
width: actionWidth
width: historyBrowser.actionWidth
Repeater {
model: history.undoCount
model: historyBrowser.undoCount
HistoryItem {
id: undoButton
width: actionWidth
width: historyBrowser.actionWidth
//height: actionHeight
isRedo: false
idx: index
darkTheme: historyBrowser.darkTheme
hidden: !(filterInput.value == "" || content.includes(filterInput.value))
onClicked: {
undoTimer.toUndoCount = +index+1
undoTimer.start()
}
}
}
}
@ -150,7 +171,39 @@ Item {
transform: Rotation { origin.x: 30; origin.y: 30; angle: 270}
height: 60
width: 20
visible: history.undoCount > 0
visible: historyBrowser.undoCount > 0
}
}
}
Timer {
id: undoTimer
interval: 5; running: false; repeat: true
property int toUndoCount: 0
onTriggered: {
if(toUndoCount > 0) {
Modules.History.undo()
if(toUndoCount % 3 === 1)
Modules.Canvas.requestPaint()
toUndoCount--;
} else {
running = false;
}
}
}
Timer {
id: redoTimer
interval: 5; running: false; repeat: true
property int toRedoCount: 0
onTriggered: {
if(toRedoCount > 0) {
Modules.History.redo()
if(toRedoCount % 3 === 1)
Modules.Canvas.requestPaint()
toRedoCount--;
} else {
running = false;
}
}
}
@ -163,6 +216,18 @@ Item {
let hex = sysPalette.windowText.toString()
// We only check the first parameter, as on all normal OSes, text color is grayscale.
return parseInt(hex.substr(1,2), 16) > 128
}
Component.onCompleted: {
Modules.History.initialize({
helper: Helper,
themeTextColor: sysPalette.windowText.toString(),
imageDepth: Screen.devicePixelRatio,
fontSize: 14
})
Modules.History.on("cleared loaded added undone redone", () => {
undoCount = Modules.History.undoStack.length
redoCount = Modules.History.redoStack.length
})
}
}

View file

@ -41,17 +41,17 @@ Button {
\qmlproperty bool HistoryItem::isRedo
true if the action is in the redo stack, false othewise.
*/
property bool isRedo
required property bool isRedo
/*!
\qmlproperty int HistoryItem::idx
\qmlproperty int HistoryItem::index
Index of the item within the HistoryBrowser list.
*/
property int idx
required property int index
/*!
\qmlproperty bool HistoryItem::darkTheme
true when the system is running with a dark theme, false otherwise.
*/
property bool darkTheme
required property bool darkTheme
/*!
\qmlproperty bool HistoryItem::hidden
true when the item is filtered out, false otherwise.
@ -61,7 +61,7 @@ Button {
\qmlproperty int HistoryItem::historyAction
Associated history action.
*/
readonly property var historyAction: isRedo ? history.redoStack[idx] : history.undoStack[history.undoCount-idx-1]
readonly property var historyAction: isRedo ? Modules.History.redoStack.at(index) : Modules.History.undoStack.at(-index-1)
/*!
\qmlproperty int HistoryItem::actionHeight
@ -147,13 +147,6 @@ Button {
ToolTip.visible: hovered
ToolTip.delay: 200
ToolTip.text: content
onClicked: {
if(isRedo)
history.redoMultipleDefered(history.redoCount-idx)
else
history.undoMultipleDefered(+idx+1)
}
}

View file

@ -1,5 +1,4 @@
module eu.ad5001.LogarithmPlotter.History
History 1.0 History.qml
HistoryBrowser 1.0 HistoryBrowser.qml
HistoryItem 1.0 HistoryItem.qml

View file

@ -42,7 +42,7 @@ ApplicationWindow {
width: 1000
height: 500
color: sysPalette.window
title: "LogarithmPlotter"
title: qsTr("untitled")
SystemPalette { id: sysPalette; colorGroup: SystemPalette.Active }
SystemPalette { id: sysPaletteIn; colorGroup: SystemPalette.Disabled }
@ -51,8 +51,6 @@ ApplicationWindow {
AppMenuBar {id: appMenu}
History { id: history }
Popup.GreetScreen {}
Popup.Preferences {id: preferences}
@ -185,7 +183,7 @@ ApplicationWindow {
}
onClosing: function(close) {
if(!history.saved) {
if(!Modules.IO.saved) {
close.accepted = false
appMenu.openSaveUnsavedChangesDialog()
}
@ -254,8 +252,20 @@ ApplicationWindow {
if(evt.property === "saveFilename") {
const fileName = evt.newValue.split('/').pop().split('\\').pop()
if(fileName !== "")
title = `${fileName}`
title = fileName
}
})
Modules.IO.on("saved loaded", (evt) => {
// Refreshing sidebar
console.log(evt.name)
updateObjectsLists()
if(title.endsWith("*"))
title = title.substring(0, title.length-1)
})
Modules.IO.on("modified", () => {
console.log("modified")
if(!title.endsWith("*"))
title = title+"*"
})
}
}

View file

@ -80,7 +80,7 @@ Repeater {
variables: propertyType.variables
onChanged: function(newExpr) {
if(obj[propertyName].toString() != newExpr.toString()) {
history.addToHistory(new JS.HistoryLib.EditedProperty(
Modules.History.addToHistory(new JS.HistoryLib.EditedProperty(
obj.name, objType, propertyName,
obj[propertyName], newExpr
))
@ -123,7 +123,7 @@ Repeater {
// Ensuring old and new values are different to prevent useless adding to history.
if(obj[propertyName] != newValueParsed) {
history.addToHistory(new JS.HistoryLib.EditedProperty(
Modules.History.addToHistory(new JS.HistoryLib.EditedProperty(
obj.name, objType, propertyName,
obj[propertyName], newValueParsed
))
@ -168,7 +168,7 @@ Repeater {
return obj[propertyName]
}
onClicked: {
history.addToHistory(new JS.HistoryLib.EditedProperty(
Modules.History.addToHistory(new JS.HistoryLib.EditedProperty(
obj.name, objType, propertyName,
obj[propertyName], this.checked
))
@ -209,7 +209,9 @@ Repeater {
if(selectedObj == null) {
// Creating new object.
selectedObj = Modules.Objects.createNewRegisteredObject(propertyType.objType)
history.addToHistory(new JS.HistoryLib.CreateNewObject(selectedObj.name, propertyType.objType, selectedObj.export()))
Modules.History.addToHistory(
new JS.HistoryLib.CreateNewObject(selectedObj.name, propertyType.objType, selectedObj.export())
)
baseModel = Modules.Objects.getObjectsName(propertyType.objType).concat(
isRealObject ? [qsTr("+ Create new %1").arg(Modules.Objects.types[propertyType.objType].displayType())] :
[])
@ -219,14 +221,14 @@ Repeater {
//Modules.Objects.currentObjects[objType][objIndex].requiredBy = obj[propertyName].filter((obj) => obj.name != obj.name)
}
obj.requiredBy = obj.requiredBy.filter((obj) => obj.name != obj.name)
history.addToHistory(new JS.HistoryLib.EditedProperty(
Modules.History.addToHistory(new JS.HistoryLib.EditedProperty(
obj.name, objType, propertyName,
obj[propertyName], selectedObj
))
obj[propertyName] = selectedObj
} else if(baseModel[newIndex] != obj[propertyName]) {
// Ensuring new property is different to not add useless history entries.
history.addToHistory(new JS.HistoryLib.EditedProperty(
Modules.History.addToHistory(new JS.HistoryLib.EditedProperty(
obj.name, objType, propertyName,
obj[propertyName], baseModel[newIndex]
))
@ -256,7 +258,7 @@ Repeater {
onChanged: {
var exported = exportModel()
history.addToHistory(new JS.HistoryLib.EditedProperty(
Modules.History.addToHistory(new JS.HistoryLib.EditedProperty(
obj.name, objType, propertyName,
obj[propertyName], exported
))

View file

@ -112,7 +112,7 @@ Popup.BaseDialog {
if(newName in Modules.Objects.currentObjectsByName) {
invalidNameDialog.showDialog(newName)
} else {
history.addToHistory(new JS.HistoryLib.NameChanged(
Modules.History.addToHistory(new JS.HistoryLib.NameChanged(
objEditor.obj.name, objEditor.objType, newName
))
Modules.Objects.renameObject(obj.name, newName)
@ -127,13 +127,17 @@ Popup.BaseDialog {
id: labelContentProperty
height: 30
width: dlgProperties.width
label: qsTr("Label content")
label: qsTranslate("prop", "labelContent")
model: [qsTr("null"), qsTr("name"), qsTr("name + value")]
property var idModel: ["null", "name", "name + value"]
icon: "common/label.svg"
currentIndex: idModel.indexOf(objEditor.obj.labelContent)
onActivated: function(newIndex) {
if(idModel[newIndex] != objEditor.obj.labelContent) {
Modules.History.addToHistory(new JS.HistoryLib.EditedProperty(
obj.name, objType, "labelContent",
objEditor.obj.labelContent, idModel[newIndex]
))
objEditor.obj.labelContent = idModel[newIndex]
objEditor.obj.update()
objectListList.update()

View file

@ -104,7 +104,9 @@ Column {
onClicked: {
let newObj = Modules.Objects.createNewRegisteredObject(modelData)
history.addToHistory(new JS.HistoryLib.CreateNewObject(newObj.name, modelData, newObj.export()))
Modules.History.addToHistory(new JS.HistoryLib.CreateNewObject(
newObj.name, modelData, newObj.export()
))
objectLists.update()
let hasXProp = newObj.constructor.properties().hasOwnProperty('x')

View file

@ -72,7 +72,7 @@ Item {
anchors.left: parent.left
anchors.leftMargin: 5
onClicked: {
history.addToHistory(new JS.HistoryLib.EditedVisibility(
Modules.History.addToHistory(new JS.HistoryLib.EditedVisibility(
obj.name, obj.type, this.checked
))
obj.visible = this.checked
@ -212,7 +212,7 @@ Item {
selectedColor: obj.color
title: qsTr("Pick new color for %1 %2").arg(obj.constructor.displayType()).arg(obj.name)
onAccepted: {
history.addToHistory(new JS.HistoryLib.ColorChanged(
Modules.History.addToHistory(new JS.HistoryLib.ColorChanged(
obj.name, obj.type, obj.color, selectedColor.toString()
))
obj.color = selectedColor.toString()
@ -231,7 +231,7 @@ Item {
// Object still exists
// Temporary fix for objects require not being propertly updated.
object.requiredBy = []
history.addToHistory(new JS.HistoryLib.DeleteObject(
Modules.History.addToHistory(new JS.HistoryLib.DeleteObject(
object.name, object.type, object.export()
))
Modules.Objects.deleteObject(object.name)

View file

@ -115,7 +115,7 @@ Item {
let obj = Modules.Objects.currentObjectsByName[objName]
// Set values
if(parent.userPickX && parent.userPickY) {
history.addToHistory(new JS.HistoryLib.EditedPosition(
Modules.History.addToHistory(new JS.HistoryLib.EditedPosition(
objName, objType, obj[propertyX], newValueX, obj[propertyY], newValueY
))
obj[propertyX] = newValueX
@ -124,7 +124,7 @@ Item {
objectLists.update()
pickerRoot.picked(obj)
} else if(parent.userPickX) {
history.addToHistory(new JS.HistoryLib.EditedProperty(
Modules.History.addToHistory(new JS.HistoryLib.EditedProperty(
objName, objType, propertyX, obj[propertyX], newValueX
))
obj[propertyX] = newValueX
@ -132,7 +132,7 @@ Item {
objectLists.update()
pickerRoot.picked(obj)
} else if(parent.userPickY) {
history.addToHistory(new JS.HistoryLib.EditedProperty(
Modules.History.addToHistory(new JS.HistoryLib.EditedProperty(
objName, objType, propertyY, obj[propertyY], newValueY
))
obj[propertyY] = newValueY