From 1db53356139320890a8d10e982865a1899e11b81 Mon Sep 17 00:00:00 2001 From: activityworkshop Date: Fri, 9 Apr 2021 21:27:57 +0200 Subject: [PATCH] Version 20.3, April 2021 --- src/tim/prune/App.java | 4 +- src/tim/prune/GpsPrune.java | 6 +- .../function/distance/DistanceFunction.java | 26 +++- src/tim/prune/function/srtm/TileFinder.java | 2 +- src/tim/prune/gui/map/TileDownloader.java | 11 +- src/tim/prune/lang/prune-texts_cy.properties | 9 ++ src/tim/prune/lang/prune-texts_cz.properties | 15 ++- src/tim/prune/lang/prune-texts_fr.properties | 44 ++++++- src/tim/prune/lang/prune-texts_pt.properties | 6 + src/tim/prune/lang/prune-texts_sv.properties | 122 +++++++++++++++++- src/tim/prune/readme.txt | 14 +- src/tim/prune/save/GpxExporter.java | 1 + 12 files changed, 228 insertions(+), 32 deletions(-) diff --git a/src/tim/prune/App.java b/src/tim/prune/App.java index 94e10e0..22fa486 100644 --- a/src/tim/prune/App.java +++ b/src/tim/prune/App.java @@ -733,11 +733,11 @@ public class App UndoLoad undo = new UndoLoad(_trackInfo, inLoadedTrack.getNumPoints(), photos); undo.setNumPhotosAudios(_trackInfo.getPhotoList().getNumPhotos(), _trackInfo.getAudioList().getNumAudios()); _undoStack.add(undo); - _lastSavePosition = _undoStack.size(); _trackInfo.getSelection().clearAll(); _track.load(inLoadedTrack); if (inSourceInfo != null) { + _lastSavePosition = _undoStack.size(); // set source information inSourceInfo.populatePointObjects(_track, _track.getNumPoints()); _trackInfo.getFileInfo().replaceSource(inSourceInfo); @@ -752,11 +752,11 @@ public class App UndoLoad undo = new UndoLoad(_trackInfo, inLoadedTrack.getNumPoints(), null); undo.setNumPhotosAudios(_trackInfo.getPhotoList().getNumPhotos(), _trackInfo.getAudioList().getNumAudios()); _undoStack.add(undo); - _lastSavePosition = _undoStack.size(); _trackInfo.getSelection().clearAll(); _track.load(inLoadedTrack); if (inSourceInfo != null) { + _lastSavePosition = _undoStack.size(); inSourceInfo.populatePointObjects(_track, _track.getNumPoints()); _trackInfo.getFileInfo().addSource(inSourceInfo); } diff --git a/src/tim/prune/GpsPrune.java b/src/tim/prune/GpsPrune.java index 1b6872c..8d80875 100644 --- a/src/tim/prune/GpsPrune.java +++ b/src/tim/prune/GpsPrune.java @@ -31,16 +31,16 @@ import tim.prune.gui.profile.ProfileChart; /** * GpsPrune is a tool to visualize, edit, convert and prune GPS data * Please see the included readme.txt or https://activityworkshop.net - * This software is copyright activityworkshop.net 2006-2020 and made available through the Gnu GPL version 2. + * This software is copyright activityworkshop.net 2006-2021 and made available through the Gnu GPL version 2. * For license details please see the included license.txt. * GpsPrune is the main entry point to the application, including initialisation and launch */ public class GpsPrune { /** Version number of application, used in about screen and for version check */ - public static final String VERSION_NUMBER = "20.2"; + public static final String VERSION_NUMBER = "20.3"; /** Build number, just used for about screen */ - public static final String BUILD_NUMBER = "384"; + public static final String BUILD_NUMBER = "385"; /** Static reference to App object */ private static App APP = null; diff --git a/src/tim/prune/function/distance/DistanceFunction.java b/src/tim/prune/function/distance/DistanceFunction.java index e0b7aed..f373324 100644 --- a/src/tim/prune/function/distance/DistanceFunction.java +++ b/src/tim/prune/function/distance/DistanceFunction.java @@ -77,8 +77,9 @@ public class DistanceFunction extends GenericFunction } _fromModel.init(pointList); _distModel.init(pointList); - _pointTable.getSelectionModel().setSelectionInterval(0, 0); - _distModel.recalculate(0); + final int pointIndex = getPointIndex(pointList, _app.getTrackInfo()); + _pointTable.getSelectionModel().setSelectionInterval(pointIndex, pointIndex); + _distModel.recalculate(pointIndex); _dialog.setVisible(true); } @@ -163,4 +164,25 @@ public class DistanceFunction extends GenericFunction } return pointList; } + + /** + * Find the point to select from the given point list + * @param pointList list of points + * @param inTrackInfo current track info to get selected point (if any) + * @return index of point to be selected + */ + private static int getPointIndex(ArrayList pointList, TrackInfo inTrackInfo) + { + DataPoint currPoint = inTrackInfo.getCurrentPoint(); + if (currPoint != null && currPoint.isWaypoint()) + { + // Currently selected point is a waypoint, so select this one for convenience + for (int i=0; i dialog.gpsbabel.filter.interpolate.time=ou difference de temps > dialog.saveoptions.title=Enregistrer le fichier @@ -265,9 +267,10 @@ dialog.baseimage.zoom=Zoom dialog.baseimage.incomplete=Image incompl\u00e8te dialog.baseimage.tiles=Dalles dialog.baseimage.size=Taille de l'image +dialog.exportimage.noimagepossible=Images de la carte doivent \u00eatre sauvegard\u00e9es dans un cache. dialog.exportimage.drawtrack=Dessiner la trace sur la carte dialog.exportimage.drawtrackpoints=Dessiner les points de trace -dialog.exportimage.textscalepercent=Facteur d'echelle du texte (%) +dialog.exportimage.textscalepercent=Facteur d'\u00e9chelle du texte (%) dialog.pointtype.desc=Sauvegarder ces types de points: dialog.pointtype.track=Points de la trace dialog.pointtype.waypoint=Waypoints @@ -426,9 +429,10 @@ dialog.compress.summarylabel=Points \u00e0 supprimer dialog.compress.confirm=%d point(s) marqu\u00e9(s).\nSupprimer les points? dialog.compress.confirmnone=Pas de points marqu\u00e9s dialog.deletemarked.nonefound=Pas de donn\u00e9es \u00e0 effacer -dialog.pastecoordinates.desc=Entrez ou collez les coordonn\u00e9es ici +dialog.pastecoordinates.desc=Saisissez ou collez les coordonn\u00e9es ici dialog.pastecoordinates.coords=Coordonn\u00e9es dialog.pastecoordinates.nothingfound=V\u00e9rifiez les coordonn\u00e9es et essayez \u00e0 nouveau +dialog.pastecoordinatelist.desc=Saisissez les coordonn\u00e9es des nouveaux points avec un point par ligne dialog.pluscode.desc=Entrez ou collez le code ici dialog.pluscode.code=Code Plus dialog.pluscode.nothingfound=V\u00e9rifiez le code et essayez \u00e0 nouveau @@ -492,6 +496,7 @@ dialog.colourchooser.title=Choisissez la couleur dialog.colourchooser.red=Rouge dialog.colourchooser.green=Vert dialog.colourchooser.blue=Bleu +dialog.colourer.intro=Un coloriste peut s\u00e9lectionner les couleurs pour les points de trace dialog.colourer.type=Crit\u00e8re de coloriste dialog.colourer.type.none=Aucun dialog.colourer.type.byfile=Selon fichier @@ -530,9 +535,17 @@ dialog.deletefieldvalues.intro=Choisir le champ \u00e0 effacer pour l'\u00e9tend dialog.deletefieldvalues.nofields=L'\u00e9tendue actuelle n'a pas de champs \u00e0 effacer dialog.displaysettings.linewidth=L'\u00e9paisseur des lignes des traces (1-4) dialog.displaysettings.antialias=Anticr\u00e9nelage +dialog.displaysettings.waypointicons=Ic\u00f4nes des waypoints +dialog.displaysettings.wpicon.default=D\u00e9faut +dialog.displaysettings.wpicon.ringpt=Disque +dialog.displaysettings.wpicon.plectrum=Plectre +dialog.displaysettings.wpicon.ring=Anneau +dialog.displaysettings.wpicon.pin=Clouer dialog.displaysettings.size.small=Petit dialog.displaysettings.size.medium=Moyen dialog.displaysettings.size.large=Grand +dialog.displaysettings.windowstyle=Style de fen\u00eatre (apr\u00e8s red\u00e9marrage) +dialog.displaysettings.windowstyle.default=D\u00e9faut dialog.downloadosm.desc=Confirmer le t\u00e9l\u00e9chargement des donn\u00e9es OSM brutes pour la zone indiqu\u00e9e : dialog.searchwikipedianames.search=Chercher : dialog.weather.location=Location @@ -558,16 +571,28 @@ dialog.weather.temp=Temp dialog.weather.humidity=Humidit\u00e9 dialog.weather.creditnotice=Ces donn\u00e9es sont fournies par openweathermap.org. Consultez la page pour plus de d\u00e9tails. dialog.deletebydate.onlyonedate=Tous les points sont \u00e0 la m\u00eame date. +dialog.deletebydate.intro=Pour chaque date, vous pouvez choisir de conserver ou de supprimer les points dialog.deletebydate.nodate=Sans horodatage dialog.deletebydate.column.keep=Garder dialog.deletebydate.column.delete=Supprimer dialog.setaltitudetolerance.text.metres=Limite (m\u00e8tres) pour les petites diff\u00e9rences d'altitude dialog.setaltitudetolerance.text.feet=Limite (pieds) pour les petites diff\u00e9rences d'altitude +dialog.settimezone.intro=Ce fuseau horaire sera utilis\u00e9 pour afficher les horodatages des points +dialog.settimezone.system=Utiliser fuseau du syst\u00e8me +dialog.settimezone.custom=Utiliser le fuseau suivant: +dialog.settimezone.list.toomany=Beaucoup trop de fuseaux +dialog.settimezone.selectedzone=Fuseau horaire s\u00e9lectionn\u00e9 +dialog.settimezone.offsetfromutc=D\u00e9calage avec UTC dialog.autoplay.duration=Dur\u00e9e (sec) dialog.autoplay.usetimestamps=Utiliser information de temps dialog.autoplay.rewind=Retour au d\u00e9but dialog.autoplay.pause=Pause dialog.autoplay.play=Jouer +dialog.markers.halves=Points \u00e0 mi-chemin +dialog.markers.half.distance=Demi-distance +dialog.markers.half.climb=Demi-mont\u00e9e +dialog.markers.half.descent=Demi-descente +dialog.projectpoint.desc=Saisissez la direction et la distance de la projection dialog.projectpoint.bearing=Azimut (degr\u00e8s du nord) # 3d window @@ -587,6 +612,8 @@ confirm.addtimeoffset=D\u00e9calage ajout\u00e9 confirm.addaltitudeoffset=D\u00e9calage d'altitude ajout\u00e9 confirm.rearrangewaypoints=Waypoints r\u00e9arrang\u00e9s confirm.rearrangephotos=Photos r\u00e9arrang\u00e9es +confirm.splitsegments=%d s\u00e9parations de segments ont \u00e9t\u00e9 effectu\u00e9es +confirm.sewsegments=%d fusions de segments ont \u00e9t\u00e9 effectu\u00e9es confirm.cutandmove=S\u00e9lection d\u00e9plac\u00e9e confirm.pointsadded=%d points ajout\u00e9s confirm.convertnamestotimes=Noms de waypoints convertis @@ -614,8 +641,9 @@ confirm.correlateaudios.multi=fichiers audio ont \u00e9t\u00e9 corr\u00e9l\u00e9 # Tips tip.title=Astuce -tip.useamapcache=By setting up a disk cache (Pr\u00e9f\u00e9rences -> Enregistrer les cartes sur le disque)\nyou can speed up the display and reduce network traffic. -tip.learntimeparams=The results will be more accurate if you use\nTrace -> Apprentissage de l'estimation\non your recorded tracks. +tip.useamapcache=Si vous configurez un cache (Pr\u00e9f\u00e9rences -> Enregistrer les cartes sur le disque)\nl'affichage sera plus rapide et les t\u00e9l\u00e9chargements seront r\u00e9duits. +tip.learntimeparams=Les r\u00e9sultats seront plus pr\u00e9cis si GpsPrune peut\napprender la vitesse de vos traces\n(Trace -> Apprentissage de l'estimation). +tip.usesrtmfor3d=Cette trace n'a pas d'altitudes.\nEn utilisant le SRTM, il est possible d'obtenir\ndes altitudes approximatives. tip.manuallycorrelateone=En corr\u00e9lant manuellement au moins une photo, le d\u00e9calage de temps peut \u00eatre calcul\u00e9 pour vous. # Buttons @@ -858,3 +886,5 @@ error.cache.notthere=Le dossier du cache n'a pas \u00e9t\u00e9 trouv\u00e9 error.cache.empty=Le dossier du cache est vide error.cache.cannotdelete=Effacement des dalles impossible error.tracksplit.nosplit=Impossible de s\u00e9parer les segments +error.downloadsrtm.nocache=Les fichiers ne peuvent pas \u00eatre sauvegard\u00e9s.\nV\u00e9rifiez le cache. +error.sewsegments.nothingdone=Aucune fusion n'a \u00e9t\u00e9 possible.\nIl y a %d segments dans la trace. diff --git a/src/tim/prune/lang/prune-texts_pt.properties b/src/tim/prune/lang/prune-texts_pt.properties index 55f60fa..82fc087 100644 --- a/src/tim/prune/lang/prune-texts_pt.properties +++ b/src/tim/prune/lang/prune-texts_pt.properties @@ -358,6 +358,8 @@ dialog.gpsies.description=Descri\u00e7\u00e3o dialog.gpsies.nodescription=Sem descri\u00e7\u00e3o dialog.gpsies.nonefound=Nenhuma rota encontrada dialog.mapillary.nonefound=Nenhuma foto encontrada +dialog.osmpois.column.name=Nome +dialog.osmpois.column.type=Tipo dialog.wikipedia.column.name=Nome do artigo dialog.wikipedia.column.distance=Dist\u00e2ncia dialog.wikipedia.nonefound=Nenhum artigo encontrado @@ -418,6 +420,7 @@ dialog.deletemarked.nonefound=Nenhum dado dos pontos pode ser removido dialog.pastecoordinates.desc=Insira ou cole as coordenadas aqui dialog.pastecoordinates.coords=Coordenadas dialog.pastecoordinates.nothingfound=Por favor, verifique as coordenadas novamente +dialog.pluscode.code=C\u00f3digo dialog.help.help=Por favor, veja\n https://gpsprune.activityworkshop.net/\npara mais informa\u00e7\u00f5es e guia do usu\u00e1rio. dialog.about.version=Vers\u00e3o dialog.about.build=Compila\u00e7\u00e3o @@ -534,6 +537,7 @@ dialog.autoplay.usetimestamps=Usar data-hora dialog.autoplay.rewind=Rebobinar dialog.autoplay.pause=Suspender dialog.autoplay.play=Tocar +dialog.projectpoint.bearing=Azimute (graus de N) # 3d window dialog.3d.title=Vista 3D do GpsPrune @@ -682,6 +686,7 @@ map.overzoom=Nenhum mapa dispon\u00edvel neste n\u00edvel de amplia\u00e7\u00e3o # Field names fieldname.latitude=Latitude fieldname.longitude=Longitude +fieldname.coordinates=Coordenadas fieldname.altitude=Altura fieldname.timestamp=Tempo fieldname.time=Tempo @@ -696,6 +701,7 @@ fieldname.duration=Dura\u00e7\u00e3o fieldname.speed=Velocidade fieldname.verticalspeed=Velocidade vertical fieldname.description=Descri\u00e7\u00e3o +fieldname.comment=Coment\u00e1rio fieldname.mediafilename=Arquivo # Measurement units diff --git a/src/tim/prune/lang/prune-texts_sv.properties b/src/tim/prune/lang/prune-texts_sv.properties index b2a1bfe..6192c5c 100644 --- a/src/tim/prune/lang/prune-texts_sv.properties +++ b/src/tim/prune/lang/prune-texts_sv.properties @@ -20,7 +20,7 @@ menu.range.end=S\u00e4tt till slutet av intervall menu.range.average=Skapa medelv\u00e4rdespunkt menu.range.reverse=V\u00e4nd intervall menu.range.mergetracksegments=Sl\u00e5 ihop sp\u00e5rsegment -menu.range.cutandmove=Klipp och flytta urval +menu.range.cutandmove=Klipp och flytta intervall menu.point=Punkt menu.point.editpoint=Redigera punkt menu.point.deletepoint=Radera punkt @@ -113,7 +113,7 @@ function.setmapbg=V\u00e4lj bakgrundskarta function.setpaths=V\u00e4lj s\u00f6kv\u00e4gar f\u00f6r program function.selectsegment=Markera aktuellt segment function.splitsegments=Dela upp sp\u00e5ret i segment -function.sewsegments=Sy ihop sp\u00e5r-segment +function.sewsegments=Sy ihop sp\u00e5rsegment function.createmarkerwaypoints=Skapa markerings-waypoints function.lookupsrtm=H\u00e4mta h\u00f6jddata fr\u00e5n SRTM function.getwikipedia=H\u00e4mta n\u00e4rliggande Wikipedia-artiklar @@ -172,6 +172,9 @@ dialog.delimiter.tab=Tabb dialog.delimiter.space=Mellanslag dialog.delimiter.semicolon=Semikolon ; dialog.delimiter.other=Annat +dialog.openoptions.deliminfo.records=rader, med +dialog.openoptions.deliminfo.norecords=Inga rader +dialog.openoptions.deliminfo.fields=f\u00e4lt dialog.openoptions.altitudeunits=H\u00f6jdenhet dialog.openoptions.speedunits=Hastighetsenheter dialog.openoptions.vertspeedunits=Enheter f\u00f6r vertikal hastighet @@ -424,6 +427,7 @@ dialog.pastecoordinates.nothingfound=V\u00e4nligen kontrollera koordinaterna och dialog.pastecoordinatelist.desc=Fyll i koordinaterna f\u00f6r dom nya punkterna, en punkt per rad dialog.pluscode.desc=Fyll i pluss-koden (Open Location Code) h\u00e4r dialog.pluscode.code=Pluss-kod +dialog.pluscode.nothingfound=Kontrollera koden och f\u00f6rs\u00f6k igen. dialog.help.help=L\u00e4s\n https://gpsprune.activityworkshop.net/\nf\u00f6r mer information och tips,\ninklusive en PDF-anv\u00e4ndarhandbok som man kan k\u00f6pa. dialog.about.version=Version dialog.about.build=Build @@ -524,6 +528,7 @@ dialog.deletefieldvalues.nofields=Det finns inga f\u00e4lt att ta bort f\u00f6r dialog.displaysettings.linewidth=Linjetjocklek f\u00f6r sp\u00e5ren (1-4) dialog.displaysettings.antialias=Anv\u00e4nd kantutj\u00e4mning ("antialiasing") dialog.displaysettings.waypointicons=Waypoint-ikon +dialog.displaysettings.wpicon.default=Standardmark\u00f6r dialog.displaysettings.wpicon.ringpt=Rund mark\u00f6r dialog.displaysettings.wpicon.plectrum=Plektrum dialog.displaysettings.wpicon.ring=Ring @@ -532,6 +537,7 @@ dialog.displaysettings.size.small=Liten dialog.displaysettings.size.medium=Mellan dialog.displaysettings.size.large=Stor dialog.displaysettings.windowstyle=F\u00f6nster-stil (kr\u00e4ver omstart) +dialog.displaysettings.windowstyle.default=Standard dialog.displaysettings.windowstyle.nimbus=Nimbus dialog.displaysettings.windowstyle.gtk=GTK dialog.downloadosm.desc=Bekr\u00e4fta att OSM-r\u00e5data laddas ner f\u00f6r det specifika omr\u00e5det: @@ -600,11 +606,44 @@ confirm.rearrangewaypoints=Waypoint:ar omarrangerade confirm.rearrangephotos=Foton omarrangerade confirm.splitsegments=segment delades upp i %d delar confirm.sewsegments=segment slogs ihop p\u00e5 %d st\u00e4llen +confirm.cutandmove=Intervall flyttat +confirm.pointsadded=%d punkter adderade +confirm.convertnamestotimes=Waypoint-namn konverterade +confirm.saveexif.ok=%d foton sparade +confirm.undo.single=operation \u00e5terst\u00e4lld +confirm.undo.multi=operationer \u00e5terst\u00e4llda +confirm.jpegload.single=foto lades till +confirm.jpegload.multi=foton lades till +confirm.media.connect=media kopplats +confirm.photo.disconnect=foto kopplats bort +confirm.audio.disconnect=ljud kopplats bort +confirm.media.removed=togs bort +confirm.correlatephotos.single=foto korrelerat +confirm.correlatephotos.multi=foton korrelerade +confirm.createpoint=punkt skapad +confirm.rotatephoto=foto roterat +confirm.running=P\u00e5g\u00e5r... +confirm.lookupsrtm=Hittade %d h\u00f6jd-datav\u00e4rden +confirm.downloadsrtm=Laddade ner %d filer till cache:n +confirm.downloadsrtm.1=Laddade ner %d fil till cache:n +confirm.deletefieldvalues=F\u00e4lt-v\u00e4rden borttagna +confirm.audioload=Ljud-filer adderade +confirm.correlateaudios.single=ljud korrelerat +confirm.correlateaudios.multi=ljud korrelerade + +# Tips, shown just once when appropriate +tip.title=Tips +tip.useamapcache=Genom att definiera en cache-mapp (Inst\u00e4llningar -> Spara kartor p\u00e5 h\u00e5rddisken)\nkan du snabba upp visningen och reducera datatrafiken. +tip.learntimeparams=Resultaten f\u00e5r b\u00e4ttre nogrannhet om man f\u00f6rst anv\u00e4nder\nSp\u00e5r -> L\u00e4r upp tidsuppskattningsparametrar\np\u00e5 dina sp\u00e5r. +tip.downloadsrtm=Du kan snabba upp detta genom att definiera en cachemapp\nf\u00f6r att spara SRTM-data lokalt. +tip.usesrtmfor3d=Detta sp\u00e5r saknar h\u00f6jddata.\nDu kan anv\u00e4nda SRTM-funktioner f\u00f6r att f\u00e5 uppskattad\nh\u00f6jddata f\u00f6r 3d-vyn. +tip.manuallycorrelateone=Genom att manuellt koppla \u00e5tminstone ett objekt kan tids-offset ber\u00e4knas f\u00f6r dig. # Buttons button.ok=OK button.back=Bak\u00e5t button.next=N\u00e4sta +button.finish=Avsluta button.cancel=Avbryt button.overwrite=Skriv \u00f6ver button.moveup=Flytta upp @@ -612,6 +651,7 @@ button.movedown=Flytta ner button.edit=Redigera button.exit=Avsluta button.close=St\u00e4ng +button.continue=Forts\u00e4tta button.yes=Ja button.no=Nej button.yestoall=Ja till alla @@ -624,6 +664,7 @@ button.preview=F\u00f6rhandsvisa button.load=Ladda in button.guessfields=Gissa f\u00e4lt button.showwebpage=Visa hemsida +button.check=Kontrollera button.resettodefaults=\u00c5terst\u00e4ll till default button.browse=Bl\u00e4ddra... button.addnew=L\u00e4gg till ny @@ -631,6 +672,18 @@ button.delete=Ta bort button.manage=Hantera button.combine=Kombinera +# File types +filetype.txt=TXT-filer +filetype.jpeg=JPG-filer +filetype.kmlkmz=KML- & KMZ-filer +filetype.kml=KML-filer +filetype.kmz=KMZ-filer +filetype.gpx=GPX-filer +filetype.pov=POV-filer +filetype.svg=SVG-filer +filetype.png=PNG-filer +filetype.audio=MP3-, OGG- & WAV-filer + # Display components display.nodata=Ingen data laddad display.noaltitudes=Sp\u00e5rdatan saknar h\u00f6jddata @@ -736,4 +789,69 @@ logic.and=och logic.or=eller # External urls and services +url.googlemaps=maps.google.se +wikipedia.lang=sv openweathermap.lang=se +webservice.peakfinder=\u00d6ppna Peakfinder.org +webservice.geohack=\u00d6ppna Geohack-sidan + +# Cardinals for 3d plots +cardinal.n=N +cardinal.s=S +cardinal.e=\u00d6 +cardinal.w=V + +# Undo operations +undo.load=Ladda data +undo.loadphotos=Ladda foton +undo.loadaudios=Ladda ljudklipp +undo.editpoint=redigera punkt +undo.deletepoint=ta bort punkt +undo.removephoto=ta bort foto +undo.removeaudio=ta bort ljudklipp +undo.deleterange=ta bort intervall +undo.croptrack=besk\u00e4r sp\u00e5r +undo.deletemarked=ta bort punkter +undo.insert=infoga punkter +undo.reverse=v\u00e4nd intervall +undo.mergetracksegments=sl\u00e5 ihop sp\u00e5rsegment +undo.splitsegments=dela upp sp\u00e5ret i segment +undo.sewsegments=sy ihop sp\u00e5rsegment +undo.addtimeoffset=l\u00e4gg till tids-offset +undo.addaltitudeoffset=l\u00e4gg till h\u00f6jd-offset +undo.rearrangewaypoints=omarrangera waypoints +undo.cutandmove=flytta intervall +undo.connect=koppla +undo.disconnect=koppla bort +undo.correlatephotos=korrelera foton +undo.rearrangephotos=omarrangera foton +undo.createpoint=skapa punkt +undo.rotatephoto=rotera foto +undo.convertnamestotimes=konvertera namn till tidpunkter +undo.lookupsrtm=kolla upp h\u00f6jddata via SRTM +undo.deletefieldvalues=ta bort f\u00e4lt-v\u00e4rden +undo.correlateaudios=korrelera ljudklipp + +# Error messages +error.save.dialogtitle=Fel vid sparande av data +error.save.nodata=Ingen data att spara +error.save.failed=Misslyckades att spara datan till fil +error.saveexif.filenotfound=Misslyckades att hitta foto-fil +error.saveexif.cannotoverwrite1=Foto-fil +error.saveexif.cannotoverwrite2=\u00e4r skrivskyddad och kan inte skrivas \u00f6ver. Spara som kopia? +error.saveexif.failed=Misslyckades att spara %d foton. +error.saveexif.forced=%d foton kr\u00e4vde forcering +error.load.dialogtitle=Fel vid l\u00e4sning av data +error.load.noread=Kan inte l\u00e4sa fil +error.load.nopoints=Ingen koordinat-information hittades i filen +error.load.unknownxml=K\u00e4nde inte igen xml-formatet: +error.load.noxmlinzip=Ingen xml-fil hittades inuti zip-filen +error.load.othererror=Fel vid l\u00e4sning av fil: +error.load.nopointsintext=Ingen koordinat-information kunde hittas +error.jpegload.dialogtitle=Fel vid l\u00e4sning av foton +error.jpegload.nofilesfound=Ingen fil hittades +error.jpegload.nojpegsfound=Ingen jpeg-fil hittades +error.jpegload.nogpsfound=Ingen GPS-information hittades +error.audioload.nofilesfound=Inga ljud-klipp hittades +error.gpsload.unknown=Ok\u00e4nt fel +error.undofailed.title=\u00c5ngra misslyckades diff --git a/src/tim/prune/readme.txt b/src/tim/prune/readme.txt index 618513d..f6efc99 100644 --- a/src/tim/prune/readme.txt +++ b/src/tim/prune/readme.txt @@ -1,4 +1,4 @@ -GpsPrune version 20.2 +GpsPrune version 20.3 ===================== GpsPrune is an application for viewing, editing and managing coordinate data from GPS systems, @@ -17,7 +17,7 @@ Running ======= To run GpsPrune from the jar file, simply call it from a command prompt or shell: - java -jar gpsprune_20.2.jar + java -jar gpsprune_20.3.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,17 @@ 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_20.2.jar --lang=DE + java -jar gpsprune_20.3.jar --lang=DE +New with version 20.3 +===================== +The following fixes and additions were made since version 20.2: + - If a waypoint is selected, the distances function should use it + - If a point list has been pasted, closing should prompt about unsaved data + - Some additional translations + - Switching SRTM downloads to use kurviger.de instead of usgs.gov (thanks, kurviger.de!) + New with version 20.2 ===================== The following fixes and additions were made since version 20.1: diff --git a/src/tim/prune/save/GpxExporter.java b/src/tim/prune/save/GpxExporter.java index 8bfd090..f7de8f7 100644 --- a/src/tim/prune/save/GpxExporter.java +++ b/src/tim/prune/save/GpxExporter.java @@ -347,6 +347,7 @@ public class GpxExporter extends GenericFunction implements Runnable + " " + _exportFile.getAbsolutePath()); // export successful so need to close dialog and return _dialog.dispose(); + _app.informDataSaved(); return; } catch (IOException ioe) -- 2.43.0