[Git][debian-gis-team/gpsprune][bookworm-backports] 6 commits: New upstream version 25.1
Bas Couwenberg (@sebastic)
gitlab at salsa.debian.org
Sat Mar 8 06:48:28 GMT 2025
Bas Couwenberg pushed to branch bookworm-backports at Debian GIS Project / gpsprune
Commits:
28ccb6f0 by Bas Couwenberg at 2025-03-02T16:07:25+01:00
New upstream version 25.1
- - - - -
0a3c1b19 by Bas Couwenberg at 2025-03-02T16:07:26+01:00
Update upstream source from tag 'upstream/25.1'
Update to upstream version '25.1'
with Debian dir 650fd0ae9e3f80da52924a873c387e85dcee3d1a
- - - - -
3f9abe57 by Bas Couwenberg at 2025-03-02T16:07:38+01:00
New upstream release.
- - - - -
d5f2db74 by Bas Couwenberg at 2025-03-02T16:08:24+01:00
Set distribution to unstable.
- - - - -
7841a4d1 by Bas Couwenberg at 2025-03-08T07:44:40+01:00
Merge tag 'debian/25.1-1' into bookworm-backports
releasing package gpsprune version 25.1-1
- - - - -
3bc3280a by Bas Couwenberg at 2025-03-08T07:44:45+01:00
Rebuild for bookworm-backports.
- - - - -
18 changed files:
- build.sh
- debian/changelog
- tim/prune/GpsPrune.java
- tim/prune/data/Altitude.java
- tim/prune/data/DataPoint.java
- tim/prune/function/ProjectRange.java
- tim/prune/function/comparesegments/CompareSegmentsFunction.java
- tim/prune/function/comparesegments/SegmentTableModel.java
- tim/prune/gui/DetailsDisplay.java
- tim/prune/lang/prune-texts_it.properties
- tim/prune/lang/prune-texts_nl.properties
- tim/prune/lang/prune-texts_no.properties
- tim/prune/lang/prune-texts_pt.properties
- tim/prune/load/xml/GpxHandler.java
- tim/prune/load/xml/GpxTag.java
- tim/prune/readme.txt
- tim/prune/save/xml/KmlExporter.java
- tim/prune/save/xml/KmlWriter.java
Changes:
=====================================
build.sh
=====================================
@@ -1,6 +1,6 @@
# Build script
# Version number
-PRUNENAME=gpsprune_25
+PRUNENAME=gpsprune_25.1
# remove compile directory
rm -rf compile
# remove dist directory
=====================================
debian/changelog
=====================================
@@ -1,3 +1,15 @@
+gpsprune (25.1-1~bpo12+1) bookworm-backports; urgency=medium
+
+ * Rebuild for bookworm-backports.
+
+ -- Bas Couwenberg <sebastic at debian.org> Sat, 08 Mar 2025 07:44:42 +0100
+
+gpsprune (25.1-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Bas Couwenberg <sebastic at debian.org> Sun, 02 Mar 2025 16:08:15 +0100
+
gpsprune (25-1~bpo12+1) bookworm-backports; urgency=medium
* Rebuild for bookworm-backports.
=====================================
tim/prune/GpsPrune.java
=====================================
@@ -42,9 +42,9 @@ import tim.prune.gui.profile.ProfileChart;
public class GpsPrune
{
/** Version number of application, used in about screen and for version check */
- public static final String VERSION_NUMBER = "25";
+ public static final String VERSION_NUMBER = "25.1";
/** Build number, just used for about screen */
- public static final String BUILD_NUMBER = "424";
+ public static final String BUILD_NUMBER = "426";
/** Static reference to App object */
private static App APP = null;
=====================================
tim/prune/data/Altitude.java
=====================================
@@ -36,6 +36,17 @@ public class Altitude
_stringValue = "" + inValue;
}
+ /**
+ * Constructor with another Altitude value
+ */
+ public Altitude(Altitude inOther)
+ {
+ _value = inOther._value;
+ _unit = inOther._unit;
+ _valid = inOther._valid;
+ _stringValue = inOther._stringValue;
+ }
+
/**
* Reset the altitude parameters to the same as the given object
* @param inValue value to set as string
=====================================
tim/prune/data/DataPoint.java
=====================================
@@ -428,6 +428,16 @@ public class DataPoint
setModified(inIsUndo);
}
+ /**
+ * Set the altitude from another altitude value
+ */
+ public void setAltitude(Altitude inAltitude)
+ {
+ _altitude = new Altitude(inAltitude);
+ setFieldValue(Field.ALTITUDE, _altitude.getStringValue(null), false);
+ setModified(false);
+ }
+
/**
* Set the photo for this data point
* @param inPhoto Photo object
=====================================
tim/prune/function/ProjectRange.java
=====================================
@@ -235,7 +235,13 @@ public class ProjectRange extends GenericFunction
// Create point and append to track
DataPoint currPoint = track.getPoint(pointNum);
DataPoint point = PointUtils.projectPoint(currPoint, inBearingRads, inDistanceRads);
- point.setSegmentStart(pointNum == inStartIndex);
+ point.setSegmentStart(pointNum == inStartIndex || currPoint.getSegmentStart());
+ if (currPoint.isWaypoint()) {
+ point.setWaypointName(currPoint.getWaypointName() + "'");
+ }
+ if (currPoint.hasAltitude()) {
+ point.setAltitude(currPoint.getAltitude());
+ }
points.add(point);
}
=====================================
tim/prune/function/comparesegments/CompareSegmentsFunction.java
=====================================
@@ -8,6 +8,7 @@ import tim.prune.config.Config;
import tim.prune.config.TimezoneHelper;
import tim.prune.data.DataPoint;
import tim.prune.data.Distance;
+import tim.prune.data.NumberUtils;
import tim.prune.data.Track;
import tim.prune.data.Unit;
import tim.prune.data.UnitSet;
@@ -16,6 +17,8 @@ import tim.prune.gui.BoxPanel;
import tim.prune.gui.WizardLayout;
import javax.swing.*;
+import javax.swing.table.DefaultTableCellRenderer;
+
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
@@ -77,6 +80,21 @@ public class CompareSegmentsFunction extends GenericFunction
}
}
+ /** Custom cell renderer using padding on right side */
+ private static class RightPaddedRenderer extends DefaultTableCellRenderer
+ {
+ public Component getTableCellRendererComponent(JTable inTable, Object inValue, boolean inSelected,
+ boolean inHasFocus, int inRow, int inColumn)
+ {
+ JLabel label = (JLabel) super.getTableCellRendererComponent(inTable, inValue, inSelected, inHasFocus, inRow, inColumn);
+ label.setHorizontalAlignment(SwingConstants.RIGHT);
+ label.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 24));
+ label.setText(NumberUtils.formatNumberLocal((Double) inValue, 3));
+ return label;
+ }
+ }
+
+
/**
* Constructor
*/
@@ -119,6 +137,8 @@ public class CompareSegmentsFunction extends GenericFunction
Unit distanceUnits = getConfig().getUnitSet().getDistanceUnit();
_segmentModel.init(segments, timezone, distanceUnits);
_segmentTable.clearSelection();
+ _segmentTable.getColumnModel().getColumn(2).setCellRenderer(new RightPaddedRenderer());
+
_compareButton.setEnabled(segments.size() == 2);
setDialogTitle(segments.size() == 2);
if (segments.size() == 2) {
@@ -189,7 +209,7 @@ public class CompareSegmentsFunction extends GenericFunction
_topLabel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
selectionPanel.add(_topLabel, BorderLayout.NORTH);
- // First table for 'from point'
+ // Table to show segments found
_segmentTable = new JTable(_segmentModel);
_segmentTable.getSelectionModel().addListSelectionListener(e -> checkSelection());
_segmentTable.setRowSelectionAllowed(true);
=====================================
tim/prune/function/comparesegments/SegmentTableModel.java
=====================================
@@ -98,10 +98,10 @@ public class SegmentTableModel extends AbstractTableModel
public String getColumnName(int inColIndex)
{
if (inColIndex == 0) {
- return I18nManager.getText("fieldname.date");
+ return I18nManager.getText("dialog.comparesegments.startdate");
}
if (inColIndex == 1) {
- return I18nManager.getText("fieldname.time");
+ return I18nManager.getText("dialog.comparesegments.starttime");
}
if (inColIndex == 2)
{
=====================================
tim/prune/gui/DetailsDisplay.java
=====================================
@@ -30,6 +30,7 @@ import tim.prune.data.AudioClip;
import tim.prune.data.Coordinate;
import tim.prune.data.DataPoint;
import tim.prune.data.Field;
+import tim.prune.data.FieldList;
import tim.prune.data.Photo;
import tim.prune.data.RangeStats;
import tim.prune.data.Selection;
@@ -52,10 +53,12 @@ public class DetailsDisplay extends GenericDisplay
private JLabel _latLabel = null, _longLabel = null;
private JLabel _altLabel = null;
private JLabel _ptDateLabel = null, _ptTimeLabel = null;
- private JLabel _descLabel = null;
+ private JLabel _descLabel = null, _commentLabel = null;
private JLabel _speedLabel = null, _vSpeedLabel = null;
private JLabel _nameLabel = null, _typeLabel = null;
private JLabel _filenameLabel = null;
+ private static final int NUM_EXTENSION_LABELS = 5;
+ private final JLabel[] _ptExtensionLabels = new JLabel[NUM_EXTENSION_LABELS];
// Range details
private JLabel _rangeLabel = null;
@@ -146,6 +149,8 @@ public class DetailsDisplay extends GenericDisplay
pointDetailsPanel.add(_ptTimeLabel);
_descLabel = new JLabel("");
pointDetailsPanel.add(_descLabel);
+ _commentLabel = new JLabel("");
+ pointDetailsPanel.add(_commentLabel);
_speedLabel = new JLabel("");
pointDetailsPanel.add(_speedLabel);
_vSpeedLabel = new JLabel("");
@@ -156,6 +161,10 @@ public class DetailsDisplay extends GenericDisplay
pointDetailsPanel.add(_typeLabel);
_filenameLabel = new JLabel("");
pointDetailsPanel.add(_filenameLabel);
+ for (int i=0; i<NUM_EXTENSION_LABELS; i++) {
+ _ptExtensionLabels[i] = new JLabel("example");
+ pointDetailsPanel.add(_ptExtensionLabels[i]);
+ }
// range details panel
JPanel rangeDetailsPanel = makeDetailsPanel("details.rangedetails", biggerFont);
@@ -258,7 +267,8 @@ public class DetailsDisplay extends GenericDisplay
// Make dropdown for distance units
_distUnitsDropdown = new JComboBox<String>();
final UnitSet currUnits = _config.getUnitSet();
- for (int i=0; i<UnitSetLibrary.getNumUnitSets(); i++) {
+ for (int i=0; i<UnitSetLibrary.getNumUnitSets(); i++)
+ {
_distUnitsDropdown.addItem(I18nManager.getText(UnitSetLibrary.getUnitSet(i).getDistanceUnit().getNameKey()));
if (UnitSetLibrary.getUnitSet(i) == currUnits) {
_distUnitsDropdown.setSelectedIndex(i);
@@ -307,11 +317,13 @@ public class DetailsDisplay extends GenericDisplay
_ptDateLabel.setText("");
_ptTimeLabel.setText("");
_descLabel.setText("");
+ _commentLabel.setText("");
_nameLabel.setText("");
_typeLabel.setText("");
_speedLabel.setText("");
_vSpeedLabel.setText("");
_filenameLabel.setText("");
+ clearPointExtensionLabels();
}
else
{
@@ -400,6 +412,7 @@ public class DetailsDisplay extends GenericDisplay
_filenameLabel.setText("");
_filenameLabel.setToolTipText("");
}
+ setPointExtensionLabels(currentPoint);
}
// Update range details
@@ -526,39 +539,67 @@ public class DetailsDisplay extends GenericDisplay
_playAudioPanel.setVisible(currentAudio != null);
}
+ private void clearPointExtensionLabels()
+ {
+ for (JLabel label : _ptExtensionLabels) {
+ label.setText("");
+ }
+ }
+
+ private void setPointExtensionLabels(DataPoint inPoint)
+ {
+ int labelIndex = 0;
+ FieldList fields = inPoint.getFieldList();
+ for (int i=0; i<fields.getNumFields(); i++)
+ {
+ Field field = fields.getField(i);
+ if (field.isBuiltIn() || labelIndex >= NUM_EXTENSION_LABELS) {
+ continue;
+ }
+ String value = inPoint.getFieldValue(field);
+ if (value != null && !value.isEmpty() && !field.isBuiltIn())
+ {
+ _ptExtensionLabels[labelIndex].setText(field.getName() + ": " + value);
+ labelIndex++;
+ }
+ }
+ // Clear the ones afterwards
+ while (labelIndex < NUM_EXTENSION_LABELS)
+ {
+ _ptExtensionLabels[labelIndex].setText("");
+ labelIndex++;
+ }
+ }
+
/** Set either the description or comment from the current point */
private void showDescriptionOrComment(DataPoint inPoint)
{
String desc = inPoint.getFieldValue(Field.DESCRIPTION);
- if (desc != null && !desc.isEmpty()) {
- showDescriptionOrComment(LABEL_POINT_DESCRIPTION, desc);
- return;
- }
+ showDescriptionOrComment(_descLabel, LABEL_POINT_DESCRIPTION, desc);
String comment = inPoint.getFieldValue(Field.COMMENT);
- if (comment != null && !comment.isEmpty()) {
- showDescriptionOrComment(LABEL_POINT_COMMENT, comment);
- return;
+ if (comment == null || comment.isEmpty() || comment.equals(desc)) {
+ comment = "";
}
- showDescriptionOrComment("", "");
+ showDescriptionOrComment(_commentLabel, LABEL_POINT_COMMENT, comment);
}
- /** Set the description label and its tooltip */
- private void showDescriptionOrComment(String inPrefix, String inValue)
+ /** Set the description or comment label and its tooltip */
+ private void showDescriptionOrComment(JLabel inLabel, String inPrefix, String inValue)
{
- if (inPrefix.isEmpty() || inValue.isEmpty())
+ if (inPrefix.isEmpty() || inValue == null || inValue.isEmpty())
{
- _descLabel.setText("");
- _descLabel.setToolTipText("");
+ inLabel.setText("");
+ inLabel.setToolTipText("");
}
else
{
if (inValue.length() < 10) {
- _descLabel.setText(inPrefix + inValue);
+ inLabel.setText(inPrefix + inValue);
}
else {
- _descLabel.setText(shortenString(inValue));
+ inLabel.setText(shortenString(inValue));
}
- _descLabel.setToolTipText(inPrefix + inValue);
+ inLabel.setToolTipText(inPrefix + inValue);
}
}
=====================================
tim/prune/lang/prune-texts_it.properties
=====================================
@@ -76,6 +76,7 @@ shortcut.menu.track.undo=Z
shortcut.menu.track.compress=C
shortcut.menu.range.all=T
shortcut.menu.point.edit=E
+shortcut.menu.view.details=I
shortcut.menu.help.help=H
# Functions
@@ -96,9 +97,11 @@ function.deleterange=Cancella la serie
function.croptrack=Cima la traccia
function.reverserange=Inverti la serie
function.interpolate=Interpola i punti
+function.interpolatetimestamps=Interpolare le informazioni temporali
function.deletebydate=Cancella punti secondo la data
function.addtimeoffset=Aggiungi uno scarto temporale
function.addaltitudeoffset=Aggiungi uno scarto di altitudine
+function.projectrange=Proiettare l'intervallo
function.rearrangewaypoints=Riorganizza waypoint
function.dedupewaypoints=Cancella i waypoints duplicati
function.deletefieldvalues=Cancella i valori del campo
@@ -119,12 +122,14 @@ function.selectsegment=Seleziona segmento corrente
function.splitsegments=Dividi traccia in segmenti
function.sewsegments=Riorganizza segmenti insieme
function.createmarkerwaypoints=Crea marcatori
+function.comparesegments=Confrontare due segmenti
function.lookupsrtm=Ottieni quote da SRTM
function.configuresrtmsources=Configura le fonti SRTM
function.getwikipedia=Ottieni i punti Wikipedia nelle vicinanze
function.searchwikipedianames=Cerca il nome in Wikipedia
function.searchosmpois=Ottieni i punti OSM nelle vicinanze
function.searchopencachingde=Cerca OpenCaching.de
+function.opengeocachepage=Pagina web su questa geocache
function.downloadosm=Scarica dati OSM dell'area
function.truncatecoords=Tronca le coordinate
function.duplicatepoint=Duplica punto corrente in coda
@@ -258,11 +263,15 @@ dialog.exportkml.imagesize=Dimensione immagine
dialog.exportkml.trackcolour=Colore della traccia
dialog.exportgpx.name=Nome
dialog.exportgpx.desc=Descrizione
+dialog.exportgpx.extensions=Estensioni xml
dialog.exportgpx.includetimestamps=Includi dati temporali
dialog.exportgpx.descriptionstocomments=Copiare le descrizioni nei commenti
dialog.exportgpx.encoding=Codifica caratteri
dialog.exportgpx.encoding.system=Impostazione di diffetto
dialog.exportgpx.encoding.utf8=UTF-8
+dialog.exportgpx.version10withextensions=Gpx 1.0 con estensioni
+dialog.exportgpx.version11withextensions=Gpx 1.1 con estensioni
+dialog.exportxml.version=Versione
dialog.exportpov.text=Per favore inserisci i parametri per l'esportazione in POV
dialog.exportpov.font=Font
dialog.exportpov.camerax=Camera X
@@ -322,6 +331,7 @@ dialog.addtimeoffset.hours=Ore
dialog.addtimeoffset.minutes=Minuti
dialog.addtimeoffset.seconds=Secondi
dialog.addtimeoffset.notimestamps=Non posso aggiungere uno scarto temporale a questa selezione perch\u00e9 non contiene informazioni temporali
+dialog.addtimeoffset.confirm=La modifica di questi timestamp potrebbe rendere i punti fuori sequenza.\nSiete sicuri di volerlo fare?
dialog.findwaypoint.intro=Inserisci parte del nome del waypoint
dialog.findwaypoint.search=Cerca
dialog.saveexif.title=Salva Exif
@@ -523,6 +533,9 @@ dialog.colourer.type.bydate=Per data
dialog.colourer.start=Colore iniziale
dialog.colourer.end=Colore finale
dialog.colourer.maxcolours=Numero massimo di colori
+dialog.colourer.huesmode=Interpolazione della tonalit\u00e0
+dialog.colourer.huesmode.narrow=Stretta
+dialog.colourer.huesmode.wide=Ampia
dialog.setlanguage.firstintro=Puoi selezionare una delle lingue incluse,<p>oppure selezionare un file di testo.
dialog.setlanguage.secondintro=Devi salvare le impostazioni e<p> riavviare GpsPrune per cambiare la lingua.
dialog.setlanguage.language=Lingua
@@ -617,6 +630,9 @@ dialog.markers.half.descent=Met\u00e0 della discesa
dialog.projectpoint.desc=Inserire l'azimut e la distanza per la proiezione
dialog.projectpoint.bearing=Azimut (gradi da nord)
dialog.projectcircle.desc=Inserire il raggio del cerchio
+dialog.projectrange.desc=Immettere la direzione e la distanza per proiettare ciascun punto.
+dialog.projectrange.createcopies=Creare nuovi punti
+dialog.projectrange.editexisting=Spostare i punti esistenti
dialog.configuresrtm.intro1=Valori di altitudine possono provenire dai dati a bassa risoluzione senza login,
dialog.configuresrtm.intro2=sia dai dati ad alta risoluzione con registrazione alla NASA
dialog.configuresrtm.threesecond=Dati a bassa risoluzione (tre arcsecondi)
@@ -632,7 +648,7 @@ dialog.findfile.dir=Cartella da ricercare
dialog.findfile.searchtext=Testo
dialog.findfile.daterange=Intervallo di date
dialog.findfile.locationfilter=Filtro di posizione
-dialog.findfile.resultscolumn.file=
+dialog.findfile.resultscolumn.file=File
dialog.findfile.resultscolumn.contents=Contenuti
dialog.findfile.filepath.none=Non \u00e8 stato selezionato alcun file
dialog.findfile.filepath.single=Il file selezionato: %s
@@ -666,6 +682,20 @@ dialog.locationfilter.distance=Distanza
dialog.locationfilter.frompoint=dal punto
dialog.locationfilter.describe=Entro %s dal %s
dialog.migrateconfig.confirm=Si consiglia di spostare il file delle impostazioni\nda "%s"\na "%s".\nSpostare questo file ora?
+dialog.comparesegments.intro=Scegliete due di questi segmenti da confrontare tra loro:
+dialog.comparesegments.introtwosegments=Questi due segmenti sono stati trovati:
+dialog.comparesegments.comparing=Confronto dei segmenti ...
+dialog.comparesegments.results=Ecco i risultati:
+dialog.comparesegments.segments=Segmenti
+dialog.comparesegments.startdate=Data di inizio
+dialog.comparesegments.starttime=Tempo all'inizio
+dialog.comparesegments.matches=Corrispondenze
+dialog.comparesegments.nummatches=Numero di corrispondenze
+dialog.comparesegments.data.distancematches=Corrispondenze in base alla distanza
+dialog.comparesegments.data.timematches=Corrispondenze in base al tempo
+dialog.comparesegments.data.secsahead=Secondi in anticipo
+dialog.comparesegments.data.distahead=Distanza in anticipo
+dialog.comparesegments.data.speeddiff=Aumento della velocit\u00e0
# 3d window
dialog.3d.title=Visione GpsPrune in 3D
@@ -690,6 +720,7 @@ confirm.sewsegments=%d segmenti sono stati raggruppati
confirm.cutandmove=Selezione spostata
confirm.pointadded=Aggiungi 1 punto
confirm.pointsadded=Aggiungi %d punti
+confirm.pointsedited=%d punti sono stati modificati
confirm.saveexif.ok=Salvato %d foto
confirm.undo.single=operazione annullate
confirm.undo.multi=%d operazioni annullate
@@ -760,8 +791,11 @@ button.apply=Applica
button.allow=Consentire
button.block=Declinare
button.search=Cercare
+button.compareselected=Confrontare i selezionati
+button.exportdata=Esportare i dati
+button.chart=Mostrare il grafico
-# File types
+# File types for filtering
filetypefilter.txt=File TXT
filetypefilter.jpeg=File JPG
filetypefilter.kmlkmz=File KML, KMZ
@@ -776,6 +810,7 @@ filetype.text=File testo
filetype.gpx=File GPX
filetype.kml=File KML
filetype.nmea=File NMEA
+filetype.gpsbabel=Importato dal GPSBabel
filetype.json=File JSON
# Display components
@@ -827,6 +862,8 @@ details.audiodetails=Dettagli ripresa audio
details.noaudio=Nessuna ripresa audio selezionata
details.audio.file=Ripresa audio
details.audio.playing=Riproduzione...
+details.filedetails=Dettagli del file
+details.nofileloaded=Non \u00e8 stato caricato alcun file
map.overzoom=Mappa non disponibile a questo livello di zoom
# Field names
@@ -852,6 +889,11 @@ fieldname.comment=Commento
fieldname.symbol=Simbolo
fieldname.photo=Foto
fieldname.audio=Audio
+fieldname.heartrate=Frequenza cardiaca
+fieldname.cadence=Cadenza
+fieldname.power=Potenza
+fieldname.course=Rotta
+fieldname.bearing=Azimut
# Measurement units
units.original=Originale
@@ -976,3 +1018,6 @@ error.sewsegments.nothingdone.single=Non \u00e8 stato possibile riorganizzare ne
error.findfile.nofilesfound=Non \u00e8 stato possibile trovare alcun file in questa cartella.
error.migrateconfig.couldnotcreatedirectory=Impossibile creare la cartella %s.\nNon \u00e8 stato possibile migrare le impostazioni.
error.migrateconfig.couldnotdeletefile=Non \u00e8 stato possibile eliminare il file %s.\nEliminare il file manualmente.
+error.interpolatetimestamps.notpossible=Non \u00e8 riuscito a interpolare le informazioni temporali
+error.comparesegments.needtwosegments=Questa funzione richiede almeno due segmenti con timestamp.\nProvare a caricare pi\u00f9 tracce.
+error.comparesegments.notenoughintersections=Non sono state trovate abbastanza intersezioni tra questi due segmenti.\nProvare a selezionare segmenti simili.
=====================================
tim/prune/lang/prune-texts_nl.properties
=====================================
@@ -78,6 +78,7 @@ shortcut.menu.track.undo=Z
shortcut.menu.track.compress=C
shortcut.menu.range.all=A
shortcut.menu.point.edit=W
+shortcut.menu.view.details=I
shortcut.menu.help.help=H
# Functions
@@ -98,6 +99,7 @@ function.deleterange=Verwijder reeks
function.croptrack=Route bijknippen
function.reverserange=Reeks omkeren
function.interpolate=Interpoleer punten
+function.interpolatetimestamps=Interpoleer de tijdstempels
function.deletebydate=Verwijder punten op datum
function.addtimeoffset=Tijdsverschil toevoegen
function.addaltitudeoffset=Hoogteverschil toevoegen
@@ -121,12 +123,14 @@ function.selectsegment=Selecteer huidige segment
function.splitsegments=Splits route in segmenten
function.sewsegments=Voeg segmenten samen
function.createmarkerwaypoints=Maak waypoints voor markering
+function.comparesegments=Twee segmenten vergelijken
function.lookupsrtm=Hoogtes van SRTM ophalen
function.configuresrtmsources=SRTM bronnen configureren
function.getwikipedia=Wikipedia artikelen uit de buurt ophalen
function.searchwikipedianames=Wikipedia zoeken op naam
function.searchosmpois=Haal nabije OSM punten op
function.searchopencachingde=Doorzoek OpenCaching.de
+function.opengeocachepage=Webpagina voor deze geocache
function.downloadosm=Downloaden OSM data voor gebied
function.truncatecoords=Coordinaten afronden
function.duplicatepoint=Dupliceer punt
@@ -260,11 +264,15 @@ dialog.exportkml.imagesize=Afbeeldinggrootte
dialog.exportkml.trackcolour=Routekleur
dialog.exportgpx.name=Naam
dialog.exportgpx.desc=Omschrijving
+dialog.exportgpx.extensions=Xml-uitbreidingen
dialog.exportgpx.includetimestamps=Tijden meenemen
dialog.exportgpx.descriptionstocomments=Kopieer beschrijvingen naar opmerkingen
dialog.exportgpx.encoding=Coderen
dialog.exportgpx.encoding.system=Systeem
dialog.exportgpx.encoding.utf8=UTF-8
+dialog.exportgpx.version10withextensions=Gpx 1.0 met uitbreidingen
+dialog.exportgpx.version11withextensions=Gpx 1.1 met uitbreidingen
+dialog.exportxml.version=Versie
dialog.exportpov.text=Geef parameters voor POV export
dialog.exportpov.font=Lettertype
dialog.exportpov.camerax=Camera X
@@ -525,6 +533,9 @@ dialog.colourer.type.bydate=Op datum
dialog.colourer.start=Beginkleur
dialog.colourer.end=Eindkleur
dialog.colourer.maxcolours=Maximum aantal kleuren
+dialog.colourer.huesmode=Interpolatie van de tint
+dialog.colourer.huesmode.narrow=Smal
+dialog.colourer.huesmode.wide=Breed
dialog.setlanguage.firstintro=U kunt kiezen uit \u00e9\u00e9n van de meegeleverde talen,<p>of selecteer een tekstbestand.
dialog.setlanguage.secondintro=U dient uw instellingen op te slaan en<p>GpsPrune te herstarten om de taal te kunnen wijzigen
dialog.setlanguage.language=Taal
@@ -620,6 +631,8 @@ dialog.markers.half.descent=Halve afdaling
dialog.projectpoint.desc=Geef de richting en afstand om dit punt te berekenen
dialog.projectpoint.bearing=Richting (graden Noord)
dialog.projectcircle.desc=Geef afstand tussen punt en omliggende cirkel
+dialog.projectrange.createcopies=Nieuwe punten aanmaken
+dialog.projectrange.editexisting=Bestaande punten verplaatsen
dialog.configuresrtm.intro1=Hoogtes uit SRTM zijn in lage resolutie zonder inlog
dialog.configuresrtm.intro2=of hoge resolutie indien geregistreerd bij NASA
dialog.configuresrtm.threesecond=Lage resolutie data (3 boogseconden)
@@ -669,6 +682,10 @@ dialog.locationfilter.distance=Op afstand
dialog.locationfilter.frompoint=Van punt
dialog.locationfilter.describe=Tussen %s van %s
dialog.migrateconfig.confirm=Het wordt aanbevolen om uw instellingenbestand\nvan "%sh naar "%s" te verplaatsen.\nDit bestand nu verplaatsen?
+dialog.comparesegments.comparing=Vergelijken van de segmenten...
+dialog.comparesegments.segments=Segmenten
+dialog.comparesegments.matches=Correspondenties
+dialog.comparesegments.nummatches=Aantal correspondenties
# 3d window
dialog.3d.title=GpsPrune in 3D
@@ -693,6 +710,7 @@ confirm.sewsegments=Er zijn %d samenvoegingen gemaakt
confirm.cutandmove=Selectie verplaatst
confirm.pointadded=punt toegevoegd
confirm.pointsadded=%d punten toegevoegd
+confirm.pointsedited=%d punten bewerkt
confirm.saveexif.ok=Opgeslagen %d foto bestanden
confirm.undo.single=Actie geannuleerd
confirm.undo.multi=%d acties geannuleerd
@@ -763,8 +781,11 @@ button.apply=Toepassen
button.allow=Toestaan
button.block=Blokkeren
button.search=Zoeken
+button.compareselected=Geselecteerde vergelijken
+button.exportdata=Gegevens exporteren
+button.chart=Grafiek weergeven
-# File types
+# File types for filtering
filetypefilter.txt=TXT bestanden
filetypefilter.jpeg=JPG bestanden
filetypefilter.kmlkmz=KML, KMZ bestanden
@@ -779,6 +800,7 @@ filetype.text=Tekst bestand
filetype.gpx=GPX bestand
filetype.kml=KML bestand
filetype.nmea=NMEA bestand
+filetype.gpsbabel=Ge\u00efmporteerd uit GPSBabel
filetype.json=JSON bestand
# Display components
@@ -790,6 +812,9 @@ details.trackdetails=Route details
details.notrack=Geen route geladen
details.track.points=Punten
details.track.file=Bestand
+details.track.filepath=Pad naar het bestand
+details.track.filetype=Type bestand
+details.track.fileversion=Versie van het bestand
details.track.numfiles=Aantal bestanden
details.pointdetails=Puntdetails
details.index.selected=Index
@@ -827,6 +852,8 @@ details.audiodetails=Audio details
details.noaudio=Geen audiobestand geselecteerd
details.audio.file=Audiobestand
details.audio.playing=Afspelen...
+details.filedetails=Details van het bestand
+details.nofileloaded=Er is geen bestand geladen
map.overzoom=Geen kaarten beschikbaar op dit zoom-niveau
# Field names
@@ -852,6 +879,7 @@ fieldname.comment=Commentaar
fieldname.symbol=Symbool
fieldname.photo=Foto
fieldname.audio=Audio
+fieldname.heartrate=Hartslag
# Measurement units
units.original=Oorspronkelijke
=====================================
tim/prune/lang/prune-texts_no.properties
=====================================
@@ -468,6 +468,7 @@ dialog.checkversion.newversion=En ny versjon av GpsPrune er n\u00e5 tilgjengelig
dialog.checkversion.releasedate=Denne nye versjonen ble utgitt %s.
dialog.checkversion.download=For \u00e5 laste ned den nye versjonen, g\u00e5 til https://gpsprune.activityworkshop.net/download.html.
dialog.keys.intro=Du kan bruke de f\u00f8lgende tastesnarveiene istedenfor \u00e5 bruke musen
+dialog.keys.keylist=<table><tr><td>Piltaster</td><td>Panorer kart venstre h\u00f8yre, opp, ned</td></tr><tr><td>Ctrl + venstre, h\u00f8yre-pil</td><td>Velg forrige eller neste punkt</td></tr><tr><td>Ctrl + opp, ned-pil</td><td>Zoom inn eller ut</td></tr><tr><td>Ctrl + PgUp, PgDown</td><td>Velg forrige, neste segment</td></tr><tr><td>Ctrl + Home, End</td><td>Velg f\u00f8rste, siste punkt</td></tr><tr><td>Del</td><td>Slett gjeldende punkt</td></tr></table>
dialog.keys.normalmodifier=Ctrl
dialog.paths.prune.gnuplotpath=Bane til Gnuplot
dialog.paths.prune.gpsbabelpath=Bane til GPSBabel
@@ -475,6 +476,7 @@ dialog.paths.prune.exiftoolpath=Bane til ExifTool
dialog.setpaths.intro=Om du beh\u00f8ver, kan du velge banene til de eksterne programmene:
dialog.setpaths.found=Bane funnet?
dialog.addaltitude.desc=H\u00f8ydeforskyvning \u00e5 legge til
+dialog.setcolours.intro=Klikk p\u00e5 en farge for \u00e5 endre den
dialog.setcolours.background=Bakgrunn
dialog.setcolours.borders=Kanter
dialog.setcolours.lines=Linjer
@@ -593,6 +595,7 @@ dialog.configuresrtm.threesecond=Lavoppl\u00f8sningsdata (tre buesekunder)
dialog.configuresrtm.threesecond.desc=Data med lav oppl\u00f8sning er alltid aktivert uten registrering eller p\u00e5logging
dialog.configuresrtm.onesecond=H\u00f8yoppl\u00f8sningsdata (ett buesekund)
dialog.configuresrtm.onesecond.desc1=Data med h\u00f8y oppl\u00f8sning krever registrering og innlogging p\u00e5 NASA Earthdata.
+dialog.configuresrtm.onesecond.desc2=Opprett en konto p\u00e5 https://urs.earthdata.nasa.gov/users/new
dialog.findfile.dir=S\u00f8k mappe
dialog.findfile.searchtext=Tekst
dialog.findfile.daterange=Datointervall
=====================================
tim/prune/lang/prune-texts_pt.properties
=====================================
@@ -120,6 +120,7 @@ function.selectsegment=Selecionar segmento atual
function.splitsegments=Dividir rota em segmentos
function.sewsegments=Reunir segmentos em rota
function.createmarkerwaypoints=Criar marcadores de intervalo
+function.comparesegments=Comparar dois segmentos
function.lookupsrtm=Obter altitudes a partir do SRTM
function.configuresrtmsources=Configurar as fontes para SRTM
function.getwikipedia=Obter artigos da Wikip\u00e9dia das redondezas
@@ -591,6 +592,7 @@ dialog.weather.wind=Vento
dialog.weather.temp=Temp
dialog.weather.humidity=Umidade
dialog.weather.creditnotice=Estes dados foram disponibilizados por openweathermap.org. A p\u00e1gina Web possui mais detalhes.
+dialog.deletebydate.onlyonedate=Os pontos foram todos registrados na mesma data.
dialog.deletebydate.nodate=Sem carimbo de hora
dialog.deletebydate.column.keep=Guardar
dialog.deletebydate.column.delete=Remover
@@ -609,6 +611,8 @@ dialog.markers.half.distance=Metade da dist\u00e2ncia
dialog.markers.half.climb=Metade da subida
dialog.markers.half.descent=Metade da descida
dialog.projectpoint.bearing=Azimute (graus de N)
+dialog.projectrange.createcopies=Criar novos pontos
+dialog.projectrange.editexisting=Mover os pontos existentes
dialog.configuresrtm.threesecond=Dados de baixa resolu\u00e7\u00e3o (3 segundos de arco)
dialog.configuresrtm.onesecond=Dados de alta resolu\u00e7\u00e3o (1 arco-segundo)
dialog.configuresrtm.userid=Nome de utilizador em NASA Earthdata
@@ -649,8 +653,11 @@ dialog.locationfilter.distance=Por dist\u00e2ncia
dialog.locationfilter.describe=A menos de %s de %s
dialog.comparesegments.comparing=Comparando os segmentos ...
dialog.comparesegments.segments=Segmentos
+dialog.comparesegments.startdate=Data no in\u00edcio
+dialog.comparesegments.starttime=Tempo no in\u00edcio
dialog.comparesegments.matches=Correspond\u00eancias
dialog.comparesegments.nummatches=N\u00famero de correspond\u00eancias
+dialog.comparesegments.data.speeddiff=Aumento da velocidade
# 3d window
dialog.3d.title=Vista 3D do GpsPrune
@@ -742,6 +749,7 @@ button.apply=Aplicar
button.allow=Permitir
button.block=Proibir
button.search=Pesquisar
+button.compareselected=Compare os selecionados
button.exportdata=Exportar os dados
button.chart=Mostrar o gr\u00e1fico
@@ -842,7 +850,7 @@ fieldname.audio=\u00c1udio
fieldname.heartrate=Frequ\u00eancia card\u00edaca
fieldname.cadence=Pedalagem
fieldname.power=Pot\u00eancia
-fieldname.course=Rota
+fieldname.course=Curso
fieldname.bearing=Rumo
# Measurement units
@@ -965,3 +973,6 @@ error.tracksplit.nosplit=A rota n\u00e3o pode ser dividida.
error.sewsegments.nothingdone=Os segmentos n\u00e3o puderam ser reunidos.\nExistem agora %d segmentos na rota.
error.sewsegments.nothingdone.single=Os segmentos n\u00e3o puderam ser reunidos.\nExiste apenas um segmento na rota.
error.findfile.nofilesfound=Nenhum arquivo foi encontrado.
+error.migrateconfig.couldnotcreatedirectory=Falha ao criar o diret\u00f3rio %s.\nAs configura\u00e7\u00f5es n\u00e3o puderam ser migradas.
+error.migrateconfig.couldnotdeletefile=Falha ao excluir o arquivo %s.\nExclua esse arquivo manualmente.
+error.interpolatetimestamps.notpossible=Falha ao interpolar os registros de data e hora.
=====================================
tim/prune/load/xml/GpxHandler.java
=====================================
@@ -199,7 +199,7 @@ public class GpxHandler extends XmlHandler
}
else if (_insideExtensions)
{
- String value = _currentTag.getValue().trim();
+ String value = _currentTag.getValue();
_extensionTags.pop();
if (!value.isEmpty())
{
@@ -213,7 +213,7 @@ public class GpxHandler extends XmlHandler
}
else if (_gpxField != null)
{
- String value = _currentTag.getValue().trim();
+ String value = _currentTag.getValue();
if (!value.isEmpty())
{
if (!hasField(_gpxField)) {
@@ -226,9 +226,9 @@ public class GpxHandler extends XmlHandler
}
else if (_insidePoint && _currentTag != null && getFileVersion().equals("1.0"))
{
- String value = _currentTag.getValue().trim();
+ String value = _currentTag.getValue();
String tagNamespace = getNamespace(tag);
- if (tagNamespace != null)
+ if (tagNamespace != null && !value.isEmpty())
{
String id = this.getExtensionInfo().getNamespaceName(tagNamespace);
if (id != null)
=====================================
tim/prune/load/xml/GpxTag.java
=====================================
@@ -23,6 +23,6 @@ public class GpxTag
* @return value
*/
public String getValue() {
- return _value;
+ return _value == null ? "" : _value.trim();
}
}
=====================================
tim/prune/readme.txt
=====================================
@@ -1,5 +1,5 @@
-GpsPrune version 25
-===================
+GpsPrune version 25.1
+=====================
GpsPrune is an application for viewing, editing and managing coordinate data from GPS systems,
including format conversion, charting, 3d visualisation, audio and photo correlation, and online resource lookup.
@@ -17,7 +17,7 @@ Running
=======
To run GpsPrune from the jar file, simply call it from a command prompt or shell:
- java -jar gpsprune_25.jar
+ java -jar gpsprune_25.1.jar
If the jar file is saved in a different directory, you will need to include the path.
Depending on your system settings, you may be able to click or double-click on the jar file
@@ -25,9 +25,18 @@ in a file manager window to execute it. A shortcut, menu item, alias, desktop i
or other link can of course be made should you wish.
To specify a language other than the default, use an additional parameter, eg:
- java -jar gpsprune_25.jar --lang=DE
+ java -jar gpsprune_25.1.jar --lang=DE
+New with version 25.1
+=====================
+The following fixes and additions were made since version 25:
+ - Fix bug with exporting images to kmz (Issue #111)
+ - Tweak appearance of segment table in comparison function (Issue #110)
+ - Display of Gpx extension fields (Issue #75)
+ - Fix bug from parsing empty Gpx extension fields
+ - Respect segment breaks and altitudes when projecting a range with copy
+
New with version 25
===================
The following fixes and additions were made since version 24:
=====================================
tim/prune/save/xml/KmlExporter.java
=====================================
@@ -414,8 +414,7 @@ public class KmlExporter extends GenericFunction
if (exportImages)
{
// Get entered value for image size, store in config
- int thumbSize = _imageSizeField.getValue();
- if (thumbSize < DEFAULT_THUMBNAIL_WIDTH) {thumbSize = DEFAULT_THUMBNAIL_WIDTH;}
+ final int thumbSize = Math.max(DEFAULT_THUMBNAIL_WIDTH, _imageSizeField.getValue());
getConfig().setConfigInt(Config.KEY_KMZ_IMAGE_SIZE, thumbSize);
// Create thumbnails of each photo in turn and add to zip as images/image<n>.jpg
=====================================
tim/prune/save/xml/KmlWriter.java
=====================================
@@ -319,13 +319,15 @@ public abstract class KmlWriter
// Check selection checkbox
final boolean justSelection = _exportOptions.getExportJustSelection();
int selStart = -1, selEnd = -1;
- if (justSelection) {
+ if (justSelection)
+ {
selStart = _trackInfo.getSelection().getStart();
selEnd = _trackInfo.getSelection().getEnd();
}
final Track track = _trackInfo.getTrack();
final int numPoints = track.getNumPoints();
+ _imageDimensions = new Dimension[numPoints];
int photoNum = 0;
// Loop over all points in track
for (int i=0; i<numPoints && !_cancelPressed; i++)
View it on GitLab: https://salsa.debian.org/debian-gis-team/gpsprune/-/compare/c7e2ee36e835979b6b8ad80c62089c8e8bd0c184...3bc3280a3f8c687b8cdba17b5d64b53de295e1a7
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/gpsprune/-/compare/c7e2ee36e835979b6b8ad80c62089c8e8bd0c184...3bc3280a3f8c687b8cdba17b5d64b53de295e1a7
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20250308/195d0515/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list