1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-07-01 13:29:16 +02:00

Compare commits

...

15 Commits
4.11 ... 4.12

21 changed files with 478 additions and 253 deletions

52
.appveyor.yml Normal file
View File

@ -0,0 +1,52 @@
version: 4.12.{build}
configuration: Release
platform: Any CPU
environment:
NSISDIR: C:\Program Files (x86)\NSIS
matrix:
- QTDIR: C:\Qt\5.9\msvc2015
PLATFORM: x86
NSI: gpxsee.nsi
OPENSSLDIR: C:\OpenSSL-Win32\bin
- QTDIR: C:\Qt\5.9\msvc2015_64
PLATFORM: x86_amd64
NSI: gpxsee64.nsi
OPENSSLDIR: C:\OpenSSL-Win64\bin
install:
- cmd: >-
set PATH=%QTDIR%\bin;%NSISDIR%;%PATH%
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %PLATFORM%
build_script:
- cmd: >-
lrelease gpxsee.pro
qmake gpxsee.pro
nmake release
md installer
copy release\GPXSee.exe installer
windeployqt --no-svg --release installer\GPXSee.exe
copy pkg\%NSI% installer
copy pkg\datums.csv installer
copy pkg\ellipsoids.csv installer
copy pkg\maps.txt installer
copy licence.txt installer
copy %OPENSSLDIR%\libeay32.dll installer
copy %OPENSSLDIR%\ssleay32.dll installer
makensis.exe installer\%NSI%
artifacts:
- path: installer\GPXSee-*.exe

9
.travis.yml Normal file
View File

@ -0,0 +1,9 @@
language: c++
install:
- sudo apt-get install libqt4-dev
script:
- lrelease gpxsee.pro
- qmake gpxsee.pro
- make

View File

@ -1,5 +1,5 @@
TARGET = GPXSee
VERSION = 4.11
VERSION = 4.12
QT += core \
gui \
network
@ -96,7 +96,8 @@ HEADERS += src/config.h \
src/albersequal.h \
src/oddspinbox.h \
src/rectc.h \
src/searchpointer.h
src/searchpointer.h \
src/percentslider.h
SOURCES += src/main.cpp \
src/gui.cpp \
src/poi.cpp \
@ -165,7 +166,8 @@ SOURCES += src/main.cpp \
src/maplist.cpp \
src/albersequal.cpp \
src/oddspinbox.cpp \
src/rectc.cpp
src/rectc.cpp \
src/percentslider.cpp
RESOURCES += gpxsee.qrc
TRANSLATIONS = lang/gpxsee_cs.ts \
lang/gpxsee_sv.ts \

View File

