From f8ce98d4adf1b61229176ab75a9e3c357f1f139b Mon Sep 17 00:00:00 2001
From: Ad5001 <mail@ad5001.eu>
Date: Fri, 27 Sep 2024 04:15:34 +0200
Subject: [PATCH 1/2] Removing logplotter.svg file (duplicate) + adding
 PySide6-Addons as dependency

---
 README.md                      |  2 +-
 linux/debian/control           |  2 +-
 linux/debian/depends           |  2 +-
 linux/logarithmplotter.desktop |  2 +-
 linux/x-logarithm-plot.xml     |  2 +-
 logplotter.svg                 | 64 ----------------------------------
 scripts/build-wine.sh          |  2 +-
 setup.py                       | 10 +++---
 8 files changed, 11 insertions(+), 75 deletions(-)
 delete mode 100644 logplotter.svg

diff --git a/README.md b/README.md
index e368435..8ae4d47 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# ![icon](https://git.ad5001.eu/Ad5001/LogarithmPlotter/raw/branch/master/logplotter.svg) LogarithmPlotter
+# ![icon](https://git.ad5001.eu/Ad5001/LogarithmPlotter/raw/branch/master/LogarithmPlotter/logarithmplotter.svg) LogarithmPlotter
 
 [![Build Status](https://ci.ad5001.eu/api/badges/Ad5001/LogarithmPlotter/status.svg)](https://ci.ad5001.eu/Ad5001/LogarithmPlotter)
 [![Translation status](https://hosted.weblate.org/widgets/logarithmplotter/-/logarithmplotter/svg-badge.svg)](https://hosted.weblate.org/engage/logarithmplotter/)
diff --git a/linux/debian/control b/linux/debian/control
index 57281bc..e63e970 100644
--- a/linux/debian/control
+++ b/linux/debian/control
@@ -3,7 +3,7 @@ Source: logarithmplotter
 Version: 0.6.0
 Architecture: all
 Maintainer: Ad5001 <mail@ad5001.eu>
-Depends: python3, python3-pip, python3-pyside6-essentials (>= 6.7.0), texlive-latex-base, dvipng
+Depends: python3, python3-pip, python3-pyside6-essentials (>= 6.7.0), python3-pyside6-addons (>= 6.7), texlive-latex-base, dvipng
 
 Build-Depends: debhelper (>=11~), dh-python, dpkg-dev (>= 1.16.1~), python-setuptools, python3-all-dev (>=3.9)
 Section: science
diff --git a/linux/debian/depends b/linux/debian/depends
index 5eea4fd..c17dcdd 100644
--- a/linux/debian/depends
+++ b/linux/debian/depends
@@ -1 +1 @@
-python3, python3-pip, python3-pyside6-essentials (>= 6.7.0), texlive-latex-base, dvipng
+python3, python3-pip, python3-pyside6-essentials (>= 6.7), python3-pyside6-addons (>= 6.7), texlive-latex-base, dvipng
diff --git a/linux/logarithmplotter.desktop b/linux/logarithmplotter.desktop
index 00c871f..70637c5 100644
--- a/linux/logarithmplotter.desktop
+++ b/linux/logarithmplotter.desktop
@@ -14,7 +14,7 @@ Comment[hu]=Bode-ábrák, sorozatok és újraosztási függvények létrehozása
 
 TryExec=logarithmplotter
 Exec=logarithmplotter %f
-Icon=logplotter
+Icon=logarithmplotter
 MimeType=application/x-logarithm-plot;
 Terminal=false
 StartupNotify=false
diff --git a/linux/x-logarithm-plot.xml b/linux/x-logarithm-plot.xml
index 31b5c9d..888641e 100644
--- a/linux/x-logarithm-plot.xml
+++ b/linux/x-logarithm-plot.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
   <mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="application/x-logarithm-plot">
-    <comment>Logarithm Plot File</comment>
+    <comment>Logarithmic Plot File</comment>
     <comment xml:lang="fr">Fichier Graphe Logarithmique</comment>
     <icon name="application-x-logarithm-plot"/>
     <glob-deleteall/>
diff --git a/logplotter.svg b/logplotter.svg
deleted file mode 100644
index 77a2817..0000000
--- a/logplotter.svg
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   width="24.0px"
-   height="24.0px"
-   viewBox="0 0 24.0 24.0"
-   version="1.1"
-   id="SVGRoot"
-   xml:space="preserve"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:dc="http://purl.org/dc/elements/1.1/"><title
-     id="title836">LogarithmPlotter Icon v1.0</title><defs
-     id="defs833" /><metadata
-     id="metadata836"><rdf:RDF><cc:Work
-         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title>LogarithmPlotter Icon v1.0</dc:title><cc:license
-           rdf:resource="http://creativecommons.org/licenses/by-nc-sa/4.0/" /><dc:date>2021</dc:date><dc:creator><cc:Agent><dc:title>Ad5001</dc:title></cc:Agent></dc:creator><dc:rights><cc:Agent><dc:title>(c) Ad5001 2021 - All rights reserved</dc:title></cc:Agent></dc:rights></cc:Work><cc:License
-         rdf:about="http://creativecommons.org/licenses/by-nc-sa/4.0/"><cc:permits
-           rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
-           rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:requires
-           rdf:resource="http://creativecommons.org/ns#Notice" /><cc:requires
-           rdf:resource="http://creativecommons.org/ns#Attribution" /><cc:prohibits
-           rdf:resource="http://creativecommons.org/ns#CommercialUse" /><cc:permits
-           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /><cc:requires
-           rdf:resource="http://creativecommons.org/ns#ShareAlike" /></cc:License></rdf:RDF></metadata><g
-     id="layer2"
-     transform="matrix(1,0,0,0.94444444,0,1.1666667)"
-     style="fill:#666666"><rect
-       style="fill:#666666;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="rect1546"
-       width="18"
-       height="18"
-       x="3"
-       y="3"
-       ry="2.25" /></g><g
-     id="layer2-6"
-     transform="matrix(1,0,0,0.94444444,0,0.16666668)"
-     style="fill:#f9f9f9"><rect
-       style="fill:#f9f9f9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="rect1546-7"
-       width="18"
-       height="18"
-       x="3"
-       y="3"
-       ry="2.25" /></g><g
-     id="layer1"
-     style="stroke-width:2;stroke-dasharray:none"><rect
-       style="fill:#000000;fill-rule:evenodd;stroke-width:1.86898;stroke-dasharray:none;stroke-opacity:0"
-       id="rect1410"
-       width="14"
-       height="2"
-       x="5"
-       y="15.5" /><rect
-       style="fill:#000000;fill-rule:evenodd;stroke-width:2;stroke-dasharray:none;stroke-opacity:0"
-       id="rect1412"
-       width="2"
-       height="15"
-       x="9"
-       y="3.9768662" /><path
-       style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path1529"
-       d="M 18,4 C 18,10.017307 13.40948,15.5 5,15.5" /></g></svg>
diff --git a/scripts/build-wine.sh b/scripts/build-wine.sh
index 39b2312..95a5995 100644
--- a/scripts/build-wine.sh
+++ b/scripts/build-wine.sh
@@ -11,7 +11,7 @@ cd "LogarithmPlotter/i18n/"
 bash release.sh
 cd ../../
 
-wine pyinstaller --add-data "logplotter.svg;." \
+wine pyinstaller --add-data "LogarithmPlotter/logarithmplotter.svg;." \
                  --add-data "LogarithmPlotter/qml;qml" \
                  --add-data "LogarithmPlotter/i18n;i18n" \
                  --noconsole \
diff --git a/setup.py b/setup.py
index 5d1aae7..4a4d2ea 100644
--- a/setup.py
+++ b/setup.py
@@ -99,11 +99,11 @@ if sys.platform == 'linux':
     data_files.append(('share/applications/', ['linux/logarithmplotter.desktop']))
     data_files.append(('share/mime/packages/', ['linux/x-logarithm-plot.xml']))
     data_files.append(('share/icons/hicolor/scalable/mimetypes/', ['linux/application-x-logarithm-plot.svg']))
-    data_files.append(('share/icons/hicolor/scalable/apps/', ['logplotter.svg']))
+    data_files.append(('share/icons/hicolor/scalable/apps/', ['LogarithmPlotter/logarithmplotter.svg']))
     data_files.append((os.environ["PREFIX"] + '/applications/', ['linux/logarithmplotter.desktop']))
     data_files.append((os.environ["PREFIX"] + '/mime/packages/', ['linux/x-logarithm-plot.xml']))
     data_files.append((os.environ["PREFIX"] + '/icons/hicolor/scalable/mimetypes/', ['linux/application-x-logarithm-plot.svg']))
-    data_files.append((os.environ["PREFIX"] + '/icons/hicolor/scalable/apps/', ['logplotter.svg']))
+    data_files.append((os.environ["PREFIX"] + '/icons/hicolor/scalable/apps/', ['LogarithmPlotter/logarithmplotter.svg']))
     if len(sys.argv) > 1:
         if sys.argv[1] == "install":
             os.makedirs(os.environ["PREFIX"] + '/applications/', exist_ok=True)
@@ -114,15 +114,15 @@ if sys.platform == 'linux':
             copyfile(current_dir + '/linux/x-logarithm-plot.xml', os.environ["PREFIX"] + '/mime/packages/x-logarithm-plot.xml')
             copyfile(current_dir + '/linux/application-x-logarithm-plot.svg', 
                      os.environ["PREFIX"] + '/icons/hicolor/scalable/mimetypes/application-x-logarithm-plot.svg')
-            copyfile(current_dir + '/logplotter.svg', os.environ["PREFIX"] + '/icons/hicolor/scalable/apps/logplotter.svg')
+            copyfile(current_dir + '/LogarithmPlotter/logarithmplotter.svg', os.environ["PREFIX"] + '/icons/hicolor/scalable/apps/LogarithmPlotter/logarithmplotter.svg')
         elif sys.argv[1] == "uninstall":
             os.remove(os.environ["PREFIX"] + '/applications/logarithmplotter.desktop')
             os.remove(os.environ["PREFIX"] + '/mime/packages/x-logarithm-plot.xml')
             os.remove(os.environ["PREFIX"] + '/icons/hicolor/scalable/mimetypes/application-x-logarithm-plot.svg')
-            os.remove(os.environ["PREFIX"] + '/icons/hicolor/scalable/apps/logplotter.svg')
+            os.remove(os.environ["PREFIX"] + '/icons/hicolor/scalable/apps/LogarithmPlotter/logarithmplotter.svg')
 
 setuptools.setup(
-    install_requires=([] if "FLATPAK_INSTALL" in os.environ else ["PySide6-Essentials"]),
+    install_requires=([] if "FLATPAK_INSTALL" in os.environ else ["PySide6-Essentials", "PySide6-Addons"]),
     python_requires='>=3.9',
 
     name='logarithmplotter',

From c2eae30bd68b5370492259059a5ccb0bc8745f6e Mon Sep 17 00:00:00 2001
From: Ad5001 <mail@ad5001.eu>
Date: Fri, 27 Sep 2024 22:26:15 +0200
Subject: [PATCH 2/2] Updating qmldirs

---
 .../ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml   | 4 ++--
 .../eu/ad5001/LogarithmPlotter/ObjectLists/ObjectRow.qml  | 2 +-
 .../qml/eu/ad5001/LogarithmPlotter/Popup/qmldir           | 8 ++++----
 .../qml/eu/ad5001/LogarithmPlotter/Setting/qmldir         | 4 ++--
 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/qmldir    | 5 ++++-
 5 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml
index d92c36b..f755a6f 100644
--- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml
+++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml
@@ -71,8 +71,8 @@ ScrollView {
                     id: typeVisibilityCheckBox
                     checked: Modules.Objects.currentObjects[objType] != undefined ? Modules.Objects.currentObjects[objType].every(obj => obj.visible) : true
                     onClicked: {
-                        for(var obj of Modules.Objects.currentObjects[objType]) obj.visible = this.checked
-                        for(var obj of objTypeList.editingRows) obj.objVisible = this.checked
+                        for(const obj of Modules.Objects.currentObjects[objType]) obj.visible = this.checked
+                        for(const obj of objTypeList.editingRows) obj.objVisible = this.checked
                         objectListList.changed()
                     }
                     
diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectRow.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectRow.qml
index 2dcd5c0..a1b9d82 100644
--- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectRow.qml
+++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectRow.qml
@@ -227,7 +227,7 @@ Item {
     function deleteRecursively(object) {
         for(let toRemove of object.requiredBy)
             deleteRecursively(toRemove)
-        if(Modules.Objects.currentObjectsByName[object.name] != undefined) {
+        if(Modules.Objects.currentObjectsByName[object.name] !== undefined) {
             // Object still exists
             // Temporary fix for objects require not being propertly updated.
             object.requiredBy = []
diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/qmldir b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/qmldir
index 8c0859f..3cf03fa 100644
--- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/qmldir
+++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/qmldir
@@ -1,11 +1,11 @@
 module eu.ad5001.LogarithmPlotter.Popup
 
-BaseDialog 1.0 BaseDialog.qml
-About 1.0 About.qml
 Alert 1.0 Alert.qml
+About 1.0 About.qml
+BaseDialog 1.0 BaseDialog.qml
+Changelog 1.0 Changelog.qml
 FileDialog 1.0 FileDialog.qml
 GreetScreen 1.0 GreetScreen.qml
-Changelog 1.0 Changelog.qml
-ThanksTo 1.0 ThanksTo.qml
 InsertCharacter 1.0 InsertCharacter.qml
 Preferences 1.0 Preferences.qml
+ThanksTo 1.0 ThanksTo.qml
diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/qmldir b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/qmldir
index 8106e26..bb78bbe 100644
--- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/qmldir
+++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/qmldir
@@ -1,8 +1,8 @@
 module eu.ad5001.LogarithmPlotter.Setting
 
+AutocompletionCategory 1.0 AutocompletionCategory.qml
 ComboBoxSetting 1.0 ComboBoxSetting.qml
+ExpressionEditor 1.0 ExpressionEditor.qml
 Icon 1.0 Icon.qml
 ListSetting 1.0 ListSetting.qml
 TextSetting 1.0 TextSetting.qml
-ExpressionEditor 1.0 ExpressionEditor.qml
-AutocompletionCategory 1.0 AutocompletionCategory.qml
diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/qmldir b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/qmldir
index ac68e47..3aeaa15 100644
--- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/qmldir
+++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/qmldir
@@ -1,4 +1,7 @@
 module eu.ad5001.LogarithmPlotter
 
+AppMenuBar 1.0 AppMenuBar.qml
+LogGraphCanvas 1.0 LogGraphCanvas.qml
+PickLocationOverlay 1.0 PickLocationOverlay.qml
 Settings 1.0 Settings.qml
-Alert 1.0 Alert.qml
+ViewPositionChangeOverlay 1.0 ViewPositionChangeOverlay.qml
\ No newline at end of file