From b84f23627752bf1d816ea03e721d1976a13274e9 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sat, 29 Jan 2022 20:14:21 +0100 Subject: [PATCH 01/31] Fixed launchpad issues --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 64c65d0..cf735db 100644 --- a/setup.py +++ b/setup.py @@ -43,7 +43,7 @@ if "PREFIX" not in os.environ and sys.platform == 'linux': os.environ["PREFIX"] = "/usr/share" except: if ".pybuild" in os.environ["HOME"]: # Launchpad building. - os.environ["PREFIX"] = "usr/share" + os.environ["PREFIX"] = "share" else: os.environ["PREFIX"] = os.environ["HOME"] + "/.local/share" From 22328c6227d9662574241e33b1ff3f2aa712afbb Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 00:33:25 +0100 Subject: [PATCH 02/31] Starting v0.1.7 --- LogarithmPlotter/__init__.py | 2 +- linux/debian/control | 2 +- scripts/package-macosx.sh | 2 +- snapcraft.yaml | 2 +- win/installer.nsi | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/LogarithmPlotter/__init__.py b/LogarithmPlotter/__init__.py index 7759a7f..8c7d515 100644 --- a/LogarithmPlotter/__init__.py +++ b/LogarithmPlotter/__init__.py @@ -17,7 +17,7 @@ """ from shutil import which -__VERSION__ = "0.1.6" +__VERSION__ = "0.1.7" is_release = False diff --git a/linux/debian/control b/linux/debian/control index 4190458..dc20efc 100644 --- a/linux/debian/control +++ b/linux/debian/control @@ -1,6 +1,6 @@ Package: logarithmplotter Source: logarithmplotter -Version: 0.1.6 +Version: 0.1.7 Architecture: all Maintainer: Ad5001 Depends: python3, python3-pip, qml-module-qtquick-controls2 (>= 5.12.0), qml-module-qtmultimedia (>= 5.12.0), qml-module-qtgraphicaleffects (>= 5.12.0), qml-module-qtquick2 (>= 5.12.0), qml-module-qtqml-models2 (>= 5.12.0), qml-module-qtquick-controls (>= 5.12.0), python3-pyside2.qtcore (>= 5.12.0), python3-pyside2.qtqml (>= 5.12.0), python3-pyside2.qtgui (>= 5.12.0), python3-pyside2.qtquick (>= 5.12.0), python3-pyside2.qtwidgets (>= 5.12.0), python3-pyside2.qtmultimedia (>= 5.12.0), python3-pyside2.qtnetwork (>= 5.12.0) diff --git a/scripts/package-macosx.sh b/scripts/package-macosx.sh index a228092..600a4ff 100644 --- a/scripts/package-macosx.sh +++ b/scripts/package-macosx.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash cd "$(dirname "$(readlink -f "$0" || realpath "$0")")/.." -VERSION=0.1.6 +VERSION=0.1.7 title="LogarithmPlotter v${VERSION} Setup" finalDMGName="LogarithmPlotter-v${VERSION}-setup.dmg" applicationName=LogarithmPlotter diff --git a/snapcraft.yaml b/snapcraft.yaml index 21f97ed..fb34dc9 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -1,6 +1,6 @@ name: logarithmplotter title: LogarithmPlotter -version: '0.1.6' +version: '0.1.7' summary: 2D plotter software to make Bode plots, sequences and repartition functions. description: | LogarithmPlotter is, as it's name suggests, a plotter made with logarithm scales in mind. With an object system similar to [Geogebra](https://geogebra.org)'s, it allows dynamic creation of plots with very few limitations. diff --git a/win/installer.nsi b/win/installer.nsi index bb46823..6039b22 100644 --- a/win/installer.nsi +++ b/win/installer.nsi @@ -11,7 +11,7 @@ Unicode True !define PROG_ID "LogarithmPlotter.File.1" !define DEV_NAME "Ad5001" !define WEBSITE "https://apps.ad5001.eu/logarithmplotter" -!define VERSION_SHORT "0.1.6" +!define VERSION_SHORT "0.1.7" !define APP_VERSION "${VERSION_SHORT}.0" !define COPYRIGHT "Ad5001 (c) 2022" !define DESCRIPTION "Create graphs with logarithm scales." From b852eed48931fcdcfece25fd1f0afa641db13e13 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 01:22:33 +0100 Subject: [PATCH 03/31] More composenting of history --- .../{ => History}/History.qml | 6 +-- .../{ => History}/HistoryBrowser.qml | 41 +++++++------------ .../LogarithmPlotter/LogarithmPlotter.qml | 1 + .../qml/eu/ad5001/LogarithmPlotter/qmldir | 1 - 4 files changed, 18 insertions(+), 31 deletions(-) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/{ => History}/History.qml (97%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/{ => History}/HistoryBrowser.qml (76%) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/History.qml similarity index 97% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History.qml rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/History.qml index 2584385..47c4fbe 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/History.qml @@ -18,12 +18,12 @@ import QtQuick 2.12 import QtQml 2.12 -import "js/objects.js" as Objects -import "js/historylib.js" as HistoryLib +import "../js/objects.js" as Objects +import "../js/historylib.js" as HistoryLib /*! \qmltype History - \inqmlmodule eu.ad5001.LogarithmPlotter + \inqmlmodule eu.ad5001.LogarithmPlotter.History \brief QObject holding persistantly for undo & redo stacks. \sa HistoryBrowser, historylib diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml similarity index 76% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml index 9ce3098..45275cd 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml @@ -18,12 +18,12 @@ import QtQuick.Controls 2.12 import QtQuick 2.12 -import "js/utils.js" as Utils +import "../js/utils.js" as Utils /*! \qmltype HistoryBrowser - \inqmlmodule eu.ad5001.LogarithmPlotter + \inqmlmodule eu.ad5001.LogarithmPlotter.History \brief Tab of the drawer that allows to navigate through the undo and redo history. Creates a scrollable view containing a list of history actions based on the redo stack, then a "Now" indicator @@ -57,24 +57,17 @@ ScrollView { id: redoColumn anchors.right: parent.right anchors.top: parent.top - width: historyBrowser.actionWidth + width: actionWidth Repeater { model: history.redoCount - Button { + HistoryItem { id: redoButton - width: historyBrowser.actionWidth + width: actionWidth height: actionHeight - flat: true - text: history.redoStack[index].getReadableString() - - ToolTip.visible: hovered - ToolTip.text: text - - onClicked: { - history.redoMultipleDefered(history.redoCount-index) - } + isRedo: true + idx: index } } } @@ -94,7 +87,7 @@ ScrollView { id: nowRect anchors.right: parent.right anchors.top: redoColumn.bottom - width: historyBrowser.actionWidth + width: actionWidth height: actionHeight color: sysPalette.highlight Text { @@ -110,24 +103,18 @@ ScrollView { id: undoColumn anchors.right: parent.right anchors.top: nowRect.bottom - width: historyBrowser.actionWidth + width: actionWidth Repeater { model: history.undoCount - Button { + + HistoryItem { id: undoButton - width: historyBrowser.actionWidth + width: actionWidth height: actionHeight - flat: true - text: history.undoStack[history.undoCount-index-1].getReadableString() - - ToolTip.visible: hovered - ToolTip.text: text - - onClicked: { - history.undoMultipleDefered(index+1) - } + isRedo: false + idx: index } } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml index 9b5a09f..c030d8d 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml @@ -25,6 +25,7 @@ import QtQuick 2.12 import "js/objs/autoload.js" as ALObjects import "js/objects.js" as Objects +import eu.ad5001.LogarithmPlotter.History 1.0 import eu.ad5001.LogarithmPlotter.ObjectLists 1.0 import eu.ad5001.LogarithmPlotter.Popup 1.0 as Popup diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/qmldir b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/qmldir index 7751252..ac68e47 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/qmldir +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/qmldir @@ -1,5 +1,4 @@ module eu.ad5001.LogarithmPlotter -Icon 1.0 Icon.qml Settings 1.0 Settings.qml Alert 1.0 Alert.qml From 7a8b35c83b5166e0ae9b1ab2feb7d957c7e20f28 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 01:33:52 +0100 Subject: [PATCH 04/31] Moving icons --- .../qml/eu/ad5001/LogarithmPlotter/icons/{ => common}/Text.svg | 0 .../icons/{settings/custom => common}/angle.svg | 0 .../icons/{settings/custom => common}/appearance.svg | 0 .../icons/{settings/custom => common}/arrow.svg | 0 .../eu/ad5001/LogarithmPlotter/icons/{ => common}/delete.svg | 0 .../icons/{settings/custom => common}/label.svg | 0 .../icons/{settings/custom => common}/position.svg | 0 .../icons/{settings/custom => common}/target.svg | 0 .../eu/ad5001/LogarithmPlotter/icons/{ => objects}/Function.svg | 0 .../ad5001/LogarithmPlotter/icons/{ => objects}/Gain Bode.svg | 0 .../ad5001/LogarithmPlotter/icons/{ => objects}/Phase Bode.svg | 0 .../eu/ad5001/LogarithmPlotter/icons/{ => objects}/Point.svg | 0 .../ad5001/LogarithmPlotter/icons/{ => objects}/Repartition.svg | 0 .../eu/ad5001/LogarithmPlotter/icons/{ => objects}/Sequence.svg | 0 .../LogarithmPlotter/icons/{ => objects}/Somme gains Bode.svg | 0 .../LogarithmPlotter/icons/{ => objects}/Somme gains Bode2.svg | 0 .../LogarithmPlotter/icons/{ => objects}/Somme phases Bode.svg | 0 .../icons/{settings/custom => objects}/Text.svg | 0 .../eu/ad5001/LogarithmPlotter/icons/{ => objects}/X Cursor.svg | 0 .../qml/eu/ad5001/LogarithmPlotter/icons/position.svg | 1 - .../LogarithmPlotter/icons/settings/custom/Display Mode.svg | 2 +- .../LogarithmPlotter/icons/settings/custom/Display Style.svg | 2 +- .../LogarithmPlotter/icons/settings/custom/Label Position.svg | 2 +- .../ad5001/LogarithmPlotter/icons/settings/custom/Label X.svg | 2 +- .../eu/ad5001/LogarithmPlotter/icons/settings/custom/Phase.svg | 2 +- .../LogarithmPlotter/icons/settings/custom/Point Style.svg | 2 +- .../LogarithmPlotter/icons/settings/custom/Target Element.svg | 2 +- .../icons/settings/custom/Target Value Position.svg | 2 +- .../eu/ad5001/LogarithmPlotter/icons/settings/custom/Unit.svg | 2 +- .../qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/X.svg | 2 +- .../qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Y.svg | 2 +- .../eu/ad5001/LogarithmPlotter/icons/settings/custom/ω₀.svg | 2 +- 32 files changed, 12 insertions(+), 13 deletions(-) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => common}/Text.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{settings/custom => common}/angle.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{settings/custom => common}/appearance.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{settings/custom => common}/arrow.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => common}/delete.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{settings/custom => common}/label.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{settings/custom => common}/position.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{settings/custom => common}/target.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => objects}/Function.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => objects}/Gain Bode.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => objects}/Phase Bode.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => objects}/Point.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => objects}/Repartition.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => objects}/Sequence.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => objects}/Somme gains Bode.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => objects}/Somme gains Bode2.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => objects}/Somme phases Bode.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{settings/custom => objects}/Text.svg (100%) rename LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/{ => objects}/X Cursor.svg (100%) delete mode 120000 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/position.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Text.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/Text.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Text.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/Text.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/angle.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/angle.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/angle.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/angle.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/appearance.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/appearance.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/appearance.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/appearance.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/arrow.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/arrow.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/arrow.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/arrow.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/delete.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/delete.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/delete.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/delete.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/label.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/label.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/label.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/label.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/position.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/position.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/position.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/position.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/target.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/target.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/target.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/target.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Function.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Function.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Function.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Function.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Gain Bode.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Gain Bode.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Gain Bode.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Gain Bode.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Phase Bode.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Phase Bode.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Phase Bode.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Phase Bode.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Point.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Point.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Point.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Point.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Repartition.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Repartition.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Repartition.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Repartition.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Sequence.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Sequence.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Sequence.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Sequence.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Somme gains Bode.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Somme gains Bode.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Somme gains Bode.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Somme gains Bode.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Somme gains Bode2.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Somme gains Bode2.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Somme gains Bode2.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Somme gains Bode2.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Somme phases Bode.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Somme phases Bode.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Somme phases Bode.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Somme phases Bode.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Text.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Text.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Text.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Text.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/X Cursor.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/X Cursor.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/X Cursor.svg rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/X Cursor.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/position.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/position.svg deleted file mode 120000 index fadae94..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/position.svg +++ /dev/null @@ -1 +0,0 @@ -./settings/custom/position.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Display Mode.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Display Mode.svg index 8d67d47..7a5ba45 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Display Mode.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Display Mode.svg @@ -1 +1 @@ -appearance.svg \ No newline at end of file +../../common/appearance.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Display Style.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Display Style.svg index 8d67d47..7a5ba45 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Display Style.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Display Style.svg @@ -1 +1 @@ -appearance.svg \ No newline at end of file +../../common/appearance.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Label Position.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Label Position.svg index dfe8266..43aa15f 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Label Position.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Label Position.svg @@ -1 +1 @@ -arrow.svg \ No newline at end of file +../../common/arrow.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Label X.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Label X.svg index e890fec..6b40925 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Label X.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Label X.svg @@ -1 +1 @@ -position.svg \ No newline at end of file +../../common/position.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Phase.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Phase.svg index 0e9d919..21699e9 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Phase.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Phase.svg @@ -1 +1 @@ -angle.svg \ No newline at end of file +../../common/angle.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Point Style.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Point Style.svg index 8d67d47..7a5ba45 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Point Style.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Point Style.svg @@ -1 +1 @@ -appearance.svg \ No newline at end of file +../../common/appearance.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Target Element.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Target Element.svg index eabf591..50124dc 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Target Element.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Target Element.svg @@ -1 +1 @@ -target.svg \ No newline at end of file +../../common/target.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Target Value Position.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Target Value Position.svg index e890fec..6b40925 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Target Value Position.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Target Value Position.svg @@ -1 +1 @@ -position.svg \ No newline at end of file +../../common/position.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Unit.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Unit.svg index 0e9d919..21699e9 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Unit.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Unit.svg @@ -1 +1 @@ -angle.svg \ No newline at end of file +../../common/angle.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/X.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/X.svg index e890fec..6b40925 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/X.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/X.svg @@ -1 +1 @@ -position.svg \ No newline at end of file +../../common/position.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Y.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Y.svg index e890fec..6b40925 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Y.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Y.svg @@ -1 +1 @@ -position.svg \ No newline at end of file +../../common/position.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/ω₀.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/ω₀.svg index 0e9d919..21699e9 120000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/ω₀.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/ω₀.svg @@ -1 +1 @@ -angle.svg \ No newline at end of file +../../common/angle.svg \ No newline at end of file From 12fb88cab9790661e4b7d77ee6c310e4185753c3 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 01:37:46 +0100 Subject: [PATCH 05/31] Fixing icon paths --- LogarithmPlotter/logarithmplotter.py | 9 ++++++--- .../ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/LogarithmPlotter/logarithmplotter.py b/LogarithmPlotter/logarithmplotter.py index f9aa19a..fcd1c66 100644 --- a/LogarithmPlotter/logarithmplotter.py +++ b/LogarithmPlotter/logarithmplotter.py @@ -74,9 +74,12 @@ def run(): print("Loaded dependencies in " + str((dep_time - start_time)*1000) + "ms.") icon_fallbacks = QIcon.fallbackSearchPaths(); - icon_fallbacks.append(path.realpath(path.join(getcwd(), "qml", "eu", "ad5001", "LogarithmPlotter", "icons"))) - icon_fallbacks.append(path.realpath(path.join(getcwd(), "qml", "eu", "ad5001", "LogarithmPlotter", "icons", "settings"))) - icon_fallbacks.append(path.realpath(path.join(getcwd(), "qml", "eu", "ad5001", "LogarithmPlotter", "icons", "settings", "custom"))) + base_icon_path = path.join(getcwd(), "qml", "eu", "ad5001", "LogarithmPlotter", "icons") + icon_fallbacks.append(path.realpath(path.join(base_icon_path, "common"))) + icon_fallbacks.append(path.realpath(path.join(base_icon_path, "objects"))) + icon_fallbacks.append(path.realpath(path.join(base_icon_path, "history"))) + icon_fallbacks.append(path.realpath(path.join(base_icon_path, "settings"))) + icon_fallbacks.append(path.realpath(path.join(base_icon_path, "settings", "custom"))) QIcon.setFallbackSearchPaths(icon_fallbacks); app = QApplication(argv) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml index dd18a62..27f5b3e 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml @@ -78,7 +78,7 @@ D.Dialog { id: nameProperty height: 30 label: qsTr("Name") - icon: "icons/settings/custom/label.svg" + icon: "icons/common/label.svg" min: 1 width: dlgProperties.width value: objEditor.obj.name @@ -105,7 +105,7 @@ D.Dialog { label: qsTr("Label content") model: [qsTr("null"), qsTr("name"), qsTr("name + value")] property var idModel: ["null", "name", "name + value"] - icon: "icons/settings/custom/label.svg" + icon: "icons/common/label.svg" currentIndex: idModel.indexOf(objEditor.obj.labelContent) onActivated: function(newIndex) { if(idModel[newIndex] != objEditor.obj.labelContent) { From 402061a4b166a40d12aa3676e225519aa033ccdd Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 01:39:53 +0100 Subject: [PATCH 06/31] Optimising a few svg --- .../LogarithmPlotter/icons/common/Text.svg | 78 +------------ .../LogarithmPlotter/icons/common/angle.svg | 65 +---------- .../icons/common/appearance.svg | 55 +-------- .../LogarithmPlotter/icons/common/arrow.svg | 65 +---------- .../LogarithmPlotter/icons/common/delete.svg | 105 +----------------- .../LogarithmPlotter/icons/common/label.svg | 71 +----------- .../icons/common/position.svg | 64 +---------- .../LogarithmPlotter/icons/common/target.svg | 65 +---------- .../LogarithmPlotter/icons/history/add.svg | 1 + 9 files changed, 9 insertions(+), 560 deletions(-) create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/add.svg diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/Text.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/Text.svg index 0872104..6f95446 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/Text.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/Text.svg @@ -1,77 +1 @@ - - - - - - - - - - - image/svg+xml - - - - - - - - - - - + \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/angle.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/angle.svg index 434ac32..0c94fc6 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/angle.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/angle.svg @@ -1,64 +1 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - + \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/appearance.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/appearance.svg index 482af0a..e674482 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/appearance.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/appearance.svg @@ -1,54 +1 @@ - - - - - - image/svg+xml - - - - - - - - + \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/arrow.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/arrow.svg index 9d4345d..25e632c 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/arrow.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/arrow.svg @@ -1,64 +1 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - + \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/delete.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/delete.svg index e1066a4..4d8ca75 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/delete.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/delete.svg @@ -1,104 +1 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/label.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/label.svg index f1f7618..7bb2baa 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/label.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/label.svg @@ -1,70 +1 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - + \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/position.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/position.svg index e445ed5..22f124b 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/position.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/position.svg @@ -1,63 +1 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - + \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/target.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/target.svg index dc13ac2..75677ec 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/target.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/target.svg @@ -1,64 +1 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - + \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/add.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/add.svg new file mode 100644 index 0000000..d90a7b8 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/add.svg @@ -0,0 +1 @@ + \ No newline at end of file From 95f7e683c7c1c7b68a618d36a7a7d7c1d3bdd09a Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 03:16:47 +0100 Subject: [PATCH 07/31] Redesigning history browser. --- .../eu/ad5001/LogarithmPlotter/AppMenuBar.qml | 2 +- .../History/HistoryBrowser.qml | 20 +++- .../LogarithmPlotter/History/HistoryItem.qml | 109 ++++++++++++++++++ .../eu/ad5001/LogarithmPlotter/History/qmldir | 5 + .../ObjectLists/EditorDialog.qml | 12 +- .../ObjectLists/ObjectCreationGrid.qml | 2 +- .../ObjectLists/ObjectLists.qml | 4 +- .../Setting/ComboBoxSetting.qml | 2 +- .../LogarithmPlotter/Setting/ListSetting.qml | 4 +- .../LogarithmPlotter/Setting/TextSetting.qml | 2 +- .../eu/ad5001/LogarithmPlotter/Settings.qml | 24 ++-- .../LogarithmPlotter/icons/history/add.svg | 1 - .../icons/history/appearance.svg | 1 + .../LogarithmPlotter/icons/history/create.svg | 45 ++++++++ .../LogarithmPlotter/icons/history/delete.svg | 48 ++++++++ .../LogarithmPlotter/icons/history/modify.svg | 47 ++++++++ .../LogarithmPlotter/icons/history/name.svg | 1 + .../icons/history/position.svg | 1 + .../icons/history/visibility.svg | 46 ++++++++ .../LogarithmPlotter/js/history/common.js | 45 ++++++++ .../ad5001/LogarithmPlotter/js/historylib.js | 70 ++++++++++- 21 files changed, 460 insertions(+), 31 deletions(-) create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/qmldir delete mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/add.svg create mode 120000 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/appearance.svg create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/create.svg create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/delete.svg create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/modify.svg create mode 120000 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/name.svg create mode 120000 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/position.svg create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/visibility.svg create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/common.js diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml index c6a2a72..e6eb5c4 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml @@ -108,7 +108,7 @@ MenuBar { visible: Objects.types[modelData].createable() height: visible ? implicitHeight : 0 icon.name: modelData - icon.source: './icons/' + modelData + '.svg' + icon.source: './icons/objects/' + modelData + '.svg' icon.color: sysPalette.buttonText onTriggered: { var newObj = Objects.createNewRegisteredObject(modelData) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml index 45275cd..d798687 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml @@ -45,7 +45,12 @@ ScrollView { \qmlproperty int HistoryBrowser::actionHeight Height of the actions. */ - property int actionHeight: 30 + property int actionHeight: 40 + /*! + \qmlproperty int HistoryBrowser::darkTheme + true when the system is running with a dark theme, false otherwise. + */ + property bool darkTheme: isDarkTheme() Flickable { width: parent.width @@ -68,6 +73,7 @@ ScrollView { height: actionHeight isRedo: true idx: index + darkTheme: historyBrowser.darkTheme } } } @@ -115,6 +121,7 @@ ScrollView { height: actionHeight isRedo: false idx: index + darkTheme: historyBrowser.darkTheme } } } @@ -130,4 +137,15 @@ ScrollView { visible: history.undoCount > 0 } } + + /*! + \qmlmethod bool HistoryBrowser::isDarkTheme() + Checks whether the system is running with a light or dark theme. + */ + function isDarkTheme() { + 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 + + } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml new file mode 100644 index 0000000..af931fc --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml @@ -0,0 +1,109 @@ +/** + * LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions. + * Copyright (C) 2022 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 . + */ + +import QtQuick.Controls 2.12 +import QtQuick 2.12 +import QtGraphicalEffects 1.15 +import "../js/utils.js" as Utils +import eu.ad5001.LogarithmPlotter.Setting 1.0 as Setting + + +/*! + \qmltype HistoryItem + \inqmlmodule eu.ad5001.LogarithmPlotter.History + \brief Item representing an history action. + + Creates a scrollable view containing a list of history actions based on the redo stack, then a "Now" indicator + followed by the entirety of the saved undo stack. Each action can be click to restore a state of the graph at + some point of the history. + + \sa HistoryBrowser +*/ +Button { + id: redoButton + flat: true + + /*! + \qmlproperty bool HistoryItem::isRedo + true if the action is in the redo stack, false othewise. + */ + property bool isRedo + /*! + \qmlproperty int HistoryItem::idx + Index of the item within the HistoryBrowser list. + */ + property int idx + /*! + \qmlproperty int HistoryItem::idx + true when the system is running with a dark theme, false otherwise. + */ + property bool darkTheme + /*! + \qmlproperty int HistoryItem::historyAction + Associated history action. + */ + readonly property var historyAction: isRedo ? history.redoStack[idx] : history.undoStack[history.undoCount-idx-1] + + LinearGradient { + anchors.fill: parent + start: Qt.point(0, 0) + end: Qt.point(parent.width, 0) + gradient: Gradient { + GradientStop { position: 0.1; color: "transparent" } + GradientStop { position: 1.5; color: historyAction.color(darkTheme) } + } + } + + Setting.Icon { + id: icon + width: 18 + height: 18 + anchors.left: parent.left + anchors.leftMargin: (parent.height-height)/2 + anchors.verticalCenter: parent.verticalCenter + + color: sysPalette.windowText + source: `../icons/history/${historyAction.icon()}.svg` + } + + Label { + id: label + anchors.left: icon.right + anchors.right: parent.right + anchors.leftMargin: 4 + anchors.rightMargin: (parent.height-height)/2 + anchors.verticalCenter: parent.verticalCenter + font.pixelSize: 14 + text: historyAction.getReadableString() + clip: true + } + + //text: historyAction.getReadableString() + + ToolTip.visible: hovered + ToolTip.text: label.text + + onClicked: { + if(isRedo) + history.redoMultipleDefered(history.redoCount-idx) + else + history.undoMultipleDefered(+idx+1) + } +} + + diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/qmldir b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/qmldir new file mode 100644 index 0000000..4f011a5 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/qmldir @@ -0,0 +1,5 @@ +module eu.ad5001.LogarithmPlotter.History + +History 1.0 History.qml +HistoryBrowser 1.0 HistoryBrowser.qml +HistoryItem 1.0 HistoryItem.qml diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml index 27f5b3e..96d8be8 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml @@ -78,7 +78,7 @@ D.Dialog { id: nameProperty height: 30 label: qsTr("Name") - icon: "icons/common/label.svg" + icon: "common/label.svg" min: 1 width: dlgProperties.width value: objEditor.obj.name @@ -105,7 +105,7 @@ D.Dialog { label: qsTr("Label content") model: [qsTr("null"), qsTr("name"), qsTr("name + value")] property var idModel: ["null", "name", "name + value"] - icon: "icons/common/label.svg" + icon: "common/label.svg" currentIndex: idModel.indexOf(objEditor.obj.labelContent) onActivated: function(newIndex) { if(idModel[newIndex] != objEditor.obj.labelContent) { @@ -144,7 +144,7 @@ D.Dialog { height: visible ? 30 : 0 width: parent.width label: parent.label - icon: `icons/settings/custom/${parent.icon}.svg` + icon: `settings/custom/${parent.icon}.svg` isDouble: modelData[1] == 'number' visible: paramTypeIn(modelData[1], ['Expression', 'Domain', 'string', 'number']) defValue: visible ? { @@ -180,7 +180,7 @@ D.Dialog { height: visible ? 20 : 0 width: parent.width text: parent.label - //icon: visible ? `icons/settings/custom/${parent.icon}.svg` : '' + //icon: visible ? `settings/custom/${parent.icon}.svg` : '' checked: visible ? objEditor.obj[modelData[0]] : false onClicked: { @@ -200,7 +200,7 @@ D.Dialog { width: dlgProperties.width height: visible ? 30 : 0 label: parent.label - icon: visible ? `icons/settings/custom/${parent.icon}.svg` : '' + icon: visible ? `settings/custom/${parent.icon}.svg` : '' // True to select an object of type, false for enums. property bool selectObjMode: paramTypeIn(modelData[1], ['ObjectType']) property bool isRealObject: !selectObjMode || (modelData[1].objType != "ExecutableObject" && modelData[1].objType != "DrawableObject") @@ -262,7 +262,7 @@ D.Dialog { visible: paramTypeIn(modelData[1], ['List', 'Dict']) label: parent.label - //icon: `icons/settings/custom/${parent.icon}.svg` + //icon: `settings/custom/${parent.icon}.svg` dictionaryMode: paramTypeIn(modelData[1], ['Dict']) keyType: dictionaryMode ? modelData[1].keyType : 'string' valueType: visible ? modelData[1].valueType : 'string' diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml index 2bafcfb..9376e2b 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml @@ -54,7 +54,7 @@ Column { height: visible ? implicitHeight : 0 display: AbstractButton.TextUnderIcon icon.name: modelData - icon.source: '../icons/' + modelData + '.svg' + icon.source: '../icons/objects/' + modelData + '.svg' icon.width: 24 icon.height: 24 icon.color: sysPalette.buttonText diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml index 8e07d01..09da7be 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml @@ -140,7 +140,7 @@ ListView { anchors.rightMargin: 5 anchors.topMargin: 5 icon.name: 'position' - icon.source: '../icons/position.svg' + icon.source: '../icons/common/position.svg' icon.color: sysPalette.buttonText property bool hasXProp: Objects.types[objType].properties().hasOwnProperty('x') property bool hasYProp: Objects.types[objType].properties().hasOwnProperty('y') @@ -168,7 +168,7 @@ ListView { anchors.rightMargin: 5 anchors.topMargin: 5 icon.name: 'delete' - icon.source: '../icons/delete.svg' + icon.source: '../icons/common/delete.svg' icon.color: sysPalette.buttonText ToolTip.visible: hovered ToolTip.text: qsTr("Delete %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/ComboBoxSetting.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/ComboBoxSetting.qml index b68d397..3747e9e 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/ComboBoxSetting.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/ComboBoxSetting.qml @@ -103,7 +103,7 @@ Item { id: iconLabel anchors.top: parent.top anchors.topMargin: icon == "" ? 0 : 3 - source: control.visible ? "../" + control.icon : "" + source: control.visible ? "../icons/" + control.icon : "" width: height height: icon == "" && visible ? 0 : 24 color: sysPalette.windowText diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml index eb8e07c..718181f 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml @@ -86,7 +86,7 @@ Column { id: iconLabel anchors.top: parent.top anchors.topMargin: icon == "" ? 0 : 3 - source: control.visible ? "../" + control.icon : "" + source: control.visible ? "../icons/" + control.icon : "" width: height height: icon == "" || !visible ? 0 : 24 color: sysPalette.windowText @@ -198,7 +198,7 @@ Column { id: deleteButton width: visible ? parent.height : 0 height: width - icon.source: './icons/delete.svg' + icon.source: './icons/common/delete.svg' icon.name: 'delete' visible: !control.forbidAdding diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml index 9fcbe3e..cb2bc45 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml @@ -78,7 +78,7 @@ Item { id: iconLabel anchors.top: parent.top anchors.topMargin: icon == "" ? 0 : 3 - source: control.visible ? "../" + control.icon : "" + source: control.visible ? "../icons/" + control.icon : "" width: height height: icon == "" || !visible ? 0 : 24 color: sysPalette.windowText diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml index 62893b9..5da217e 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Settings.qml @@ -156,7 +156,7 @@ ScrollView { isDouble: true label: qsTr("X Zoom") min: 1 - icon: "icons/settings/xzoom.svg" + icon: "settings/xzoom.svg" width: settings.settingWidth value: settings.xzoom.toFixed(2) onChanged: function(newValue) { @@ -170,7 +170,7 @@ ScrollView { height: 30 isDouble: true label: qsTr("Y Zoom") - icon: "icons/settings/yzoom.svg" + icon: "settings/yzoom.svg" width: settings.settingWidth value: settings.yzoom.toFixed(2) onChanged: function(newValue) { @@ -186,7 +186,7 @@ ScrollView { isDouble: true min: -Infinity label: qsTr("Min X") - icon: "icons/settings/xmin.svg" + icon: "settings/xmin.svg" width: settings.settingWidth defValue: settings.xmin onChanged: function(newValue) { @@ -205,7 +205,7 @@ ScrollView { isDouble: true min: -Infinity label: qsTr("Max Y") - icon: "icons/settings/ymax.svg" + icon: "settings/ymax.svg" width: settings.settingWidth defValue: settings.ymax onChanged: function(newValue) { @@ -220,7 +220,7 @@ ScrollView { isDouble: true min: -Infinity label: qsTr("Max X") - icon: "icons/settings/xmax.svg" + icon: "settings/xmax.svg" width: settings.settingWidth value: canvas.px2x(canvas.canvasSize.width).toFixed(2) onChanged: function(xvaluemax) { @@ -239,7 +239,7 @@ ScrollView { isDouble: true min: -Infinity label: qsTr("Min Y") - icon: "icons/settings/ymin.svg" + icon: "settings/ymin.svg" width: settings.settingWidth defValue: canvas.px2y(canvas.canvasSize.height).toFixed(2) onChanged: function(yvaluemin) { @@ -256,7 +256,7 @@ ScrollView { id: xAxisStep height: 30 label: qsTr("X Axis Step") - icon: "icons/settings/xaxisstep.svg" + icon: "settings/xaxisstep.svg" width: settings.settingWidth defValue: settings.xaxisstep visible: !settings.logscalex @@ -270,7 +270,7 @@ ScrollView { id: yAxisStep height: 30 label: qsTr("Y Axis Step") - icon: "icons/settings/yaxisstep.svg" + icon: "settings/yaxisstep.svg" width: settings.settingWidth defValue: settings.yaxisstep onChanged: function(newValue) { @@ -285,7 +285,7 @@ ScrollView { isDouble: true label: qsTr("Line width") min: 1 - icon: "icons/settings/linewidth.svg" + icon: "settings/linewidth.svg" width: settings.settingWidth defValue: settings.linewidth onChanged: function(newValue) { @@ -300,7 +300,7 @@ ScrollView { isDouble: true label: qsTr("Text size (px)") min: 1 - icon: "icons/settings/textsize.svg" + icon: "settings/textsize.svg" width: settings.settingWidth defValue: settings.textsize onChanged: function(newValue) { @@ -314,7 +314,7 @@ ScrollView { height: 30 width: settings.settingWidth label: qsTr('X Label') - icon: "icons/settings/xlabel.svg" + icon: "settings/xlabel.svg" model: ListModel { ListElement { text: "" } ListElement { text: "x" } @@ -340,7 +340,7 @@ ScrollView { height: 30 width: settings.settingWidth label: qsTr('Y Label') - icon: "icons/settings/ylabel.svg" + icon: "settings/ylabel.svg" model: ListModel { ListElement { text: "" } ListElement { text: "y" } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/add.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/add.svg deleted file mode 100644 index d90a7b8..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/add.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/appearance.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/appearance.svg new file mode 120000 index 0000000..41b711b --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/appearance.svg @@ -0,0 +1 @@ +../common/appearance.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/create.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/create.svg new file mode 100644 index 0000000..a8afd5e --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/create.svg @@ -0,0 +1,45 @@ + + + + + + + diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/delete.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/delete.svg new file mode 100644 index 0000000..d1bf741 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/delete.svg @@ -0,0 +1,48 @@ + + + + + + + + + diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/modify.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/modify.svg new file mode 100644 index 0000000..54067dd --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/modify.svg @@ -0,0 +1,47 @@ + + + + + + + + + diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/name.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/name.svg new file mode 120000 index 0000000..280f9ad --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/name.svg @@ -0,0 +1 @@ +../common/label.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/position.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/position.svg new file mode 120000 index 0000000..4eecad3 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/position.svg @@ -0,0 +1 @@ +../common/position.svg \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/visibility.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/visibility.svg new file mode 100644 index 0000000..bf17c84 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/history/visibility.svg @@ -0,0 +1,46 @@ + + + + + + + + + diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/common.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/common.js new file mode 100644 index 0000000..5f51fe8 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/common.js @@ -0,0 +1,45 @@ +/** + * LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions. + * Copyright (C) 2022 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 . + */ + +.pragma library + + +class Action { + // Type of the action done. + type(){return 'Unknown'} + + // Icon associated with the item + + // TargetName is the name of the object that's targeted by the event. + constructor(targetName = "", targetType = "Point") { + this.targetName = targetName + this.targetType = targetType + } + + undo() {} + + redo() {} + + export() { + return [this.targetName, this.targetType] + } + + getReadableString() { + return 'Unknown action' + } +} diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js index 13fc25a..910c96d 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js @@ -32,6 +32,12 @@ class Action { // Type of the action done. type(){return 'Unknown'} + // Icon of the action to be used in history browser. + icon(){return 'unknown'} + + // Color associated with the action. + color(darkVer=false){return darkVer ? 'black' : 'white'} + // TargetName is the name of the object that's targeted by the event. constructor(targetName = "", targetType = "Point") { this.targetName = targetName @@ -55,6 +61,10 @@ class CreateNewObject extends Action { // Action used for the creation of an object type(){return 'CreateNewObject'} + icon(){return 'create'} + + color(darkVer=false){return darkVer ? 'green' : 'lime'} + constructor(targetName = "", targetType = "Point", properties = []) { super(targetName, targetType) this.targetProperties = properties @@ -84,6 +94,10 @@ class DeleteObject extends CreateNewObject { // Action used at the deletion of an object. Basicly the same thing as creating a new object, except Redo & Undo are reversed. type(){return 'DeleteObject'} + icon(){return 'delete'} + + color(darkVer=false){return darkVer ? 'darkred' : 'salmon'} + undo() { super.redo() } @@ -101,6 +115,10 @@ class EditedProperty extends Action { // Action used everytime an object's property has been changed type(){return 'EditedProperty'} + icon(){return 'modify'} + + color(darkVer=false){return darkVer ? 'darkslateblue' : 'cyan'} + constructor(targetName = "", targetType = "Point", targetProperty = "visible", previousValue = false, newValue = true, valueIsExpressionNeedingImport = false) { super(targetName, targetType) this.targetProperty = targetProperty @@ -109,10 +127,10 @@ class EditedProperty extends Action { this.newValue = newValue this.propertyType = Objects.types[targetType].properties()[targetProperty] if(valueIsExpressionNeedingImport) { - if(propertyType == "Expression") { + if(this.propertyType == "Expression") { this.previousValue = new MathLib.Expression(this.previousValue); this.newValue = new MathLib.Expression(this.newValue); - } else if(propertyType == "Domain") { + } else if(this.propertyType == "Domain") { this.previousValue = MathLib.parseDomain(this.previousValue); this.newValue = MathLib.parseDomain(this.newValue); } else { @@ -178,10 +196,22 @@ class EditedVisibility extends EditedProperty { // Action used everytime an object's property has been changed type(){return 'EditedVisibility'} + icon(){return 'visibility'} + + color(darkVer=false){ + return this.newValue ? + (darkVer ? 'darkgray' : 'whitesmoke') : + (darkVer ? 'dimgray' : 'lightgray') + } + constructor(targetName = "", targetType = "Point", newValue = true) { super(targetName, targetType, "visible", !newValue, newValue) } + export() { + return [this.targetName, this.targetType, this.newValue] + } + getReadableString() { if(this.newValue) { return qsTr('%1 %2 shown.').arg(this.targetType).arg(this.targetName) @@ -193,12 +223,21 @@ class EditedVisibility extends EditedProperty { class NameChanged extends EditedProperty { // Action used everytime an object's property has been changed - type(){return 'EditedVisibility'} + type(){return 'NameChanged'} + icon(){return 'name'} + + + color(darkVer=false){return darkVer ? 'darkorange' : 'orange'} + constructor(targetName = "", targetType = "Point", newName = "") { super(targetName, targetType, "name", targetName, newName) } + export() { + return [this.targetName, this.targetType, this.newValue] + } + undo() { Objects.getObjectByName(this.newValue, this.targetType)['name'] = this.previousValue } @@ -206,6 +245,29 @@ class NameChanged extends EditedProperty { redo() { Objects.getObjectByName(this.previousValue, this.targetType)[this.targetProperty] = this.newValue } + + getReadableString() { + return qsTr('Name of %1 %2 changed to %3.') + .arg(Objects.types[this.targetType].displayType()) + .arg(this.targetName).arg(this.newValue) + } +} + +class ColorChanged extends EditedProperty { + // Action used everytime an object's property has been changed + type(){return 'ColorChanged'} + + icon(){return 'appearance'} + + + color(darkVer=false){return darkVer ? 'purple' : 'plum'} + + getReadableString() { + return qsTr('%1 of %2 %3 changed from "%4" to "%5".') + .arg(QT_TRANSLATE_NOOP('prop','color')) + .arg(Objects.types[this.targetType].displayType()) + .arg(this.targetName).arg(this.previousValue).arg(this.newValue) + } } var Actions = { @@ -214,4 +276,6 @@ var Actions = { "DeleteObject": DeleteObject, "EditedProperty": EditedProperty, "EditedVisibility": EditedVisibility, + "NameChanged": NameChanged, + "ColorChanged": ColorChanged, } From 9873263308d1a5d64df9d0694f0259ece053e92a Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 03:19:05 +0100 Subject: [PATCH 08/31] Updating translations --- LogarithmPlotter/i18n/lp_de.ts | 207 ++++++++++++++------------- LogarithmPlotter/i18n/lp_en.ts | 207 ++++++++++++++------------- LogarithmPlotter/i18n/lp_es.ts | 207 ++++++++++++++------------- LogarithmPlotter/i18n/lp_fr.ts | 207 ++++++++++++++------------- LogarithmPlotter/i18n/lp_hu.ts | 207 ++++++++++++++------------- LogarithmPlotter/i18n/lp_nb_NO.ts | 207 ++++++++++++++------------- LogarithmPlotter/i18n/lp_template.ts | 207 ++++++++++++++------------- 7 files changed, 763 insertions(+), 686 deletions(-) diff --git a/LogarithmPlotter/i18n/lp_de.ts b/LogarithmPlotter/i18n/lp_de.ts index 973741b..a5c3869 100644 --- a/LogarithmPlotter/i18n/lp_de.ts +++ b/LogarithmPlotter/i18n/lp_de.ts @@ -4,23 +4,23 @@ About - - + + About LogarithmPlotter Über LogarithmPlotter - + LogarithmPlotter v%1 LogarithmPlotter v%1 - + 2D plotter software to make BODE plots, sequences and repartition functions. 2D-Grafiksoftware zur Erstellung von Bode-Diagramms, Folgen und Verteilungsfunktionen. - + Report a bug Bug melden @@ -28,107 +28,107 @@ AppMenuBar - + &File &Datei - + &Load... &Laden… - + &Save &Speichern - + Save &As... Speichern &Unter… - + &Quit &Ausfahrt - + &Edit &Bearbeiten - + &Undo &Lösen - + &Redo &Wiederherstellen - + &Copy plot Grafik &Kopieren - + &Create &Erstellen - + &Settings &Einstellungen - + Check for updates on startup Beim Starten auf Updates prüfen - + Reset redo stack automaticly Wiederherstellen-Stapel automatisch zurücksetzen - + &Help &Hilfe - + &Source code &Quellcode - + &Report a bug Fehler &Melden - + &Changelog &Changelog - + &Help translating! &Hilfe beim Übersetzen! - + &About &Übrigens - + Save unsaved changes? Änderungen speichern? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? Diese Grafik enthält ungespeicherte Änderungen. Dadurch gehen alle ungespeicherten Daten verloren. Fortfahren? @@ -136,12 +136,12 @@ Changelog - + Fetching changelog... Changelog abrufen… - + Done Schließen @@ -149,38 +149,38 @@ EditorDialog - + Edit properties of %1 %2 Eigenschaften von %1 %2 bearbeiten - + Name Name - + Label content Etikett - + null leer - + name Name - + name + value Name + Wert - - + + + Create new %1 + Neues %1objekt erstellen @@ -188,12 +188,12 @@ FileDialog - + Export Logarithm Plot file Logarithmusgrafik exportieren - + Import Logarithm Plot file Logarithmusgrafik importieren @@ -201,39 +201,39 @@ GreetScreen - + Welcome to LogarithmPlotter Willkommen bei LogarithmPlotter - + Version %1 Version %1 - + Take a few seconds to configure LogarithmPlotter. These settings can be changed at any time from the "Settings" menu. Nehmen Sie sich ein paar Sekunden Zeit, um LogarithmPlotter zu konfigurieren. Diese Einstellungen können jederzeit über das Menü "Einstellungen" geändert werden. - + Check for updates on startup (requires online connectivity) Beim Start nach Updates suchen (Online-Verbindung erforderlich) - + Reset redo stack when a new action is added to history Redo-Stapel zurücksetzen, wenn eine neue Aktion zur Historie hinzugefügt wird - + Changelog Changelog - + Done Schließen @@ -241,17 +241,17 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" HistoryBrowser - + Redo > Wiederherstellen > - + > Now > Aktueller Stand - + < Undo < Rückgängig @@ -259,7 +259,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" ListSetting - + + Add Entry + Neuer Eintrag @@ -267,62 +267,62 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" LogarithmPlotter - + Objects Objekte - + Settings Einstellungen - + History Verlauf - + Saved plot to '%1'. Gespeicherte Grafik auf '%1'. - + Loading file '%1'. Laden der Datei '%1'. - + Unknown object type: %1. Unbekannter Objekttyp: %1. - + Invalid file provided. Ungültige Datei angegeben. - + Could not save file: Die Datei konnte nicht gespeichert werden: - + Loaded file '%1'. Geladene Datei '%1'. - + Copied plot screenshot to clipboard! Grafik in die Zwischenablage kopiert! - + &Update &Aktualisieren - + &Update LogarithmPlotter LogarithmPlotter &aktualisieren @@ -330,7 +330,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" ObjectCreationGrid - + + Create new: + Neu erstellen: @@ -338,37 +338,37 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" ObjectLists - + Hide all %1 Alle %1 ausblenden - + Show all %1 Alle %1 anzeigen - + Hide %1 %2 Ausblenden %1 %2 - + Show %1 %2 Anzeigen %1 %2 - + Set %1 %2 position Position von %1 %2 einstellen - + Delete %1 %2 %1 %2 löschen - + Pick new color for %1 %2 Neue Farbe für %1 %2 auswählen @@ -376,12 +376,12 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" PickLocationOverlay - + Pointer precision: Genauigkeit des Zeigers: - + Snap to grid Am Gitter einrasten @@ -389,97 +389,97 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" Settings - + X Zoom Zoom auf X - + Y Zoom Zoom auf Y - + Min X Minimum X - + Max Y Maximum Y - + Max X Maximum X - + Min Y Minimum Y - + X Axis Step X-Achsen-Schritt - + Y Axis Step Y-Achsen-Schritt - + Line width Linienbreite - + Text size (px) Textgröße (px) - + X Label Etikett der X-Achse - + Y Label Etikett der Y-Achse - + X Log scale Logarithmische Skala in X - + Show X graduation X-Teilung anzeigen - + Show Y graduation Y-Teilung anzeigen - + Copy to clipboard Kopieren in die Zwischenablage - + Save plot Grafik speichern - + Save plot as Grafik speichern unter - + Load plot Grafik laden @@ -523,9 +523,9 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" control - - - + + + %1: %1: @@ -569,30 +569,36 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" historylib - + New %1 %2 created. Neu %1 %2 erstellt. - + %1 %2 deleted. %1 %2 gelöscht. - + + %1 of %2 %3 changed from "%4" to "%5". %1 von %2 %3 wurde von "%4" auf "%5" geändert. - + %1 %2 shown. %1 %2 angezeigt. - + %1 %2 hidden. %1 %2 ausgeblendet. + + + Name of %1 %2 changed to %3. + + parameters @@ -888,6 +894,11 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" baseValues Initialisierungswerte + + + color + + repartition diff --git a/LogarithmPlotter/i18n/lp_en.ts b/LogarithmPlotter/i18n/lp_en.ts index 19ec862..e48eac2 100644 --- a/LogarithmPlotter/i18n/lp_en.ts +++ b/LogarithmPlotter/i18n/lp_en.ts @@ -4,23 +4,23 @@ About - - + + About LogarithmPlotter About LogarithmPlotter - + LogarithmPlotter v%1 LogarithmPlotter v%1 - + 2D plotter software to make BODE plots, sequences and repartition functions. 2D plotter software to make Bode plots, sequences and distribution functions. - + Report a bug Report a bug @@ -28,107 +28,107 @@ AppMenuBar - + &File &File - + &Load... &Load… - + &Save &Save - + Save &As... Save &As… - + &Quit &Quit - + &Edit &Edit - + &Undo &Undo - + &Redo &Redo - + &Copy plot &Copy plot - + &Create &Create - + &Settings &Settings - + Check for updates on startup Check for updates on startup - + Reset redo stack automaticly Reset redo stack automatically - + &Help &Help - + &Source code &Source code - + &Report a bug &Report a bug - + &Changelog &Changelog - + &Help translating! &Help translating! - + &About &About - + Save unsaved changes? Save unsaved changes? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? @@ -136,12 +136,12 @@ Changelog - + Fetching changelog... Fetching changelog… - + Done Done @@ -149,38 +149,38 @@ EditorDialog - + Edit properties of %1 %2 Edit properties of %1 %2 - + Name Name - + Label content Label content - + null null - + name name - + name + value name + value - - + + + Create new %1 + Create new %1 @@ -188,12 +188,12 @@ FileDialog - + Export Logarithm Plot file Export Logarithm Plot file - + Import Logarithm Plot file Import Logarithm Plot file @@ -201,39 +201,39 @@ GreetScreen - + Welcome to LogarithmPlotter Welcome to LogarithmPlotter - + Version %1 Version %1 - + Take a few seconds to configure LogarithmPlotter. These settings can be changed at any time from the "Settings" menu. Take a few seconds to configure LogarithmPlotter. These settings can be changed at any time from the "Settings" menu. - + Check for updates on startup (requires online connectivity) Check for updates on startup (requires online connectivity) - + Reset redo stack when a new action is added to history Reset redo stack when a new action is added to history - + Changelog Changelog - + Done Done @@ -241,17 +241,17 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + Redo > Redo > - + > Now > Now - + < Undo < Undo @@ -259,7 +259,7 @@ These settings can be changed at any time from the "Settings" menu. ListSetting - + + Add Entry + Add Entry @@ -267,62 +267,62 @@ These settings can be changed at any time from the "Settings" menu. LogarithmPlotter - + Objects Objects - + Settings Settings - + History History - + Saved plot to '%1'. Saved plot to '%1'. - + Loading file '%1'. Loading file '%1'. - + Unknown object type: %1. Unknown object type: %1. - + Invalid file provided. Invalid file provided. - + Could not save file: Could not save file: - + Loaded file '%1'. Loaded file '%1'. - + Copied plot screenshot to clipboard! Copied plot screenshot to clipboard! - + &Update &Update - + &Update LogarithmPlotter &Update LogarithmPlotter @@ -330,7 +330,7 @@ These settings can be changed at any time from the "Settings" menu. ObjectCreationGrid - + + Create new: + Create new: @@ -338,37 +338,37 @@ These settings can be changed at any time from the "Settings" menu. ObjectLists - + Hide all %1 Hide all %1 - + Show all %1 Show all %1 - + Hide %1 %2 Hide %1 %2 - + Show %1 %2 Show %1 %2 - + Set %1 %2 position Set %1 %2 position - + Delete %1 %2 Delete %1 %2 - + Pick new color for %1 %2 Pick new color for %1 %2 @@ -376,12 +376,12 @@ These settings can be changed at any time from the "Settings" menu. PickLocationOverlay - + Pointer precision: Pointer precision: - + Snap to grid Snap to grid @@ -389,97 +389,97 @@ These settings can be changed at any time from the "Settings" menu. Settings - + X Zoom X Zoom - + Y Zoom Y Zoom - + Min X Min X - + Max Y Max Y - + Max X Max X - + Min Y Min Y - + X Axis Step X Axis Step - + Y Axis Step Y Axis Step - + Line width Line width - + Text size (px) Text size (px) - + X Label X Label - + Y Label Y Label - + X Log scale X Log scale - + Show X graduation Show X graduation - + Show Y graduation Show Y graduation - + Copy to clipboard Copy to clipboard - + Save plot Save plot - + Save plot as Save plot as - + Load plot Load plot @@ -523,9 +523,9 @@ These settings can be changed at any time from the "Settings" menu. control - - - + + + %1: %1: @@ -569,30 +569,36 @@ These settings can be changed at any time from the "Settings" menu. historylib - + New %1 %2 created. New %1 %2 created. - + %1 %2 deleted. %1 %2 deleted. - + + %1 of %2 %3 changed from "%4" to "%5". %1 of %2 %3 changed from "%4" to "%5". - + %1 %2 shown. %1 %2 shown. - + %1 %2 hidden. %1 %2 hidden. + + + Name of %1 %2 changed to %3. + + parameters @@ -888,6 +894,11 @@ These settings can be changed at any time from the "Settings" menu.baseValues Initialisation values + + + color + + repartition diff --git a/LogarithmPlotter/i18n/lp_es.ts b/LogarithmPlotter/i18n/lp_es.ts index 6db6065..828aeb2 100644 --- a/LogarithmPlotter/i18n/lp_es.ts +++ b/LogarithmPlotter/i18n/lp_es.ts @@ -4,23 +4,23 @@ About - - + + About LogarithmPlotter Sobre LogarithmPlotter - + LogarithmPlotter v%1 - + 2D plotter software to make BODE plots, sequences and repartition functions. - + Report a bug @@ -28,107 +28,107 @@ AppMenuBar - + &File - + &Load... - + &Save - + Save &As... - + &Quit - + &Edit - + &Undo - + &Redo - + &Copy plot - + &Create - + &Settings - + Check for updates on startup - + Reset redo stack automaticly - + &Help - + &Source code - + &Report a bug - + &Changelog - + &Help translating! - + &About - + Save unsaved changes? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? @@ -136,12 +136,12 @@ Changelog - + Fetching changelog... - + Done @@ -149,38 +149,38 @@ EditorDialog - + Edit properties of %1 %2 - + Name - + Label content - + null - + name - + name + value - - + + + Create new %1 @@ -188,12 +188,12 @@ FileDialog - + Export Logarithm Plot file - + Import Logarithm Plot file @@ -201,38 +201,38 @@ GreetScreen - + Welcome to LogarithmPlotter - + Version %1 - + Take a few seconds to configure LogarithmPlotter. These settings can be changed at any time from the "Settings" menu. - + Check for updates on startup (requires online connectivity) - + Reset redo stack when a new action is added to history - + Changelog - + Done @@ -240,17 +240,17 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + Redo > - + > Now - + < Undo @@ -258,7 +258,7 @@ These settings can be changed at any time from the "Settings" menu. ListSetting - + + Add Entry @@ -266,62 +266,62 @@ These settings can be changed at any time from the "Settings" menu. LogarithmPlotter - + Objects - + Settings - + History - + Saved plot to '%1'. - + Loading file '%1'. - + Unknown object type: %1. - + Invalid file provided. - + Could not save file: - + Loaded file '%1'. - + Copied plot screenshot to clipboard! - + &Update - + &Update LogarithmPlotter @@ -329,7 +329,7 @@ These settings can be changed at any time from the "Settings" menu. ObjectCreationGrid - + + Create new: @@ -337,37 +337,37 @@ These settings can be changed at any time from the "Settings" menu. ObjectLists - + Hide all %1 - + Show all %1 - + Hide %1 %2 - + Show %1 %2 - + Set %1 %2 position - + Delete %1 %2 - + Pick new color for %1 %2 @@ -375,12 +375,12 @@ These settings can be changed at any time from the "Settings" menu. PickLocationOverlay - + Pointer precision: - + Snap to grid @@ -388,97 +388,97 @@ These settings can be changed at any time from the "Settings" menu. Settings - + X Zoom - + Y Zoom - + Min X - + Max Y - + Max X - + Min Y - + X Axis Step - + Y Axis Step - + Line width - + Text size (px) - + X Label - + Y Label - + X Log scale - + Show X graduation - + Show Y graduation - + Copy to clipboard - + Save plot - + Save plot as - + Load plot @@ -522,9 +522,9 @@ These settings can be changed at any time from the "Settings" menu. control - - - + + + %1: @@ -568,30 +568,36 @@ These settings can be changed at any time from the "Settings" menu. historylib - + New %1 %2 created. - + %1 %2 deleted. - + + %1 of %2 %3 changed from "%4" to "%5". - + %1 %2 shown. - + %1 %2 hidden. + + + Name of %1 %2 changed to %3. + + parameters @@ -887,6 +893,11 @@ These settings can be changed at any time from the "Settings" menu.baseValues + + + color + + repartition diff --git a/LogarithmPlotter/i18n/lp_fr.ts b/LogarithmPlotter/i18n/lp_fr.ts index aec7f5f..f2109d0 100644 --- a/LogarithmPlotter/i18n/lp_fr.ts +++ b/LogarithmPlotter/i18n/lp_fr.ts @@ -4,23 +4,23 @@ About - - + + About LogarithmPlotter À propos de LogarithmPlotter - + LogarithmPlotter v%1 LogarithmPlotter v%1 - + 2D plotter software to make BODE plots, sequences and repartition functions. Logiciel de traçage 2D pour les diagrammes de Bode, les suites et les fonctions de répartition. - + Report a bug Rapport de bug @@ -28,108 +28,108 @@ AppMenuBar - + &File &Fichier - + &Load... &Ouvrir… - + &Save &Sauvegarder - + Save &As... Sauvegarde &Sous… - + &Quit &Quitter - + &Edit &Édition - + &Undo &Annuler - + &Redo &Rétablir - + &Copy plot &Copier le graphe - + &Create &Créer - + &Settings &Paramètres - + Check for updates on startup Vérifier la présence de mise à jour au démarrage - + Reset redo stack automaticly Légèrement long, et pas forcément très compréhensible. Réinitialiser la pile d'action "Rétablir" automatiquement - + &Help &Aide - + &Source code &Code source - + &Report a bug &Rapport de bug - + &Changelog &Historique des modifications - + &Help translating! &Aider à la traduction ! - + &About &À propos - + Save unsaved changes? Sauvegarder les modifications ? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? Ce graphe contient des modifications non sauvegardées. En faisant cela, toutes les données non sauvegardées seront perdues. Continuer ? @@ -137,12 +137,12 @@ Changelog - + Fetching changelog... Récupération de l'historique des modifications… - + Done Fermer @@ -150,38 +150,38 @@ EditorDialog - + Edit properties of %1 %2 Changer les propriétés de %1 %2 - + Name Nom - + Label content Étiquette - + null vide - + name nom - + name + value nom + valeur - - + + + Create new %1 Traduction non litéralle pour éviter les problèmes de genre. + Créer un nouvel objet %1 @@ -190,12 +190,12 @@ FileDialog - + Export Logarithm Plot file Exporter le graphe Logarithmique - + Import Logarithm Plot file Importer un graphe Logarithmique @@ -203,29 +203,29 @@ GreetScreen - + Welcome to LogarithmPlotter Bienvenue sur LogarithmPlotter - + Version %1 Version %1 - + Take a few seconds to configure LogarithmPlotter. These settings can be changed at any time from the "Settings" menu. Prenez quelques secondes pour configurer LogarithmPlotter. Ces paramètres peuvent être modifiés à tout moment à partir du menu "Paramètres". - + Changelog Historique des modifications - + Done Fermer @@ -236,12 +236,12 @@ These settings can always be changed at any time from the "Settings" m These settings can always be changed at any time from the "Settings" menu. - + Check for updates on startup (requires online connectivity) Vérifier les mises à jour au démarrage (nécessite d'être connecté à internet) - + Reset redo stack when a new action is added to history Réinitialiser la pile d'action "Rétablir" lorsqu'une nouvelle action est ajoutée à l'historique @@ -249,17 +249,17 @@ These settings can always be changed at any time from the "Settings" m HistoryBrowser - + Redo > Rétablir > - + > Now > État actuel - + < Undo < Annuler @@ -267,7 +267,7 @@ These settings can always be changed at any time from the "Settings" m ListSetting - + + Add Entry + Nouvelle entrée @@ -275,62 +275,62 @@ These settings can always be changed at any time from the "Settings" m LogarithmPlotter - + Objects Objets - + Settings Paramètres - + History Historique - + Saved plot to '%1'. Graphe sauvegardé dans '%1'. - + Loading file '%1'. Chargement du fichier '%1'. - + Unknown object type: %1. Type d'objet inconnu : %1. - + Invalid file provided. Fichier fourni invalide. - + Could not save file: Impossible de sauvegarder le fichier : - + Loaded file '%1'. Fichier '%1' chargé. - + Copied plot screenshot to clipboard! Image du graphe copiée dans le presse-papiers ! - + &Update &Mise à jour - + &Update LogarithmPlotter &Mettre à jour LogarithmPlotter @@ -338,7 +338,7 @@ These settings can always be changed at any time from the "Settings" m ObjectCreationGrid - + + Create new: + Créer : @@ -346,37 +346,37 @@ These settings can always be changed at any time from the "Settings" m ObjectLists - + Hide all %1 Cacher tous les %1 - + Show all %1 Montrer tous les %1 - + Hide %1 %2 Cacher l'objet %1 %2 - + Show %1 %2 Montrer l'objet %1 %2 - + Set %1 %2 position Définir la position de l'objet %1 %2 - + Delete %1 %2 Supprimer l'objet %1 %2 - + Pick new color for %1 %2 Choisissez une nouvelle couleur pour %1 %2 @@ -384,12 +384,12 @@ These settings can always be changed at any time from the "Settings" m PickLocationOverlay - + Pointer precision: Précision du pointeur : - + Snap to grid Placement sur la grille @@ -397,97 +397,97 @@ These settings can always be changed at any time from the "Settings" m Settings - + X Zoom Zoom en X - + Y Zoom Zoom en Y - + Min X Min X - + Max Y Max Y - + Max X Max X - + Min Y Min Y - + X Axis Step Pas de l'axe X - + Y Axis Step Pas de l'axe Y - + Line width Taille des lignes - + Text size (px) Taille du texte (px) - + X Label Label de l'axe X - + Y Label Label de l'axe Y - + X Log scale Échelle logarithmique en X - + Show X graduation Montrer la graduation de l'axe X - + Show Y graduation Montrer la graduation de l'axe Y - + Copy to clipboard Copier vers le presse-papiers - + Save plot Sauvegarder le graphe - + Save plot as Sauvegarder le graphe sous - + Load plot Charger un graphe @@ -532,9 +532,9 @@ These settings can always be changed at any time from the "Settings" m control - - - + + + %1: %1 : @@ -578,30 +578,36 @@ These settings can always be changed at any time from the "Settings" m historylib - + New %1 %2 created. Nouvel objet %1 %2 créé. - + %1 %2 deleted. %1 %2 supprimé(e). - + + %1 of %2 %3 changed from "%4" to "%5". %1 de %2 %3 modifiée de "%4" à "%5". - + %1 %2 shown. %1 %2 affiché(e). - + %1 %2 hidden. %1 %2 cachée(e). + + + Name of %1 %2 changed to %3. + + parameters @@ -897,6 +903,11 @@ These settings can always be changed at any time from the "Settings" m baseValues Valeurs d'initialisation + + + color + + repartition diff --git a/LogarithmPlotter/i18n/lp_hu.ts b/LogarithmPlotter/i18n/lp_hu.ts index 2a5515b..edc2b7a 100644 --- a/LogarithmPlotter/i18n/lp_hu.ts +++ b/LogarithmPlotter/i18n/lp_hu.ts @@ -4,23 +4,23 @@ About - - + + About LogarithmPlotter LogarithmPlotter névjegye - + LogarithmPlotter v%1 LogarithmPlotter %1 verzió - + 2D plotter software to make BODE plots, sequences and repartition functions. Síkbeli ábrázolásszoftver Bode-ábrák, sorozatok és eloszlási funkciók készítéséhez. - + Report a bug Hiba bejelentése @@ -28,107 +28,107 @@ AppMenuBar - + &File &Fájl - + &Load... &Betöltés… - + &Save &Mentés - + Save &As... Me&ntés másként… - + &Quit &Kilépés - + &Edit S&zerkesztés - + &Undo &Visszavonás - + &Redo &Ismétlés - + &Copy plot Ábra má&solása - + &Create &Létrehozás - + &Settings &Beállítások - + Check for updates on startup Frissítések keresése indításkor - + Reset redo stack automaticly Ismétlési verem önműködő visszaállítása - + &Help &Súgó - + &Source code &Forráskód - + &Report a bug &Hiba bejelentése - + &Changelog &Változásnapló - + &Help translating! &Segítség a fordításban! - + &About &Névjegy - + Save unsaved changes? Menti a változtatásokat? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? Ez az ábra nem mentett változtatásokat tartalmaz. Ezzel az összes nem mentett adat elveszik. Folytatja? @@ -136,12 +136,12 @@ Changelog - + Fetching changelog... Változásnapló lekérése… - + Done Kész @@ -149,38 +149,38 @@ EditorDialog - + Edit properties of %1 %2 %1 %2 tulajdonságainak szerkesztése - + Name Név - + Label content Címke tartalom - + null üres - + name név - + name + value név + érték - - + + + Create new %1 + Új %1 létrehozása @@ -188,12 +188,12 @@ FileDialog - + Export Logarithm Plot file Logaritmus-ábra-fájl exportálása - + Import Logarithm Plot file Logaritmus-ábra-fájl importálása @@ -201,39 +201,39 @@ GreetScreen - + Welcome to LogarithmPlotter Isten hozott a LogarithmPlotter! - + Version %1 %1 verzió - + Take a few seconds to configure LogarithmPlotter. These settings can be changed at any time from the "Settings" menu. Szánjon néhány másodpercet a LogarithmPlotter beállításához. Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. - + Check for updates on startup (requires online connectivity) Frissítések keresése indításkor (online kapcsolat szükséges) - + Reset redo stack when a new action is added to history Ismétlési verem alaphelyzet visszaállítása, ha új műveletet adnak az előzményekhez - + Changelog Változásnapló - + Done Kész @@ -241,17 +241,17 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. HistoryBrowser - + Redo > Ismétlés > - + > Now > Most - + < Undo < Visszavonás @@ -259,7 +259,7 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. ListSetting - + + Add Entry + Bejegyzés hozzáadása @@ -267,62 +267,62 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. LogarithmPlotter - + Objects Tárgyak - + Settings Beállítások - + History Előzmények - + Saved plot to '%1'. Ábra mentve ide: „%1”. - + Loading file '%1'. A(z) „%1” fájl betöltése folyamatban van. - + Unknown object type: %1. Ismeretlen objektumtípus: %1. - + Invalid file provided. A megadott fájl érvénytelen. - + Could not save file: A fájl mentése nem sikerült: - + Loaded file '%1'. A(z) „%1” fájl betöltve. - + Copied plot screenshot to clipboard! Ábra képernyőkép vágólapra másolva! - + &Update &Frissítés - + &Update LogarithmPlotter A LogarithmPlotter &frissítése @@ -330,7 +330,7 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. ObjectCreationGrid - + + Create new: + Új létrehozása: @@ -338,37 +338,37 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. ObjectLists - + Hide all %1 Összes %1 elrejtése - + Show all %1 Összes %1 megjelenítése - + Hide %1 %2 %1 %2 elrejtése - + Show %1 %2 %1 %2 megjelenítése - + Set %1 %2 position %1 %2 helye beállítása - + Delete %1 %2 %1 %2 törlése - + Pick new color for %1 %2 Válasszon új színt a következőhöz: %1 %2 @@ -376,12 +376,12 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. PickLocationOverlay - + Pointer precision: Mutató pontossága: - + Snap to grid Rácshoz illesztés @@ -389,97 +389,97 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. Settings - + X Zoom X-nagyítás - + Y Zoom Y-nagyítás - + Min X Legkisebb X - + Max Y Legnagyobb Y - + Max X Legnagyobb X - + Min Y Legkisebb Y - + X Axis Step X tengely lépésköze - + Y Axis Step Y tengely lépésköze - + Line width Vonalvastagság - + Text size (px) Szövegméret (képpont) - + X Label X címke - + Y Label Y címke - + X Log scale X tengely logaritmikus skálával - + Show X graduation X érettségi megjelenítése - + Show Y graduation Y érettségi megjelenítése - + Copy to clipboard Másolás a vágólapra - + Save plot Ábra mentése - + Save plot as Ábra mentése másként - + Load plot Ábra betöltése @@ -523,9 +523,9 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. control - - - + + + %1: %1: @@ -569,30 +569,36 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. historylib - + New %1 %2 created. Új %1 %2 létrehozva. - + %1 %2 deleted. %1 %2 törölve. - + + %1 of %2 %3 changed from "%4" to "%5". %1/%2 %3 megváltozott. Régi érték: %4, új érték: %5. - + %1 %2 shown. %1 %2 megjelenítve. - + %1 %2 hidden. %1 %2 rejtve. + + + Name of %1 %2 changed to %3. + + parameters @@ -888,6 +894,11 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. baseValues Kezdeményezési értékek + + + color + + repartition diff --git a/LogarithmPlotter/i18n/lp_nb_NO.ts b/LogarithmPlotter/i18n/lp_nb_NO.ts index 84d7150..3188412 100644 --- a/LogarithmPlotter/i18n/lp_nb_NO.ts +++ b/LogarithmPlotter/i18n/lp_nb_NO.ts @@ -4,23 +4,23 @@ About - - + + About LogarithmPlotter Om - + LogarithmPlotter v%1 LogarithmPlotter v%1 - + 2D plotter software to make BODE plots, sequences and repartition functions. 2D-plotterprogramvare laget for opprettelse av Bode-diagram, sekvenser, og distribusjonsfunksjoner. - + Report a bug Rapporter en feil @@ -28,107 +28,107 @@ AppMenuBar - + &File &Fil - + &Load... &Last inn … - + &Save &Lagre - + Save &As... Lagre &som … - + &Quit &Avslutt - + &Edit &Rediger - + &Undo &Angre - + &Redo &Gjenta - + &Copy plot &Kopier plott - + &Create &Opprett - + &Settings &Innstillinger - + Check for updates on startup Se etter nye versjoner ved programstart - + Reset redo stack automaticly Tilbakestill angrehistorikk automatisk - + &Help &Hjelp - + &Source code - + &Report a bug - + &Changelog - + &Help translating! - + &About &Om - + Save unsaved changes? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? @@ -136,12 +136,12 @@ Changelog - + Fetching changelog... - + Done @@ -149,38 +149,38 @@ EditorDialog - + Edit properties of %1 %2 Rediger egenskaper for %1 %2 - + Name Navn - + Label content Etikett-innhold - + null NULL - + name navn - + name + value navn + veri - - + + + Create new %1 + Opprett nytt %1 @@ -188,12 +188,12 @@ FileDialog - + Export Logarithm Plot file Eksporter logaritmeplott-fil - + Import Logarithm Plot file Importer logaritmeplott-fil @@ -201,39 +201,39 @@ GreetScreen - + Welcome to LogarithmPlotter Velkommen til LogarithmPlotter - + Version %1 Versjon %1 - + Take a few seconds to configure LogarithmPlotter. These settings can be changed at any time from the "Settings" menu. Sett opp LogarithmPlotter. Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. - + Check for updates on startup (requires online connectivity) Se etter nye versjoner ved programstart. (Krever tilkobling til Internett.) - + Reset redo stack when a new action is added to history Tilbakesitll angrehistorikk når en ny handling legges til - + Changelog - + Done @@ -241,17 +241,17 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. HistoryBrowser - + Redo > Angre > - + > Now > Nå - + < Undo < Angre @@ -259,7 +259,7 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. ListSetting - + + Add Entry @@ -267,62 +267,62 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. LogarithmPlotter - + Objects Objekter - + Settings Innstillinger - + History Historikk - + Saved plot to '%1'. Lagret plott i «%1». - + Loading file '%1'. Laster inn «%1»-fil. - + Unknown object type: %1. Ukjent objekttype: %1. - + Invalid file provided. Ugyldig fil angitt. - + Could not save file: Kunne ikke lagre fil: - + Loaded file '%1'. Lastet inn filen «%1». - + Copied plot screenshot to clipboard! Kopierte plott-skjermavbildning til utklippstavlen! - + &Update &Oppdater - + &Update LogarithmPlotter &Installer ny versjon av LogartimePlotter @@ -330,7 +330,7 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. ObjectCreationGrid - + + Create new: + Opprett ny: @@ -338,37 +338,37 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. ObjectLists - + Hide all %1 Skjul alle %1 - + Show all %1 Vis alle %1 - + Hide %1 %2 Skjul %1 %2 - + Show %1 %2 Vis %1 %2 - + Set %1 %2 position Sett %1 %2 posisjon - + Delete %1 %2 Slett %1 %2 - + Pick new color for %1 %2 Velg ny farge for %1 %2 @@ -376,12 +376,12 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. PickLocationOverlay - + Pointer precision: Peker-presisjon: - + Snap to grid Fest til rutenett @@ -389,97 +389,97 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. Settings - + X Zoom X-forstørrelse - + Y Zoom Y-forstørrelse - + Min X Min. X - + Max Y Maks. Y - + Max X Maks. X - + Min Y Min. Y - + X Axis Step X-aksesteg - + Y Axis Step Y-aksesteg - + Line width Linjebredde - + Text size (px) Tekststørrelse (piksler) - + X Label Navn på X-akse - + Y Label Navn på Y-akse - + X Log scale Logaritmisk skala i x - + Show X graduation Vis X-inndeling - + Show Y graduation Vis Y-inndeling - + Copy to clipboard Kopier til utklippstavle - + Save plot Lagre plott - + Save plot as Lagre plott som - + Load plot Last inn plott @@ -523,9 +523,9 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. control - - - + + + %1: @@ -569,30 +569,36 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. historylib - + New %1 %2 created. Ny %1 %2 opprettet. - + %1 %2 deleted. %1 %2 slettet. - + + %1 of %2 %3 changed from "%4" to "%5". %1 av %2 %3 endret fra «%4» til «%5». - + %1 %2 shown. %1 %2 vist. - + %1 %2 hidden. %1 %2 skjult. + + + Name of %1 %2 changed to %3. + + parameters @@ -888,6 +894,11 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.baseValues + + + color + + repartition diff --git a/LogarithmPlotter/i18n/lp_template.ts b/LogarithmPlotter/i18n/lp_template.ts index 2bef736..9ffcad6 100644 --- a/LogarithmPlotter/i18n/lp_template.ts +++ b/LogarithmPlotter/i18n/lp_template.ts @@ -4,23 +4,23 @@ About - - + + About LogarithmPlotter - + LogarithmPlotter v%1 - + 2D plotter software to make BODE plots, sequences and repartition functions. - + Report a bug @@ -28,107 +28,107 @@ AppMenuBar - + &File - + &Load... - + &Save - + Save &As... - + &Quit - + &Edit - + &Undo - + &Redo - + &Copy plot - + &Create - + &Settings - + Check for updates on startup - + Reset redo stack automaticly - + &Help - + &Source code - + &Report a bug - + &Changelog - + &Help translating! - + &About - + Save unsaved changes? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? @@ -136,12 +136,12 @@ Changelog - + Fetching changelog... - + Done @@ -149,38 +149,38 @@ EditorDialog - + Edit properties of %1 %2 - + Name - + Label content - + null - + name - + name + value - - + + + Create new %1 @@ -188,12 +188,12 @@ FileDialog - + Export Logarithm Plot file - + Import Logarithm Plot file @@ -201,38 +201,38 @@ GreetScreen - + Welcome to LogarithmPlotter - + Version %1 - + Take a few seconds to configure LogarithmPlotter. These settings can be changed at any time from the "Settings" menu. - + Check for updates on startup (requires online connectivity) - + Reset redo stack when a new action is added to history - + Changelog - + Done @@ -240,17 +240,17 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + Redo > - + > Now - + < Undo @@ -258,7 +258,7 @@ These settings can be changed at any time from the "Settings" menu. ListSetting - + + Add Entry @@ -266,62 +266,62 @@ These settings can be changed at any time from the "Settings" menu. LogarithmPlotter - + Objects - + Settings - + History - + Saved plot to '%1'. - + Loading file '%1'. - + Unknown object type: %1. - + Invalid file provided. - + Could not save file: - + Loaded file '%1'. - + Copied plot screenshot to clipboard! - + &Update - + &Update LogarithmPlotter @@ -329,7 +329,7 @@ These settings can be changed at any time from the "Settings" menu. ObjectCreationGrid - + + Create new: @@ -337,37 +337,37 @@ These settings can be changed at any time from the "Settings" menu. ObjectLists - + Hide all %1 - + Show all %1 - + Hide %1 %2 - + Show %1 %2 - + Set %1 %2 position - + Delete %1 %2 - + Pick new color for %1 %2 @@ -375,12 +375,12 @@ These settings can be changed at any time from the "Settings" menu. PickLocationOverlay - + Pointer precision: - + Snap to grid @@ -388,97 +388,97 @@ These settings can be changed at any time from the "Settings" menu. Settings - + X Zoom - + Y Zoom - + Min X - + Max Y - + Max X - + Min Y - + X Axis Step - + Y Axis Step - + Line width - + Text size (px) - + X Label - + Y Label - + X Log scale - + Show X graduation - + Show Y graduation - + Copy to clipboard - + Save plot - + Save plot as - + Load plot @@ -522,9 +522,9 @@ These settings can be changed at any time from the "Settings" menu. control - - - + + + %1: @@ -568,30 +568,36 @@ These settings can be changed at any time from the "Settings" menu. historylib - + New %1 %2 created. - + %1 %2 deleted. - + + %1 of %2 %3 changed from "%4" to "%5". - + %1 %2 shown. - + %1 %2 hidden. + + + Name of %1 %2 changed to %3. + + parameters @@ -887,6 +893,11 @@ These settings can be changed at any time from the "Settings" menu.baseValues + + + color + + repartition From 2d7c038b4681d38faf25007d25addf9e8de1a6df Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 13:13:47 +0100 Subject: [PATCH 09/31] Trying to fix localized appstream description --- .../qml/eu/ad5001/LogarithmPlotter/js/historylib.js | 2 +- linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml | 6 +----- linux/eu.ad5001.LogarithmPlotter.metainfo.xml | 6 +----- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js index 910c96d..7d60c66 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js @@ -243,7 +243,7 @@ class NameChanged extends EditedProperty { } redo() { - Objects.getObjectByName(this.previousValue, this.targetType)[this.targetProperty] = this.newValue + Objects.getObjectByName(this.previousValue, this.targetType)['name'] = this.newValue } getReadableString() { diff --git a/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml b/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml index f230682..9c3b1bc 100644 --- a/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml +++ b/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml @@ -43,9 +43,7 @@
  • 🇭🇺 Hungarian
  • 🇳🇴 Norwergian
  • -

    Learn more: https://apps.ad5001.eu/logarithmplotter/

    - - +

    Learn more: https://apps.ad5001.eu/logarithmplotter/

    LogarithmPlotter est, comme son nom l'indique, un créateur de graphes et diagrammes 2D réalisé avec l'échelle logarithmique en tête. Avec un système d'objets similaire à Geogebra, ce qui lui permet de créer des graphes à échelle logarithmique et non logarithmique avec peu de limitations.

    @@ -68,8 +66,6 @@
  • 🇳🇴 Norvégien
  • En savoir plus: https://apps.ad5001.eu/fr/logarithmplotter/

    -
    -

    A LogarithmPlotter egy logaritmus-ábrázoló, amely logaritmikus léptékek figyelembevételével készült. A Geogebrához hasonló objektumrendszerrel dinamikus parcellák létrehozását teszi lehetővé, nagyon kevés korlátozással.

    diff --git a/linux/eu.ad5001.LogarithmPlotter.metainfo.xml b/linux/eu.ad5001.LogarithmPlotter.metainfo.xml index 5a70af1..d8785d5 100644 --- a/linux/eu.ad5001.LogarithmPlotter.metainfo.xml +++ b/linux/eu.ad5001.LogarithmPlotter.metainfo.xml @@ -43,9 +43,7 @@
  • 🇭🇺 Hungarian
  • 🇳🇴 Norwergian
  • -

    Learn more: https://apps.ad5001.eu/logarithmplotter/

    -
    - +

    Learn more: https://apps.ad5001.eu/logarithmplotter/

    LogarithmPlotter est, comme son nom l'indique, un créateur de graphes et diagrammes 2D réalisé avec l'échelle logarithmique en tête. Avec un système d'objets similaire à Geogebra, ce qui lui permet de créer des graphes à échelle logarithmique et non logarithmique avec peu de limitations.

    @@ -68,8 +66,6 @@
  • 🇳🇴 Norvégien
  • En savoir plus: https://apps.ad5001.eu/fr/logarithmplotter/

    -
    -

    A LogarithmPlotter egy logaritmus-ábrázoló, amely logaritmikus léptékek figyelembevételével készült. A Geogebrához hasonló objektumrendszerrel dinamikus parcellák létrehozását teszi lehetővé, nagyon kevés korlátozással.

    From 77688fa715dfb03a2fd3136e7c004ab12eeb7d41 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 13:20:34 +0100 Subject: [PATCH 10/31] Adding tooltips, fixing non translated "Create new object" object type --- .../qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml | 1 + .../ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml | 7 +++++-- .../LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml index af931fc..1475853 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml @@ -96,6 +96,7 @@ Button { //text: historyAction.getReadableString() ToolTip.visible: hovered + ToolTip.delay: 200 ToolTip.text: label.text onClicked: { diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml index 96d8be8..1fcf871 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml @@ -208,7 +208,9 @@ D.Dialog { // Base, untranslated version of the model. property var baseModel: visible ? (selectObjMode ? - Objects.getObjectsName(modelData[1].objType).concat(isRealObject ? [qsTr("+ Create new %1").arg(modelData[1].objType)] : []) : + Objects.getObjectsName(modelData[1].objType).concat( + isRealObject ? [qsTr("+ Create new %1").arg(Objects.types[modelData[1].objType].displayType())] : + []) : modelData[1].values) : [] // Translated verison of the model. @@ -228,7 +230,8 @@ D.Dialog { selectedObj = Objects.createNewRegisteredObject(modelData[1].objType) history.addToHistory(new HistoryLib.CreateNewObject(selectedObj.name, modelData[1].objType, selectedObj.export())) baseModel = Objects.getObjectsName(modelData[1].objType).concat( - isRealObject ? [qsTr("+ Create new %1").arg(modelData[1].objType)] : []) + isRealObject ? [qsTr("+ Create new %1").arg(Objects.types[modelData[1].objType].displayType())] : + []) currentIndex = baseModel.indexOf(selectedObj.name) } selectedObj.requiredBy.push(Objects.currentObjects[objEditor.objType][objEditor.objIndex]) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml index 9376e2b..16b5464 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml @@ -58,6 +58,9 @@ Column { icon.width: 24 icon.height: 24 icon.color: sysPalette.buttonText + ToolTip.visible: hovered + ToolTip.delay: 200 + ToolTip.text: text onClicked: { var newObj = Objects.createNewRegisteredObject(modelData) From 7030af60f1742b0db64acb58b339bd330a199b13 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 23:24:49 +0100 Subject: [PATCH 11/31] Fixing bug with pick new color dialog, trying to fix icons on dark theme, adding keyword to metadata. --- LogarithmPlotter/logarithmplotter.py | 1 + .../eu/ad5001/LogarithmPlotter/AppMenuBar.qml | 1 + .../ObjectLists/ObjectCreationGrid.qml | 2 +- .../ObjectLists/ObjectLists.qml | 2 +- .../LogarithmPlotter/icons/objects/Point.svg | 79 +------------------ ...5001.LogarithmPlotter.metainfo.flatpak.xml | 16 ++++ linux/eu.ad5001.LogarithmPlotter.metainfo.xml | 19 ++++- 7 files changed, 39 insertions(+), 81 deletions(-) diff --git a/LogarithmPlotter/logarithmplotter.py b/LogarithmPlotter/logarithmplotter.py index fcd1c66..c761542 100644 --- a/LogarithmPlotter/logarithmplotter.py +++ b/LogarithmPlotter/logarithmplotter.py @@ -85,6 +85,7 @@ def run(): app = QApplication(argv) app.setApplicationName("LogarithmPlotter") app.setOrganizationName("Ad5001") + app.styleHints().setShowShortcutsInContextMenus(True) app.setWindowIcon(QIcon(path.realpath(path.join(getcwd(), "logarithmplotter.svg")))) # Installing translators diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml index e6eb5c4..a50ecc5 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml @@ -18,6 +18,7 @@ import QtQuick 2.12 import QtQuick.Dialogs 1.3 +//import QtQuick.Controls 2.12 import eu.ad5001.MixedMenu 1.1 import "js/objects.js" as Objects import "js/historylib.js" as HistoryLib diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml index 16b5464..0711d17 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml @@ -57,7 +57,7 @@ Column { icon.source: '../icons/objects/' + modelData + '.svg' icon.width: 24 icon.height: 24 - icon.color: sysPalette.buttonText + icon.color: sysPalette.windowText ToolTip.visible: hovered ToolTip.delay: 200 ToolTip.text: text diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml index 09da7be..e953e37 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml @@ -204,7 +204,7 @@ ListView { D.ColorDialog { id: pickColor color: obj.color - title: qsTr("Pick new color for %1 %2").arg(Objects.types[objType].displayType()) + title: qsTr("Pick new color for %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) onAccepted: { history.addToHistory(new HistoryLib.EditedProperty( obj.name, objType, "color", diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Point.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Point.svg index ac67ca1..8bee87b 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Point.svg +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Point.svg @@ -1,78 +1 @@ - - - - - - - - - - - image/svg+xml - - - - - - - - A - - +A diff --git a/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml b/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml index 9c3b1bc..d6e7966 100644 --- a/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml +++ b/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml @@ -77,6 +77,7 @@ Science Education + Qt https://apps.ad5001.eu/logarithmplotter/ @@ -184,6 +185,21 @@ Ad5001 mail@ad5001.eu + + + Plot + Plotter + Log + Logarithm + Logarithmic + Bode + Magnitude + Diagram + Graph + Phase + Sequence + Distribution + diff --git a/linux/eu.ad5001.LogarithmPlotter.metainfo.xml b/linux/eu.ad5001.LogarithmPlotter.metainfo.xml index d8785d5..d717b40 100644 --- a/linux/eu.ad5001.LogarithmPlotter.metainfo.xml +++ b/linux/eu.ad5001.LogarithmPlotter.metainfo.xml @@ -77,6 +77,7 @@ Science Education + Qt https://apps.ad5001.eu/logarithmplotter/ @@ -98,7 +99,8 @@ https://apps.ad5001.eu/img/hu/logarithmplotter/welcome.png https://apps.ad5001.eu/img/no/gain.png https://apps.ad5001.eu/img/no/logarithmplotter/phase.png - https://apps.ad5001.eu/img/no/logarithmplotter/welcome.png + https://apps.ad5001.eu/img/no/logarithmplotter/welcome.png + @@ -183,6 +185,21 @@ Ad5001 mail@ad5001.eu + + + Plot + Plotter + Log + Logarithm + Logarithmic + Bode + Magnitude + Diagram + Graph + Phase + Sequence + Distribution + From 714129d86e4b1bfca3063848e6893656580fdb3c Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 11:55:47 +0000 Subject: [PATCH 12/31] Translated using Weblate (English) Currently translated at 100.0% (174 of 174 strings) Translation: LogarithmPlotter/LogarithmPlotter Translate-URL: https://hosted.weblate.org/projects/logarithmplotter/logarithmplotter/en/ --- LogarithmPlotter/i18n/lp_en.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LogarithmPlotter/i18n/lp_en.ts b/LogarithmPlotter/i18n/lp_en.ts index e48eac2..76d5a69 100644 --- a/LogarithmPlotter/i18n/lp_en.ts +++ b/LogarithmPlotter/i18n/lp_en.ts @@ -597,7 +597,7 @@ These settings can be changed at any time from the "Settings" menu. Name of %1 %2 changed to %3. - + Name of %1 %2 changed to %3.
    @@ -897,7 +897,7 @@ These settings can be changed at any time from the "Settings" menu. color - + Color From a13784569a666770627b8c1c48db224341257294 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 11:57:20 +0000 Subject: [PATCH 13/31] Translated using Weblate (German) Currently translated at 100.0% (174 of 174 strings) Translation: LogarithmPlotter/LogarithmPlotter Translate-URL: https://hosted.weblate.org/projects/logarithmplotter/logarithmplotter/de/ --- LogarithmPlotter/i18n/lp_de.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LogarithmPlotter/i18n/lp_de.ts b/LogarithmPlotter/i18n/lp_de.ts index a5c3869..bcef035 100644 --- a/LogarithmPlotter/i18n/lp_de.ts +++ b/LogarithmPlotter/i18n/lp_de.ts @@ -597,7 +597,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" Name of %1 %2 changed to %3. - + Der Name von %1 %2 wurde in %3 geändert. @@ -897,7 +897,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" color - + Farbe From 2f8df68453df1999d8d47c174b5088804d775242 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Sun, 30 Jan 2022 11:56:46 +0000 Subject: [PATCH 14/31] Translated using Weblate (French) Currently translated at 100.0% (174 of 174 strings) Translation: LogarithmPlotter/LogarithmPlotter Translate-URL: https://hosted.weblate.org/projects/logarithmplotter/logarithmplotter/fr/ --- LogarithmPlotter/i18n/lp_fr.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LogarithmPlotter/i18n/lp_fr.ts b/LogarithmPlotter/i18n/lp_fr.ts index f2109d0..21090a8 100644 --- a/LogarithmPlotter/i18n/lp_fr.ts +++ b/LogarithmPlotter/i18n/lp_fr.ts @@ -606,7 +606,7 @@ These settings can always be changed at any time from the "Settings" m Name of %1 %2 changed to %3. - + Le nom de %1 %2 a été changé en %3. @@ -906,7 +906,7 @@ These settings can always be changed at any time from the "Settings" m color - + Couleur From 78343cf153b728363ff378a5489817ae07574358 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Mon, 31 Jan 2022 17:05:05 +0100 Subject: [PATCH 15/31] Removing horizontal scrollbar from history --- .../qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml index d798687..f785cd0 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml @@ -35,6 +35,8 @@ import "../js/utils.js" as Utils ScrollView { id: historyBrowser + ScrollBar.horizontal.visible: false + /*! \qmlproperty int HistoryBrowser::actionWidth Width of the actions. From 82d2ee84b711ce43a32f2580c219b21fd97b1e49 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Mon, 31 Jan 2022 17:15:33 +0100 Subject: [PATCH 16/31] Fixing black icons when using dark theme on KDE SDK --- .../ObjectLists/ObjectCreationGrid.qml | 43 +++++++++++++++---- .../ObjectLists/ObjectLists.qml | 15 +++++-- 2 files changed, 46 insertions(+), 12 deletions(-) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml index 0711d17..f07f7cf 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml @@ -20,6 +20,8 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 import "../js/objects.js" as Objects import "../js/historylib.js" as HistoryLib +import eu.ad5001.LogarithmPlotter.Setting 1.0 as Setting + /*! \qmltype ObjectCreationGrid @@ -48,19 +50,42 @@ Column { Button { id: createBtn - text: Objects.types[modelData].displayType() width: parent.width/3 visible: Objects.types[modelData].createable() - height: visible ? implicitHeight : 0 - display: AbstractButton.TextUnderIcon - icon.name: modelData - icon.source: '../icons/objects/' + modelData + '.svg' - icon.width: 24 - icon.height: 24 - icon.color: sysPalette.windowText + height: visible ? width*0.6 : 0 + // The KDE SDK is kinda buggy, so it respects neither specified color nor display propreties. + //display: AbstractButton.TextUnderIcon + + Setting.Icon { + id: icon + width: 24 + height: 24 + anchors.left: parent.left + anchors.leftMargin: (parent.width-width)/2 + anchors.top: parent.top + anchors.topMargin: 8 + + color: sysPalette.windowText + source: '../icons/objects/'+modelData+'.svg' + } + + Label { + id: label + anchors.bottom: parent.bottom + anchors.bottomMargin: 5 + anchors.left: parent.left + anchors.leftMargin: 4 + anchors.right: parent.right + anchors.rightMargin: 4 + horizontalAlignment: Text.AlignHCenter + font.pixelSize: 14 + text: Objects.types[modelData].displayType() + clip: true + } + ToolTip.visible: hovered ToolTip.delay: 200 - ToolTip.text: text + ToolTip.text: label.text onClicked: { var newObj = Objects.createNewRegisteredObject(modelData) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml index e953e37..7c008f8 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml @@ -19,6 +19,7 @@ import QtQuick 2.12 import QtQuick.Dialogs 1.3 as D import QtQuick.Controls 2.12 +import eu.ad5001.LogarithmPlotter.Setting 1.0 as Setting import "../js/objects.js" as Objects import "../js/historylib.js" as HistoryLib @@ -139,9 +140,17 @@ ListView { anchors.right: deleteButton.left anchors.rightMargin: 5 anchors.topMargin: 5 - icon.name: 'position' - icon.source: '../icons/common/position.svg' - icon.color: sysPalette.buttonText + + Setting.Icon { + id: icon + width: 18 + height: 18 + anchors.centerIn: parent + + color: sysPalette.windowText + source: '../icons/common/position.svg' + } + property bool hasXProp: Objects.types[objType].properties().hasOwnProperty('x') property bool hasYProp: Objects.types[objType].properties().hasOwnProperty('y') visible: hasXProp || hasYProp From 3119c3f9dcc7e24fbe5d8e048bf0c3eea8e60906 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Mon, 31 Jan 2022 20:17:24 +0100 Subject: [PATCH 17/31] A lot of history changes + History item labels are now RichText which allows for better representation of certain items. + History item labels are now multiline + History item labels now have a very small separator to distinguish them from each other. + Separating history actions into components --- .../LogarithmPlotter/History/History.qml | 2 + .../History/HistoryBrowser.qml | 11 +- .../LogarithmPlotter/History/HistoryItem.qml | 28 +- .../ObjectLists/ObjectLists.qml | 2 +- .../LogarithmPlotter/js/history/color.js | 53 ++++ .../LogarithmPlotter/js/history/common.js | 13 + .../LogarithmPlotter/js/history/create.js | 56 ++++ .../LogarithmPlotter/js/history/delete.js | 44 +++ .../js/history/editproperty.js | 105 +++++++ .../LogarithmPlotter/js/history/name.js | 57 ++++ .../LogarithmPlotter/js/history/visibility.js | 52 ++++ .../ad5001/LogarithmPlotter/js/historylib.js | 259 +----------------- 12 files changed, 423 insertions(+), 259 deletions(-) create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.js create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.js create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.js create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.js create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js create mode 100644 LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.js diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/History.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/History.qml index 47c4fbe..50cd168 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/History.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/History.qml @@ -20,6 +20,7 @@ import QtQuick 2.12 import QtQml 2.12 import "../js/objects.js" as Objects import "../js/historylib.js" as HistoryLib +import "../js/history/common.js" as HistoryCommon /*! \qmltype History @@ -209,5 +210,6 @@ Item { Component.onCompleted: { HistoryLib.history = historyObj + HistoryCommon.themeTextColor = sysPalette.windowText } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml index f785cd0..40b7690 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml @@ -43,11 +43,6 @@ ScrollView { */ property int actionWidth: width-20 - /*! - \qmlproperty int HistoryBrowser::actionHeight - Height of the actions. - */ - property int actionHeight: 40 /*! \qmlproperty int HistoryBrowser::darkTheme true when the system is running with a dark theme, false otherwise. @@ -72,7 +67,7 @@ ScrollView { HistoryItem { id: redoButton width: actionWidth - height: actionHeight + //height: actionHeight isRedo: true idx: index darkTheme: historyBrowser.darkTheme @@ -96,7 +91,7 @@ ScrollView { anchors.right: parent.right anchors.top: redoColumn.bottom width: actionWidth - height: actionHeight + height: 40 color: sysPalette.highlight Text { anchors.verticalCenter: parent.verticalCenter @@ -120,7 +115,7 @@ ScrollView { HistoryItem { id: undoButton width: actionWidth - height: actionHeight + //height: actionHeight isRedo: false idx: index darkTheme: historyBrowser.darkTheme diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml index 1475853..909cbaa 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml @@ -59,6 +59,14 @@ Button { */ readonly property var historyAction: isRedo ? history.redoStack[idx] : history.undoStack[history.undoCount-idx-1] + /*! + \qmlproperty int HistoryItem::actionHeight + Base height of the action. + */ + readonly property int actionHeight: 40 + + height: Math.max(actionHeight, label.height + 15) + LinearGradient { anchors.fill: parent start: Qt.point(0, 0) @@ -74,7 +82,7 @@ Button { width: 18 height: 18 anchors.left: parent.left - anchors.leftMargin: (parent.height-height)/2 + anchors.leftMargin: 6 anchors.verticalCenter: parent.verticalCenter color: sysPalette.windowText @@ -85,19 +93,21 @@ Button { id: label anchors.left: icon.right anchors.right: parent.right - anchors.leftMargin: 4 - anchors.rightMargin: (parent.height-height)/2 + anchors.leftMargin: 6 + anchors.rightMargin: 10 anchors.verticalCenter: parent.verticalCenter font.pixelSize: 14 - text: historyAction.getReadableString() + text: historyAction.getHTMLString() + textFormat: Text.RichText clip: true + wrapMode: Text.WordWrap } //text: historyAction.getReadableString() ToolTip.visible: hovered ToolTip.delay: 200 - ToolTip.text: label.text + ToolTip.text: historyAction.getReadableString() onClicked: { if(isRedo) @@ -105,6 +115,14 @@ Button { else history.undoMultipleDefered(+idx+1) } + + Rectangle { + color: sysPalette. window + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + height: 1 + } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml index 7c008f8..d16b2f6 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml @@ -215,7 +215,7 @@ ListView { color: obj.color title: qsTr("Pick new color for %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) onAccepted: { - history.addToHistory(new HistoryLib.EditedProperty( + history.addToHistory(new HistoryLib.ColorChanged( obj.name, objType, "color", obj.color, color.toString() )) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.js new file mode 100644 index 0000000..ec50642 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.js @@ -0,0 +1,53 @@ +/** + * LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions. + * Copyright (C) 2022 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 . + */ + +.pragma library + +.import "editproperty.js" as EP +.import "../objects.js" as Objects + + +class ColorChanged extends EP.EditedProperty { + // Action used everytime when an object's color is changed + type(){return 'ColorChanged'} + + icon(){return 'appearance'} + + + color(darkVer=false){return darkVer ? 'purple' : 'plum'} + + getReadableString() { + return qsTr("%1 %2's color changed from %3 to %4.") + .arg(Objects.types[this.targetType].displayType()).arg(this.targetName) + .arg(this.previousValue).arg(this.newValue) + } + + formatColor(color) { + return `  ` + } + + getHTMLString() { + return qsTr("%1 %2's color changed from %3 to %4.") + .arg(Objects.types[this.targetType].displayType()).arg(this.targetName) + .arg(this.formatColor(this.previousValue)).arg(this.formatColor(this.newValue)) + } +} + + + + diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/common.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/common.js index 5f51fe8..909da64 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/common.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/common.js @@ -18,6 +18,8 @@ .pragma library +var themeTextColor; + class Action { // Type of the action done. @@ -39,7 +41,18 @@ class Action { return [this.targetName, this.targetType] } + // String used in the toolkit getReadableString() { return 'Unknown action' } + + // Returns an HTML tag containing the icon of a type + getIconRichText(type) { + return `` + } + + // String used in the preview + getHTMLString() { + return this.getReadableString() + } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.js new file mode 100644 index 0000000..2a3f505 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.js @@ -0,0 +1,56 @@ +/** + * LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions. + * Copyright (C) 2022 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 . + */ + +.pragma library + +.import "../objects.js" as Objects +.import "common.js" as C + +class CreateNewObject extends C.Action { + // Action used for the creation of an object + type(){return 'CreateNewObject'} + + icon(){return 'create'} + + color(darkVer=false){return darkVer ? 'green' : 'lime'} + + constructor(targetName = "", targetType = "Point", properties = []) { + super(targetName, targetType) + this.targetProperties = properties + } + + + undo() { + var targetIndex = Objects.getObjectsName(this.targetType).indexOf(this.targetName) + Objects.currentObjects[this.targetType][targetIndex].delete() + Objects.currentObjects[this.targetType].splice(targetIndex, 1) + } + + redo() { + Objects.createNewRegisteredObject(this.targetType, this.targetProperties) + } + + export() { + return [this.targetName, this.targetType, this.targetProperties] + } + + getReadableString() { + return qsTr("New %1 %2 created.").arg(Objects.types[this.targetType].displayType()).arg(this.targetName) + } +} + diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.js new file mode 100644 index 0000000..19ebe3e --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.js @@ -0,0 +1,44 @@ +/** + * LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions. + * Copyright (C) 2022 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 . + */ + +.pragma library + +.import "../objects.js" as Objects +.import "create.js" as Create + + +class DeleteObject extends Create.CreateNewObject { + // Action used at the deletion of an object. Basicly the same thing as creating a new object, except Redo & Undo are reversed. + type(){return 'DeleteObject'} + + icon(){return 'delete'} + + color(darkVer=false){return darkVer ? 'darkred' : 'salmon'} + + undo() { + super.redo() + } + + redo() { + super.undo() + } + + getReadableString() { + return qsTr("%1 %2 deleted.").arg(Objects.types[this.targetType].displayType()).arg(this.targetName) + } +} diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.js new file mode 100644 index 0000000..ee33a0d --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.js @@ -0,0 +1,105 @@ +/** + * LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions. + * Copyright (C) 2022 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 . + */ + +.pragma library + +.import "../objects.js" as Objects +.import "../mathlib.js" as MathLib +.import "../objs/common.js" as Common +.import "common.js" as C + +class EditedProperty extends C.Action { + // Action used everytime an object's property has been changed + type(){return 'EditedProperty'} + + icon(){return 'modify'} + + color(darkVer=false){return darkVer ? 'darkslateblue' : 'cyan'} + + constructor(targetName = "", targetType = "Point", targetProperty = "visible", previousValue = false, newValue = true, valueIsExpressionNeedingImport = false) { + super(targetName, targetType) + this.targetProperty = targetProperty + this.targetPropertyReadable = qsTranslate("prop", this.targetProperty) + this.previousValue = previousValue + this.newValue = newValue + this.propertyType = Objects.types[targetType].properties()[targetProperty] + if(valueIsExpressionNeedingImport) { + if(this.propertyType == "Expression") { + this.previousValue = new MathLib.Expression(this.previousValue); + this.newValue = new MathLib.Expression(this.newValue); + } else if(this.propertyType == "Domain") { + this.previousValue = MathLib.parseDomain(this.previousValue); + this.newValue = MathLib.parseDomain(this.newValue); + } else { + // Objects + this.previousValue = Objects.getObjectByName(this.previousValue); + this.newValue = Objects.getObjectByName(this.newValue); + } + } + } + + undo() { + Objects.getObjectByName(this.targetName, this.targetType)[this.targetProperty] = this.previousValue + } + + redo() { + Objects.getObjectByName(this.targetName, this.targetType)[this.targetProperty] = this.newValue + } + + export() { + if(this.previousValue instanceof MathLib.Expression) { + return [this.targetName, this.targetType, this.targetProperty, this.previousValue.toEditableString(), this.newValue.toEditableString(), true] + } else if(this.previousValue instanceof Common.DrawableObject) { + return [this.targetName, this.targetType, this.targetProperty, this.previousValue.name, this.newValue.name, true] + } else { + return [this.targetName, this.targetType, this.targetProperty, this.previousValue, this.newValue, false] + } + } + + getReadableString() { + let prev = ""; + let next = ""; + if(this.propertyType instanceof Object) { + switch(this.propertyType.type) { + case "Enum": + 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('"', "'") + 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()) + .arg(this.targetName).arg(prev).arg(next) + } +} diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js new file mode 100644 index 0000000..4ad78c6 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js @@ -0,0 +1,57 @@ +/** + * LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions. + * Copyright (C) 2022 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 . + */ + +.pragma library + +.import "editproperty.js" as EP +.import "../objects.js" as Objects + + +class NameChanged extends EP.EditedProperty { + // Action used everytime an object's property has been changed + type(){return 'NameChanged'} + + icon(){return 'name'} + + + color(darkVer=false){return darkVer ? 'darkorange' : 'orange'} + + constructor(targetName = "", targetType = "Point", newName = "") { + super(targetName, targetType, "name", targetName, newName) + } + + export() { + return [this.targetName, this.targetType, this.newValue] + } + + undo() { + Objects.getObjectByName(this.newValue, this.targetType)['name'] = this.previousValue + } + + redo() { + Objects.getObjectByName(this.previousValue, this.targetType)['name'] = this.newValue + } + + getReadableString() { + return qsTr('Name of %1 %2 changed to %3.') + .arg(Objects.types[this.targetType].displayType()) + .arg(this.targetName).arg(this.newValue) + } +} + + diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.js new file mode 100644 index 0000000..85ce611 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.js @@ -0,0 +1,52 @@ +/** + * LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions. + * Copyright (C) 2022 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 . + */ + +.pragma library + +.import "editproperty.js" as EP + + +class EditedVisibility extends EP.EditedProperty { + // Action used when an object's shown or hidden. + type(){return 'EditedVisibility'} + + icon(){return 'visibility'} + + color(darkVer=false){ + return this.newValue ? + (darkVer ? 'darkgray' : 'whitesmoke') : + (darkVer ? 'dimgray' : 'lightgray') + } + + constructor(targetName = "", targetType = "Point", newValue = true) { + super(targetName, targetType, "visible", !newValue, newValue) + } + + export() { + return [this.targetName, this.targetType, this.newValue] + } + + getReadableString() { + if(this.newValue) { + return qsTr('%1 %2 shown.').arg(this.targetType).arg(this.targetName) + } else { + return qsTr('%1 %2 hidden.').arg(this.targetType).arg(this.targetName) + } + } +} + diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js index 7d60c66..ce1fe98 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js @@ -20,255 +20,24 @@ // Each type of event is repertoried as an action that can be listed for everything that's undoable. .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 +.import "history/common.js" as Common +.import "history/create.js" as Create +.import "history/delete.js" as Delete +.import "history/editproperty.js" as EP +.import "history/visibility.js" as V +.import "history/name.js" as Name +.import "history/color.js" as Color var history = null; -class Action { - // Type of the action done. - type(){return 'Unknown'} - - // Icon of the action to be used in history browser. - icon(){return 'unknown'} - - // Color associated with the action. - color(darkVer=false){return darkVer ? 'black' : 'white'} - - // TargetName is the name of the object that's targeted by the event. - constructor(targetName = "", targetType = "Point") { - this.targetName = targetName - this.targetType = targetType - } - - undo() {} - - redo() {} - - export() { - return [this.targetName, this.targetType] - } - - getReadableString() { - return 'Unknown action' - } -} -class CreateNewObject extends Action { - // Action used for the creation of an object - type(){return 'CreateNewObject'} - - icon(){return 'create'} - - color(darkVer=false){return darkVer ? 'green' : 'lime'} - - constructor(targetName = "", targetType = "Point", properties = []) { - super(targetName, targetType) - this.targetProperties = properties - } - - - undo() { - var targetIndex = Objects.getObjectsName(this.targetType).indexOf(this.targetName) - Objects.currentObjects[this.targetType][targetIndex].delete() - Objects.currentObjects[this.targetType].splice(targetIndex, 1) - } - - redo() { - Objects.createNewRegisteredObject(this.targetType, this.targetProperties) - } - - export() { - return [this.targetName, this.targetType, this.targetProperties] - } - - getReadableString() { - return qsTr("New %1 %2 created.").arg(Objects.types[this.targetType].displayType()).arg(this.targetName) - } -} - -class DeleteObject extends CreateNewObject { - // Action used at the deletion of an object. Basicly the same thing as creating a new object, except Redo & Undo are reversed. - type(){return 'DeleteObject'} - - icon(){return 'delete'} - - color(darkVer=false){return darkVer ? 'darkred' : 'salmon'} - - undo() { - super.redo() - } - - redo() { - super.undo() - } - - getReadableString() { - return qsTr("%1 %2 deleted.").arg(Objects.types[this.targetType].displayType()).arg(this.targetName) - } -} - -class EditedProperty extends Action { - // Action used everytime an object's property has been changed - type(){return 'EditedProperty'} - - icon(){return 'modify'} - - color(darkVer=false){return darkVer ? 'darkslateblue' : 'cyan'} - - constructor(targetName = "", targetType = "Point", targetProperty = "visible", previousValue = false, newValue = true, valueIsExpressionNeedingImport = false) { - super(targetName, targetType) - this.targetProperty = targetProperty - this.targetPropertyReadable = qsTranslate("prop", this.targetProperty) - this.previousValue = previousValue - this.newValue = newValue - this.propertyType = Objects.types[targetType].properties()[targetProperty] - if(valueIsExpressionNeedingImport) { - if(this.propertyType == "Expression") { - this.previousValue = new MathLib.Expression(this.previousValue); - this.newValue = new MathLib.Expression(this.newValue); - } else if(this.propertyType == "Domain") { - this.previousValue = MathLib.parseDomain(this.previousValue); - this.newValue = MathLib.parseDomain(this.newValue); - } else { - // Objects - this.previousValue = Objects.getObjectByName(this.previousValue); - this.newValue = Objects.getObjectByName(this.newValue); - } - } - } - - undo() { - Objects.getObjectByName(this.targetName, this.targetType)[this.targetProperty] = this.previousValue - } - - redo() { - Objects.getObjectByName(this.targetName, this.targetType)[this.targetProperty] = this.newValue - } - - export() { - if(this.previousValue instanceof MathLib.Expression) { - return [this.targetName, this.targetType, this.targetProperty, this.previousValue.toEditableString(), this.newValue.toEditableString(), true] - } else if(this.previousValue instanceof Common.DrawableObject) { - return [this.targetName, this.targetType, this.targetProperty, this.previousValue.name, this.newValue.name, true] - } else { - return [this.targetName, this.targetType, this.targetProperty, this.previousValue, this.newValue, false] - } - } - - getReadableString() { - let prev = ""; - let next = ""; - if(this.propertyType instanceof Object) { - switch(this.propertyType.type) { - case "Enum": - 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('"', "'") - 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()) - .arg(this.targetName).arg(prev).arg(next) - } -} - -class EditedVisibility extends EditedProperty { - // Action used everytime an object's property has been changed - type(){return 'EditedVisibility'} - - icon(){return 'visibility'} - - color(darkVer=false){ - return this.newValue ? - (darkVer ? 'darkgray' : 'whitesmoke') : - (darkVer ? 'dimgray' : 'lightgray') - } - - constructor(targetName = "", targetType = "Point", newValue = true) { - super(targetName, targetType, "visible", !newValue, newValue) - } - - export() { - return [this.targetName, this.targetType, this.newValue] - } - - getReadableString() { - if(this.newValue) { - return qsTr('%1 %2 shown.').arg(this.targetType).arg(this.targetName) - } else { - return qsTr('%1 %2 hidden.').arg(this.targetType).arg(this.targetName) - } - } -} - -class NameChanged extends EditedProperty { - // Action used everytime an object's property has been changed - type(){return 'NameChanged'} - - icon(){return 'name'} - - - color(darkVer=false){return darkVer ? 'darkorange' : 'orange'} - - constructor(targetName = "", targetType = "Point", newName = "") { - super(targetName, targetType, "name", targetName, newName) - } - - export() { - return [this.targetName, this.targetType, this.newValue] - } - - undo() { - Objects.getObjectByName(this.newValue, this.targetType)['name'] = this.previousValue - } - - redo() { - Objects.getObjectByName(this.previousValue, this.targetType)['name'] = this.newValue - } - - getReadableString() { - return qsTr('Name of %1 %2 changed to %3.') - .arg(Objects.types[this.targetType].displayType()) - .arg(this.targetName).arg(this.newValue) - } -} - -class ColorChanged extends EditedProperty { - // Action used everytime an object's property has been changed - type(){return 'ColorChanged'} - - icon(){return 'appearance'} - - - color(darkVer=false){return darkVer ? 'purple' : 'plum'} - - getReadableString() { - return qsTr('%1 of %2 %3 changed from "%4" to "%5".') - .arg(QT_TRANSLATE_NOOP('prop','color')) - .arg(Objects.types[this.targetType].displayType()) - .arg(this.targetName).arg(this.previousValue).arg(this.newValue) - } -} +var Action = Common.Action +var CreateNewObject = Create.CreateNewObject +var DeleteObject = Delete.DeleteObject +var EditedProperty = EP.EditedProperty +var EditedVisibility = V.EditedVisibility +var NameChanged = Name.NameChanged +var ColorChanged = Color.ColorChanged var Actions = { "Action": Action, From 2d12291075d8226b7adf3fcdd46d139dff2b0d34 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Mon, 31 Jan 2022 21:39:51 +0100 Subject: [PATCH 18/31] Using some qt method instead of helper when possible --- LogarithmPlotter/helper.py | 5 ----- .../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml | 6 +++--- .../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml | 2 +- .../qml/eu/ad5001/LogarithmPlotter/Popup/About.qml | 4 ++-- .../qml/eu/ad5001/LogarithmPlotter/Popup/Changelog.qml | 2 +- .../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml | 7 ++----- .../qml/eu/ad5001/LogarithmPlotter/js/history/name.js | 2 +- 7 files changed, 10 insertions(+), 18 deletions(-) diff --git a/LogarithmPlotter/helper.py b/LogarithmPlotter/helper.py index 8f6732b..164cd16 100644 --- a/LogarithmPlotter/helper.py +++ b/LogarithmPlotter/helper.py @@ -24,7 +24,6 @@ from PySide2 import __version__ as PySide2_version from os import chdir, path from json import loads -from webbrowser import open as openWeb from sys import version as sys_version from urllib.request import urlopen from urllib.error import HTTPError, URLError @@ -142,10 +141,6 @@ class Helper(QObject): """ return QCoreApplication.translate('main',"Built with PySide2 (Qt) v{} and python v{}").format(PySide2_version, sys_version.split("\n")[0]) - @Slot(str) - def openUrl(self, url): - openWeb(url) - @Slot() def fetchChangelog(self): changelog_cache_path = path.join(path.dirname(path.realpath(__file__)), "CHANGELOG.md") diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml index a50ecc5..fd09af4 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml @@ -146,12 +146,12 @@ MenuBar { Action { text: qsTr("&Source code") icon.name: 'software-sources' - onTriggered: Helper.openUrl("https://git.ad5001.eu/Ad5001/LogarithmPlotter/issues") + onTriggered: Qt.openUrlExternally("https://git.ad5001.eu/Ad5001/LogarithmPlotter/issues") } Action { text: qsTr("&Report a bug") icon.name: 'tools-report-bug' - onTriggered: Helper.openUrl("https://git.ad5001.eu/Ad5001/LogarithmPlotter/issues") + onTriggered: Qt.openUrlExternally("https://git.ad5001.eu/Ad5001/LogarithmPlotter/issues") } Action { text: qsTr("&Changelog") @@ -161,7 +161,7 @@ MenuBar { Action { text: qsTr("&Help translating!") icon.name: 'translator' - onTriggered: Helper.openUrl("https://hosted.weblate.org/engage/logarithmplotter/") + onTriggered: Qt.openUrlExternally("https://hosted.weblate.org/engage/logarithmplotter/") } MenuSeparator { } Action { diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml index c030d8d..023b0a0 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml @@ -334,7 +334,7 @@ ApplicationWindow { Action { text: qsTr("&Update LogarithmPlotter") icon.name: 'update' - onTriggered: Helper.openUrl("https://dev.apps.ad5001.eu/logarithmplotter") + onTriggered: Qt.openUrlExternally("https://dev.apps.ad5001.eu/logarithmplotter") } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/About.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/About.qml index 6a75152..9fe9145 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/About.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/About.qml @@ -98,7 +98,7 @@ This program is free software: you can redistribute it and/or modify it under th 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 http://www.gnu.org/licenses/." - onLinkActivated: Helper.openUrl(link) + onLinkActivated: Qt.openUrlExternally(link) } Button { @@ -108,6 +108,6 @@ You should have received a copy of the GNU General Public License along with thi anchors.topMargin: 10 text: qsTr('Report a bug') icon.name: 'bug' - onClicked: Helper.openUrl('https://git.ad5001.eu/Ad5001/LogarithmPlotter') + onClicked: Qt.openUrlExternally('https://git.ad5001.eu/Ad5001/LogarithmPlotter') } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/Changelog.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/Changelog.qml index 41864d4..b3743d2 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/Changelog.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/Changelog.qml @@ -69,7 +69,7 @@ Popup { textFormat: TextEdit.MarkdownText text: qsTr("Fetching changelog...") - onLinkActivated: Helper.openUrl(link) + onLinkActivated: Qt.openUrlExternally(link) } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml index f7010a5..b8f5593 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml @@ -137,11 +137,8 @@ Popup { } } - Timer { - running: Helper.getSetting("last_install_greet") != Helper.getVersion() - repeat: false - interval: 50 - onTriggered: greetingPopup.open() + Component.onCompleted: if(Helper.getSetting("last_install_greet") != Helper.getVersion()) { + greetingPopup.open() } onClosed: Helper.setSetting("last_install_greet", Helper.getVersion()) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js index 4ad78c6..5c2b114 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js @@ -48,7 +48,7 @@ class NameChanged extends EP.EditedProperty { } getReadableString() { - return qsTr('Name of %1 %2 changed to %3.') + return qsTr('%1 %2 renamed to %3.') .arg(Objects.types[this.targetType].displayType()) .arg(this.targetName).arg(this.newValue) } From 719d56127d6495c18be59c15bdef2c6bb565941a Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Mon, 31 Jan 2022 23:07:00 +0100 Subject: [PATCH 19/31] Enhanced overall readability of history through usage + Using bold and 1 space padding for object names (for long actions) + Using color blocs for colors + Removed verbose object type from property edition (still accessible from tooltip) + Property edition values are now monospaced and have a slight shade as background + Using "rename" for name changing verbs. --- LogarithmPlotter/i18n/lp_de.ts | 160 +++++++++++------ LogarithmPlotter/i18n/lp_en.ts | 160 +++++++++++------ LogarithmPlotter/i18n/lp_es.ts | 167 ++++++++++-------- LogarithmPlotter/i18n/lp_fr.ts | 160 +++++++++++------ LogarithmPlotter/i18n/lp_hu.ts | 158 +++++++++++------ LogarithmPlotter/i18n/lp_nb_NO.ts | 158 +++++++++++------ LogarithmPlotter/i18n/lp_template.ts | 167 ++++++++++-------- .../LogarithmPlotter/History/HistoryItem.qml | 12 +- .../ObjectLists/ObjectLists.qml | 3 +- .../LogarithmPlotter/js/history/color.js | 13 +- .../LogarithmPlotter/js/history/create.js | 6 + .../LogarithmPlotter/js/history/delete.js | 6 + .../js/history/editproperty.js | 46 +++-- .../LogarithmPlotter/js/history/name.js | 6 + .../LogarithmPlotter/js/history/visibility.js | 15 +- 15 files changed, 802 insertions(+), 435 deletions(-) diff --git a/LogarithmPlotter/i18n/lp_de.ts b/LogarithmPlotter/i18n/lp_de.ts index bcef035..c960b50 100644 --- a/LogarithmPlotter/i18n/lp_de.ts +++ b/LogarithmPlotter/i18n/lp_de.ts @@ -5,7 +5,7 @@ About - + About LogarithmPlotter Über LogarithmPlotter @@ -28,107 +28,107 @@ AppMenuBar - + &File &Datei - + &Load... &Laden… - + &Save &Speichern - + Save &As... Speichern &Unter… - + &Quit &Ausfahrt - + &Edit &Bearbeiten - + &Undo &Lösen - + &Redo &Wiederherstellen - + &Copy plot Grafik &Kopieren - + &Create &Erstellen - + &Settings &Einstellungen - + Check for updates on startup Beim Starten auf Updates prüfen - + Reset redo stack automaticly Wiederherstellen-Stapel automatisch zurücksetzen - + &Help &Hilfe - + &Source code &Quellcode - + &Report a bug Fehler &Melden - + &Changelog &Changelog - + &Help translating! &Hilfe beim Übersetzen! - + &About &Übrigens - + Save unsaved changes? Änderungen speichern? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? Diese Grafik enthält ungespeicherte Änderungen. Dadurch gehen alle ungespeicherten Daten verloren. Fortfahren? @@ -179,8 +179,8 @@ Name + Wert - - + + + Create new %1 + Neues %1objekt erstellen @@ -241,17 +241,17 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" HistoryBrowser - + Redo > Wiederherstellen > - + > Now > Aktueller Stand - + < Undo < Rückgängig @@ -330,7 +330,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" ObjectCreationGrid - + + Create new: + Neu erstellen: @@ -338,37 +338,37 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" ObjectLists - + Hide all %1 Alle %1 ausblenden - + Show all %1 Alle %1 anzeigen - + Hide %1 %2 Ausblenden %1 %2 - + Show %1 %2 Anzeigen %1 %2 - + Set %1 %2 position Position von %1 %2 einstellen - + Delete %1 %2 %1 %2 löschen - + Pick new color for %1 %2 Neue Farbe für %1 %2 auswählen @@ -487,16 +487,25 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" changelog - + Could not fetch changelog: Server error {}. Changelog konnte nicht geholt werden: Server-Fehler {}. - + Could not fetch update: {}. Changelog konnte nicht geholt werden: {}. + + color + + + + %1 %2's color changed from %3 to %4. + + + comment @@ -530,6 +539,37 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" %1: + + create + + + + New %1 %2 created. + Neu %1 %2 erstellt. + + + + delete + + + + %1 %2 deleted. + %1 %2 gelöscht. + + + + editproperty + + + %1 of %2 %3 changed from "%4" to "%5". + %1 von %2 %3 wurde von "%4" auf "%5" geändert. + + + + %1 of %2 changed from %3 to %4. + + + function @@ -569,35 +609,37 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" historylib - New %1 %2 created. - Neu %1 %2 erstellt. + Neu %1 %2 erstellt. - %1 %2 deleted. - %1 %2 gelöscht. + %1 %2 gelöscht. - - %1 of %2 %3 changed from "%4" to "%5". - %1 von %2 %3 wurde von "%4" auf "%5" geändert. + %1 von %2 %3 wurde von "%4" auf "%5" geändert. - %1 %2 shown. - %1 %2 angezeigt. + %1 %2 angezeigt. - %1 %2 hidden. - %1 %2 ausgeblendet. + %1 %2 ausgeblendet. - Name of %1 %2 changed to %3. - Der Name von %1 %2 wurde in %3 geändert. + Der Name von %1 %2 wurde in %3 geändert. + + + + name + + + + %1 %2 renamed to %3. + @@ -895,9 +937,8 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" Initialisierungswerte - color - Farbe + Farbe @@ -980,6 +1021,21 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" Es konnten keine Aktualisierungsinformationen abgerufen werden:{}. + + visibility + + + + %1 %2 shown. + %1 %2 angezeigt. + + + + + %1 %2 hidden. + %1 %2 ausgeblendet. + + xcursor diff --git a/LogarithmPlotter/i18n/lp_en.ts b/LogarithmPlotter/i18n/lp_en.ts index 76d5a69..e6fc864 100644 --- a/LogarithmPlotter/i18n/lp_en.ts +++ b/LogarithmPlotter/i18n/lp_en.ts @@ -5,7 +5,7 @@ About - + About LogarithmPlotter About LogarithmPlotter @@ -28,107 +28,107 @@ AppMenuBar - + &File &File - + &Load... &Load… - + &Save &Save - + Save &As... Save &As… - + &Quit &Quit - + &Edit &Edit - + &Undo &Undo - + &Redo &Redo - + &Copy plot &Copy plot - + &Create &Create - + &Settings &Settings - + Check for updates on startup Check for updates on startup - + Reset redo stack automaticly Reset redo stack automatically - + &Help &Help - + &Source code &Source code - + &Report a bug &Report a bug - + &Changelog &Changelog - + &Help translating! &Help translating! - + &About &About - + Save unsaved changes? Save unsaved changes? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? @@ -179,8 +179,8 @@ name + value - - + + + Create new %1 + Create new %1 @@ -241,17 +241,17 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + Redo > Redo > - + > Now > Now - + < Undo < Undo @@ -330,7 +330,7 @@ These settings can be changed at any time from the "Settings" menu. ObjectCreationGrid - + + Create new: + Create new: @@ -338,37 +338,37 @@ These settings can be changed at any time from the "Settings" menu. ObjectLists - + Hide all %1 Hide all %1 - + Show all %1 Show all %1 - + Hide %1 %2 Hide %1 %2 - + Show %1 %2 Show %1 %2 - + Set %1 %2 position Set %1 %2 position - + Delete %1 %2 Delete %1 %2 - + Pick new color for %1 %2 Pick new color for %1 %2 @@ -487,16 +487,25 @@ These settings can be changed at any time from the "Settings" menu. changelog - + Could not fetch changelog: Server error {}. Could not fetch changelog: Server error {}. - + Could not fetch update: {}. Could not fetch changelog: {}. + + color + + + + %1 %2's color changed from %3 to %4. + + + comment @@ -530,6 +539,37 @@ These settings can be changed at any time from the "Settings" menu.%1: + + create + + + + New %1 %2 created. + New %1 %2 created. + + + + delete + + + + %1 %2 deleted. + %1 %2 deleted. + + + + editproperty + + + %1 of %2 %3 changed from "%4" to "%5". + %1 of %2 %3 changed from "%4" to "%5". + + + + %1 of %2 changed from %3 to %4. + + + function @@ -569,35 +609,37 @@ These settings can be changed at any time from the "Settings" menu. historylib - New %1 %2 created. - New %1 %2 created. + New %1 %2 created. - %1 %2 deleted. - %1 %2 deleted. + %1 %2 deleted. - - %1 of %2 %3 changed from "%4" to "%5". - %1 of %2 %3 changed from "%4" to "%5". + %1 of %2 %3 changed from "%4" to "%5". - %1 %2 shown. - %1 %2 shown. + %1 %2 shown. - %1 %2 hidden. - %1 %2 hidden. + %1 %2 hidden. - Name of %1 %2 changed to %3. - Name of %1 %2 changed to %3. + Name of %1 %2 changed to %3. + + + + name + + + + %1 %2 renamed to %3. + @@ -895,9 +937,8 @@ These settings can be changed at any time from the "Settings" menu.Initialisation values - color - Color + Color @@ -980,6 +1021,21 @@ These settings can be changed at any time from the "Settings" menu.Could not fetch update information: {}. + + visibility + + + + %1 %2 shown. + %1 %2 shown. + + + + + %1 %2 hidden. + %1 %2 hidden. + + xcursor diff --git a/LogarithmPlotter/i18n/lp_es.ts b/LogarithmPlotter/i18n/lp_es.ts index 828aeb2..b228d49 100644 --- a/LogarithmPlotter/i18n/lp_es.ts +++ b/LogarithmPlotter/i18n/lp_es.ts @@ -5,7 +5,7 @@ About - + About LogarithmPlotter Sobre LogarithmPlotter @@ -28,107 +28,107 @@ AppMenuBar - + &File - + &Load... - + &Save - + Save &As... - + &Quit - + &Edit - + &Undo - + &Redo - + &Copy plot - + &Create - + &Settings - + Check for updates on startup - + Reset redo stack automaticly - + &Help - + &Source code - + &Report a bug - + &Changelog - + &Help translating! - + &About - + Save unsaved changes? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? @@ -179,8 +179,8 @@ - - + + + Create new %1 @@ -240,17 +240,17 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + Redo > - + > Now - + < Undo @@ -329,7 +329,7 @@ These settings can be changed at any time from the "Settings" menu. ObjectCreationGrid - + + Create new: @@ -337,37 +337,37 @@ These settings can be changed at any time from the "Settings" menu. ObjectLists - + Hide all %1 - + Show all %1 - + Hide %1 %2 - + Show %1 %2 - + Set %1 %2 position - + Delete %1 %2 - + Pick new color for %1 %2 @@ -486,16 +486,25 @@ These settings can be changed at any time from the "Settings" menu. changelog - + Could not fetch changelog: Server error {}. - + Could not fetch update: {}. + + color + + + + %1 %2's color changed from %3 to %4. + + + comment @@ -529,6 +538,37 @@ These settings can be changed at any time from the "Settings" menu. + + create + + + + New %1 %2 created. + + + + + delete + + + + %1 %2 deleted. + + + + + editproperty + + + %1 of %2 %3 changed from "%4" to "%5". + + + + + %1 of %2 changed from %3 to %4. + + + function @@ -566,36 +606,11 @@ These settings can be changed at any time from the "Settings" menu. - historylib + name - - New %1 %2 created. - - - - - %1 %2 deleted. - - - - - - %1 of %2 %3 changed from "%4" to "%5". - - - - - %1 %2 shown. - - - - - %1 %2 hidden. - - - - - Name of %1 %2 changed to %3. + + + %1 %2 renamed to %3. @@ -893,11 +908,6 @@ These settings can be changed at any time from the "Settings" menu.baseValues - - - color - - repartition @@ -979,6 +989,21 @@ These settings can be changed at any time from the "Settings" menu. + + visibility + + + + %1 %2 shown. + + + + + + %1 %2 hidden. + + + xcursor diff --git a/LogarithmPlotter/i18n/lp_fr.ts b/LogarithmPlotter/i18n/lp_fr.ts index 21090a8..ed05157 100644 --- a/LogarithmPlotter/i18n/lp_fr.ts +++ b/LogarithmPlotter/i18n/lp_fr.ts @@ -5,7 +5,7 @@ About - + About LogarithmPlotter À propos de LogarithmPlotter @@ -28,108 +28,108 @@ AppMenuBar - + &File &Fichier - + &Load... &Ouvrir… - + &Save &Sauvegarder - + Save &As... Sauvegarde &Sous… - + &Quit &Quitter - + &Edit &Édition - + &Undo &Annuler - + &Redo &Rétablir - + &Copy plot &Copier le graphe - + &Create &Créer - + &Settings &Paramètres - + Check for updates on startup Vérifier la présence de mise à jour au démarrage - + Reset redo stack automaticly Légèrement long, et pas forcément très compréhensible. Réinitialiser la pile d'action "Rétablir" automatiquement - + &Help &Aide - + &Source code &Code source - + &Report a bug &Rapport de bug - + &Changelog &Historique des modifications - + &Help translating! &Aider à la traduction ! - + &About &À propos - + Save unsaved changes? Sauvegarder les modifications ? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? Ce graphe contient des modifications non sauvegardées. En faisant cela, toutes les données non sauvegardées seront perdues. Continuer ? @@ -180,8 +180,8 @@ nom + valeur - - + + + Create new %1 Traduction non litéralle pour éviter les problèmes de genre. + Créer un nouvel objet %1 @@ -249,17 +249,17 @@ These settings can always be changed at any time from the "Settings" m HistoryBrowser - + Redo > Rétablir > - + > Now > État actuel - + < Undo < Annuler @@ -338,7 +338,7 @@ These settings can always be changed at any time from the "Settings" m ObjectCreationGrid - + + Create new: + Créer : @@ -346,37 +346,37 @@ These settings can always be changed at any time from the "Settings" m ObjectLists - + Hide all %1 Cacher tous les %1 - + Show all %1 Montrer tous les %1 - + Hide %1 %2 Cacher l'objet %1 %2 - + Show %1 %2 Montrer l'objet %1 %2 - + Set %1 %2 position Définir la position de l'objet %1 %2 - + Delete %1 %2 Supprimer l'objet %1 %2 - + Pick new color for %1 %2 Choisissez une nouvelle couleur pour %1 %2 @@ -495,16 +495,25 @@ These settings can always be changed at any time from the "Settings" m changelog - + Could not fetch changelog: Server error {}. Impossible de récupérer l'historique des modifications : Erreur de serveur {}. - + Could not fetch update: {}. Impossible de récupérer l'historique des modifications : {}. + + color + + + + %1 %2's color changed from %3 to %4. + + + comment @@ -539,6 +548,37 @@ These settings can always be changed at any time from the "Settings" m %1 : + + create + + + + New %1 %2 created. + Nouvel objet %1 %2 créé. + + + + delete + + + + %1 %2 deleted. + %1 %2 supprimé(e). + + + + editproperty + + + %1 of %2 %3 changed from "%4" to "%5". + %1 de %2 %3 modifiée de "%4" à "%5". + + + + %1 of %2 changed from %3 to %4. + + + function @@ -578,35 +618,37 @@ These settings can always be changed at any time from the "Settings" m historylib - New %1 %2 created. - Nouvel objet %1 %2 créé. + Nouvel objet %1 %2 créé. - %1 %2 deleted. - %1 %2 supprimé(e). + %1 %2 supprimé(e). - - %1 of %2 %3 changed from "%4" to "%5". - %1 de %2 %3 modifiée de "%4" à "%5". + %1 de %2 %3 modifiée de "%4" à "%5". - %1 %2 shown. - %1 %2 affiché(e). + %1 %2 affiché(e). - %1 %2 hidden. - %1 %2 cachée(e). + %1 %2 cachée(e). - Name of %1 %2 changed to %3. - Le nom de %1 %2 a été changé en %3. + Le nom de %1 %2 a été changé en %3. + + + + name + + + + %1 %2 renamed to %3. + @@ -904,9 +946,8 @@ These settings can always be changed at any time from the "Settings" m Valeurs d'initialisation - color - Couleur + Couleur @@ -989,6 +1030,21 @@ These settings can always be changed at any time from the "Settings" m Impossible de récupérer les informations de mise à jour. {}. + + visibility + + + + %1 %2 shown. + %1 %2 affiché(e). + + + + + %1 %2 hidden. + %1 %2 cachée(e). + + xcursor diff --git a/LogarithmPlotter/i18n/lp_hu.ts b/LogarithmPlotter/i18n/lp_hu.ts index edc2b7a..a9b4002 100644 --- a/LogarithmPlotter/i18n/lp_hu.ts +++ b/LogarithmPlotter/i18n/lp_hu.ts @@ -5,7 +5,7 @@ About - + About LogarithmPlotter LogarithmPlotter névjegye @@ -28,107 +28,107 @@ AppMenuBar - + &File &Fájl - + &Load... &Betöltés… - + &Save &Mentés - + Save &As... Me&ntés másként… - + &Quit &Kilépés - + &Edit S&zerkesztés - + &Undo &Visszavonás - + &Redo &Ismétlés - + &Copy plot Ábra má&solása - + &Create &Létrehozás - + &Settings &Beállítások - + Check for updates on startup Frissítések keresése indításkor - + Reset redo stack automaticly Ismétlési verem önműködő visszaállítása - + &Help &Súgó - + &Source code &Forráskód - + &Report a bug &Hiba bejelentése - + &Changelog &Változásnapló - + &Help translating! &Segítség a fordításban! - + &About &Névjegy - + Save unsaved changes? Menti a változtatásokat? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? Ez az ábra nem mentett változtatásokat tartalmaz. Ezzel az összes nem mentett adat elveszik. Folytatja? @@ -179,8 +179,8 @@ név + érték - - + + + Create new %1 + Új %1 létrehozása @@ -241,17 +241,17 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. HistoryBrowser - + Redo > Ismétlés > - + > Now > Most - + < Undo < Visszavonás @@ -330,7 +330,7 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. ObjectCreationGrid - + + Create new: + Új létrehozása: @@ -338,37 +338,37 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. ObjectLists - + Hide all %1 Összes %1 elrejtése - + Show all %1 Összes %1 megjelenítése - + Hide %1 %2 %1 %2 elrejtése - + Show %1 %2 %1 %2 megjelenítése - + Set %1 %2 position %1 %2 helye beállítása - + Delete %1 %2 %1 %2 törlése - + Pick new color for %1 %2 Válasszon új színt a következőhöz: %1 %2 @@ -487,16 +487,25 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. changelog - + Could not fetch changelog: Server error {}. Nem sikerült lekérni a változásnaplót: Kiszolgálóhiba: {}. - + Could not fetch update: {}. Nem sikerült lekérni a változásnaplót: {}. + + color + + + + %1 %2's color changed from %3 to %4. + + + comment @@ -530,6 +539,37 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. %1: + + create + + + + New %1 %2 created. + Új %1 %2 létrehozva. + + + + delete + + + + %1 %2 deleted. + %1 %2 törölve. + + + + editproperty + + + %1 of %2 %3 changed from "%4" to "%5". + %1/%2 %3 megváltozott. Régi érték: %4, új érték: %5. + + + + %1 of %2 changed from %3 to %4. + + + function @@ -569,34 +609,32 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. historylib - New %1 %2 created. - Új %1 %2 létrehozva. + Új %1 %2 létrehozva. - %1 %2 deleted. - %1 %2 törölve. + %1 %2 törölve. - - %1 of %2 %3 changed from "%4" to "%5". - %1/%2 %3 megváltozott. Régi érték: %4, új érték: %5. + %1/%2 %3 megváltozott. Régi érték: %4, új érték: %5. - %1 %2 shown. - %1 %2 megjelenítve. + %1 %2 megjelenítve. - %1 %2 hidden. - %1 %2 rejtve. + %1 %2 rejtve. + + + name - - Name of %1 %2 changed to %3. + + + %1 %2 renamed to %3. @@ -894,11 +932,6 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. baseValues Kezdeményezési értékek - - - color - - repartition @@ -980,6 +1013,21 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. Nem sikerült lekérni a frissítési adatokat: {}. + + visibility + + + + %1 %2 shown. + %1 %2 megjelenítve. + + + + + %1 %2 hidden. + %1 %2 rejtve. + + xcursor diff --git a/LogarithmPlotter/i18n/lp_nb_NO.ts b/LogarithmPlotter/i18n/lp_nb_NO.ts index 3188412..f63e9c0 100644 --- a/LogarithmPlotter/i18n/lp_nb_NO.ts +++ b/LogarithmPlotter/i18n/lp_nb_NO.ts @@ -5,7 +5,7 @@ About - + About LogarithmPlotter Om @@ -28,107 +28,107 @@ AppMenuBar - + &File &Fil - + &Load... &Last inn … - + &Save &Lagre - + Save &As... Lagre &som … - + &Quit &Avslutt - + &Edit &Rediger - + &Undo &Angre - + &Redo &Gjenta - + &Copy plot &Kopier plott - + &Create &Opprett - + &Settings &Innstillinger - + Check for updates on startup Se etter nye versjoner ved programstart - + Reset redo stack automaticly Tilbakestill angrehistorikk automatisk - + &Help &Hjelp - + &Source code - + &Report a bug - + &Changelog - + &Help translating! - + &About &Om - + Save unsaved changes? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? @@ -179,8 +179,8 @@ navn + veri - - + + + Create new %1 + Opprett nytt %1 @@ -241,17 +241,17 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. HistoryBrowser - + Redo > Angre > - + > Now > Nå - + < Undo < Angre @@ -330,7 +330,7 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. ObjectCreationGrid - + + Create new: + Opprett ny: @@ -338,37 +338,37 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. ObjectLists - + Hide all %1 Skjul alle %1 - + Show all %1 Vis alle %1 - + Hide %1 %2 Skjul %1 %2 - + Show %1 %2 Vis %1 %2 - + Set %1 %2 position Sett %1 %2 posisjon - + Delete %1 %2 Slett %1 %2 - + Pick new color for %1 %2 Velg ny farge for %1 %2 @@ -487,16 +487,25 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. changelog - + Could not fetch changelog: Server error {}. - + Could not fetch update: {}. + + color + + + + %1 %2's color changed from %3 to %4. + + + comment @@ -530,6 +539,37 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. + + create + + + + New %1 %2 created. + Ny %1 %2 opprettet. + + + + delete + + + + %1 %2 deleted. + %1 %2 slettet. + + + + editproperty + + + %1 of %2 %3 changed from "%4" to "%5". + %1 av %2 %3 endret fra «%4» til «%5». + + + + %1 of %2 changed from %3 to %4. + + + function @@ -569,34 +609,32 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. historylib - New %1 %2 created. - Ny %1 %2 opprettet. + Ny %1 %2 opprettet. - %1 %2 deleted. - %1 %2 slettet. + %1 %2 slettet. - - %1 of %2 %3 changed from "%4" to "%5". - %1 av %2 %3 endret fra «%4» til «%5». + %1 av %2 %3 endret fra «%4» til «%5». - %1 %2 shown. - %1 %2 vist. + %1 %2 vist. - %1 %2 hidden. - %1 %2 skjult. + %1 %2 skjult. + + + name - - Name of %1 %2 changed to %3. + + + %1 %2 renamed to %3. @@ -894,11 +932,6 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.baseValues - - - color - - repartition @@ -980,6 +1013,21 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.Kunne ikke hente info om hvorvidt det er nye versjoner: {}. + + visibility + + + + %1 %2 shown. + %1 %2 vist. + + + + + %1 %2 hidden. + %1 %2 skjult. + + xcursor diff --git a/LogarithmPlotter/i18n/lp_template.ts b/LogarithmPlotter/i18n/lp_template.ts index 9ffcad6..a22d36c 100644 --- a/LogarithmPlotter/i18n/lp_template.ts +++ b/LogarithmPlotter/i18n/lp_template.ts @@ -5,7 +5,7 @@ About - + About LogarithmPlotter @@ -28,107 +28,107 @@ AppMenuBar - + &File - + &Load... - + &Save - + Save &As... - + &Quit - + &Edit - + &Undo - + &Redo - + &Copy plot - + &Create - + &Settings - + Check for updates on startup - + Reset redo stack automaticly - + &Help - + &Source code - + &Report a bug - + &Changelog - + &Help translating! - + &About - + Save unsaved changes? - + This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue? @@ -179,8 +179,8 @@ - - + + + Create new %1 @@ -240,17 +240,17 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + Redo > - + > Now - + < Undo @@ -329,7 +329,7 @@ These settings can be changed at any time from the "Settings" menu. ObjectCreationGrid - + + Create new: @@ -337,37 +337,37 @@ These settings can be changed at any time from the "Settings" menu. ObjectLists - + Hide all %1 - + Show all %1 - + Hide %1 %2 - + Show %1 %2 - + Set %1 %2 position - + Delete %1 %2 - + Pick new color for %1 %2 @@ -486,16 +486,25 @@ These settings can be changed at any time from the "Settings" menu. changelog - + Could not fetch changelog: Server error {}. - + Could not fetch update: {}. + + color + + + + %1 %2's color changed from %3 to %4. + + + comment @@ -529,6 +538,37 @@ These settings can be changed at any time from the "Settings" menu. + + create + + + + New %1 %2 created. + + + + + delete + + + + %1 %2 deleted. + + + + + editproperty + + + %1 of %2 %3 changed from "%4" to "%5". + + + + + %1 of %2 changed from %3 to %4. + + + function @@ -566,36 +606,11 @@ These settings can be changed at any time from the "Settings" menu. - historylib + name - - New %1 %2 created. - - - - - %1 %2 deleted. - - - - - - %1 of %2 %3 changed from "%4" to "%5". - - - - - %1 %2 shown. - - - - - %1 %2 hidden. - - - - - Name of %1 %2 changed to %3. + + + %1 %2 renamed to %3. @@ -893,11 +908,6 @@ These settings can be changed at any time from the "Settings" menu.baseValues - - - color - - repartition @@ -979,6 +989,21 @@ These settings can be changed at any time from the "Settings" menu. + + visibility + + + + %1 %2 shown. + + + + + + %1 %2 hidden. + + + xcursor diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml index 909cbaa..b5d67d1 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml @@ -64,16 +64,22 @@ Button { Base height of the action. */ readonly property int actionHeight: 40 + /*! + \qmlproperty color HistoryItem::clr + Color of the history action. + */ + readonly property color clr: historyAction.color(darkTheme) height: Math.max(actionHeight, label.height + 15) + LinearGradient { anchors.fill: parent start: Qt.point(0, 0) end: Qt.point(parent.width, 0) gradient: Gradient { GradientStop { position: 0.1; color: "transparent" } - GradientStop { position: 1.5; color: historyAction.color(darkTheme) } + GradientStop { position: 1.5; color: clr } } } @@ -94,10 +100,10 @@ Button { anchors.left: icon.right anchors.right: parent.right anchors.leftMargin: 6 - anchors.rightMargin: 10 + anchors.rightMargin: 20 anchors.verticalCenter: parent.verticalCenter font.pixelSize: 14 - text: historyAction.getHTMLString() + text: historyAction.getHTMLString().replace(/\$\{tag_color\}/g, clr) textFormat: Text.RichText clip: true wrapMode: Text.WordWrap diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml index d16b2f6..4c5dc44 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml @@ -216,8 +216,7 @@ ListView { title: qsTr("Pick new color for %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) onAccepted: { history.addToHistory(new HistoryLib.ColorChanged( - obj.name, objType, "color", - obj.color, color.toString() + obj.name, objType, obj.color, color.toString() )) obj.color = color.toString() controlRow.obj = Objects.currentObjects[objType][index] diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.js index ec50642..7739f7a 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.js @@ -29,6 +29,14 @@ class ColorChanged extends EP.EditedProperty { icon(){return 'appearance'} + constructor(targetName = "", targetType = "Point", oldColor = "black", newColor = "white") { + super(targetName, targetType, "color", oldColor, newColor) + } + + export() { + return [this.targetName, this.targetType, this.previousValue, this.newValue] + } + color(darkVer=false){return darkVer ? 'purple' : 'plum'} getReadableString() { @@ -38,12 +46,13 @@ class ColorChanged extends EP.EditedProperty { } formatColor(color) { - return `  ` + return `██` } getHTMLString() { return qsTr("%1 %2's color changed from %3 to %4.") - .arg(Objects.types[this.targetType].displayType()).arg(this.targetName) + .arg(Objects.types[this.targetType].displayType()) + .arg(' ' + this.targetName + " ") .arg(this.formatColor(this.previousValue)).arg(this.formatColor(this.newValue)) } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.js index 2a3f505..72abb6f 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.js @@ -52,5 +52,11 @@ class CreateNewObject extends C.Action { getReadableString() { return qsTr("New %1 %2 created.").arg(Objects.types[this.targetType].displayType()).arg(this.targetName) } + + getHTMLString() { + return qsTr("New %1 %2 created.") + .arg(Objects.types[this.targetType].displayType()) + .arg('' + this.targetName + "") + } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.js index 19ebe3e..59b5003 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.js @@ -41,4 +41,10 @@ class DeleteObject extends Create.CreateNewObject { getReadableString() { return qsTr("%1 %2 deleted.").arg(Objects.types[this.targetType].displayType()).arg(this.targetName) } + + getHTMLString() { + return qsTr("%1 %2 deleted.") + .arg(Objects.types[this.targetType].displayType()) + .arg('' + this.targetName + "") + } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.js index ee33a0d..1119096 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.js @@ -29,7 +29,9 @@ class EditedProperty extends C.Action { icon(){return 'modify'} - color(darkVer=false){return darkVer ? 'darkslateblue' : 'cyan'} + color(darkVer=false){ + return darkVer ? 'darkslateblue' : 'cyan'; + } constructor(targetName = "", targetType = "Point", targetProperty = "visible", previousValue = false, newValue = true, valueIsExpressionNeedingImport = false) { super(targetName, targetType) @@ -51,6 +53,7 @@ class EditedProperty extends C.Action { this.newValue = Objects.getObjectByName(this.newValue); } } + this.setReadableValues() } undo() { @@ -71,35 +74,48 @@ class EditedProperty extends C.Action { } } - getReadableString() { - let prev = ""; - let next = ""; + setReadableValues() { + this.prev = ""; + this.next = ""; if(this.propertyType instanceof Object) { switch(this.propertyType.type) { case "Enum": - prev = this.propertyType.translatedValues[this.propertyType.values.indexOf(this.previousValue)] - next = this.propertyType.translatedValues[this.propertyType.values.indexOf(this.newValue)] + this.prev = this.propertyType.translatedValues[this.propertyType.values.indexOf(this.previousValue)] + this.next = this.propertyType.translatedValues[this.propertyType.values.indexOf(this.newValue)] break; case "ObjectType": - prev = this.previousValue.name - next = this.newValue.name + this.prev = this.previousValue.name + this.next = this.newValue.name break; case "List": - prev = this.previousValue.join(",") - next = this.newValue.name.join(",") + this.prev = this.previousValue.join(",") + this.next = this.newValue.name.join(",") break; case "Dict": - prev = JSON.stringify(this.previousValue).replace("'", "\\'").replace('"', "'") - next = JSON.stringify(this.newValue).replace("'", "\\'").replace('"', "'") + this.prev = JSON.stringify(this.previousValue).replace("'", "\\'").replace('"', "'") + this.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() + this.prev = this.previousValue == null ? "null" : this.previousValue.toString() + this.next = this.newValue == null ? "null" : this.newValue.toString() } + } + + getReadableString() { return qsTr('%1 of %2 %3 changed from "%4" to "%5".') .arg(this.targetPropertyReadable) .arg(Objects.types[this.targetType].displayType()) - .arg(this.targetName).arg(prev).arg(next) + .arg(this.targetName).arg(this.prev).arg(this.next) + } + + getHTMLString() { + return qsTr('%1 of %2 changed from %3 to %4.') + .arg(this.targetPropertyReadable) + .arg(' ' + this.targetName + ' ') + .arg(' '+this.prev+' ') + .arg(' '+this.next+'') +// .arg('' + Objects.types[this.targetType].displayType()) + } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js index 5c2b114..34d4028 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js @@ -52,6 +52,12 @@ class NameChanged extends EP.EditedProperty { .arg(Objects.types[this.targetType].displayType()) .arg(this.targetName).arg(this.newValue) } + + getHTMLString() { + return qsTr('%1 %2 renamed to %3.') + .arg(Objects.types[this.targetType].displayType()) + .arg('' + this.targetName + "").arg(''+this.newValue+'') + } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.js index 85ce611..08f0595 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.js @@ -19,6 +19,7 @@ .pragma library .import "editproperty.js" as EP +.import "../objects.js" as Objects class EditedVisibility extends EP.EditedProperty { @@ -42,11 +43,15 @@ class EditedVisibility extends EP.EditedProperty { } getReadableString() { - if(this.newValue) { - return qsTr('%1 %2 shown.').arg(this.targetType).arg(this.targetName) - } else { - return qsTr('%1 %2 hidden.').arg(this.targetType).arg(this.targetName) - } + return (this.newValue ? qsTr('%1 %2 shown.') : qsTr('%1 %2 hidden.')) + .arg(Objects.types[this.targetType].displayType()) + .arg(this.targetName) + } + + getHTMLString() { + return (this.newValue ? qsTr('%1 %2 shown.') : qsTr('%1 %2 hidden.')) + .arg(Objects.types[this.targetType].displayType()) + .arg('' + this.targetName + "") } } From b51fe6ae841988e766a8f7fd8fbcb02a6c7214c1 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Tue, 1 Feb 2022 08:53:44 +0100 Subject: [PATCH 20/31] Removing history items border for AESTHETICS. --- .../eu/ad5001/LogarithmPlotter/History/HistoryItem.qml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml index b5d67d1..7a1ac60 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml @@ -121,14 +121,6 @@ Button { else history.undoMultipleDefered(+idx+1) } - - Rectangle { - color: sysPalette. window - anchors.left: parent.left - anchors.right: parent.right - anchors.bottom: parent.bottom - height: 1 - } } From 32c6b3e3429a9cf0dff8c0f499a08aed1aaf19c3 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Tue, 1 Feb 2022 00:08:54 +0000 Subject: [PATCH 21/31] Translated using Weblate (English) Currently translated at 100.0% (175 of 175 strings) Translation: LogarithmPlotter/LogarithmPlotter Translate-URL: https://hosted.weblate.org/projects/logarithmplotter/logarithmplotter/en/ --- LogarithmPlotter/i18n/lp_en.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/LogarithmPlotter/i18n/lp_en.ts b/LogarithmPlotter/i18n/lp_en.ts index e6fc864..21e6a0d 100644 --- a/LogarithmPlotter/i18n/lp_en.ts +++ b/LogarithmPlotter/i18n/lp_en.ts @@ -503,7 +503,7 @@ These settings can be changed at any time from the "Settings" menu. %1 %2's color changed from %3 to %4. - + %1 %2's color changed from %3 to %4. @@ -545,7 +545,7 @@ These settings can be changed at any time from the "Settings" menu. New %1 %2 created. - New %1 %2 created. + New %1 %2 created. @@ -554,7 +554,7 @@ These settings can be changed at any time from the "Settings" menu. %1 %2 deleted. - %1 %2 deleted. + %1 %2 deleted. @@ -562,12 +562,12 @@ These settings can be changed at any time from the "Settings" menu. %1 of %2 %3 changed from "%4" to "%5". - %1 of %2 %3 changed from "%4" to "%5". + %1 of %2 %3 changed from "%4" to "%5". %1 of %2 changed from %3 to %4. - + %1 of %2 changed from %3 to %4. @@ -639,7 +639,7 @@ These settings can be changed at any time from the "Settings" menu. %1 %2 renamed to %3. - + %1 %2 renamed to %3. @@ -1027,13 +1027,13 @@ These settings can be changed at any time from the "Settings" menu. %1 %2 shown. - %1 %2 shown. + %1 %2 shown. %1 %2 hidden. - %1 %2 hidden. + %1 %2 hidden. From e23a8755e9afb1c6b2400ab4e0d3bec48c9a95b5 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Tue, 1 Feb 2022 00:14:28 +0000 Subject: [PATCH 22/31] Translated using Weblate (French) Currently translated at 100.0% (175 of 175 strings) Translation: LogarithmPlotter/LogarithmPlotter Translate-URL: https://hosted.weblate.org/projects/logarithmplotter/logarithmplotter/fr/ --- LogarithmPlotter/i18n/lp_fr.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/LogarithmPlotter/i18n/lp_fr.ts b/LogarithmPlotter/i18n/lp_fr.ts index ed05157..b1aa239 100644 --- a/LogarithmPlotter/i18n/lp_fr.ts +++ b/LogarithmPlotter/i18n/lp_fr.ts @@ -511,7 +511,7 @@ These settings can always be changed at any time from the "Settings" m %1 %2's color changed from %3 to %4. - + La couleur de %1 %2 a été modifiée de %3 à %4. @@ -554,7 +554,7 @@ These settings can always be changed at any time from the "Settings" m New %1 %2 created. - Nouvel objet %1 %2 créé. + Nouvel objet %1 %2 créé. @@ -563,7 +563,7 @@ These settings can always be changed at any time from the "Settings" m %1 %2 deleted. - %1 %2 supprimé(e). + %1 %2 supprimé(e). @@ -571,12 +571,12 @@ These settings can always be changed at any time from the "Settings" m %1 of %2 %3 changed from "%4" to "%5". - %1 de %2 %3 modifiée de "%4" à "%5". + %1 de %2 %3 modifiée de "%4" à "%5". %1 of %2 changed from %3 to %4. - + %1 de %2 modifiée de %3 à %4. @@ -648,7 +648,7 @@ These settings can always be changed at any time from the "Settings" m %1 %2 renamed to %3. - + L'objet %1 %2 a été renommé en %3. @@ -1036,13 +1036,13 @@ These settings can always be changed at any time from the "Settings" m %1 %2 shown. - %1 %2 affiché(e). + %1 %2 affiché(e). %1 %2 hidden. - %1 %2 cachée(e). + %1 %2 cachée(e). From 3f107f1ba4f68b5bc418f7aa1786f29b0f5e4699 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Tue, 1 Feb 2022 09:59:31 +0100 Subject: [PATCH 23/31] Filtering on history! --- .../History/HistoryBrowser.qml | 180 ++++++++++-------- .../LogarithmPlotter/History/HistoryItem.qml | 35 +++- .../ObjectLists/ObjectLists.qml | 2 +- .../LogarithmPlotter/Setting/TextSetting.qml | 12 +- 4 files changed, 138 insertions(+), 91 deletions(-) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml index 40b7690..bebaa02 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml @@ -18,6 +18,7 @@ import QtQuick.Controls 2.12 import QtQuick 2.12 +import eu.ad5001.LogarithmPlotter.Setting 1.0 as Setting import "../js/utils.js" as Utils @@ -32,11 +33,9 @@ import "../js/utils.js" as Utils \sa LogarithmPlotter, Settings, ObjectLists */ -ScrollView { +Item { id: historyBrowser - ScrollBar.horizontal.visible: false - /*! \qmlproperty int HistoryBrowser::actionWidth Width of the actions. @@ -49,89 +48,108 @@ ScrollView { */ property bool darkTheme: isDarkTheme() - Flickable { - width: parent.width - height: parent.height - contentHeight: redoColumn.height + nowRect.height + undoColumn.height - contentWidth: parent.width + Setting.TextSetting { + id: filterInput + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + placeholderText: "Filter..." + } + + ScrollView { + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + anchors.top: filterInput.bottom + + ScrollBar.horizontal.visible: false - Column { - id: redoColumn - anchors.right: parent.right - anchors.top: parent.top - width: actionWidth - - Repeater { - model: history.redoCount - - HistoryItem { - id: redoButton - width: actionWidth - //height: actionHeight - isRedo: true - idx: index - darkTheme: historyBrowser.darkTheme - } - } - } - - Text { - anchors.left: parent.left - anchors.bottom: nowRect.top - text: qsTr("Redo >") - color: sysPaletteIn.windowText - transform: Rotation { origin.x: 30; origin.y: 30; angle: 270} - height: 70 - width: 20 - visible: history.redoCount > 0 - } - - Rectangle { - id: nowRect - anchors.right: parent.right - anchors.top: redoColumn.bottom - width: actionWidth - height: 40 - color: sysPalette.highlight - Text { - anchors.verticalCenter: parent.verticalCenter - anchors.left: parent.left - anchors.leftMargin: 5 - text: qsTr("> Now") - color: sysPalette.windowText - } - } - - Column { - id: undoColumn - anchors.right: parent.right - anchors.top: nowRect.bottom - width: actionWidth - - Repeater { - model: history.undoCount + Flickable { + width: parent.width + height: parent.height + contentHeight: redoColumn.height + nowRect.height + undoColumn.height + contentWidth: parent.width + Column { + id: redoColumn + anchors.right: parent.right + anchors.top: parent.top + width: actionWidth - HistoryItem { - id: undoButton - width: actionWidth - //height: actionHeight - isRedo: false - idx: index - darkTheme: historyBrowser.darkTheme + Repeater { + model: history.redoCount + + HistoryItem { + id: redoButton + width: actionWidth + //height: actionHeight + isRedo: true + idx: index + darkTheme: historyBrowser.darkTheme + hidden: !(filterInput.value == "" || content.includes(filterInput.value)) + } } } - } - - Text { - anchors.left: parent.left - anchors.top: undoColumn.top - text: qsTr("< Undo") - color: sysPaletteIn.windowText - transform: Rotation { origin.x: 30; origin.y: 30; angle: 270} - height: 60 - width: 20 - visible: history.undoCount > 0 + + Text { + anchors.left: parent.left + anchors.bottom: nowRect.top + text: qsTr("Redo >") + color: sysPaletteIn.windowText + transform: Rotation { origin.x: 30; origin.y: 30; angle: 270} + height: 70 + width: 20 + visible: history.redoCount > 0 + } + + Rectangle { + id: nowRect + anchors.right: parent.right + anchors.top: redoColumn.bottom + width: actionWidth + height: 40 + color: sysPalette.highlight + Text { + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 5 + text: qsTr("> Now") + color: sysPalette.windowText + } + } + + Column { + id: undoColumn + anchors.right: parent.right + anchors.top: nowRect.bottom + width: actionWidth + + Repeater { + model: history.undoCount + + + HistoryItem { + id: undoButton + width: actionWidth + //height: actionHeight + isRedo: false + idx: index + darkTheme: historyBrowser.darkTheme + hidden: !(filterInput.value == "" || content.includes(filterInput.value)) + } + } + } + + Text { + anchors.left: parent.left + anchors.top: undoColumn.top + text: qsTr("< Undo") + color: sysPaletteIn.windowText + transform: Rotation { origin.x: 30; origin.y: 30; angle: 270} + height: 60 + width: 20 + visible: history.undoCount > 0 + } } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml index 7a1ac60..81a7803 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml @@ -49,10 +49,15 @@ Button { */ property int idx /*! - \qmlproperty int HistoryItem::idx + \qmlproperty bool HistoryItem::darkTheme true when the system is running with a dark theme, false otherwise. */ property bool darkTheme + /*! + \qmlproperty bool HistoryItem::hidden + true when the item is filtered out, false otherwise. + */ + property bool hidden: false /*! \qmlproperty int HistoryItem::historyAction Associated history action. @@ -69,12 +74,18 @@ Button { Color of the history action. */ readonly property color clr: historyAction.color(darkTheme) + /*! + \qmlproperty string HistoryItem::clr + Label description of the history item. + */ + readonly property string content: historyAction.getReadableString() - height: Math.max(actionHeight, label.height + 15) + height: hidden ? 8 : Math.max(actionHeight, label.height + 15) LinearGradient { anchors.fill: parent + visible: !hidden start: Qt.point(0, 0) end: Qt.point(parent.width, 0) gradient: Gradient { @@ -85,11 +96,12 @@ Button { Setting.Icon { id: icon - width: 18 - height: 18 anchors.left: parent.left anchors.leftMargin: 6 anchors.verticalCenter: parent.verticalCenter + visible: !hidden + width: 18 + height: 18 color: sysPalette.windowText source: `../icons/history/${historyAction.icon()}.svg` @@ -102,6 +114,7 @@ Button { anchors.leftMargin: 6 anchors.rightMargin: 20 anchors.verticalCenter: parent.verticalCenter + visible: !hidden font.pixelSize: 14 text: historyAction.getHTMLString().replace(/\$\{tag_color\}/g, clr) textFormat: Text.RichText @@ -109,11 +122,21 @@ Button { wrapMode: Text.WordWrap } - //text: historyAction.getReadableString() + Rectangle { + id: hiddenDot + anchors.centerIn: parent + visible: hidden + width: 5 + height: 5 + radius: 5 + color: sysPalette.windowText + } + + //text: content ToolTip.visible: hovered ToolTip.delay: 200 - ToolTip.text: historyAction.getReadableString() + ToolTip.text: content onClicked: { if(isRedo) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml index 4c5dc44..ca3af19 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml @@ -77,7 +77,7 @@ ListView { Label { id: typeHeaderText verticalAlignment: TextInput.AlignVCenter - text: Objects.types[objType].displayTypeMultiple() + ":" + text: qsTranslate("control", "%1: ").arg(Objects.types[objType].displayTypeMultiple()) font.pixelSize: 20 } } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml index cb2bc45..6c1c355 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml @@ -63,6 +63,11 @@ Item { Value of the input. */ property alias value: input.text + /*! + \qmlproperty string TextSetting::placeholderText + Value of the input. + */ + property alias placeholderText: input.placeholderText /*! \qmlproperty string TextSetting::label Label of the setting. @@ -92,7 +97,8 @@ Item { anchors.top: parent.top verticalAlignment: TextInput.AlignVCenter //color: sysPalette.windowText - text: qsTranslate("control", "%1: ").arg(control.label) + text: visible ? qsTranslate("control", "%1: ").arg(control.label) : "" + visible: control.label != "" } @@ -101,10 +107,10 @@ Item { anchors.top: parent.top anchors.left: labelItem.right anchors.leftMargin: 5 - width: control.width - labelItem.width - iconLabel.width - 10 + width: control.width - (labelItem.visible ? labelItem.width + 5 : 0) - iconLabel.width - 5 height: parent.height verticalAlignment: TextInput.AlignVCenter - horizontalAlignment: TextInput.AlignHCenter + horizontalAlignment: control.label == "" ? TextInput.AlignLeft : TextInput.AlignHCenter color: sysPalette.windowText focus: true text: control.defValue From 1b5d0725c8d9bf076e343f1f282df476bdf9f6b3 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Tue, 1 Feb 2022 17:33:36 +0100 Subject: [PATCH 24/31] Adding scrollbar to objects list --- .../ObjectLists/ObjectCreationGrid.qml | 5 +- .../ObjectLists/ObjectLists.qml | 374 +++++++++--------- .../ad5001/LogarithmPlotter/Setting/Icon.qml | 8 +- 3 files changed, 201 insertions(+), 186 deletions(-) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml index f07f7cf..b4f95d7 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml @@ -52,7 +52,7 @@ Column { id: createBtn width: parent.width/3 visible: Objects.types[modelData].createable() - height: visible ? width*0.6 : 0 + height: visible ? width*0.8 : 0 // The KDE SDK is kinda buggy, so it respects neither specified color nor display propreties. //display: AbstractButton.TextUnderIcon @@ -63,7 +63,7 @@ Column { anchors.left: parent.left anchors.leftMargin: (parent.width-width)/2 anchors.top: parent.top - anchors.topMargin: 8 + anchors.topMargin: (label.y-height)/2 color: sysPalette.windowText source: '../icons/objects/'+modelData+'.svg' @@ -80,6 +80,7 @@ Column { horizontalAlignment: Text.AlignHCenter font.pixelSize: 14 text: Objects.types[modelData].displayType() + wrapMode: Text.WordWrap clip: true } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml index ca3af19..983ee7f 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml @@ -34,195 +34,211 @@ import "../js/historylib.js" as HistoryLib \sa LogarithmPlotter, ObjectCreationGrid, ObjectLists */ -ListView { +ScrollView { id: objectListList signal changed() property var listViews: {'':''} // Needs to be initialized or will be undefined -_- - model: Object.keys(Objects.types) - implicitHeight: contentItem.childrenRect.height + footer.height + 10 - delegate: ListView { - id: objTypeList - property string objType: objectListList.model[index] - property var editingRows: [] - model: Objects.currentObjects[objType] - width: objectListList.width - implicitHeight: contentItem.childrenRect.height - visible: model != undefined && model.length > 0 - interactive: false + ScrollBar.horizontal.visible: false + ScrollBar.vertical.visible: true + + ListView { + id: objectsListView + model: Object.keys(Objects.types) + width: implicitWidth //objectListList.width - (implicitHeight > objectListList.parent.height ? 20 : 0) + implicitHeight: contentItem.childrenRect.height + footer.height + 10 - Component.onCompleted: objectListList.listViews[objType] = objTypeList // Listing in order to be refreshed - - header: Row { - width: typeHeaderText.width + typeVisibilityCheckBox.visible - height: visible ? 20 : 0 - visible: objTypeList.visible + delegate: ListView { + id: objTypeList + property string objType: objectsListView.model[index] + property var editingRows: [] + model: Objects.currentObjects[objType] + width: objectsListView.width + implicitHeight: contentItem.childrenRect.height + visible: model != undefined && model.length > 0 + interactive: false - CheckBox { - id: typeVisibilityCheckBox - checked: Objects.currentObjects[objType] != undefined ? Objects.currentObjects[objType].every(obj => obj.visible) : true - onClicked: { - for(var obj of Objects.currentObjects[objType]) obj.visible = this.checked - for(var obj of objTypeList.editingRows) obj.objVisible = this.checked - objectListList.changed() - } + Component.onCompleted: objectListList.listViews[objType] = objTypeList // Listing in order to be refreshed + + header: Row { + width: typeHeaderText.width + typeVisibilityCheckBox.visible + height: visible ? 20 : 0 + visible: objTypeList.visible - ToolTip.visible: hovered - ToolTip.text: checked ? qsTr("Hide all %1").arg(Objects.types[objType].displayTypeMultiple()) : qsTr("Show all %1").arg(Objects.types[objType].displayTypeMultiple()) - } - - Label { - id: typeHeaderText - verticalAlignment: TextInput.AlignVCenter - text: qsTranslate("control", "%1: ").arg(Objects.types[objType].displayTypeMultiple()) - font.pixelSize: 20 - } - } - - delegate: Item { - id: controlRow - property var obj: Objects.currentObjects[objType][index] - property alias objVisible: objVisibilityCheckBox.checked - height: 40 - width: objTypeList.width - - Component.onCompleted: objTypeList.editingRows.push(controlRow) - - CheckBox { - id: objVisibilityCheckBox - checked: Objects.currentObjects[objType][index].visible - anchors.verticalCenter: parent.verticalCenter - anchors.left: parent.left - anchors.leftMargin: 5 - onClicked: { - history.addToHistory(new HistoryLib.EditedVisibility( - Objects.currentObjects[objType][index].name, objType, this.checked - )) - Objects.currentObjects[objType][index].visible = this.checked - objectListList.changed() - controlRow.obj = Objects.currentObjects[objType][index] - } - - ToolTip.visible: hovered - ToolTip.text: checked ? - qsTr("Hide %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) : - qsTr("Show %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) - } - - Label { - id: objDescription - anchors.left: objVisibilityCheckBox.right - anchors.right: deleteButton.left - height: parent.height - verticalAlignment: TextInput.AlignVCenter - text: obj.getReadableString() - font.pixelSize: 14 - - MouseArea { - anchors.fill: parent + CheckBox { + id: typeVisibilityCheckBox + checked: Objects.currentObjects[objType] != undefined ? Objects.currentObjects[objType].every(obj => obj.visible) : true onClicked: { - objEditor.obj = Objects.currentObjects[objType][index] - objEditor.objType = objType - objEditor.objIndex = index - //objEditor.editingRow = controlRow - objEditor.show() + for(var obj of Objects.currentObjects[objType]) obj.visible = this.checked + for(var obj of objTypeList.editingRows) obj.objVisible = this.checked + objectListList.changed() + } + + ToolTip.visible: hovered + ToolTip.text: checked ? qsTr("Hide all %1").arg(Objects.types[objType].displayTypeMultiple()) : qsTr("Show all %1").arg(Objects.types[objType].displayTypeMultiple()) + } + + Label { + id: typeHeaderText + verticalAlignment: TextInput.AlignVCenter + text: qsTranslate("control", "%1: ").arg(Objects.types[objType].displayTypeMultiple()) + font.pixelSize: 20 + } + } + + delegate: Item { + id: controlRow + property var obj: Objects.currentObjects[objType][index] + property alias objVisible: objVisibilityCheckBox.checked + height: 40 + width: objTypeList.width + + Component.onCompleted: objTypeList.editingRows.push(controlRow) + + CheckBox { + id: objVisibilityCheckBox + checked: Objects.currentObjects[objType][index].visible + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 5 + onClicked: { + history.addToHistory(new HistoryLib.EditedVisibility( + Objects.currentObjects[objType][index].name, objType, this.checked + )) + Objects.currentObjects[objType][index].visible = this.checked + objectListList.changed() + controlRow.obj = Objects.currentObjects[objType][index] + } + + ToolTip.visible: hovered + ToolTip.text: checked ? + qsTr("Hide %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) : + qsTr("Show %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) + } + + Label { + id: objDescription + anchors.left: objVisibilityCheckBox.right + anchors.right: deleteButton.left + height: parent.height + verticalAlignment: TextInput.AlignVCenter + text: obj.getReadableString() + font.pixelSize: 14 + + MouseArea { + anchors.fill: parent + onClicked: { + objEditor.obj = Objects.currentObjects[objType][index] + objEditor.objType = objType + objEditor.objIndex = index + //objEditor.editingRow = controlRow + objEditor.show() + } + } + } + + Button { + id: pointerButton + width: parent.height - 10 + height: width + anchors.right: deleteButton.left + anchors.rightMargin: 5 + anchors.topMargin: 5 + + Setting.Icon { + id: icon + width: 18 + height: 18 + anchors.centerIn: parent + + color: sysPalette.windowText + source: '../icons/common/position.svg' + } + + property bool hasXProp: Objects.types[objType].properties().hasOwnProperty('x') + property bool hasYProp: Objects.types[objType].properties().hasOwnProperty('y') + visible: hasXProp || hasYProp + ToolTip.visible: hovered + ToolTip.text: qsTr("Set %1 %2 position").arg(Objects.types[objType].displayType()).arg(obj.name) + + onClicked: { + positionPicker.objType = objType + positionPicker.objName = obj.name + positionPicker.pickX = hasXProp + positionPicker.pickY = hasYProp + positionPicker.propertyX = 'x' + positionPicker.propertyY = 'y' + positionPicker.visible = true + + } + } + + Button { + id: deleteButton + width: parent.height - 10 + height: width + anchors.right: colorPickRect.left + anchors.rightMargin: 5 + anchors.topMargin: 5 + icon.name: 'delete' + icon.source: '../icons/common/delete.svg' + icon.color: sysPalette.buttonText + ToolTip.visible: hovered + ToolTip.text: qsTr("Delete %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) + + onClicked: { + history.addToHistory(new HistoryLib.DeleteObject( + obj.name, objType, obj.export() + )) + Objects.currentObjects[objType][index].delete() + Objects.currentObjects[objType].splice(index, 1) + objectListList.update() + } + } + + Rectangle { + id: colorPickRect + anchors.right: parent.right + anchors.rightMargin: 5 + anchors.topMargin: 5 + color: obj.color + width: parent.height - 10 + height: width + radius: Math.min(width, height) + border.width: 2 + border.color: sysPalette.windowText + + MouseArea { + anchors.fill: parent + onClicked: pickColor.open() + } + } + + D.ColorDialog { + id: pickColor + color: obj.color + title: qsTr("Pick new color for %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) + onAccepted: { + history.addToHistory(new HistoryLib.ColorChanged( + obj.name, objType, obj.color, color.toString() + )) + obj.color = color.toString() + controlRow.obj = Objects.currentObjects[objType][index] + objectListList.update() } } } - - Button { - id: pointerButton - width: parent.height - 10 - height: width - anchors.right: deleteButton.left - anchors.rightMargin: 5 - anchors.topMargin: 5 - - Setting.Icon { - id: icon - width: 18 - height: 18 - anchors.centerIn: parent - - color: sysPalette.windowText - source: '../icons/common/position.svg' - } - - property bool hasXProp: Objects.types[objType].properties().hasOwnProperty('x') - property bool hasYProp: Objects.types[objType].properties().hasOwnProperty('y') - visible: hasXProp || hasYProp - ToolTip.visible: hovered - ToolTip.text: qsTr("Set %1 %2 position").arg(Objects.types[objType].displayType()).arg(obj.name) - - onClicked: { - positionPicker.objType = objType - positionPicker.objName = obj.name - positionPicker.pickX = hasXProp - positionPicker.pickY = hasYProp - positionPicker.propertyX = 'x' - positionPicker.propertyY = 'y' - positionPicker.visible = true - - } - } - - Button { - id: deleteButton - width: parent.height - 10 - height: width - anchors.right: colorPickRect.left - anchors.rightMargin: 5 - anchors.topMargin: 5 - icon.name: 'delete' - icon.source: '../icons/common/delete.svg' - icon.color: sysPalette.buttonText - ToolTip.visible: hovered - ToolTip.text: qsTr("Delete %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) - - onClicked: { - history.addToHistory(new HistoryLib.DeleteObject( - obj.name, objType, obj.export() - )) - Objects.currentObjects[objType][index].delete() - Objects.currentObjects[objType].splice(index, 1) - objectListList.update() - } - } - - Rectangle { - id: colorPickRect - anchors.right: parent.right - anchors.rightMargin: 5 - anchors.topMargin: 5 - color: obj.color - width: parent.height - 10 - height: width - radius: Math.min(width, height) - border.width: 2 - border.color: sysPalette.windowText - - MouseArea { - anchors.fill: parent - onClicked: pickColor.open() - } - } - - D.ColorDialog { - id: pickColor - color: obj.color - title: qsTr("Pick new color for %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) - onAccepted: { - history.addToHistory(new HistoryLib.ColorChanged( - obj.name, objType, obj.color, color.toString() - )) - obj.color = color.toString() - controlRow.obj = Objects.currentObjects[objType][index] - objectListList.update() - } - } + } + + // Create items + footer: ObjectCreationGrid { + id: createRow + width: objectsListView.width + objectEditor: objEditor + objectLists: objectListList } } @@ -231,14 +247,6 @@ ListView { id: objEditor } - // Create items - footer: ObjectCreationGrid { - id: createRow - width: parent.width - objectEditor: objEditor - objectLists: objectListList - } - /*! \qmlmethod void ObjectLists::update() Updates the view of the ObjectLists. diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/Icon.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/Icon.qml index 14f344f..bae3779 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/Icon.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Setting/Icon.qml @@ -36,13 +36,19 @@ Item { Path of the icon image source. */ property alias source: img.source + /*! + \qmlproperty string Icon::source + Path of the icon image source. + */ + property alias sourceSize: img.sourceSize.width Image { id: img height: parent.height width: parent.width - smooth: true + //smooth: true visible: false + sourceSize.height: sourceSize.width } ColorOverlay { anchors.fill: img From 7b24a54ca24b666cfc3913524c34997b5bd83eac Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Tue, 1 Feb 2022 20:39:55 +0100 Subject: [PATCH 25/31] Translating history filter placeholder text. --- LogarithmPlotter/i18n/lp_de.ts | 28 +++++++++++-------- LogarithmPlotter/i18n/lp_en.ts | 28 +++++++++++-------- LogarithmPlotter/i18n/lp_es.ts | 28 +++++++++++-------- LogarithmPlotter/i18n/lp_fr.ts | 28 +++++++++++-------- LogarithmPlotter/i18n/lp_hu.ts | 28 +++++++++++-------- LogarithmPlotter/i18n/lp_nb_NO.ts | 28 +++++++++++-------- LogarithmPlotter/i18n/lp_template.ts | 28 +++++++++++-------- .../History/HistoryBrowser.qml | 2 +- 8 files changed, 120 insertions(+), 78 deletions(-) diff --git a/LogarithmPlotter/i18n/lp_de.ts b/LogarithmPlotter/i18n/lp_de.ts index c960b50..b349177 100644 --- a/LogarithmPlotter/i18n/lp_de.ts +++ b/LogarithmPlotter/i18n/lp_de.ts @@ -241,17 +241,22 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" HistoryBrowser - + + Filter... + + + + Redo > Wiederherstellen > - + > Now > Aktueller Stand - + < Undo < Rückgängig @@ -338,37 +343,37 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" ObjectLists - + Hide all %1 Alle %1 ausblenden - + Show all %1 Alle %1 anzeigen - + Hide %1 %2 Ausblenden %1 %2 - + Show %1 %2 Anzeigen %1 %2 - + Set %1 %2 position Position von %1 %2 einstellen - + Delete %1 %2 %1 %2 löschen - + Pick new color for %1 %2 Neue Farbe für %1 %2 auswählen @@ -532,9 +537,10 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" control + - + %1: %1: diff --git a/LogarithmPlotter/i18n/lp_en.ts b/LogarithmPlotter/i18n/lp_en.ts index 21e6a0d..cb0b9ee 100644 --- a/LogarithmPlotter/i18n/lp_en.ts +++ b/LogarithmPlotter/i18n/lp_en.ts @@ -241,17 +241,22 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + + Filter... + + + + Redo > Redo > - + > Now > Now - + < Undo < Undo @@ -338,37 +343,37 @@ These settings can be changed at any time from the "Settings" menu. ObjectLists - + Hide all %1 Hide all %1 - + Show all %1 Show all %1 - + Hide %1 %2 Hide %1 %2 - + Show %1 %2 Show %1 %2 - + Set %1 %2 position Set %1 %2 position - + Delete %1 %2 Delete %1 %2 - + Pick new color for %1 %2 Pick new color for %1 %2 @@ -532,9 +537,10 @@ These settings can be changed at any time from the "Settings" menu. control + - + %1: %1: diff --git a/LogarithmPlotter/i18n/lp_es.ts b/LogarithmPlotter/i18n/lp_es.ts index b228d49..b452cc3 100644 --- a/LogarithmPlotter/i18n/lp_es.ts +++ b/LogarithmPlotter/i18n/lp_es.ts @@ -240,17 +240,22 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + + Filter... + + + + Redo > - + > Now - + < Undo @@ -337,37 +342,37 @@ These settings can be changed at any time from the "Settings" menu. ObjectLists - + Hide all %1 - + Show all %1 - + Hide %1 %2 - + Show %1 %2 - + Set %1 %2 position - + Delete %1 %2 - + Pick new color for %1 %2 @@ -531,9 +536,10 @@ These settings can be changed at any time from the "Settings" menu. control + - + %1: diff --git a/LogarithmPlotter/i18n/lp_fr.ts b/LogarithmPlotter/i18n/lp_fr.ts index b1aa239..ea9c983 100644 --- a/LogarithmPlotter/i18n/lp_fr.ts +++ b/LogarithmPlotter/i18n/lp_fr.ts @@ -249,17 +249,22 @@ These settings can always be changed at any time from the "Settings" m HistoryBrowser - + + Filter... + + + + Redo > Rétablir > - + > Now > État actuel - + < Undo < Annuler @@ -346,37 +351,37 @@ These settings can always be changed at any time from the "Settings" m ObjectLists - + Hide all %1 Cacher tous les %1 - + Show all %1 Montrer tous les %1 - + Hide %1 %2 Cacher l'objet %1 %2 - + Show %1 %2 Montrer l'objet %1 %2 - + Set %1 %2 position Définir la position de l'objet %1 %2 - + Delete %1 %2 Supprimer l'objet %1 %2 - + Pick new color for %1 %2 Choisissez une nouvelle couleur pour %1 %2 @@ -541,9 +546,10 @@ These settings can always be changed at any time from the "Settings" m control + - + %1: %1 : diff --git a/LogarithmPlotter/i18n/lp_hu.ts b/LogarithmPlotter/i18n/lp_hu.ts index a9b4002..4b34fba 100644 --- a/LogarithmPlotter/i18n/lp_hu.ts +++ b/LogarithmPlotter/i18n/lp_hu.ts @@ -241,17 +241,22 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. HistoryBrowser - + + Filter... + + + + Redo > Ismétlés > - + > Now > Most - + < Undo < Visszavonás @@ -338,37 +343,37 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. ObjectLists - + Hide all %1 Összes %1 elrejtése - + Show all %1 Összes %1 megjelenítése - + Hide %1 %2 %1 %2 elrejtése - + Show %1 %2 %1 %2 megjelenítése - + Set %1 %2 position %1 %2 helye beállítása - + Delete %1 %2 %1 %2 törlése - + Pick new color for %1 %2 Válasszon új színt a következőhöz: %1 %2 @@ -532,9 +537,10 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. control + - + %1: %1: diff --git a/LogarithmPlotter/i18n/lp_nb_NO.ts b/LogarithmPlotter/i18n/lp_nb_NO.ts index f63e9c0..4924374 100644 --- a/LogarithmPlotter/i18n/lp_nb_NO.ts +++ b/LogarithmPlotter/i18n/lp_nb_NO.ts @@ -241,17 +241,22 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. HistoryBrowser - + + Filter... + + + + Redo > Angre > - + > Now > Nå - + < Undo < Angre @@ -338,37 +343,37 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. ObjectLists - + Hide all %1 Skjul alle %1 - + Show all %1 Vis alle %1 - + Hide %1 %2 Skjul %1 %2 - + Show %1 %2 Vis %1 %2 - + Set %1 %2 position Sett %1 %2 posisjon - + Delete %1 %2 Slett %1 %2 - + Pick new color for %1 %2 Velg ny farge for %1 %2 @@ -532,9 +537,10 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. control + - + %1: diff --git a/LogarithmPlotter/i18n/lp_template.ts b/LogarithmPlotter/i18n/lp_template.ts index a22d36c..e2c9073 100644 --- a/LogarithmPlotter/i18n/lp_template.ts +++ b/LogarithmPlotter/i18n/lp_template.ts @@ -240,17 +240,22 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + + Filter... + + + + Redo > - + > Now - + < Undo @@ -337,37 +342,37 @@ These settings can be changed at any time from the "Settings" menu. ObjectLists - + Hide all %1 - + Show all %1 - + Hide %1 %2 - + Show %1 %2 - + Set %1 %2 position - + Delete %1 %2 - + Pick new color for %1 %2 @@ -531,9 +536,10 @@ These settings can be changed at any time from the "Settings" menu. control + - + %1: diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml index bebaa02..1c8365d 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml @@ -53,7 +53,7 @@ Item { anchors.left: parent.left anchors.right: parent.right anchors.top: parent.top - placeholderText: "Filter..." + placeholderText: qsTr("Filter...") } ScrollView { From 460e0ab1788c07b73cb884ef1f7ed2065213da50 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Tue, 1 Feb 2022 08:43:24 +0000 Subject: [PATCH 26/31] Translated using Weblate (French) Currently translated at 100.0% (175 of 175 strings) Translation: LogarithmPlotter/LogarithmPlotter Translate-URL: https://hosted.weblate.org/projects/logarithmplotter/logarithmplotter/fr/ --- LogarithmPlotter/i18n/lp_fr.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LogarithmPlotter/i18n/lp_fr.ts b/LogarithmPlotter/i18n/lp_fr.ts index ea9c983..e040648 100644 --- a/LogarithmPlotter/i18n/lp_fr.ts +++ b/LogarithmPlotter/i18n/lp_fr.ts @@ -654,7 +654,7 @@ These settings can always be changed at any time from the "Settings" m %1 %2 renamed to %3. - L'objet %1 %2 a été renommé en %3. + %1 %2 renommé(e) en %3. From b080c3d6835d7625f6b9942b46c93f4c4e98079e Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Tue, 1 Feb 2022 19:40:52 +0000 Subject: [PATCH 27/31] Translated using Weblate (English) Currently translated at 100.0% (176 of 176 strings) Translation: LogarithmPlotter/LogarithmPlotter Translate-URL: https://hosted.weblate.org/projects/logarithmplotter/logarithmplotter/en/ --- LogarithmPlotter/i18n/lp_en.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LogarithmPlotter/i18n/lp_en.ts b/LogarithmPlotter/i18n/lp_en.ts index cb0b9ee..6e598a8 100644 --- a/LogarithmPlotter/i18n/lp_en.ts +++ b/LogarithmPlotter/i18n/lp_en.ts @@ -243,7 +243,7 @@ These settings can be changed at any time from the "Settings" menu. Filter... - + Filter… From 09a7a9b7043373179decf56bc4e318f09976fe39 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Tue, 1 Feb 2022 20:44:53 +0000 Subject: [PATCH 28/31] Translated using Weblate (French) Currently translated at 100.0% (176 of 176 strings) Translation: LogarithmPlotter/LogarithmPlotter Translate-URL: https://hosted.weblate.org/projects/logarithmplotter/logarithmplotter/fr/ --- LogarithmPlotter/i18n/lp_fr.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LogarithmPlotter/i18n/lp_fr.ts b/LogarithmPlotter/i18n/lp_fr.ts index e040648..abb355e 100644 --- a/LogarithmPlotter/i18n/lp_fr.ts +++ b/LogarithmPlotter/i18n/lp_fr.ts @@ -251,7 +251,7 @@ These settings can always be changed at any time from the "Settings" m Filter... - + Filtrer… @@ -516,7 +516,7 @@ These settings can always be changed at any time from the "Settings" m %1 %2's color changed from %3 to %4. - La couleur de %1 %2 a été modifiée de %3 à %4. + %1 %2 a été re colorisé du %3 au %4. From f11792c03a02ec070537c022f01cb0f8f6014853 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Tue, 1 Feb 2022 20:45:01 +0000 Subject: [PATCH 29/31] Translated using Weblate (German) Currently translated at 100.0% (176 of 176 strings) Translation: LogarithmPlotter/LogarithmPlotter Translate-URL: https://hosted.weblate.org/projects/logarithmplotter/logarithmplotter/de/ --- LogarithmPlotter/i18n/lp_de.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/LogarithmPlotter/i18n/lp_de.ts b/LogarithmPlotter/i18n/lp_de.ts index b349177..73519a3 100644 --- a/LogarithmPlotter/i18n/lp_de.ts +++ b/LogarithmPlotter/i18n/lp_de.ts @@ -243,7 +243,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" Filter... - + Filtern… @@ -508,7 +508,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" %1 %2's color changed from %3 to %4. - + %1 %2 wurde von %3 bis %4 umgefärbt. @@ -551,7 +551,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" New %1 %2 created. - Neu %1 %2 erstellt. + Neu %1 %2 erstellt. @@ -560,7 +560,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" %1 %2 deleted. - %1 %2 gelöscht. + %1 %2 gelöscht. @@ -568,12 +568,12 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" %1 of %2 %3 changed from "%4" to "%5". - %1 von %2 %3 wurde von "%4" auf "%5" geändert. + %1 von %2 %3 wurde von "%4" auf "%5" geändert. %1 of %2 changed from %3 to %4. - + %1 von %2 wurde von %3 auf %4 geändert. @@ -645,7 +645,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" %1 %2 renamed to %3. - + %1 %2 umbenannt in %3. @@ -1033,13 +1033,13 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" %1 %2 shown. - %1 %2 angezeigt. + %1 %2 angezeigt. %1 %2 hidden. - %1 %2 ausgeblendet. + %1 %2 ausgeblendet. From 727231c954d3623f139d59e9a340c7f73e85ad14 Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Wed, 2 Feb 2022 23:03:46 +0100 Subject: [PATCH 30/31] Fixing clipping through the search bar in history. --- .../qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml index 1c8365d..cb35499 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml @@ -63,6 +63,7 @@ Item { anchors.top: filterInput.bottom ScrollBar.horizontal.visible: false + clip: true Flickable { width: parent.width From 499feace1c87e79433c1daa270688fa1f57b3e6b Mon Sep 17 00:00:00 2001 From: Ad5001 Date: Thu, 3 Feb 2022 00:26:23 +0100 Subject: [PATCH 31/31] Release v0.1.7 --- CHANGELOG.md | 122 ++++++++++++----- linux/debian/changelog | 31 +++++ ...5001.LogarithmPlotter.metainfo.flatpak.xml | 128 +++++++++++++----- linux/eu.ad5001.LogarithmPlotter.metainfo.xml | 126 +++++++++++++---- linux/generate-appstream-changelog.sh | 58 +++++++- 5 files changed, 365 insertions(+), 100 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 132eb55..e81e54e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,67 +1,125 @@ # Changelog +## v0.1.7 (03 Feb 2022) + +**New** + + * The history browser has been completly redesigned, improving UX. + * The history browser now features a filter bar. + * All side panel tabs now have a visually identifiable scrollbar. + +**Changes** + + * Shorter rich text representations of history entries to improve readability. + * Usage of gradiants and icons to better identify history entries at a glance. + * History entries are now showing the whole label on several lines, instead of cutting it at the end. + * New history action for renaming. + * New history action for coloring. Note: color changing history items created in previous versions of LogarithmPlotter will not be updated to the new action. + * Tooltips for object creation buttons have been added. + * Tooltips have been set to have a delay of 200ms to match most software's handling of them. + * Object creation buttons now have a unified style accross all platforms. + +**Added translations** + + * History action of renaming objects. + * History action of changing the color of objects. + * Filtering for history browser. + +**Fixed bugs** + + * Visibility history actions (shown and hidden) are now properly saved, solving the issue that when loading file with one, it's not automaticly changed to "Show". + * Name changes history actions are now properly saved. + * Non translated object type on the "+ Create new object" item selection combobox for Bode Magnitude and Phase. + * Proper handling for future LogarithmPlotter files. + * Shortcuts not being displayed in the menu bar are now properly shown. + * (flatpak) Black versions of the icons when using a black theme with the KDE SDK. + * (debian) Fixed launchpad building properly. + +**Internal changes** + + * Better organisation on icons. + * Historylib has been separated in several files. + * Trying to switch metainfo once more to try and fix another bug. + * Keywords added to metainfo. + ## v0.1.6 (29 Jan 2022) - * New: A new changelog popup is available at startup and in the help menu. - * Added translation: Object properties names. - * Added translation: Object properties enum values. - * Added translation: Object comments. - * Added translation: Most elements using a ":". - * Fixed bug: X Cursor's targets can now be set to null. - * Fixed bug: History now imports domains and objects properly. - * Fixed bug: Proper handling for future LogarithmPlotter files. - * Fixed bug (debian): Fixing bug that created a /build directory and didn't put the icons in the right directories. +**New** + + * A new changelog popup is available at startup and in the help menu. + +**Added translations** + + * Object properties names. + * Object properties enum values. + * Object comments. + * Most elements using a ":". + +**Fixed bugs** + + * X Cursor's targets can now be set to null. + * History now imports domains and objects properly. + * Proper handling for future LogarithmPlotter files. + * (debian) Fixing bug that created a /build directory and didn't put the icons in the right directories. + +**Other** + * Other: Refractoring done on helper. * Other: All QML elements are now properly commented. * Other: Scripts have been moved to it's own directory. * Other: Added changelog to metainfo for flathub. - -- Ad5001 Sat, 29 Jan 2022 20:00:00 +0100 - ## v0.1.5 (26 Jan 2022) - * New: LogarithmPlotter has now better handling of very high values in logarithmic scale. - * Added translation for flatpak metadata, including translated image. - * [URGENT PATCH] Fixed bug: File saving dialog was not working. - * [URGENT PATCH] Fixed bug: Debian packages does include any language file. - * Fixed bug: X Cursor pointing does not detect any object. +**New** - -- Ad5001 Wed, 26 Jan 2022 10:00:00 +0100 + * LogarithmPlotter has now better handling of very high values in logarithmic scale. + +**Added translations** + + * Flatpak metadata, including translated image. + +**Fixed bugs** + + * (!) File saving dialog was not working. + * (!) Debian packages does include any language file. + * X Cursor pointing does not detect any object. ## v0.1.4 (24 Jan 2022) - * New feature: LogarithmPlotter detects unsaved changes. - * New feature: LogarithmPlotter is now translated! See https://hosted.weblate.org/engage/logarithmplotter/ to help. +**New** + + * LogarithmPlotter detects unsaved changes. + * LogarithmPlotter is now translated! See https://hosted.weblate.org/engage/logarithmplotter/ to help. * New translation: English by Ad5001: 100% * New translation: French by Ad5001: 100% * New translation: German by Ad5001: 100% * New translation: Hungarian by Óvári (@ovari on github): 100% * New translation: Norvegian by Allan Nordhøy (@comradekingu on github): 80% + +**Fixed bugs** + * Fixed bug: No notification when closing LogarithmPlotter with unsaved changes. * Fixed bug: π unavailable in symbols. - -- Ad5001 Mon, 24 Jan 2022 20:00:00 +0100 - ## v0.1.3 (18 Jan 2022) - * Fixed bug: Confined packages (snapcraft & flatpak) won't show error messages related to update checks. - * FIxed bug: Equations of the form (x + y) / z were not being simplified properly. +**Fixed bugs** - -- Ad5001 Wed, 18 Jan 2022 20:00:00 +0100 + * Confined packages (snapcraft & flatpak) won't show error messages related to update checks. + * Equations of the form (x + y) / z were not being simplified properly. ## v0.1.2 (30 Sep 2021) - * Fixed bug: Unable to move Bode diagrams elements when having deleted the sum element. - * Fixed bug: Names were not not being changed from previous object when editing a new one. - * Fixed bug: Bode Magnitude was not drawn far enough. - * Fixed bug: Bode Magnitude had undefined ending. - * Fixed other bugs from v0.1.1. +**Fixed bugs** - -- Ad5001 Mon, 30 Sep 2021 20:00:00 +0100 + * Unable to move Bode diagrams elements when having deleted the sum element. + * Names were not not being changed from previous object when editing a new one. + * Bode Magnitude was not drawn far enough. + * Bode Magnitude had undefined ending. + * Other bugs patched in v0.1.1. ## v0.1 (26 Aug 2021) * Initial release. - -- Ad5001 Mon, 06 Jun 2021 08:48:28 +0100 - diff --git a/linux/debian/changelog b/linux/debian/changelog index b91ff76..5ffccb4 100644 --- a/linux/debian/changelog +++ b/linux/debian/changelog @@ -1,3 +1,34 @@ +logarithmplotter (0.1.7) stable; urgency=medium + + * New: The history browser has been completly redesigned, improving UX. + * New: The history browser now features a filter bar. + * New: All side panel tabs now have a visually identifiable scrollbar. + * Changed: Shorter rich text representations of history entries to improve readability. + * Changed: Usage of gradiants and icons to better identify history entries at a glance. + * Changed: History entries are now showing the whole label on several lines, instead of cutting it at the end. + * Changed: New history action for renaming. + * Changed: New history action for coloring. Note: color changing history items created in previous versions of LogarithmPlotter will not be updated to the new action. + * Changed: Tooltips for object creation buttons have been added. + * Changed: Tooltips have been set to have a delay of 200ms to match most software's handling of them. + * Changed: Object creation buttons now have a unified style accross all platforms. + * Added translation: History action of renaming objects. + * Added translation: History action of changing the color of objects. + * Added translation: Filtering for history browser. + * Fixed bug: Visibility history actions (shown and hidden) are now properly saved, solving the issue that when loading file with one, it's not automaticly changed to "Show". + * Fixed bug: Name changes history actions are now properly saved. + * Fixed bug: Non translated object type on the "+ Create new object" item selection combobox for Bode Magnitude and Phase. + * Fixed bug: Proper handling for future LogarithmPlotter files. + * Fixed bug: Shortcuts not being displayed in the menu bar are now properly shown. + * Fixed bug (flatpak): Black versions of the icons when using a black theme with the KDE SDK. + * Fixed bug (debian): Fixed launchpad building properly. + * Internal changes: Better organisation on icons. + * Internal changes: Historylib has been separated in several files. + * Internal changes: Trying to switch metainfo once more to try and fix another bug. + * Internal changes: Keywords added to metainfo. + + + -- Ad5001 Thu, 03 Jan 2022 00:00:00 +0100 + logarithmplotter (0.1.6) stable; urgency=medium * New: A new changelog popup is available at startup and in the help menu. diff --git a/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml b/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml index d6e7966..d127922 100644 --- a/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml +++ b/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml @@ -115,18 +115,71 @@ - -

    Changes for v0.1.6:

    + +

    Changes for v0.1.7:

    +

    New

    +
      +
    • The history browser has been completly redesigned, improving UX.
    • +
    • The history browser now features a filter bar.
    • +
    • All side panel tabs now have a visually identifiable scrollbar.
    • +
    +

    Changes

    +
      +
    • Shorter rich text representations of history entries to improve readability.
    • +
    • Usage of gradiants and icons to better identify history entries at a glance.
    • +
    • History entries are now showing the whole label on several lines, instead of cutting it at the end.
    • +
    • New history action for renaming.
    • +
    • New history action for coloring. Note: color changing history items created in previous versions of LogarithmPlotter will not be updated to the new action.
    • +
    • Tooltips for object creation buttons have been added.
    • +
    • Tooltips have been set to have a delay of 200ms to match most software's handling of them.
    • +
    • Object creation buttons now have a unified style accross all platforms.
    • +
    +

    Added translations

    +
      +
    • History action of renaming objects.
    • +
    • History action of changing the color of objects.
    • +
    • Filtering for history browser.
    • +
    +

    Fixed bugs

    +
      +
    • Visibility history actions (shown and hidden) are now properly saved, solving the issue that when loading file with one, it's not automaticly changed to "Show".
    • +
    • Name changes history actions are now properly saved.
    • +
    • Non translated object type on the "+ Create new object" item selection combobox for Bode Magnitude and Phase.
    • +
    • Proper handling for future LogarithmPlotter files.
    • +
    • Shortcuts not being displayed in the menu bar are now properly shown.
    • +
    • (flatpak) Black versions of the icons when using a black theme with the KDE SDK.
    • +
    • (debian) Fixed launchpad building properly.
    • +
    +

    Internal changes

    +
      +
    • Better organisation on icons.
    • +
    • Historylib has been separated in several files.
    • +
    • Trying to switch metainfo once more to try and fix another bug.
    • +
    • Keywords added to metainfo.
    • +
    +
    + +

    Changes for v0.1.6:

    +

    New

    +
      +
    • A new changelog popup is available at startup and in the help menu.
    • +
    +

    Added translations

    +
      +
    • Object properties names.
    • +
    • Object properties enum values.
    • +
    • Object comments.
    • +
    • Most elements using a ":".
    • +
    +

    Fixed bugs

    +
      +
    • X Cursor's targets can now be set to null.
    • +
    • History now imports domains and objects properly.
    • +
    • Proper handling for future LogarithmPlotter files.
    • +
    • (debian) Fixing bug that created a /build directory and didn't put the icons in the right directories.
    • +
    +

    Other

      -
    • New: A new changelog popup is available at startup and in the help menu.
    • -
    • Added translation: Object properties names.
    • -
    • Added translation: Object properties enum values.
    • -
    • Added translation: Object comments.
    • -
    • Added translation: Most elements using a ":".
    • -
    • Fixed bug: X Cursor's targets can now be set to null.
    • -
    • Fixed bug: History now imports domains and objects properly.
    • -
    • Fixed bug: Proper handling for future LogarithmPlotter files.
    • -
    • Fixed bug (debian): Fixing bug that created a /build directory and didn't put the icons in the right directories.
    • Other: Refractoring done on helper.
    • Other: All QML elements are now properly commented.
    • Other: Scripts have been moved to it's own directory.
    • @@ -134,54 +187,67 @@
    -

    Changes for v0.1.5:

    +

    Changes for v0.1.5:

    +

    New

      -
    • New: LogarithmPlotter has now better handling of very high values in logarithmic scale.
    • -
    • Added translation for flatpak metadata, including translated image.
    • -
    • [URGENT PATCH] Fixed bug: File saving dialog was not working.
    • -
    • [URGENT PATCH] Fixed bug: Debian packages does include any language file.
    • -
    • Fixed bug: X Cursor pointing does not detect any object.
    • +
    • LogarithmPlotter has now better handling of very high values in logarithmic scale.
    • +
    +

    Added translations

    +
      +
    • Flatpak metadata, including translated image.
    • +
    +

    Fixed bugs

    +
      +
    • (!) File saving dialog was not working.
    • +
    • (!) Debian packages does include any language file.
    • +
    • X Cursor pointing does not detect any object.
    -

    Changes for v0.1.4:

    +

    Changes for v0.1.4:

    +

    New

      -
    • New feature: LogarithmPlotter detects unsaved changes.
    • -
    • New feature: LogarithmPlotter is now translated! See https://hosted.weblate.org/engage/logarithmplotter/ to help.
    • +
    • LogarithmPlotter detects unsaved changes.
    • +
    • LogarithmPlotter is now translated! See https://hosted.weblate.org/engage/logarithmplotter/ to help.
    • New translation: English by Ad5001: 100%
    • New translation: French by Ad5001: 100%
    • New translation: German by Ad5001: 100%
    • New translation: Hungarian by Óvári (@ovari on github): 100%
    • New translation: Norvegian by Allan Nordhøy (@comradekingu on github): 80%
    • +
    +

    Fixed bugs

    +
    • Fixed bug: No notification when closing LogarithmPlotter with unsaved changes.
    • Fixed bug: π unavailable in symbols.
    -

    Changes for v0.1.3:

    +

    Changes for v0.1.3:

    +

    Fixed bugs

      -
    • Fixed bug: Confined packages (snapcraft & flatpak) won't show error messages related to update checks.
    • -
    • FIxed bug: Equations of the form (x + y) / z were not being simplified properly.
    • +
    • Confined packages (snapcraft & flatpak) won't show error messages related to update checks.
    • +
    • Equations of the form (x + y) / z were not being simplified properly.
    -

    Changes for v0.1.2:

    +

    Changes for v0.1.2:

    +

    Fixed bugs

      -
    • Fixed bug: Unable to move Bode diagrams elements when having deleted the sum element.
    • -
    • Fixed bug: Names were not not being changed from previous object when editing a new one.
    • -
    • Fixed bug: Bode Magnitude was not drawn far enough.
    • -
    • Fixed bug: Bode Magnitude had undefined ending.
    • -
    • Fixed other bugs from v0.1.1.
    • +
    • Unable to move Bode diagrams elements when having deleted the sum element.
    • +
    • Names were not not being changed from previous object when editing a new one.
    • +
    • Bode Magnitude was not drawn far enough.
    • +
    • Bode Magnitude had undefined ending.
    • +
    • Other bugs patched in v0.1.1.
    -

    Changes for v0.1:

    +

    Changes for v0.1:

    • Initial release.
    - + Ad5001 mail@ad5001.eu diff --git a/linux/eu.ad5001.LogarithmPlotter.metainfo.xml b/linux/eu.ad5001.LogarithmPlotter.metainfo.xml index d717b40..f4bcdbf 100644 --- a/linux/eu.ad5001.LogarithmPlotter.metainfo.xml +++ b/linux/eu.ad5001.LogarithmPlotter.metainfo.xml @@ -115,18 +115,71 @@ - -

    Changes for v0.1.6:

    + +

    Changes for v0.1.7:

    +

    New

    +
      +
    • The history browser has been completly redesigned, improving UX.
    • +
    • The history browser now features a filter bar.
    • +
    • All side panel tabs now have a visually identifiable scrollbar.
    • +
    +

    Changes

    +
      +
    • Shorter rich text representations of history entries to improve readability.
    • +
    • Usage of gradiants and icons to better identify history entries at a glance.
    • +
    • History entries are now showing the whole label on several lines, instead of cutting it at the end.
    • +
    • New history action for renaming.
    • +
    • New history action for coloring. Note: color changing history items created in previous versions of LogarithmPlotter will not be updated to the new action.
    • +
    • Tooltips for object creation buttons have been added.
    • +
    • Tooltips have been set to have a delay of 200ms to match most software's handling of them.
    • +
    • Object creation buttons now have a unified style accross all platforms.
    • +
    +

    Added translations

    +
      +
    • History action of renaming objects.
    • +
    • History action of changing the color of objects.
    • +
    • Filtering for history browser.
    • +
    +

    Fixed bugs

    +
      +
    • Visibility history actions (shown and hidden) are now properly saved, solving the issue that when loading file with one, it's not automaticly changed to "Show".
    • +
    • Name changes history actions are now properly saved.
    • +
    • Non translated object type on the "+ Create new object" item selection combobox for Bode Magnitude and Phase.
    • +
    • Proper handling for future LogarithmPlotter files.
    • +
    • Shortcuts not being displayed in the menu bar are now properly shown.
    • +
    • (flatpak) Black versions of the icons when using a black theme with the KDE SDK.
    • +
    • (debian) Fixed launchpad building properly.
    • +
    +

    Internal changes

    +
      +
    • Better organisation on icons.
    • +
    • Historylib has been separated in several files.
    • +
    • Trying to switch metainfo once more to try and fix another bug.
    • +
    • Keywords added to metainfo.
    • +
    +
    + +

    Changes for v0.1.6:

    +

    New

    +
      +
    • A new changelog popup is available at startup and in the help menu.
    • +
    +

    Added translations

    +
      +
    • Object properties names.
    • +
    • Object properties enum values.
    • +
    • Object comments.
    • +
    • Most elements using a ":".
    • +
    +

    Fixed bugs

    +
      +
    • X Cursor's targets can now be set to null.
    • +
    • History now imports domains and objects properly.
    • +
    • Proper handling for future LogarithmPlotter files.
    • +
    • (debian) Fixing bug that created a /build directory and didn't put the icons in the right directories.
    • +
    +

    Other

      -
    • New: A new changelog popup is available at startup and in the help menu.
    • -
    • Added translation: Object properties names.
    • -
    • Added translation: Object properties enum values.
    • -
    • Added translation: Object comments.
    • -
    • Added translation: Most elements using a ":".
    • -
    • Fixed bug: X Cursor's targets can now be set to null.
    • -
    • Fixed bug: History now imports domains and objects properly.
    • -
    • Fixed bug: Proper handling for future LogarithmPlotter files.
    • -
    • Fixed bug (debian): Fixing bug that created a /build directory and didn't put the icons in the right directories.
    • Other: Refractoring done on helper.
    • Other: All QML elements are now properly commented.
    • Other: Scripts have been moved to it's own directory.
    • @@ -134,48 +187,61 @@
    -

    Changes for v0.1.5:

    +

    Changes for v0.1.5:

    +

    New

      -
    • New: LogarithmPlotter has now better handling of very high values in logarithmic scale.
    • -
    • Added translation for flatpak metadata, including translated image.
    • -
    • [URGENT PATCH] Fixed bug: File saving dialog was not working.
    • -
    • [URGENT PATCH] Fixed bug: Debian packages does include any language file.
    • -
    • Fixed bug: X Cursor pointing does not detect any object.
    • +
    • LogarithmPlotter has now better handling of very high values in logarithmic scale.
    • +
    +

    Added translations

    +
      +
    • Flatpak metadata, including translated image.
    • +
    +

    Fixed bugs

    +
      +
    • (!) File saving dialog was not working.
    • +
    • (!) Debian packages does include any language file.
    • +
    • X Cursor pointing does not detect any object.
    -

    Changes for v0.1.4:

    +

    Changes for v0.1.4:

    +

    New

      -
    • New feature: LogarithmPlotter detects unsaved changes.
    • -
    • New feature: LogarithmPlotter is now translated! See https://hosted.weblate.org/engage/logarithmplotter/ to help.
    • +
    • LogarithmPlotter detects unsaved changes.
    • +
    • LogarithmPlotter is now translated! See https://hosted.weblate.org/engage/logarithmplotter/ to help.
    • New translation: English by Ad5001: 100%
    • New translation: French by Ad5001: 100%
    • New translation: German by Ad5001: 100%
    • New translation: Hungarian by Óvári (@ovari on github): 100%
    • New translation: Norvegian by Allan Nordhøy (@comradekingu on github): 80%
    • +
    +

    Fixed bugs

    +
    • Fixed bug: No notification when closing LogarithmPlotter with unsaved changes.
    • Fixed bug: π unavailable in symbols.
    -

    Changes for v0.1.3:

    +

    Changes for v0.1.3:

    +

    Fixed bugs

      -
    • Fixed bug: Confined packages (snapcraft & flatpak) won't show error messages related to update checks.
    • -
    • FIxed bug: Equations of the form (x + y) / z were not being simplified properly.
    • +
    • Confined packages (snapcraft & flatpak) won't show error messages related to update checks.
    • +
    • Equations of the form (x + y) / z were not being simplified properly.
    -

    Changes for v0.1.2:

    +

    Changes for v0.1.2:

    +

    Fixed bugs

      -
    • Fixed bug: Unable to move Bode diagrams elements when having deleted the sum element.
    • -
    • Fixed bug: Names were not not being changed from previous object when editing a new one.
    • -
    • Fixed bug: Bode Magnitude was not drawn far enough.
    • -
    • Fixed bug: Bode Magnitude had undefined ending.
    • -
    • Fixed other bugs from v0.1.1.
    • +
    • Unable to move Bode diagrams elements when having deleted the sum element.
    • +
    • Names were not not being changed from previous object when editing a new one.
    • +
    • Bode Magnitude was not drawn far enough.
    • +
    • Bode Magnitude had undefined ending.
    • +
    • Other bugs patched in v0.1.1.
    -

    Changes for v0.1:

    +

    Changes for v0.1:

    • Initial release.
    diff --git a/linux/generate-appstream-changelog.sh b/linux/generate-appstream-changelog.sh index 0feba87..03c5045 100644 --- a/linux/generate-appstream-changelog.sh +++ b/linux/generate-appstream-changelog.sh @@ -1,15 +1,59 @@ -cat ../CHANGELOG.md | awk '{ -if($1 == "*") { - s = ""; for (i = 2; i <= NF; i++) s = s " " $i; - print "
  • "substr(s,2)"
  • " -} else if($1 == "##") { +cat ../CHANGELOG.md | awk ' +BEGIN { + listBegan=0 + latest=1 +} +/^\s*##/ { + if(!latest) { + listBegan=0 + print " " + print "
    " + } + latest=0 cmd ="date \"+%Y-%m-%d\" -d \""substr($3,2,2)" "$4" "substr($5,0,4)"\"" cmd | getline date print " " - print "

    Changes for "$2":

    " + print "

    Changes for "$2":

    " +} +/^\s*\*\*/ { + if(listBegan) { + print " " + } + listBegan=1 + s = ""; for (i = 1; i <= NF; i++) s = s " " $i; + print "

    "substr(s,4,length(s)-5)"

    " print "
      " -} else if($1 == "--") { +} +/^\s*\* / { + if(!listBegan) { + listBegan=1 + print "
        " + } + s = ""; for (i = 2; i <= NF; i++) s = s " " $i; + print "
      • "substr(s,2)"
      • " +} +/^\s*--/ { + listBegan=0 print "
      " print " " } +END { + print "
    " + print "
    " }' + +#'{ +#if($1 == "*") { +# s = ""; for (i = 2; i <= NF; i++) s = s " " $i; +# print "
  • "substr(s,2)"
  • " +#} else if($1 == "##") { +# cmd ="date \"+%Y-%m-%d\" -d \""substr($3,2,2)" "$4" "substr($5,0,4)"\"" +# cmd | getline date +# print " " +# print "

    Changes for "$2":

    " +# print "
      " +#} else if($1 == "--") { +# print "
    " +# print "
    " +#} +#}'