@ -386,7 +386,7 @@
</message>
<message>
<location filename="../src/gui.cpp" line="443"/>
<location filename="../src/gui.cpp" line="1006"/>
<location filename="../src/gui.cpp" line="1008"/>
<source>Moving time</source>
<translation>Čistý čas</translation>
</message>
@ -526,33 +526,33 @@
<translation>Offline mapy jsou načítány při startu aplikace z následujícího adresáře:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1197"/>
<location filename="../src/gui.cpp" line="1199"/>
<source>Open map file</source>
<translation>Otevřít mapový soubor</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1233"/>
<location filename="../src/gui.cpp" line="1235"/>
<source>No files loaded</source>
<translation>Nejsou načteny žádné soubory</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="992"/>
<location filename="../src/gui.cpp" line="995"/>
<location filename="../src/gui.cpp" line="994"/>
<location filename="../src/gui.cpp" line="997"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="984"/>
<location filename="../src/gui.cpp" line="986"/>
<source>Routes</source>
<translation>Trasy</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1218"/>
<location filename="../src/gui.cpp" line="1220"/>
<source>Error loading map:</source>
<translation>Mapu nelze načíst:</translation>
</message>
<message numerus="yes">
<location filename="../src/gui.cpp" line="1237"/>
<location filename="../src/gui.cpp" line="1239"/>
<source>%n files</source>
<translation>
<numerusform>%n soubor</numerusform>
@ -581,7 +581,7 @@
<translation>Exportovat do PDF...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="986"/>
<location filename="../src/gui.cpp" line="988"/>
<source>Waypoints</source>
<translation>Navigační body</translation>
</message>
@ -642,12 +642,12 @@
<translation>Soubor POI nelze načíst:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="978"/>
<location filename="../src/gui.cpp" line="980"/>
<source>Name</source>
<translation>Název</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="982"/>
<location filename="../src/gui.cpp" line="984"/>
<source>Tracks</source>
<translation>Cesty</translation>
</message>
@ -669,14 +669,14 @@
</message>
<message>
<location filename="../src/gui.cpp" line="412"/>
<location filename="../src/gui.cpp" line="1002"/>
<location filename="../src/gui.cpp" line="1004"/>
<source>Distance</source>
<translation>Vzdálenost</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="419"/>
<location filename="../src/gui.cpp" line="543"/>
<location filename="../src/gui.cpp" line="1004"/>
<location filename="../src/gui.cpp" line="1006"/>
<source>Time</source>
<translation>Čas</translation>
</message>
@ -780,246 +780,257 @@
<translation>Posun palety:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="49"/>
<location filename="../src/optionsdialog.cpp" line="75"/>
<source>Track width:</source>
<translation>Šířka cest:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="50"/>
<location filename="../src/optionsdialog.cpp" line="76"/>
<source>Track style:</source>
<translation>Styl cest:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="52"/>
<location filename="../src/optionsdialog.cpp" line="78"/>
<source>Tracks</source>
<translation>Cesty</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="62"/>
<location filename="../src/optionsdialog.cpp" line="88"/>
<source>Route width:</source>
<translation>Šířka tras:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="63"/>
<location filename="../src/optionsdialog.cpp" line="89"/>
<source>Route style:</source>
<translation>Styl tras:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="65"/>
<location filename="../src/optionsdialog.cpp" line="91"/>
<source>Routes</source>
<translation>Trasy</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="69"/>
<location filename="../src/optionsdialog.cpp" line="102"/>
<location filename="../src/optionsdialog.cpp" line="95"/>
<location filename="../src/optionsdialog.cpp" line="128"/>
<source>Use anti-aliasing</source>
<translation>Vyhlazovat hrany</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="100"/>
<location filename="../src/optionsdialog.cpp" line="126"/>
<source>Line width:</source>
<translation>Šířka čar:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="116"/>
<location filename="../src/optionsdialog.cpp" line="142"/>
<source>Colors</source>
<translation>Barvy</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="117"/>
<location filename="../src/optionsdialog.cpp" line="39"/>
<location filename="../src/optionsdialog.cpp" line="143"/>
<source>Paths</source>
<translation>Trasy</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="118"/>
<location filename="../src/optionsdialog.cpp" line="278"/>
<location filename="../src/optionsdialog.cpp" line="46"/>
<source>Map opacity:</source>
<translation>Neprůhlednost mapy:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="48"/>
<source>Map</source>
<translation>Mapa</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="144"/>
<location filename="../src/optionsdialog.cpp" line="304"/>
<source>Graphs</source>
<translation>Grafy</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="125"/>
<location filename="../src/optionsdialog.cpp" line="151"/>
<source>Moving average window size</source>
<translation>Velikost okna klouzavého průměru</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="144"/>
<location filename="../src/optionsdialog.cpp" line="170"/>
<source>Elevation:</source>
<translation>Výška:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="145"/>
<location filename="../src/optionsdialog.cpp" line="171"/>
<source>Speed:</source>
<translation>Rychlost:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="146"/>
<location filename="../src/optionsdialog.cpp" line="172"/>
<source>Heart rate:</source>
<translation>Tep:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="147"/>
<location filename="../src/optionsdialog.cpp" line="173"/>
<source>Cadence:</source>
<translation>Kadence:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="148"/>
<location filename="../src/optionsdialog.cpp" line="174"/>
<source>Power:</source>
<translation>Výkon:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="150"/>
<location filename="../src/optionsdialog.cpp" line="176"/>
<source>Smoothing</source>
<translation>Vyhlazování</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="154"/>
<location filename="../src/optionsdialog.cpp" line="180"/>
<source>Eliminate GPS outliers</source>
<translation>Odstarnit odlehlé GPS záznamy</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="160"/>
<location filename="../src/optionsdialog.cpp" line="186"/>
<source>Outlier elimination</source>
<translation>Odstranění odlehlých hodnot</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="167"/>
<location filename="../src/optionsdialog.cpp" line="193"/>
<source>Smoothing:</source>
<translation>Vyhlazování:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="190"/>
<location filename="../src/optionsdialog.cpp" line="216"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="193"/>
<location filename="../src/optionsdialog.cpp" line="219"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="197"/>
<location filename="../src/optionsdialog.cpp" line="223"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="201"/>
<location filename="../src/optionsdialog.cpp" line="227"/>
<source>Minimal speed:</source>
<translation>Minimální rychlost:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="202"/>
<location filename="../src/optionsdialog.cpp" line="228"/>
<source>Minimal duration:</source>
<translation>Minimální doba trvání:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="209"/>
<location filename="../src/optionsdialog.cpp" line="235"/>
<source>Filtering</source>
<translation>Filtrování</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="210"/>
<location filename="../src/optionsdialog.cpp" line="236"/>
<source>Pause detection</source>
<translation>Detekce přestávek</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="222"/>
<location filename="../src/optionsdialog.cpp" line="248"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="225"/>
<location filename="../src/optionsdialog.cpp" line="251"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="229"/>
<location filename="../src/optionsdialog.cpp" line="255"/>
<source>POI radius:</source>
<translation>POI radius:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="235"/>
<location filename="../src/optionsdialog.cpp" line="334"/>
<location filename="../src/optionsdialog.cpp" line="261"/>
<location filename="../src/optionsdialog.cpp" line="360"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="242"/>
<location filename="../src/optionsdialog.cpp" line="268"/>
<source>Name</source>
<translation>Název</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="244"/>
<location filename="../src/optionsdialog.cpp" line="270"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="246"/>
<location filename="../src/optionsdialog.cpp" line="272"/>
<source>Distance</source>
<translation>Vzdálenost</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="248"/>
<location filename="../src/optionsdialog.cpp" line="274"/>
<source>Time</source>
<translation>Čas</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="250"/>
<location filename="../src/optionsdialog.cpp" line="276"/>
<source>Moving time</source>
<translation>Čistý čas</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="252"/>
<location filename="../src/optionsdialog.cpp" line="278"/>
<source>Item count (&gt;1)</source>
<translation>Počet objektů (&gt;1)</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="267"/>
<location filename="../src/optionsdialog.cpp" line="293"/>
<source>Separate graph page</source>
<translation>Samostatná stránka s grafy</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="277"/>
<location filename="../src/optionsdialog.cpp" line="303"/>
<source>Header</source>
<translation>Záhlaví</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="285"/>
<location filename="../src/optionsdialog.cpp" line="311"/>
<source>Use OpenGL</source>
<translation>Používat OpenGL</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="297"/>
<location filename="../src/optionsdialog.cpp" line="323"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="301"/>
<location filename="../src/optionsdialog.cpp" line="327"/>
<source>Image cache size:</source>
<translation>Mezipaměť obrázků:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="314"/>
<location filename="../src/optionsdialog.cpp" line="337"/>
<location filename="../src/optionsdialog.cpp" line="340"/>
<location filename="../src/optionsdialog.cpp" line="363"/>
<source>System</source>
<translation>Systém</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="331"/>
<location filename="../src/optionsdialog.cpp" line="357"/>
<source>Appearance</source>
<translation>Vzhled</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="333"/>
<location filename="../src/optionsdialog.cpp" line="359"/>
<source>Data</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="335"/>
<location filename="../src/optionsdialog.cpp" line="361"/>
<source>Print &amp; Export</source>
<translation>Tisk a export</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="364"/>
<location filename="../src/optionsdialog.cpp" line="390"/>
<source>Options</source>
<translation>Nastavení</translation>
</message>

