Fixing bugs related to property changes in history with enum, object & list properties
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
7a25ba2f7a
commit
0e2c1bdae4
9 changed files with 69 additions and 46 deletions
|
@ -569,27 +569,27 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>historylib</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="78"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="79"/>
|
||||
<source>New %1 %2 created.</source>
|
||||
<translation>Neu %1 %2 erstellt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="95"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="96"/>
|
||||
<source>%1 %2 deleted.</source>
|
||||
<translation>%1 %2 gelöscht.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="149"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="172"/>
|
||||
<source>%1 of %2 %3 changed from "%4" to "%5".</source>
|
||||
<translation>%1 von %2 %3 wurde von "%4" auf "%5" geändert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="166"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="189"/>
|
||||
<source>%1 %2 shown.</source>
|
||||
<translation>%1 %2 angezeigt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="168"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="191"/>
|
||||
<source>%1 %2 hidden.</source>
|
||||
<translation>%1 %2 ausgeblendet.</translation>
|
||||
</message>
|
||||
|
|
|
@ -569,27 +569,27 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>historylib</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="78"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="79"/>
|
||||
<source>New %1 %2 created.</source>
|
||||
<translation>New %1 %2 created.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="95"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="96"/>
|
||||
<source>%1 %2 deleted.</source>
|
||||
<translation>%1 %2 deleted.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="149"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="172"/>
|
||||
<source>%1 of %2 %3 changed from "%4" to "%5".</source>
|
||||
<translation>%1 of %2 %3 changed from "%4" to "%5".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="166"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="189"/>
|
||||
<source>%1 %2 shown.</source>
|
||||
<translation>%1 %2 shown.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="168"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="191"/>
|
||||
<source>%1 %2 hidden.</source>
|
||||
<translation>%1 %2 hidden.</translation>
|
||||
</message>
|
||||
|
|
|
@ -568,27 +568,27 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>historylib</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="78"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="79"/>
|
||||
<source>New %1 %2 created.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="95"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="96"/>
|
||||
<source>%1 %2 deleted.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="149"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="172"/>
|
||||
<source>%1 of %2 %3 changed from "%4" to "%5".</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="166"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="189"/>
|
||||
<source>%1 %2 shown.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="168"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="191"/>
|
||||
<source>%1 %2 hidden.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -578,27 +578,27 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>historylib</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="78"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="79"/>
|
||||
<source>New %1 %2 created.</source>
|
||||
<translation>Nouveau %1 %2 créé(e).</translation>
|
||||
<translation>Nouvel objet %1 %2 créé.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="95"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="96"/>
|
||||
<source>%1 %2 deleted.</source>
|
||||
<translation>%1 %2 supprimé(e).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="149"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="172"/>
|
||||
<source>%1 of %2 %3 changed from "%4" to "%5".</source>
|
||||
<translation>%1 de %2 %3 modifiée de "%4" à "%5".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="166"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="189"/>
|
||||
<source>%1 %2 shown.</source>
|
||||
<translation>%1 %2 affiché(e).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="168"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="191"/>
|
||||
<source>%1 %2 hidden.</source>
|
||||
<translation>%1 %2 cachée(e).</translation>
|
||||
</message>
|
||||
|
|
|
@ -569,27 +569,27 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>historylib</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="78"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="79"/>
|
||||
<source>New %1 %2 created.</source>
|
||||
<translation>Új %1 %2 létrehozva.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="95"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="96"/>
|
||||
<source>%1 %2 deleted.</source>
|
||||
<translation>%1 %2 törölve.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="149"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="172"/>
|
||||
<source>%1 of %2 %3 changed from "%4" to "%5".</source>
|
||||
<translation>%1/%2 %3 megváltozott. Régi érték: %4, új érték: %5.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="166"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="189"/>
|
||||
<source>%1 %2 shown.</source>
|
||||
<translation>%1 %2 megjelenítve.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="168"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="191"/>
|
||||
<source>%1 %2 hidden.</source>
|
||||
<translation>%1 %2 rejtve.</translation>
|
||||
</message>
|
||||
|
|
|
@ -569,27 +569,27 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>historylib</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="78"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="79"/>
|
||||
<source>New %1 %2 created.</source>
|
||||
<translation>Ny %1 %2 opprettet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="95"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="96"/>
|
||||
<source>%1 %2 deleted.</source>
|
||||
<translation>%1 %2 slettet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="149"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="172"/>
|
||||
<source>%1 of %2 %3 changed from "%4" to "%5".</source>
|
||||
<translation>%1 av %2 %3 endret fra «%4» til «%5».</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="166"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="189"/>
|
||||
<source>%1 %2 shown.</source>
|
||||
<translation>%1 %2 vist.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="168"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="191"/>
|
||||
<source>%1 %2 hidden.</source>
|
||||
<translation>%1 %2 skjult.</translation>
|
||||
</message>
|
||||
|
|
|
@ -568,27 +568,27 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>historylib</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="78"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="79"/>
|
||||
<source>New %1 %2 created.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="95"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="96"/>
|
||||
<source>%1 %2 deleted.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="149"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="172"/>
|
||||
<source>%1 of %2 %3 changed from "%4" to "%5".</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="166"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="189"/>
|
||||
<source>%1 %2 shown.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="168"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="191"/>
|
||||
<source>%1 %2 hidden.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -33,7 +33,7 @@ D.Dialog {
|
|||
property var obj: Objects.currentObjects[objType][objIndex]
|
||||
property QtObject editingRow: QtObject{}
|
||||
property var objectLists
|
||||
title: `LogarithmPlotter`
|
||||
title: "LogarithmPlotter"
|
||||
width: 350
|
||||
height: 400
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
.pragma library
|
||||
|
||||
.import "objects.js" as Objects
|
||||
.import "parameters.js" as P
|
||||
.import "objs/common.js" as Common
|
||||
.import "utils.js" as Utils
|
||||
.import "mathlib.js" as MathLib
|
||||
|
@ -103,14 +104,15 @@ class EditedProperty extends Action {
|
|||
constructor(targetName = "", targetType = "Point", targetProperty = "visible", previousValue = false, newValue = true, valueIsExpressionNeedingImport = false) {
|
||||
super(targetName, targetType)
|
||||
this.targetProperty = targetProperty
|
||||
this.targetPropertyReadable = Utils.camelCase2readable(this.targetProperty)
|
||||
this.targetPropertyReadable = qsTranslate("prop", this.targetProperty)
|
||||
this.previousValue = previousValue
|
||||
this.newValue = newValue
|
||||
this.propertyType = Objects.types[targetType].properties()[targetProperty]
|
||||
if(valueIsExpressionNeedingImport) {
|
||||
if(targetType == "Expression") {
|
||||
if(propertyType == "Expression") {
|
||||
this.previousValue = new MathLib.Expression(this.previousValue);
|
||||
this.newValue = new MathLib.Expression(this.newValue);
|
||||
} else if(targetType == "Domain") {
|
||||
} else if(propertyType == "Domain") {
|
||||
this.previousValue = MathLib.parseDomain(this.previousValue);
|
||||
this.newValue = MathLib.parseDomain(this.newValue);
|
||||
} else {
|
||||
|
@ -140,12 +142,33 @@ class EditedProperty extends Action {
|
|||
}
|
||||
|
||||
getReadableString() {
|
||||
var prev = this.previousValue == null ? "null" : this.previousValue.toString()
|
||||
var next = this.newValue == null ? "null" : this.newValue.toString()
|
||||
if(prev == "[object Object]") // Oh no!
|
||||
let prev = "";
|
||||
let next = "";
|
||||
if(this.propertyType instanceof Object) {
|
||||
console.log(this.propertyType.type)
|
||||
switch(this.propertyType.type) {
|
||||
case "Enum":
|
||||
console.log(this.propertyType.translatedValues, this.previousValue, this.propertyType.values.indexOf(this.previousValue))
|
||||
prev = this.propertyType.translatedValues[this.propertyType.values.indexOf(this.previousValue)]
|
||||
next = this.propertyType.translatedValues[this.propertyType.values.indexOf(this.newValue)]
|
||||
break;
|
||||
case "ObjectType":
|
||||
prev = this.previousValue.name
|
||||
next = this.newValue.name
|
||||
break;
|
||||
case "List":
|
||||
prev = this.previousValue.join(",")
|
||||
next = this.newValue.name.join(",")
|
||||
break;
|
||||
case "Dict":
|
||||
prev = JSON.stringify(this.previousValue).replace("'", "\\'").replace('"', "'")
|
||||
if(next == "[object Object]") // Oh no!
|
||||
next = JSON.stringify(this.previousValue).replace("'", "\\'").replace('"', "'")
|
||||
next = JSON.stringify(this.newValue).replace("'", "\\'").replace('"', "'")
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
prev = this.previousValue == null ? "null" : this.previousValue.toString()
|
||||
next = this.newValue == null ? "null" : this.newValue.toString()
|
||||
}
|
||||
return qsTr('%1 of %2 %3 changed from "%4" to "%5".')
|
||||
.arg(this.targetPropertyReadable)
|
||||
.arg(Objects.types[this.targetType].displayType())
|
||||
|
|
Loading…
Reference in a new issue