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/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/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/i18n/lp_de.ts b/LogarithmPlotter/i18n/lp_de.ts index 973741b..73519a3 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,22 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" HistoryBrowser - + + Filter... + Filtern… + + + Redo > Wiederherstellen > - + > Now > Aktueller Stand - + < Undo < Rückgängig @@ -259,7 +264,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" ListSetting - + + Add Entry + Neuer Eintrag @@ -267,62 +272,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 +335,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" ObjectCreationGrid - + + Create new: + Neu erstellen: @@ -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 @@ -376,12 +381,12 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" PickLocationOverlay - + Pointer precision: Genauigkeit des Zeigers: - + Snap to grid Am Gitter einrasten @@ -389,97 +394,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 @@ -487,16 +492,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. + %1 %2 wurde von %3 bis %4 umgefärbt. + + comment @@ -523,13 +537,45 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" control - - - + + + + %1: %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. + %1 von %2 wurde von %3 auf %4 geändert. + + function @@ -569,29 +615,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. + + + + name + + + + %1 %2 renamed to %3. + %1 %2 umbenannt in %3. @@ -888,6 +942,10 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" baseValues Initialisierungswerte + + color + Farbe + repartition @@ -969,6 +1027,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 19ec862..6e598a8 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,22 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + + Filter... + Filter… + + + Redo > Redo > - + > Now > Now - + < Undo < Undo @@ -259,7 +264,7 @@ These settings can be changed at any time from the "Settings" menu. ListSetting - + + Add Entry + Add Entry @@ -267,62 +272,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 +335,7 @@ These settings can be changed at any time from the "Settings" menu. ObjectCreationGrid - + + Create new: + Create new: @@ -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 @@ -376,12 +381,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 +394,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 @@ -487,16 +492,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. + %1 %2's color changed from %3 to %4. + + comment @@ -523,13 +537,45 @@ These settings can be changed at any time from the "Settings" menu. control - - - + + + + %1: %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. + %1 of %2 changed from %3 to %4. + + function @@ -569,29 +615,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 + + + + %1 %2 renamed to %3. + %1 %2 renamed to %3. @@ -888,6 +942,10 @@ These settings can be changed at any time from the "Settings" menu.baseValues Initialisation values + + color + Color + repartition @@ -969,6 +1027,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 6db6065..b452cc3 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,22 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + + Filter... + + + + Redo > - + > Now - + < Undo @@ -258,7 +263,7 @@ These settings can be changed at any time from the "Settings" menu. ListSetting - + + Add Entry @@ -266,62 +271,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 +334,7 @@ These settings can be changed at any time from the "Settings" menu. ObjectCreationGrid - + + Create new: @@ -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 @@ -375,12 +380,12 @@ These settings can be changed at any time from the "Settings" menu. PickLocationOverlay - + Pointer precision: - + Snap to grid @@ -388,97 +393,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 @@ -486,16 +491,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 @@ -522,13 +536,45 @@ These settings can be changed at any time from the "Settings" menu. control - - - + + + + %1: + + 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,30 +612,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. + + + %1 %2 renamed to %3. @@ -968,6 +995,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 aec7f5f..abb355e 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,22 @@ These settings can always be changed at any time from the "Settings" m HistoryBrowser - + + Filter... + Filtrer… + + + Redo > Rétablir > - + > Now > État actuel - + < Undo < Annuler @@ -267,7 +272,7 @@ These settings can always be changed at any time from the "Settings" m ListSetting - + + Add Entry + Nouvelle entrée @@ -275,62 +280,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 +343,7 @@ These settings can always be changed at any time from the "Settings" m ObjectCreationGrid - + + Create new: + Créer : @@ -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 @@ -384,12 +389,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 +402,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 @@ -495,16 +500,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. + %1 %2 a été re colorisé du %3 au %4. + + comment @@ -532,13 +546,45 @@ These settings can always be changed at any time from the "Settings" m control - - - + + + + %1: %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. + %1 de %2 modifiée de %3 à %4. + + function @@ -578,29 +624,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. + + + + name + + + + %1 %2 renamed to %3. + %1 %2 renommé(e) en %3. @@ -897,6 +951,10 @@ These settings can always be changed at any time from the "Settings" m baseValues Valeurs d'initialisation + + color + Couleur + repartition @@ -978,6 +1036,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 2a5515b..4b34fba 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,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 @@ -259,7 +264,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 +272,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 +335,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 +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 @@ -376,12 +381,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 +394,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 @@ -487,16 +492,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 @@ -523,13 +537,45 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. control - - - + + + + %1: %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,29 +615,33 @@ 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 + + + + %1 %2 renamed to %3. + @@ -969,6 +1019,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 84d7150..4924374 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,22 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. HistoryBrowser - + + Filter... + + + + Redo > Angre > - + > Now > Nå - + < Undo < Angre @@ -259,7 +264,7 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. ListSetting - + + Add Entry @@ -267,62 +272,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 +335,7 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. ObjectCreationGrid - + + Create new: + Opprett ny: @@ -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 @@ -376,12 +381,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 +394,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 @@ -487,16 +492,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 @@ -523,13 +537,45 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. control - - - + + + + %1: + + 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,29 +615,33 @@ 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 + + + + %1 %2 renamed to %3. + @@ -969,6 +1019,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 2bef736..e2c9073 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,22 @@ These settings can be changed at any time from the "Settings" menu. HistoryBrowser - + + Filter... + + + + Redo > - + > Now - + < Undo @@ -258,7 +263,7 @@ These settings can be changed at any time from the "Settings" menu. ListSetting - + + Add Entry @@ -266,62 +271,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 +334,7 @@ These settings can be changed at any time from the "Settings" menu. ObjectCreationGrid - + + Create new: @@ -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 @@ -375,12 +380,12 @@ These settings can be changed at any time from the "Settings" menu. PickLocationOverlay - + Pointer precision: - + Snap to grid @@ -388,97 +393,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 @@ -486,16 +491,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 @@ -522,13 +536,45 @@ These settings can be changed at any time from the "Settings" menu. control - - - + + + + %1: + + 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,30 +612,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. + + + %1 %2 renamed to %3. @@ -968,6 +995,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/logarithmplotter.py b/LogarithmPlotter/logarithmplotter.py index f9aa19a..c761542 100644 --- a/LogarithmPlotter/logarithmplotter.py +++ b/LogarithmPlotter/logarithmplotter.py @@ -74,14 +74,18 @@ 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) 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 c6a2a72..fd09af4 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 @@ -108,7 +109,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) @@ -145,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") @@ -160,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/History.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/History.qml similarity index 96% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History.qml rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/History.qml index 2584385..50cd168 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/History.qml @@ -18,12 +18,13 @@ 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 +import "../js/history/common.js" as HistoryCommon /*! \qmltype History - \inqmlmodule eu.ad5001.LogarithmPlotter + \inqmlmodule eu.ad5001.LogarithmPlotter.History \brief QObject holding persistantly for undo & redo stacks. \sa HistoryBrowser, historylib @@ -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 new file mode 100644 index 0000000..cb35499 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryBrowser.qml @@ -0,0 +1,167 @@ +/** + * 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 eu.ad5001.LogarithmPlotter.Setting 1.0 as Setting +import "../js/utils.js" as Utils + + +/*! + \qmltype HistoryBrowser + \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 + 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 LogarithmPlotter, Settings, ObjectLists +*/ +Item { + id: historyBrowser + + /*! + \qmlproperty int HistoryBrowser::actionWidth + Width of the actions. + */ + property int actionWidth: width-20 + + /*! + \qmlproperty int HistoryBrowser::darkTheme + true when the system is running with a dark theme, false otherwise. + */ + property bool darkTheme: isDarkTheme() + + Setting.TextSetting { + id: filterInput + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + placeholderText: qsTr("Filter...") + } + + ScrollView { + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + anchors.top: filterInput.bottom + + ScrollBar.horizontal.visible: false + clip: true + + 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 + + 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.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 + } + } + } + + /*! + \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..81a7803 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/History/HistoryItem.qml @@ -0,0 +1,149 @@ +/** + * 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 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. + */ + 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 + /*! + \qmlproperty color HistoryItem::clr + 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: 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 { + GradientStop { position: 0.1; color: "transparent" } + GradientStop { position: 1.5; color: clr } + } + } + + Setting.Icon { + id: icon + 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` + } + + Label { + id: label + anchors.left: icon.right + anchors.right: parent.right + 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 + clip: true + wrapMode: Text.WordWrap + } + + 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: content + + 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/HistoryBrowser.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml deleted file mode 100644 index 9ce3098..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml +++ /dev/null @@ -1,146 +0,0 @@ -/** - * 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 "js/utils.js" as Utils - - -/*! - \qmltype HistoryBrowser - \inqmlmodule eu.ad5001.LogarithmPlotter - \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 - 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 LogarithmPlotter, Settings, ObjectLists -*/ -ScrollView { - id: historyBrowser - - /*! - \qmlproperty int HistoryBrowser::actionWidth - Width of the actions. - */ - property int actionWidth: width-20 - - /*! - \qmlproperty int HistoryBrowser::actionHeight - Height of the actions. - */ - property int actionHeight: 30 - - 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: historyBrowser.actionWidth - - Repeater { - model: history.redoCount - - Button { - id: redoButton - width: historyBrowser.actionWidth - height: actionHeight - flat: true - text: history.redoStack[index].getReadableString() - - ToolTip.visible: hovered - ToolTip.text: text - - onClicked: { - history.redoMultipleDefered(history.redoCount-index) - } - } - } - } - - 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: historyBrowser.actionWidth - height: actionHeight - 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: historyBrowser.actionWidth - - Repeater { - model: history.undoCount - - Button { - id: undoButton - width: historyBrowser.actionWidth - height: actionHeight - flat: true - text: history.undoStack[history.undoCount-index-1].getReadableString() - - ToolTip.visible: hovered - ToolTip.text: text - - onClicked: { - history.undoMultipleDefered(index+1) - } - } - } - } - - 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/LogarithmPlotter.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml index 9b5a09f..023b0a0 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 @@ -333,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/ObjectLists/EditorDialog.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml index dd18a62..1fcf871 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: "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: "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") @@ -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]) @@ -262,7 +265,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..b4f95d7 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,16 +50,43 @@ 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/' + modelData + '.svg' - icon.width: 24 - icon.height: 24 - icon.color: sysPalette.buttonText + height: visible ? width*0.8 : 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: (label.y-height)/2 + + 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() + wrapMode: Text.WordWrap + clip: true + } + + ToolTip.visible: hovered + ToolTip.delay: 200 + 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 8e07d01..983ee7f 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 @@ -33,188 +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: 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 - icon.name: 'position' - icon.source: '../icons/position.svg' - icon.color: sysPalette.buttonText - 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/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()) - onAccepted: { - history.addToHistory(new HistoryLib.EditedProperty( - obj.name, objType, "color", - 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 } } @@ -223,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/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/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/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 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..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. @@ -78,7 +83,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 @@ -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 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/Point.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Point.svg deleted file mode 100644 index ac67ca1..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/Point.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - image/svg+xml - - - - - - - - A - - diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/Text.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/Text.svg new file mode 100644 index 0000000..6f95446 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/Text.svg @@ -0,0 +1 @@ + \ 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 new file mode 100644 index 0000000..0c94fc6 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/angle.svg @@ -0,0 +1 @@ + \ 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 new file mode 100644 index 0000000..e674482 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/appearance.svg @@ -0,0 +1 @@ + \ 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 new file mode 100644 index 0000000..25e632c --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/arrow.svg @@ -0,0 +1 @@ + \ 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 new file mode 100644 index 0000000..4d8ca75 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/delete.svg @@ -0,0 +1 @@ + \ 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 new file mode 100644 index 0000000..7bb2baa --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/label.svg @@ -0,0 +1 @@ + \ 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 new file mode 100644 index 0000000..22f124b --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/position.svg @@ -0,0 +1 @@ + \ 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 new file mode 100644 index 0000000..75677ec --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/common/target.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/delete.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/delete.svg deleted file mode 100644 index e1066a4..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/delete.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - 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/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/objects/Point.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Point.svg new file mode 100644 index 0000000..8bee87b --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Point.svg @@ -0,0 +1 @@ +A 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/Text.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/objects/Text.svg similarity index 100% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/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/Text.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Text.svg deleted file mode 100644 index 0872104..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/Text.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - image/svg+xml - - - - - - - - - - - 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/angle.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/angle.svg deleted file mode 100644 index 434ac32..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/angle.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/appearance.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/appearance.svg deleted file mode 100644 index 482af0a..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/appearance.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/arrow.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/arrow.svg deleted file mode 100644 index 9d4345d..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/arrow.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/label.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/label.svg deleted file mode 100644 index f1f7618..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/label.svg +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/position.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/position.svg deleted file mode 100644 index e445ed5..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/position.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/target.svg b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/target.svg deleted file mode 100644 index dc13ac2..0000000 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/icons/settings/custom/target.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - 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 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..7739f7a --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.js @@ -0,0 +1,62 @@ +/** + * 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'} + + + 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() { + 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 new file mode 100644 index 0000000..909da64 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/common.js @@ -0,0 +1,58 @@ +/** + * 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 + +var themeTextColor; + + +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] + } + + // 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..72abb6f --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.js @@ -0,0 +1,62 @@ +/** + * 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) + } + + 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 new file mode 100644 index 0000000..59b5003 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.js @@ -0,0 +1,50 @@ +/** + * 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) + } + + 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 new file mode 100644 index 0000000..1119096 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.js @@ -0,0 +1,121 @@ +/** + * 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); + } + } + this.setReadableValues() + } + + 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] + } + } + + setReadableValues() { + this.prev = ""; + this.next = ""; + if(this.propertyType instanceof Object) { + switch(this.propertyType.type) { + case "Enum": + 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": + this.prev = this.previousValue.name + this.next = this.newValue.name + break; + case "List": + this.prev = this.previousValue.join(",") + this.next = this.newValue.name.join(",") + break; + case "Dict": + this.prev = JSON.stringify(this.previousValue).replace("'", "\\'").replace('"', "'") + this.next = JSON.stringify(this.newValue).replace("'", "\\'").replace('"', "'") + break; + } + } else { + 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(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 new file mode 100644 index 0000000..34d4028 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.js @@ -0,0 +1,63 @@ +/** + * 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('%1 %2 renamed to %3.') + .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 new file mode 100644 index 0000000..08f0595 --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.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 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() { + 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 + "") + } +} + diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js index 13fc25a..ce1fe98 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/historylib.js @@ -20,193 +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'} - - // 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'} - - 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'} - - 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'} - - 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(propertyType == "Expression") { - this.previousValue = new MathLib.Expression(this.previousValue); - this.newValue = new MathLib.Expression(this.newValue); - } else if(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'} - - constructor(targetName = "", targetType = "Point", newValue = true) { - super(targetName, targetType, "visible", !newValue, 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 'EditedVisibility'} - - constructor(targetName = "", targetType = "Point", newName = "") { - super(targetName, targetType, "name", targetName, newName) - } - - undo() { - Objects.getObjectByName(this.newValue, this.targetType)['name'] = this.previousValue - } - - redo() { - Objects.getObjectByName(this.previousValue, this.targetType)[this.targetProperty] = 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, @@ -214,4 +45,6 @@ var Actions = { "DeleteObject": DeleteObject, "EditedProperty": EditedProperty, "EditedVisibility": EditedVisibility, + "NameChanged": NameChanged, + "ColorChanged": ColorChanged, } 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 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/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/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml b/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml index f230682..d127922 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.

    @@ -81,6 +77,7 @@ Science Education + Qt https://apps.ad5001.eu/logarithmplotter/ @@ -118,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.
    • @@ -137,57 +187,85 @@
    -

    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 + + + 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 5a70af1..f4bcdbf 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.

    @@ -81,6 +77,7 @@ Science Education + Qt https://apps.ad5001.eu/logarithmplotter/ @@ -102,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 + @@ -117,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.
    • @@ -136,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.
    @@ -187,6 +251,21 @@ Ad5001 mail@ad5001.eu + + + Plot + Plotter + Log + Logarithm + Logarithmic + Bode + Magnitude + Diagram + Graph + Phase + Sequence + Distribution + 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 "
    " +#} +#}' 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."