View File

@ -386,7 +386,7 @@
</message>
<message>
<location filename="../src/gui.cpp" line="443"/>
<location filename="../src/gui.cpp" line="1006"/>
<location filename="../src/gui.cpp" line="1008"/>
<source>Moving time</source>
<translation>Bewegungszeit</translation>
</message>
@ -531,22 +531,22 @@
<translation>Offlinekarten werden zu Programmstart aus dem folgenden Verzeichnis geladen:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1197"/>
<location filename="../src/gui.cpp" line="1199"/>
<source>Open map file</source>
<translation>Karte Datei öffnen</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1218"/>
<location filename="../src/gui.cpp" line="1220"/>
<source>Error loading map:</source>
<translation>Fehler beim Laden der Karte-Datei:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1233"/>
<location filename="../src/gui.cpp" line="1235"/>
<source>No files loaded</source>
<translation>Keine Dateien geladen</translation>
</message>
<message numerus="yes">
<location filename="../src/gui.cpp" line="1237"/>
<location filename="../src/gui.cpp" line="1239"/>
<source>%n files</source>
<translation>
<numerusform>%n Datei</numerusform>
@ -554,13 +554,13 @@
</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="992"/>
<location filename="../src/gui.cpp" line="995"/>
<location filename="../src/gui.cpp" line="994"/>
<location filename="../src/gui.cpp" line="997"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="984"/>
<location filename="../src/gui.cpp" line="986"/>
<source>Routes</source>
<translation>Routen</translation>
</message>
@ -585,7 +585,7 @@
<translation>Als PDF exportieren...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="986"/>
<location filename="../src/gui.cpp" line="988"/>
<source>Waypoints</source>
<translation>Wegpunkte</translation>
</message>
@ -641,12 +641,12 @@
<translation>Fehler beim Laden der POI-Datei:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="978"/>
<location filename="../src/gui.cpp" line="980"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="982"/>
<location filename="../src/gui.cpp" line="984"/>
<source>Tracks</source>
<translation>Strecken</translation>
</message>
@ -668,14 +668,14 @@
</message>
<message>
<location filename="../src/gui.cpp" line="412"/>
<location filename="../src/gui.cpp" line="1002"/>
<location filename="../src/gui.cpp" line="1004"/>
<source>Distance</source>
<translation>Distanz</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="419"/>
<location filename="../src/gui.cpp" line="543"/>
<location filename="../src/gui.cpp" line="1004"/>
<location filename="../src/gui.cpp" line="1006"/>
<source>Time</source>
<translation>Zeit</translation>
</message>
@ -763,7 +763,7 @@
<message>
<location filename="../src/maplist.cpp" line="128"/>
<source>URL list files (*.txt)</source>
<translation type="unfinished"></translation>
<translation>URL-Liste Dateien (*.txt)</translation>
</message>
</context>
<context>
@ -779,246 +779,257 @@
<translation>Palettenverschiebung:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="49"/>
<location filename="../src/optionsdialog.cpp" line="75"/>
<source>Track width:</source>
<translation>Streckenbreite:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="50"/>
<location filename="../src/optionsdialog.cpp" line="76"/>
<source>Track style:</source>
<translation>Streckenstil:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="52"/>
<location filename="../src/optionsdialog.cpp" line="78"/>
<source>Tracks</source>
<translation>Strecken</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="62"/>
<location filename="../src/optionsdialog.cpp" line="88"/>
<source>Route width:</source>
<translation>Routenbreite:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="63"/>
<location filename="../src/optionsdialog.cpp" line="89"/>
<source>Route style:</source>
<translation>Routenstil:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="65"/>
<location filename="../src/optionsdialog.cpp" line="91"/>
<source>Routes</source>
<translation>Routen</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="69"/>
<location filename="../src/optionsdialog.cpp" line="102"/>
<location filename="../src/optionsdialog.cpp" line="95"/>
<location filename="../src/optionsdialog.cpp" line="128"/>
<source>Use anti-aliasing</source>
<translation>Anti-Aliasing verwenden</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="100"/>
<location filename="../src/optionsdialog.cpp" line="126"/>
<source>Line width:</source>
<translation>Linienbreite:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="116"/>
<location filename="../src/optionsdialog.cpp" line="142"/>
<source>Colors</source>
<translation>Farben</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="117"/>
<location filename="../src/optionsdialog.cpp" line="39"/>
<location filename="../src/optionsdialog.cpp" line="143"/>
<source>Paths</source>
<translation>Pfade</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="118"/>
<location filename="../src/optionsdialog.cpp" line="278"/>
<location filename="../src/optionsdialog.cpp" line="46"/>
<source>Map opacity:</source>
<translation>Karte Deckkraft:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="48"/>
<source>Map</source>
<translation>Karte</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="144"/>
<location filename="../src/optionsdialog.cpp" line="304"/>
<source>Graphs</source>
<translation>Graphen</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="125"/>
<location filename="../src/optionsdialog.cpp" line="151"/>
<source>Moving average window size</source>
<translation>Fensterbreite des gleitenden Mittelwerts</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="144"/>
<location filename="../src/optionsdialog.cpp" line="170"/>
<source>Elevation:</source>
<translation>Höhe:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="145"/>
<location filename="../src/optionsdialog.cpp" line="171"/>
<source>Speed:</source>
<translation>Geschwindigkeit:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="146"/>
<location filename="../src/optionsdialog.cpp" line="172"/>
<source>Heart rate:</source>
<translation>Herzfrequenz:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="147"/>
<location filename="../src/optionsdialog.cpp" line="173"/>
<source>Cadence:</source>
<translation>Frequenz:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="148"/>
<location filename="../src/optionsdialog.cpp" line="174"/>
<source>Power:</source>
<translation>Leistung:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="150"/>
<location filename="../src/optionsdialog.cpp" line="176"/>
<source>Smoothing</source>
<translation>Glätten</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="154"/>
<location filename="../src/optionsdialog.cpp" line="180"/>
<source>Eliminate GPS outliers</source>
<translation>GPS Ausreißer entfernen</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="160"/>
<location filename="../src/optionsdialog.cpp" line="186"/>
<source>Outlier elimination</source>
<translation>Ausreißer Entfernung</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="167"/>
<location filename="../src/optionsdialog.cpp" line="193"/>
<source>Smoothing:</source>
<translation>Glätten:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="190"/>
<location filename="../src/optionsdialog.cpp" line="216"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="193"/>
<location filename="../src/optionsdialog.cpp" line="219"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="197"/>
<location filename="../src/optionsdialog.cpp" line="223"/>
<source>s</source>
<translation>sek</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="201"/>
<location filename="../src/optionsdialog.cpp" line="227"/>
<source>Minimal speed:</source>
<translation>Minimale Geschwindigkeit:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="202"/>
<location filename="../src/optionsdialog.cpp" line="228"/>
<source>Minimal duration:</source>
<translation>Minimale Dauer:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="209"/>
<location filename="../src/optionsdialog.cpp" line="235"/>
<source>Filtering</source>
<translation>Datenfilterung</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="210"/>
<location filename="../src/optionsdialog.cpp" line="236"/>
<source>Pause detection</source>
<translation>Pausenerkennung</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="222"/>
<location filename="../src/optionsdialog.cpp" line="248"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="225"/>
<location filename="../src/optionsdialog.cpp" line="251"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="229"/>
<location filename="../src/optionsdialog.cpp" line="255"/>
<source>POI radius:</source>
<translation>POI-Radius:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="235"/>
<location filename="../src/optionsdialog.cpp" line="334"/>
<location filename="../src/optionsdialog.cpp" line="261"/>
<location filename="../src/optionsdialog.cpp" line="360"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="242"/>
<location filename="../src/optionsdialog.cpp" line="268"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="244"/>
<location filename="../src/optionsdialog.cpp" line="270"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="246"/>
<location filename="../src/optionsdialog.cpp" line="272"/>
<source>Distance</source>
<translation>Distanz</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="248"/>
<location filename="../src/optionsdialog.cpp" line="274"/>
<source>Time</source>
<translation>Zeit</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="250"/>
<location filename="../src/optionsdialog.cpp" line="276"/>
<source>Moving time</source>
<translation>Bewegungszeit</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="252"/>
<location filename="../src/optionsdialog.cpp" line="278"/>
<source>Item count (&gt;1)</source>
<translation>Elementanzahl (&gt;1)</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="267"/>
<location filename="../src/optionsdialog.cpp" line="293"/>
<source>Separate graph page</source>
<translation>Separate Seite für Graphen</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="277"/>
<location filename="../src/optionsdialog.cpp" line="303"/>
<source>Header</source>
<translation>Kopfzeile</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="285"/>
<location filename="../src/optionsdialog.cpp" line="311"/>
<source>Use OpenGL</source>
<translation>OpenGL verwenden</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="297"/>
<location filename="../src/optionsdialog.cpp" line="323"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="301"/>
<location filename="../src/optionsdialog.cpp" line="327"/>
<source>Image cache size:</source>
<translation>Bild-Cache größe:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="314"/>
<location filename="../src/optionsdialog.cpp" line="337"/>
<location filename="../src/optionsdialog.cpp" line="340"/>
<location filename="../src/optionsdialog.cpp" line="363"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="331"/>
<location filename="../src/optionsdialog.cpp" line="357"/>
<source>Appearance</source>
<translation>Erscheinungsbild</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="333"/>
<location filename="../src/optionsdialog.cpp" line="359"/>
<source>Data</source>
<translation>Daten</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="335"/>
<location filename="../src/optionsdialog.cpp" line="361"/>
<source>Print &amp; Export</source>
<translation>Druck &amp; Export</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="364"/>
<location filename="../src/optionsdialog.cpp" line="390"/>
<source>Options</source>
<translation>Einstellungen</translation>
</message>

