diff --git a/qml/AppMenuBar.qml b/qml/AppMenuBar.qml
index e8de9e8..71373b6 100644
--- a/qml/AppMenuBar.qml
+++ b/qml/AppMenuBar.qml
@@ -82,6 +82,9 @@ MenuBar {
}
Menu {
title: qsTr("&Help")
- Action { text: qsTr("&About") }
+ Action {
+ text: qsTr("&About")
+ icon.name: 'about'
+ }
}
}
diff --git a/qml/ComboBoxSetting.qml b/qml/ComboBoxSetting.qml
index 33c452c..1a8097b 100644
--- a/qml/ComboBoxSetting.qml
+++ b/qml/ComboBoxSetting.qml
@@ -31,12 +31,26 @@ Item {
property alias editable: combox.editable
property alias editText: combox.editText
property alias currentIndex: combox.currentIndex
+ property string icon: ""
+
function find(elementName) {
return combox.find(elementName)
}
+ Icon {
+ id: iconLabel
+ anchors.top: parent.top
+ anchors.topMargin: icon == "" ? 0 : 3
+ source: control.visible ? control.icon : ""
+ width: height
+ height: icon == "" && visible ? 0 : 24
+ color: sysPalette.windowText
+ }
+
Label {
id: labelItem
+ anchors.left: iconLabel.right
+ anchors.leftMargin: icon == "" ? 0 : 5
height: 30
anchors.top: parent.top
verticalAlignment: TextInput.AlignVCenter
@@ -48,7 +62,7 @@ Item {
height: 30
anchors.left: labelItem.right
anchors.leftMargin: 5
- width: control.width - labelItem.width - 5
+ width: control.width - labelItem.width - iconLabel.width - 10
onActivated: function(newIndex) {
control.activated(newIndex)
}
diff --git a/qml/ListSetting.qml b/qml/ListSetting.qml
index 3a9dd35..d76bedb 100644
--- a/qml/ListSetting.qml
+++ b/qml/ListSetting.qml
@@ -8,6 +8,7 @@ Column {
signal changed()
property string label: ''
+ property string icon: ''
property bool dictionaryMode: false
property string keyType: "string"
property string valueType: "string"
@@ -20,12 +21,25 @@ Column {
property alias model: repeater.model
+ Row {
+ height: 30
+ width: parent.width;
+ Icon {
+ id: iconLabel
+ anchors.top: parent.top
+ anchors.topMargin: icon == "" ? 0 : 3
+ source: control.visible ? control.icon : ""
+ width: height
+ height: icon == "" || !visible ? 0 : 24
+ color: sysPalette.windowText
+ }
Label {
id: labelItem
height: 30
verticalAlignment: TextInput.AlignVCenter
text: control.label +": "
}
+ }
Repeater {
id: repeater
diff --git a/qml/LogGraphCanvas.qml b/qml/LogGraphCanvas.qml
index 2bf8b45..fadbde3 100644
--- a/qml/LogGraphCanvas.qml
+++ b/qml/LogGraphCanvas.qml
@@ -222,7 +222,7 @@ Canvas {
var progPerc = dashPxSize/distance
ctx.beginPath();
ctx.moveTo(x1, y1);
- for(var i = progPerc/2; i < 1; i += progPerc) {
+ for(var i = 0; i < 1; i += progPerc) {
ctx.lineTo(x1-(x1-x2)*i, y1-(y1-y2)*i)
ctx.moveTo(x1-(x1-x2)*(i+progPerc/2), y1-(y1-y2)*(i+progPerc/2))
}
diff --git a/qml/ObjectLists.qml b/qml/ObjectLists.qml
index 4edc0ab..cb5c0db 100644
--- a/qml/ObjectLists.qml
+++ b/qml/ObjectLists.qml
@@ -197,6 +197,7 @@ ListView {
id: nameProperty
height: 30
label: "Name"
+ icon: "icons/settings/custom/label.svg"
min: 1
width: dlgProperties.width
defValue: objEditor.obj.name
@@ -222,6 +223,7 @@ ListView {
width: dlgProperties.width
label: "Label content"
model: ["null", "name", "name + value"]
+ icon: "icons/settings/custom/label.svg"
currentIndex: model.indexOf(objEditor.obj.labelContent)
onActivated: function(newIndex) {
Objects.currentObjects[objEditor.objType][objEditor.objIndex].labelContent = model[newIndex]
@@ -255,6 +257,7 @@ ListView {
height: visible ? 30 : 0
width: parent.width
label: parent.label
+ icon: `icons/settings/custom/${parent.label}.svg`
isDouble: modelData[1] == 'number'
visible: paramTypeIn(modelData[1], ['Expression', 'Domain', 'string', 'number'])
defValue: visible ? {
@@ -281,6 +284,7 @@ ListView {
height: visible ? 20 : 0
width: parent.width
text: parent.label
+ icon: visible ? `icons/settings/custom/${parent.label}.svg` : ''
checked: visible ? objEditor.obj[modelData[0]] : false
onClicked: {
@@ -295,6 +299,7 @@ ListView {
width: dlgProperties.width
height: visible ? 30 : 0
label: parent.label
+ icon: `icons/settings/custom/${parent.label}.svg`
// True to select an object of type, false for enums.
property bool selectObjMode: paramTypeIn(modelData[1], ['ObjectType'])
model: visible ?
@@ -331,6 +336,7 @@ ListView {
visible: paramTypeIn(modelData[1], ['List', 'Dict'])
label: parent.label
+ //icon: `icons/settings/custom/${parent.label}.svg`
dictionaryMode: paramTypeIn(modelData[1], ['Dict'])
keyType: dictionaryMode ? modelData[1].keyType : 'string'
valueType: visible ? modelData[1].valueType : 'string'
diff --git a/qml/Settings.qml b/qml/Settings.qml
index 4a540b1..358f2ab 100644
--- a/qml/Settings.qml
+++ b/qml/Settings.qml
@@ -76,6 +76,7 @@ ScrollView {
settings.changed()
}
}
+
TextSetting {
id: zoomY
height: 30
@@ -88,6 +89,7 @@ ScrollView {
settings.changed()
}
}
+
// Positioning the graph
TextSetting {
id: minX
@@ -95,6 +97,7 @@ ScrollView {
isDouble: true
min: -Infinity
label: "Min X"
+ icon: "icons/settings/xmin.svg"
width: settings.settingWidth
defValue: settings.xmin
onChanged: function(newValue) {
@@ -102,11 +105,13 @@ ScrollView {
settings.changed()
}
}
+
TextSetting {
id: maxY
height: 30
isDouble: true
label: "Max Y"
+ icon: "icons/settings/ymax.svg"
width: settings.settingWidth
defValue: settings.ymax
onChanged: function(newValue) {
@@ -114,10 +119,12 @@ ScrollView {
settings.changed()
}
}
+
TextSetting {
id: yAxisStep
height: 30
label: "Y Axis Step"
+ icon: "icons/settings/yaxisstep.svg"
width: settings.settingWidth
defValue: settings.yaxisstep
onChanged: function(newValue) {
@@ -130,6 +137,7 @@ ScrollView {
id: xAxisStep
height: 30
label: "X Axis Step"
+ icon: "icons/settings/xaxisstep.svg"
width: settings.settingWidth
defValue: settings.xaxisstep
visible: !settings.logscalex
@@ -144,6 +152,7 @@ ScrollView {
height: 30
width: settings.settingWidth
label: 'X Label'
+ icon: "icons/settings/xlabel.svg"
model: ListModel {
ListElement { text: "" }
ListElement { text: "x" }
@@ -169,6 +178,7 @@ ScrollView {
height: 30
width: settings.settingWidth
label: 'Y Label'
+ icon: "icons/settings/ylabel.svg"
model: ListModel {
ListElement { text: "" }
ListElement { text: "y" }
diff --git a/qml/TextSetting.qml b/qml/TextSetting.qml
index 299e53d..0e7eccd 100644
--- a/qml/TextSetting.qml
+++ b/qml/TextSetting.qml
@@ -30,10 +30,23 @@ Item {
property double min: -1
property string label
property string defValue
-
+ property string icon: ""
+
+ Icon {
+ id: iconLabel
+ anchors.top: parent.top
+ anchors.topMargin: icon == "" ? 0 : 3
+ source: control.visible ? control.icon : ""
+ width: height
+ height: icon == "" || !visible ? 0 : 24
+ color: sysPalette.windowText
+ }
+
Label {
id: labelItem
- height: 30
+ anchors.left: iconLabel.right
+ anchors.leftMargin: icon == "" ? 0 : 5
+ height: parent.height
anchors.top: parent.top
verticalAlignment: TextInput.AlignVCenter
//color: sysPalette.windowText
@@ -46,8 +59,8 @@ Item {
anchors.top: parent.top
anchors.left: labelItem.right
anchors.leftMargin: 5
- width: control.width - labelItem.width - 5
- height: 30
+ width: control.width - labelItem.width - iconLabel.width - 10
+ height: parent.height
verticalAlignment: TextInput.AlignVCenter
horizontalAlignment: TextInput.AlignHCenter
color: sysPalette.windowText
diff --git a/qml/icons/Function.svg b/qml/icons/Function.svg
index 458e1bb..70d533c 100644
--- a/qml/icons/Function.svg
+++ b/qml/icons/Function.svg
@@ -15,7 +15,7 @@
sodipodi:docname="Function.svg"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
+ id="defs833" />
+ id="grid1403" />
+ id="metadata10">
@@ -48,24 +48,63 @@
+ 2021
+
+
+ Ad5001
+
+
+
+
+ (C) Ad5001 2021 - Licensed under CC4.0-BY-NC-SA
+
+
+
+
+
+
+
+
+
+
- f(x)
+
+
+
+
+
diff --git a/qml/icons/Gain Bode.svg b/qml/icons/Gain Bode.svg
index 9057757..3b7bd2e 100644
--- a/qml/icons/Gain Bode.svg
+++ b/qml/icons/Gain Bode.svg
@@ -23,9 +23,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="22.4"
- inkscape:cx="22.985246"
- inkscape:cy="9.8906279"
+ inkscape:zoom="15.839192"
+ inkscape:cx="15.763196"
+ inkscape:cy="7.8365971"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
@@ -58,17 +58,13 @@
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1">
-
+ y="17" />
ω
-
+
+
diff --git a/qml/icons/Phase Bode.svg b/qml/icons/Phase Bode.svg
index d87ab30..8ff3422 100644
--- a/qml/icons/Phase Bode.svg
+++ b/qml/icons/Phase Bode.svg
@@ -56,32 +56,23 @@
inkscape:groupmode="layer"
id="layer1">
-
-
+ style="fill:#000000;stroke-width:1.22474"
+ d="m 15,2 v 14 h 2 V 4 h 7 V 2 Z"
+ sodipodi:nodetypes="ccccccc" />
+ r="4" />
+ d="m 9.979376,18.120606 a 3.5,3.5 0 0 1 -3.06333,3.854578 3.5,3.5 0 0 1 -3.8866522,-3.022533 3.5,3.5 0 0 1 2.9814002,-3.918293 3.5,3.5 0 0 1 3.9495,2.939936" />
+ inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
+ r="3" />
diff --git a/qml/icons/Somme gains Bode.svg b/qml/icons/Somme gains Bode.svg
index b614770..d4394bd 100644
--- a/qml/icons/Somme gains Bode.svg
+++ b/qml/icons/Somme gains Bode.svg
@@ -23,9 +23,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="22.4"
- inkscape:cx="22.985246"
- inkscape:cy="9.8906279"
+ inkscape:zoom="63.356768"
+ inkscape:cx="15.947723"
+ inkscape:cy="5.6917309"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
@@ -59,35 +59,38 @@
inkscape:groupmode="layer"
id="layer1">
+ id="rect838"
+ style="fill:#000000;fill-rule:evenodd;stroke-width:2"
+ d="M 2,2 H 8 V 3 H 4 L 7,6 4,9 h 4 v 1 H 2 V 9 L 5,6 2,3 Z"
+ sodipodi:nodetypes="ccccccccccccc" />
- ΣG
-
+ y="17" />
+
+
+
+
+
diff --git a/qml/icons/Somme gains Bode2.svg b/qml/icons/Somme gains Bode2.svg
new file mode 100644
index 0000000..b614770
--- /dev/null
+++ b/qml/icons/Somme gains Bode2.svg
@@ -0,0 +1,93 @@
+
+
diff --git a/qml/icons/X Cursor.svg b/qml/icons/X Cursor.svg
index e6fe6d7..58b5aaf 100644
--- a/qml/icons/X Cursor.svg
+++ b/qml/icons/X Cursor.svg
@@ -23,9 +23,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="15.839192"
- inkscape:cx="21.452629"
- inkscape:cy="4.4190861"
+ inkscape:zoom="22.4"
+ inkscape:cx="19.545462"
+ inkscape:cy="13.163586"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
@@ -60,15 +60,9 @@
id="layer1">
-
-
+ style="font-style:normal;font-weight:normal;font-size:17.3373px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.00023" />
+
+
diff --git a/qml/icons/settings/custom/Definition Domain.svg b/qml/icons/settings/custom/Definition Domain.svg
new file mode 100644
index 0000000..6c1db71
--- /dev/null
+++ b/qml/icons/settings/custom/Definition Domain.svg
@@ -0,0 +1,94 @@
+
+
diff --git a/qml/icons/settings/custom/Destination Domain.svg b/qml/icons/settings/custom/Destination Domain.svg
new file mode 100644
index 0000000..3a64722
--- /dev/null
+++ b/qml/icons/settings/custom/Destination Domain.svg
@@ -0,0 +1,94 @@
+
+
diff --git a/qml/icons/settings/custom/Display Mode.svg b/qml/icons/settings/custom/Display Mode.svg
new file mode 120000
index 0000000..8d67d47
--- /dev/null
+++ b/qml/icons/settings/custom/Display Mode.svg
@@ -0,0 +1 @@
+appearance.svg
\ No newline at end of file
diff --git a/qml/icons/settings/custom/Display Style.svg b/qml/icons/settings/custom/Display Style.svg
new file mode 120000
index 0000000..8d67d47
--- /dev/null
+++ b/qml/icons/settings/custom/Display Style.svg
@@ -0,0 +1 @@
+appearance.svg
\ No newline at end of file
diff --git a/qml/icons/settings/custom/Expression.svg b/qml/icons/settings/custom/Expression.svg
new file mode 100644
index 0000000..9d71858
--- /dev/null
+++ b/qml/icons/settings/custom/Expression.svg
@@ -0,0 +1,95 @@
+
+
diff --git a/qml/icons/settings/custom/Gain.svg b/qml/icons/settings/custom/Gain.svg
new file mode 100644
index 0000000..908a660
--- /dev/null
+++ b/qml/icons/settings/custom/Gain.svg
@@ -0,0 +1,87 @@
+
+
diff --git a/qml/icons/settings/custom/Label Position.svg b/qml/icons/settings/custom/Label Position.svg
new file mode 120000
index 0000000..dfe8266
--- /dev/null
+++ b/qml/icons/settings/custom/Label Position.svg
@@ -0,0 +1 @@
+arrow.svg
\ No newline at end of file
diff --git a/qml/icons/settings/custom/Label X.svg b/qml/icons/settings/custom/Label X.svg
new file mode 120000
index 0000000..e890fec
--- /dev/null
+++ b/qml/icons/settings/custom/Label X.svg
@@ -0,0 +1 @@
+position.svg
\ No newline at end of file
diff --git a/qml/icons/settings/custom/Pass.svg b/qml/icons/settings/custom/Pass.svg
new file mode 100644
index 0000000..cf4900b
--- /dev/null
+++ b/qml/icons/settings/custom/Pass.svg
@@ -0,0 +1,64 @@
+
+
diff --git a/qml/icons/settings/custom/Phase.svg b/qml/icons/settings/custom/Phase.svg
new file mode 120000
index 0000000..0e9d919
--- /dev/null
+++ b/qml/icons/settings/custom/Phase.svg
@@ -0,0 +1 @@
+angle.svg
\ No newline at end of file
diff --git a/qml/icons/settings/custom/Point Style.svg b/qml/icons/settings/custom/Point Style.svg
new file mode 120000
index 0000000..8d67d47
--- /dev/null
+++ b/qml/icons/settings/custom/Point Style.svg
@@ -0,0 +1 @@
+appearance.svg
\ No newline at end of file
diff --git a/qml/icons/settings/custom/Rounding.svg b/qml/icons/settings/custom/Rounding.svg
new file mode 100644
index 0000000..6d09c60
--- /dev/null
+++ b/qml/icons/settings/custom/Rounding.svg
@@ -0,0 +1,69 @@
+
+
diff --git a/qml/icons/settings/custom/Target Element.svg b/qml/icons/settings/custom/Target Element.svg
new file mode 120000
index 0000000..eabf591
--- /dev/null
+++ b/qml/icons/settings/custom/Target Element.svg
@@ -0,0 +1 @@
+target.svg
\ No newline at end of file
diff --git a/qml/icons/settings/custom/Target Value Position.svg b/qml/icons/settings/custom/Target Value Position.svg
new file mode 120000
index 0000000..e890fec
--- /dev/null
+++ b/qml/icons/settings/custom/Target Value Position.svg
@@ -0,0 +1 @@
+position.svg
\ No newline at end of file
diff --git a/qml/icons/settings/custom/Unit.svg b/qml/icons/settings/custom/Unit.svg
new file mode 120000
index 0000000..0e9d919
--- /dev/null
+++ b/qml/icons/settings/custom/Unit.svg
@@ -0,0 +1 @@
+angle.svg
\ No newline at end of file
diff --git a/qml/icons/settings/custom/X.svg b/qml/icons/settings/custom/X.svg
new file mode 120000
index 0000000..e890fec
--- /dev/null
+++ b/qml/icons/settings/custom/X.svg
@@ -0,0 +1 @@
+position.svg
\ No newline at end of file
diff --git a/qml/icons/settings/custom/Y.svg b/qml/icons/settings/custom/Y.svg
new file mode 120000
index 0000000..e890fec
--- /dev/null
+++ b/qml/icons/settings/custom/Y.svg
@@ -0,0 +1 @@
+position.svg
\ No newline at end of file
diff --git a/qml/icons/settings/custom/angle.svg b/qml/icons/settings/custom/angle.svg
new file mode 100644
index 0000000..8c558a7
--- /dev/null
+++ b/qml/icons/settings/custom/angle.svg
@@ -0,0 +1,64 @@
+
+
diff --git a/qml/icons/settings/custom/appearance.svg b/qml/icons/settings/custom/appearance.svg
new file mode 100644
index 0000000..f729a22
--- /dev/null
+++ b/qml/icons/settings/custom/appearance.svg
@@ -0,0 +1,54 @@
+
+
diff --git a/qml/icons/settings/custom/arrow.svg b/qml/icons/settings/custom/arrow.svg
new file mode 100644
index 0000000..626814d
--- /dev/null
+++ b/qml/icons/settings/custom/arrow.svg
@@ -0,0 +1,64 @@
+
+
diff --git a/qml/icons/settings/custom/label.svg b/qml/icons/settings/custom/label.svg
new file mode 100644
index 0000000..66b46d2
--- /dev/null
+++ b/qml/icons/settings/custom/label.svg
@@ -0,0 +1,70 @@
+
+
diff --git a/qml/icons/settings/custom/position.svg b/qml/icons/settings/custom/position.svg
new file mode 100644
index 0000000..c324537
--- /dev/null
+++ b/qml/icons/settings/custom/position.svg
@@ -0,0 +1,63 @@
+
+
diff --git a/qml/icons/settings/custom/target.svg b/qml/icons/settings/custom/target.svg
new file mode 100644
index 0000000..9e32ab0
--- /dev/null
+++ b/qml/icons/settings/custom/target.svg
@@ -0,0 +1,64 @@
+
+
diff --git a/qml/icons/settings/custom/ω₀.svg b/qml/icons/settings/custom/ω₀.svg
new file mode 120000
index 0000000..0e9d919
--- /dev/null
+++ b/qml/icons/settings/custom/ω₀.svg
@@ -0,0 +1 @@
+angle.svg
\ No newline at end of file
diff --git a/qml/icons/settings/xaxisstep.svg b/qml/icons/settings/xaxisstep.svg
new file mode 100644
index 0000000..048174a
--- /dev/null
+++ b/qml/icons/settings/xaxisstep.svg
@@ -0,0 +1,94 @@
+
+
diff --git a/qml/icons/settings/xlabel.svg b/qml/icons/settings/xlabel.svg
new file mode 100644
index 0000000..99cf703
--- /dev/null
+++ b/qml/icons/settings/xlabel.svg
@@ -0,0 +1,78 @@
+
+
diff --git a/qml/icons/settings/xmin.svg b/qml/icons/settings/xmin.svg
new file mode 100644
index 0000000..f3008f3
--- /dev/null
+++ b/qml/icons/settings/xmin.svg
@@ -0,0 +1,80 @@
+
+
diff --git a/qml/icons/settings/yaxisstep.svg b/qml/icons/settings/yaxisstep.svg
new file mode 100644
index 0000000..c97be2d
--- /dev/null
+++ b/qml/icons/settings/yaxisstep.svg
@@ -0,0 +1,94 @@
+
+
diff --git a/qml/icons/settings/ylabel.svg b/qml/icons/settings/ylabel.svg
new file mode 100644
index 0000000..bd2981a
--- /dev/null
+++ b/qml/icons/settings/ylabel.svg
@@ -0,0 +1,78 @@
+
+
diff --git a/qml/icons/settings/ymax.svg b/qml/icons/settings/ymax.svg
new file mode 100644
index 0000000..64fcd90
--- /dev/null
+++ b/qml/icons/settings/ymax.svg
@@ -0,0 +1,81 @@
+
+
diff --git a/qml/js/objects.js b/qml/js/objects.js
index 321586b..f5d9c24 100644
--- a/qml/js/objects.js
+++ b/qml/js/objects.js
@@ -941,7 +941,7 @@ class CursorX extends DrawableObject {
approx = approx.toPrecision(this.rounding + Math.round(approx).toString().length)
}
return `${t.name}(${this.name}) = ${t.simplify(this.x.toEditableString())}` +
- (this.approximate ? ' ≃ ' + approx : '')
+ (this.approximate ? ' ≈ ' + approx : '')
}
getTargetElement() {