View File

@ -386,7 +386,7 @@
</message>
<message>
<location filename="../src/gui.cpp" line="443"/>
<location filename="../src/gui.cpp" line="1006"/>
<location filename="../src/gui.cpp" line="1008"/>
<source>Moving time</source>
<translation>Förflyttningstid</translation>
</message>
@ -531,22 +531,22 @@
<translation>Offline-kartor läses in från följande mapp vid programstart:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1197"/>
<location filename="../src/gui.cpp" line="1199"/>
<source>Open map file</source>
<translation>Öppna kartfil</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1218"/>
<location filename="../src/gui.cpp" line="1220"/>
<source>Error loading map:</source>
<translation>Fel vid inläsning av karta:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1233"/>
<location filename="../src/gui.cpp" line="1235"/>
<source>No files loaded</source>
<translation>Inga filer inlästa</translation>
</message>
<message numerus="yes">
<location filename="../src/gui.cpp" line="1237"/>
<location filename="../src/gui.cpp" line="1239"/>
<source>%n files</source>
<translation>
<numerusform>%n filer</numerusform>
@ -554,13 +554,13 @@
</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="992"/>
<location filename="../src/gui.cpp" line="995"/>
<location filename="../src/gui.cpp" line="994"/>
<location filename="../src/gui.cpp" line="997"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="984"/>
<location filename="../src/gui.cpp" line="986"/>
<source>Routes</source>
<translation>Rutter</translation>
</message>
@ -585,7 +585,7 @@
<translation>Exportera till PDF...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="986"/>
<location filename="../src/gui.cpp" line="988"/>
<source>Waypoints</source>
<translation>Vägpunkter</translation>
</message>
@ -641,12 +641,12 @@
<translation>Fel vid inläsning av POI-fil:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="978"/>
<location filename="../src/gui.cpp" line="980"/>
<source>Name</source>
<translation>Namn</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="982"/>
<location filename="../src/gui.cpp" line="984"/>
<source>Tracks</source>
<translation>Spår</translation>
</message>
@ -668,14 +668,14 @@
</message>
<message>
<location filename="../src/gui.cpp" line="412"/>
<location filename="../src/gui.cpp" line="1002"/>
<location filename="../src/gui.cpp" line="1004"/>
<source>Distance</source>
<translation>Avstånd</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="419"/>
<location filename="../src/gui.cpp" line="543"/>
<location filename="../src/gui.cpp" line="1004"/>
<location filename="../src/gui.cpp" line="1006"/>
<source>Time</source>
<translation>Tid</translation>
</message>
@ -779,246 +779,257 @@
<translation>Palettskiftning:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="49"/>
<location filename="../src/optionsdialog.cpp" line="75"/>
<source>Track width:</source>
<translation>Spårtjocklek:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="50"/>
<location filename="../src/optionsdialog.cpp" line="76"/>
<source>Track style:</source>
<translation>Spårstil:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="52"/>
<location filename="../src/optionsdialog.cpp" line="78"/>
<source>Tracks</source>
<translation>Spår</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="62"/>
<location filename="../src/optionsdialog.cpp" line="88"/>
<source>Route width:</source>
<translation>Ruttjocklek:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="63"/>
<location filename="../src/optionsdialog.cpp" line="89"/>
<source>Route style:</source>
<translation>Ruttstil:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="65"/>
<location filename="../src/optionsdialog.cpp" line="91"/>
<source>Routes</source>
<translation>Rutter</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="69"/>
<location filename="../src/optionsdialog.cpp" line="102"/>
<location filename="../src/optionsdialog.cpp" line="95"/>
<location filename="../src/optionsdialog.cpp" line="128"/>
<source>Use anti-aliasing</source>
<translation>Använd kantutjämning</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="100"/>
<location filename="../src/optionsdialog.cpp" line="126"/>
<source>Line width:</source>
<translation>Linjetjocklek:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="116"/>
<location filename="../src/optionsdialog.cpp" line="142"/>
<source>Colors</source>
<translation>Färger</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="117"/>
<location filename="../src/optionsdialog.cpp" line="39"/>
<location filename="../src/optionsdialog.cpp" line="143"/>
<source>Paths</source>
<translation>Sökvägar</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="118"/>
<location filename="../src/optionsdialog.cpp" line="278"/>
<location filename="../src/optionsdialog.cpp" line="46"/>
<source>Map opacity:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="48"/>
<source>Map</source>
<translation>Karta</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="144"/>
<location filename="../src/optionsdialog.cpp" line="304"/>
<source>Graphs</source>
<translation>Diagram</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="125"/>
<location filename="../src/optionsdialog.cpp" line="151"/>
<source>Moving average window size</source>
<translation>Flyttar vanlig fönsterstorlek</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="144"/>
<location filename="../src/optionsdialog.cpp" line="170"/>
<source>Elevation:</source>
<translation>Höjd:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="145"/>
<location filename="../src/optionsdialog.cpp" line="171"/>
<source>Speed:</source>
<translation>Hastighet:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="146"/>
<location filename="../src/optionsdialog.cpp" line="172"/>
<source>Heart rate:</source>
<translation>Hjärtfrekvens:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="147"/>
<location filename="../src/optionsdialog.cpp" line="173"/>
<source>Cadence:</source>
<translation>Stegfrekvens:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="148"/>
<location filename="../src/optionsdialog.cpp" line="174"/>
<source>Power:</source>
<translation>Kraft:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="150"/>
<location filename="../src/optionsdialog.cpp" line="176"/>
<source>Smoothing</source>
<translation>Utjämning</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="154"/>
<location filename="../src/optionsdialog.cpp" line="180"/>
<source>Eliminate GPS outliers</source>
<translation>Eliminera GPS-extremvärden</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="160"/>
<location filename="../src/optionsdialog.cpp" line="186"/>
<source>Outlier elimination</source>
<translation>Extremvärdeseliminering</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="167"/>
<location filename="../src/optionsdialog.cpp" line="193"/>
<source>Smoothing:</source>
<translation>Utjämning:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="190"/>
<location filename="../src/optionsdialog.cpp" line="216"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="193"/>
<location filename="../src/optionsdialog.cpp" line="219"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="197"/>
<location filename="../src/optionsdialog.cpp" line="223"/>
<source>s</source>
<translation>sek</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="201"/>
<location filename="../src/optionsdialog.cpp" line="227"/>
<source>Minimal speed:</source>
<translation>Minsta hastighet:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="202"/>
<location filename="../src/optionsdialog.cpp" line="228"/>
<source>Minimal duration:</source>
<translation>Kortast varaktighet:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="209"/>
<location filename="../src/optionsdialog.cpp" line="235"/>
<source>Filtering</source>
<translation>Filtrerar</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="210"/>
<location filename="../src/optionsdialog.cpp" line="236"/>
<source>Pause detection</source>
<translation>Pausa identifiering</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="222"/>
<location filename="../src/optionsdialog.cpp" line="248"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="225"/>
<location filename="../src/optionsdialog.cpp" line="251"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="229"/>
<location filename="../src/optionsdialog.cpp" line="255"/>
<source>POI radius:</source>
<translation>POI-radie:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="235"/>
<location filename="../src/optionsdialog.cpp" line="334"/>
<location filename="../src/optionsdialog.cpp" line="261"/>
<location filename="../src/optionsdialog.cpp" line="360"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="242"/>
<location filename="../src/optionsdialog.cpp" line="268"/>
<source>Name</source>
<translation>Namn</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="244"/>
<location filename="../src/optionsdialog.cpp" line="270"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="246"/>
<location filename="../src/optionsdialog.cpp" line="272"/>
<source>Distance</source>
<translation>Avstånd</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="248"/>
<location filename="../src/optionsdialog.cpp" line="274"/>
<source>Time</source>
<translation>Tid</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="250"/>
<location filename="../src/optionsdialog.cpp" line="276"/>
<source>Moving time</source>
<translation>Förflyttningstid</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="252"/>
<location filename="../src/optionsdialog.cpp" line="278"/>
<source>Item count (&gt;1)</source>
<translation>Objektantal (&gt;1)</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="267"/>
<location filename="../src/optionsdialog.cpp" line="293"/>
<source>Separate graph page</source>
<translation>Separat diagramsida</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="277"/>
<location filename="../src/optionsdialog.cpp" line="303"/>
<source>Header</source>
<translation></translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="285"/>
<location filename="../src/optionsdialog.cpp" line="311"/>
<source>Use OpenGL</source>
<translation>Använd OpenGL</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="297"/>
<location filename="../src/optionsdialog.cpp" line="323"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="301"/>
<location filename="../src/optionsdialog.cpp" line="327"/>
<source>Image cache size:</source>
<translation>Cashe-storlek för bilder:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="314"/>
<location filename="../src/optionsdialog.cpp" line="337"/>
<location filename="../src/optionsdialog.cpp" line="340"/>
<location filename="../src/optionsdialog.cpp" line="363"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="331"/>
<location filename="../src/optionsdialog.cpp" line="357"/>
<source>Appearance</source>
<translation>Utseende</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="333"/>
<location filename="../src/optionsdialog.cpp" line="359"/>
<source>Data</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="335"/>
<location filename="../src/optionsdialog.cpp" line="361"/>
<source>Print &amp; Export</source>
<translation>Utskrift &amp; Export</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="364"/>
<location filename="../src/optionsdialog.cpp" line="390"/>
<source>Options</source>
<translation>Alternativ</translation>
</message>

View File

@ -5,7 +5,7 @@
; The name of the installer
Name "GPXSee"
; Program version
!define VERSION "4.11"
!define VERSION "4.12"
; The file to write
OutFile "GPXSee-${VERSION}.exe"

View File

@ -5,7 +5,7 @@
; The name of the installer
Name "GPXSee"
; Program version
!define VERSION "4.11"
!define VERSION "4.12"
; The file to write
OutFile "GPXSee-${VERSION}_x64.exe"

View File

@ -1,4 +1,5 @@
Open Topo Map https://a.tile.opentopomap.org/$z/$x/$y.png
4UMaps http://4umaps.eu/$z/$x/$y.png
Open Street Map http://tile.openstreetmap.org/$z/$x/$y.png
USGS Topo https://navigator.er.usgs.gov/tiles/tcr.cgi/$z/$x/$y.png
USGS Imagery https://navigator.er.usgs.gov/tiles/aerial_Imagery.cgi/$z/$x/$y

View File

@ -877,6 +877,8 @@ void GUI::openOptions()
for (int i = 0; i < _tabs.count(); i++)
_tabs.at(i)->setPalette(options.palette);
}
if (options.mapOpacity != _options.mapOpacity)
_pathView->setMapOpacity(options.mapOpacity);
if (options.trackWidth != _options.trackWidth)
_pathView->setTrackWidth(options.trackWidth);
if (options.routeWidth != _options.routeWidth)
@ -1598,6 +1600,8 @@ void GUI::writeSettings()
settings.setValue(PALETTE_COLOR_SETTING, _options.palette.color());
if (_options.palette.shift() != PALETTE_SHIFT_DEFAULT)
settings.setValue(PALETTE_SHIFT_SETTING, _options.palette.shift());
if (_options.mapOpacity != MAP_OPACITY_DEFAULT)
settings.setValue(MAP_OPACITY_SETTING, _options.mapOpacity);
if (_options.trackWidth != TRACK_WIDTH_DEFAULT)
settings.setValue(TRACK_WIDTH_SETTING, _options.trackWidth);
if (_options.routeWidth != ROUTE_WIDTH_DEFAULT)
@ -1793,6 +1797,8 @@ void GUI::readSettings()
qreal ps = settings.value(PALETTE_SHIFT_SETTING, PALETTE_SHIFT_DEFAULT)
.toDouble();
_options.palette = Palette(pc, ps);
_options.mapOpacity = settings.value(MAP_OPACITY_SETTING,
MAP_OPACITY_DEFAULT).toInt();
_options.trackWidth = settings.value(TRACK_WIDTH_SETTING,
TRACK_WIDTH_DEFAULT).toInt();
_options.routeWidth = settings.value(ROUTE_WIDTH_SETTING,
@ -1845,6 +1851,7 @@ void GUI::readSettings()
SEPARATE_GRAPH_PAGE_DEFAULT).toBool();
_pathView->setPalette(_options.palette);
_pathView->setMapOpacity(_options.mapOpacity);
_pathView->setTrackWidth(_options.trackWidth);
_pathView->setRouteWidth(_options.routeWidth);
_pathView->setTrackStyle(_options.trackStyle);

View File

@ -75,7 +75,7 @@ Coordinates LambertConic::xy2ll(const QPointF &p) const
double dx = p.x() - _fe;
double dy = p.y() - _fn - _R0;
double R = sqrt(dx * dx + dy * dy);
double q = _q0 - log(R / _R0) / _n;
double q = _q0 - log(fabs(R / _R0)) / _n;
return Coordinates(rad2deg(deg2rad(_cm) + dl / _n), rad2deg(iq(_e, q)));
}

View File

@ -229,6 +229,24 @@ bool OfflineMap::createProjection(const QString &datum,
else if (projection == "(SG) Swedish Grid")
_projection = new TransverseMercator(d.ellipsoid(), 0, 15.808278, 1,
1500000, 0);
else if (projection == "(I) France Zone I")
_projection = new LambertConic(d.ellipsoid(), 48.598523, 50.395912,
49.5, 2.337229, 1 /*0.99987734*/, 600000, 1200000);
else if (projection == "(II) France Zone II")
_projection = new LambertConic(d.ellipsoid(), 45.898919, 47.696014,
46.8, 2.337229, 1 /*0.99987742*/, 600000, 2200000);
else if (projection == "(III) France Zone III")
_projection = new LambertConic(d.ellipsoid(), 43.199291, 44.996094,
44.1, 2.337229, 1 /*0.99987750*/, 600000, 3200000);
else if (projection == "(IV) France Zone IV")
_projection = new LambertConic(d.ellipsoid(), 41.560388, 42.767663,
42.165, 2.337229, 1 /*0.99994471*/, 234.358, 4185861.369);
else if (projection == "(VICGRID) Victoria Australia")
_projection = new LambertConic(d.ellipsoid(), -36, -38, -37, 145, 1,
2500000, 4500000);
else if (projection == "(VG94) VICGRID94 Victoria Australia")
_projection = new LambertConic(d.ellipsoid(), -36, -38, -37, 145, 1,
2500000, 2500000);
else {
_errorString = QString("%1: Unknown map projection").arg(projection);
return false;

View File

@ -16,12 +16,13 @@
#include "colorbox.h"
#include "stylecombobox.h"
#include "oddspinbox.h"
#include "percentslider.h"
#include "optionsdialog.h"
#define MENU_MARGIN 20
#define MENU_ICON_SIZE 32
QWidget *OptionsDialog::createAppearancePage()
{
_baseColor = new ColorBox();
@ -31,14 +32,39 @@ QWidget *OptionsDialog::createAppearancePage()
_colorOffset->setMaximum(1.0);
_colorOffset->setSingleStep(0.01);
_colorOffset->setValue(_options->palette.shift());
QFormLayout *paletteLayout = new QFormLayout();
paletteLayout->addRow(tr("Base color:"), _baseColor);
paletteLayout->addRow(tr("Palette shift:"), _colorOffset);
#ifndef Q_OS_MAC
QGroupBox *pathsBox = new QGroupBox(tr("Paths"));
pathsBox->setLayout(paletteLayout);
#endif
_mapOpacity = new PercentSlider();
_mapOpacity->setValue(_options->mapOpacity);
QFormLayout *mapLayout = new QFormLayout();
mapLayout->addRow(tr("Map opacity:"), _mapOpacity);
#ifndef Q_OS_MAC
QGroupBox *mapBox = new QGroupBox(tr("Map"));
mapBox->setLayout(mapLayout);
#endif
QWidget *colorTab = new QWidget();
colorTab->setLayout(paletteLayout);
QVBoxLayout *colorTabLayout = new QVBoxLayout();
#ifdef Q_OS_MAC
QFrame *l0 = new QFrame();
l0->setFrameShape(QFrame::HLine);
l0->setFrameShadow(QFrame::Sunken);
colorTabLayout->addLayout(paletteLayout);
colorTabLayout->addWidget(l0);
colorTabLayout->addLayout(mapLayout);
#else // Q_OS_MAC
colorTabLayout->addWidget(pathsBox);
colorTabLayout->addWidget(mapBox);
#endif // O_OS_MAC
colorTabLayout->addStretch();
colorTab->setLayout(colorTabLayout);
_trackWidth = new QSpinBox();
_trackWidth->setValue(_options->trackWidth);
@ -369,6 +395,7 @@ void OptionsDialog::accept()
{
_options->palette.setColor(_baseColor->color());
_options->palette.setShift(_colorOffset->value());
_options->mapOpacity = _mapOpacity->value();
_options->trackWidth = _trackWidth->value();
_options->trackStyle = (Qt::PenStyle) _trackStyle->itemData(
_trackStyle->currentIndex()).toInt();

View File

@ -12,10 +12,12 @@ class QSpinBox;
class QDoubleSpinBox;
class QComboBox;
class QCheckBox;
class PercentSlider;
struct Options {
// Appearance
Palette palette;
int mapOpacity;
int trackWidth;
int routeWidth;
Qt::PenStyle trackStyle;
@ -71,6 +73,7 @@ private:
// Appearance
ColorBox *_baseColor;
QDoubleSpinBox *_colorOffset;
PercentSlider *_mapOpacity;
QSpinBox *_trackWidth;
StyleComboBox *_trackStyle;
QSpinBox *_routeWidth;

View File

@ -1,3 +1,4 @@
#include <cstring>
#include <QtEndian>
#include <QFile>
#include "ozf.h"
@ -52,8 +53,8 @@ bool OZF::read(void *data, size_t size, size_t decryptSize)
bool OZF::initOZF3()
{
quint8 randomNumber, initial;
quint32 keyblock;
quint8 h1[8];
quint8 h2[16], h2d[16];
if (!_file.seek(14))
@ -75,41 +76,23 @@ bool OZF::initOZF3()
return false;
_tileSize = *(h1 + 6);
if (!_file.seek(15 + randomNumber))
if (!_file.seek(15 + randomNumber + 4))
return false;
if (!readValue(keyblock))
if (_file.read((char*)h2, sizeof(h2)) != (qint64)sizeof(h2))
return false;
switch (keyblock & 0xFF) {
case 0xf1:
initial += 0x8a;
break;
case 0x18:
case 0x54:
initial += 0xa0;
break;
case 0x56:
initial += 0xb9;
break;
case 0x43:
initial += 0x6a;
break;
case 0x83:
initial += 0xa4;
break;
case 0xc5:
initial += 0x7e;
break;
case 0x38:
initial += 0xc1;
break;
default:
break;
for (int i = 0; i < 256; i++) {
memcpy(h2d, h2, sizeof(h2d));
decrypt(h2d, sizeof(h2d), (quint8)i);
if ((quint32)*h2d == 40 && (quint16)*(h2d + 12) == 1
&& (quint16)*(h2d + 14) == 8) {
_key = (quint8)i;
return true;
}
}
_key = initial;
return true;
return false;
}
bool OZF::initOZF2()
@ -135,8 +118,10 @@ bool OZF::readHeaders()
} else if (magic == OZF3_MAGIC) {
if (!initOZF3())
return false;
} else
} else {
qWarning("%s: not a OZF2/OZF3 file", qPrintable(_file.fileName()));
return false;
}
return true;
}
@ -196,7 +181,7 @@ bool OZF::readTileTable()
_zooms.append(zoom);
}
return true;
return _zooms.isEmpty() ? false : true;
}
bool OZF::load(const QString &path)
@ -209,13 +194,13 @@ bool OZF::load(const QString &path)
return false;
if (!readHeaders()) {
qWarning("%s: not a OZF2/OZF3 file", qPrintable(_file.fileName()));
qWarning("%s: Invalid header", qPrintable(_file.fileName()));
_file.close();
return false;
}
if (!readTileTable()) {
qWarning("%s: file format error", qPrintable(_file.fileName()));
qWarning("%s: Invalid tile table", qPrintable(_file.fileName()));
_file.close();
return false;
}

View File

@ -46,6 +46,7 @@ PathView::PathView(Map *map, POI *poi, QWidget *parent)
connect(_poi, SIGNAL(pointsChanged()), this, SLOT(updatePOI()));
_units = Metric;
_opacity = 1.0;
_showMap = true;
_showTracks = true;
@ -144,7 +145,7 @@ void PathView::addWaypoints(const QList<Waypoint> &waypoints)
QList<PathItem *> PathView::loadData(const Data &data)
{
QList<PathItem *> paths;
qreal scale = _map->zoom();
qreal zoom = _map->zoom();
for (int i = 0; i < data.tracks().count(); i++)
paths.append(addTrack(*(data.tracks().at(i))));
@ -155,7 +156,7 @@ QList<PathItem *> PathView::loadData(const Data &data)
if (_tracks.empty() && _routes.empty() && _waypoints.empty())
return paths;
if (mapScale() != scale)
if (mapZoom() != zoom)
rescale();
else
updatePOIVisibility();
@ -179,11 +180,11 @@ void PathView::updateWaypointsBoundingRect(const Coordinates &wp)
_wr.unite(wp);
}
qreal PathView::mapScale() const
qreal PathView::mapZoom() const
{
RectC br = _tr | _rr | _wr;
return _map->zoomFit(viewport()->size() - QSize(MARGIN/2, MARGIN/2), br);
return _map->zoomFit(viewport()->size() - QSize(2*MARGIN, 2*MARGIN), br);
}
QPointF PathView::contentCenter() const
@ -637,18 +638,28 @@ void PathView::setRouteStyle(Qt::PenStyle style)
_routes.at(i)->setStyle(style);
}
void PathView::setMapOpacity(int opacity)
{
_opacity = opacity / 100.0;
resetCachedContent();
}
void PathView::drawBackground(QPainter *painter, const QRectF &rect)
{
if (_showMap)
if (_showMap) {
if (_opacity < 1.0) {
painter->fillRect(rect, Qt::white);
painter->setOpacity(_opacity);
}
_map->draw(painter, rect);
else
} else
painter->fillRect(rect, Qt::white);
}
void PathView::resizeEvent(QResizeEvent *event)
{
qreal scale = _map->zoom();
if (mapScale() != scale)
qreal zoom = _map->zoom();
if (mapZoom() != zoom)
rescale();
QPointF center = contentCenter();

View File

@ -63,6 +63,7 @@ public slots:
void setRouteWidth(int width);
void setTrackStyle(Qt::PenStyle style);
void setRouteStyle(Qt::PenStyle style);
void setMapOpacity(int opacity);
private slots:
void updatePOI();
@ -75,7 +76,7 @@ private:
void loadPOI();
void clearPOI();
qreal mapScale() const;
qreal mapZoom() const;
QPointF contentCenter() const;
void rescale();
void zoom(int zoom, const QPoint &pos, const Coordinates &c);
@ -106,6 +107,7 @@ private:
POI *_poi;
Palette _palette;
Units _units;
qreal _opacity;
bool _showMap;
bool _showTracks;

48
src/percentslider.cpp Normal file
View File

@ -0,0 +1,48 @@
#include <QSlider>
#include <QLabel>
#include <QHBoxLayout>
#include "units.h"
#include "percentslider.h"
static QString format(int value)
{
return QString::number(value) + UNIT_SPACE + QString("%");
}
PercentSlider::PercentSlider(QWidget *parent) : QWidget(parent)
{
_slider = new QSlider(Qt::Horizontal);
_label = new QLabel();
_slider->setMinimum(0);
_slider->setMaximum(100);
QFontMetrics fm(_label->font());
_label->setFixedWidth(fm.boundingRect(format(_slider->maximum())).width());
_label->setAlignment(Qt::AlignRight);
connect(_slider, SIGNAL(sliderMoved(int)), this, SLOT(updateLabel(int)));
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(_slider);
layout->addWidget(_label);
setLayout(layout);
}
void PercentSlider::updateLabel(int value)
{
_label->setText(format(value));
}
int PercentSlider::value() const
{
return _slider->value();
}
void PercentSlider::setValue(int value)
{
_slider->setValue(value);
_label->setText(format(value));
}

29
src/percentslider.h Normal file
View File

@ -0,0 +1,29 @@
#ifndef PERCENTSLIDER_H
#define PERCENTSLIDER_H
#include <QWidget>
class QSlider;
class QLabel;
class PercentSlider : public QWidget
{
Q_OBJECT
public:
PercentSlider(QWidget *parent = 0);
int value() const;
public slots:
void setValue(int value);
private slots:
void updateLabel(int value);
private:
QSlider *_slider;
QLabel *_label;
};
#endif // PERCENTSLIDER_H

View File

@ -76,6 +76,8 @@
#define PALETTE_COLOR_DEFAULT QColor(Qt::blue)
#define PALETTE_SHIFT_SETTING "paletteShift"
#define PALETTE_SHIFT_DEFAULT 0.62
#define MAP_OPACITY_SETTING "mapOpacity"
#define MAP_OPACITY_DEFAULT 100
#define TRACK_WIDTH_SETTING "trackWidth"
#define TRACK_WIDTH_DEFAULT 3
#define ROUTE_WIDTH_SETTING "routeWidth"

View File

@ -25,10 +25,6 @@ enum Units {
#define C2FS 1.8 // Celsius to Farenheit - scale
#define C2FO 32.0 // Celsius to Farenheit - offset
#ifdef Q_OS_WIN32
#define UNIT_SPACE QString(" ")
#else // Q_OS_WIN32
#define UNIT_SPACE QString::fromUtf8("\xE2\x80\x89")
#endif // Q_OS_WIN32
#endif // UNITS_H