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

Compare commits

..

30 Commits
4.10 ... 4.13

Author SHA1 Message Date
b14eeb58ab Fixed scale size in hi-res prints 2017-08-31 16:28:37 +02:00
8e932b966c Fixed msvc warning 2017-08-31 15:32:44 +02:00
35818ce16e Removed obsolete size guard 2017-08-31 08:10:09 +02:00
6ef7537dff Added some more paper sizes 2017-08-31 07:57:46 +02:00
abbb823890 Removed DPI dependency in print font size computation 2017-08-31 00:07:29 +02:00
0a4f8a46d4 Update gpxsee_sv.ts (#31)
* Update gpxsee_sv.ts

* Update gpxsee_sv.ts

Sorry, missed 2 strings.
2017-08-30 21:59:14 +02:00
fd2823c703 Version++ 2017-08-30 13:59:22 +02:00
d16b61051f Localization update 2017-08-30 13:56:23 +02:00
e69f17aad5 Print font size id now appropriate to the page size 2017-08-30 13:09:54 +02:00
33b1e179d3 Use the correct DPI value for zooming 2017-08-29 15:31:12 +02:00
5efb9f8a4e Added resolution setting to export dialogue. 2017-08-28 17:48:46 +02:00
ebf39f11bd Added support for hi-resolution printing 2017-08-28 15:25:45 +02:00
8b7422b70a Code cleanup 2017-08-27 12:19:33 +02:00
ef3da2e156 Removed obsolete Windows XP bug workaround 2017-08-24 21:04:01 +02:00
6e13c2b704 Translations update 2017-08-24 19:40:52 +02:00
f3e4719439 Added map opacity (brightness) settings 2017-08-24 17:29:59 +02:00
7b6789e78d Version++ 2017-08-23 15:42:00 +02:00
95442461fc Added 4UMaps to map sources 2017-08-23 15:41:23 +02:00
729cbd641c Added support for the VICGRID and VICGRID94 projections 2017-08-23 10:46:28 +02:00
2e2dad8d04 Fixed broken xy2ll computation on southern hemispheres 2017-08-23 10:45:23 +02:00
4e3b6c2eb2 Added missing error check 2017-08-22 23:14:32 +02:00
6430933a96 Use the (incorrect) scale factor of 1 in France zone projections like OziExplorer does 2017-08-22 22:59:59 +02:00
3e14d4afda Added France Zone I-IV projections support 2017-08-22 19:03:35 +02:00
ebb30a3fca Made OZF3 files parsing more robust. 2017-08-22 15:57:37 +02:00
bd20d40ba7 Fixed content margin computation.
Code cleanup.
2017-08-20 10:49:58 +02:00
77823fba14 Added missing newlines 2017-08-15 15:58:23 +02:00
dcc5cbe9bc Added appveyor build config 2017-08-15 15:49:28 +02:00
cd3c99b065 Added QT4 Travis CI build config 2017-08-15 15:42:47 +02:00
83189a4e65 Version++ 2017-08-15 15:14:44 +02:00
797fd7f02b Fixed QT4 build 2017-08-15 15:13:34 +02:00
40 changed files with 780 additions and 385 deletions

52
.appveyor.yml Normal file
View File

@ -0,0 +1,52 @@
version: 4.13.{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.10
VERSION = 4.13
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

@ -115,7 +115,7 @@
<context>
<name>ExportDialog</name>
<message>
<location filename="../src/exportdialog.cpp" line="120"/>
<location filename="../src/exportdialog.cpp" line="128"/>
<source>Export to PDF</source>
<translation>Exportovat do PDF</translation>
</message>
@ -125,79 +125,84 @@
<translation>Soubory PDF (*.pdf);;Všechny soubory (*)</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="38"/>
<location filename="../src/exportdialog.cpp" line="45"/>
<source>Portrait</source>
<translation>Na výšku</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="39"/>
<location filename="../src/exportdialog.cpp" line="46"/>
<source>Landscape</source>
<translation>Na šířku</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="83"/>
<location filename="../src/exportdialog.cpp" line="90"/>
<source>Page size:</source>
<translation>Velikost stránky:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="84"/>
<location filename="../src/exportdialog.cpp" line="92"/>
<source>Orientation:</source>
<translation>Orientace:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="80"/>
<location filename="../src/exportdialog.cpp" line="87"/>
<source>Page Setup</source>
<translation>Nastavení stránky</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="52"/>
<location filename="../src/exportdialog.cpp" line="59"/>
<source>in</source>
<translation>in</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="52"/>
<location filename="../src/exportdialog.cpp" line="59"/>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="85"/>
<location filename="../src/exportdialog.cpp" line="91"/>
<source>Resolution:</source>
<translation>Rozlišení:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="93"/>
<source>Margins:</source>
<translation>Okraje:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="91"/>
<location filename="../src/exportdialog.cpp" line="99"/>
<source>File:</source>
<translation>Soubor:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="98"/>
<location filename="../src/exportdialog.cpp" line="106"/>
<source>Output file</source>
<translation>Výstupní soubor</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="105"/>
<location filename="../src/exportdialog.cpp" line="113"/>
<source>Export</source>
<translation>Exportovat</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="127"/>
<location filename="../src/exportdialog.cpp" line="137"/>
<location filename="../src/exportdialog.cpp" line="142"/>
<location filename="../src/exportdialog.cpp" line="135"/>
<location filename="../src/exportdialog.cpp" line="145"/>
<location filename="../src/exportdialog.cpp" line="150"/>
<source>Error</source>
<translation>Chyba</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="127"/>
<location filename="../src/exportdialog.cpp" line="135"/>
<source>No output file selected.</source>
<translation>Nebyl zvolen žádný výstupní soubor.</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="137"/>
<location filename="../src/exportdialog.cpp" line="145"/>
<source>%1 is a directory.</source>
<translation>%1 je adresář.</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="142"/>
<location filename="../src/exportdialog.cpp" line="150"/>
<source>%1 is not writable.</source>
<translation>%1 nelze zapsat.</translation>
</message>
@ -386,7 +391,7 @@
</message>
<message>
<location filename="../src/gui.cpp" line="443"/>
<location filename="../src/gui.cpp" line="1006"/>
<location filename="../src/gui.cpp" line="1009"/>
<source>Moving time</source>
<translation>Čistý čas</translation>
</message>
@ -526,33 +531,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="1202"/>
<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="1238"/>
<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="998"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="984"/>
<location filename="../src/gui.cpp" line="987"/>
<source>Routes</source>
<translation>Trasy</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1218"/>
<location filename="../src/gui.cpp" line="1223"/>
<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="1242"/>
<source>%n files</source>
<translation>
<numerusform>%n soubor</numerusform>
@ -581,7 +586,7 @@
<translation>Exportovat do PDF...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="986"/>
<location filename="../src/gui.cpp" line="989"/>
<source>Waypoints</source>
<translation>Navigační body</translation>
</message>
@ -642,12 +647,12 @@
<translation>Soubor POI nelze načíst:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="978"/>
<location filename="../src/gui.cpp" line="981"/>
<source>Name</source>
<translation>Název</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="982"/>
<location filename="../src/gui.cpp" line="985"/>
<source>Tracks</source>
<translation>Cesty</translation>
</message>
@ -669,14 +674,14 @@
</message>
<message>
<location filename="../src/gui.cpp" line="412"/>
<location filename="../src/gui.cpp" line="1002"/>
<location filename="../src/gui.cpp" line="1005"/>
<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="1007"/>
<source>Time</source>
<translation>Čas</translation>
</message>
@ -770,256 +775,292 @@
<context>
<name>OptionsDialog</name>
<message>
<location filename="../src/optionsdialog.cpp" line="36"/>
<location filename="../src/optionsdialog.cpp" line="37"/>
<source>Base color:</source>
<translation>Základní barva:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="37"/>
<location filename="../src/optionsdialog.cpp" line="38"/>
<source>Palette shift:</source>
<translation>Posun palety:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="49"/>
<location filename="../src/optionsdialog.cpp" line="76"/>
<source>Track width:</source>
<translation>Šířka cest:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="50"/>
<location filename="../src/optionsdialog.cpp" line="77"/>
<source>Track style:</source>
<translation>Styl cest:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="52"/>
<location filename="../src/optionsdialog.cpp" line="79"/>
<source>Tracks</source>
<translation>Cesty</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="62"/>
<location filename="../src/optionsdialog.cpp" line="89"/>
<source>Route width:</source>
<translation>Šířka tras:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="63"/>
<location filename="../src/optionsdialog.cpp" line="90"/>
<source>Route style:</source>
<translation>Styl tras:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="65"/>
<location filename="../src/optionsdialog.cpp" line="92"/>
<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="96"/>
<location filename="../src/optionsdialog.cpp" line="129"/>
<source>Use anti-aliasing</source>
<translation>Vyhlazovat hrany</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="100"/>
<location filename="../src/optionsdialog.cpp" line="127"/>
<source>Line width:</source>
<translation>Šířka čar:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="116"/>
<location filename="../src/optionsdialog.cpp" line="143"/>
<source>Colors</source>
<translation>Barvy</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="117"/>
<location filename="../src/optionsdialog.cpp" line="40"/>
<location filename="../src/optionsdialog.cpp" line="144"/>
<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="47"/>
<source>Map opacity:</source>
<translation>Neprůhlednost mapy:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="49"/>
<source>Map</source>
<translation>Mapa</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="145"/>
<location filename="../src/optionsdialog.cpp" line="336"/>
<source>Graphs</source>
<translation>Grafy</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="125"/>
<location filename="../src/optionsdialog.cpp" line="152"/>
<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="171"/>
<source>Elevation:</source>
<translation>Výška:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="145"/>
<location filename="../src/optionsdialog.cpp" line="172"/>
<source>Speed:</source>
<translation>Rychlost:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="146"/>
<location filename="../src/optionsdialog.cpp" line="173"/>
<source>Heart rate:</source>
<translation>Tep:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="147"/>
<location filename="../src/optionsdialog.cpp" line="174"/>
<source>Cadence:</source>
<translation>Kadence:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="148"/>
<location filename="../src/optionsdialog.cpp" line="175"/>
<source>Power:</source>
<translation>Výkon:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="150"/>
<location filename="../src/optionsdialog.cpp" line="177"/>
<source>Smoothing</source>
<translation>Vyhlazování</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="154"/>
<location filename="../src/optionsdialog.cpp" line="181"/>
<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="187"/>
<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="194"/>
<source>Smoothing:</source>
<translation>Vyhlazování:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="190"/>
<location filename="../src/optionsdialog.cpp" line="217"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="193"/>
<location filename="../src/optionsdialog.cpp" line="220"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="197"/>
<location filename="../src/optionsdialog.cpp" line="224"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="201"/>
<location filename="../src/optionsdialog.cpp" line="228"/>
<source>Minimal speed:</source>
<translation>Minimální rychlost:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="202"/>
<location filename="../src/optionsdialog.cpp" line="229"/>
<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="236"/>
<source>Filtering</source>
<translation>Filtrování</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="210"/>
<location filename="../src/optionsdialog.cpp" line="237"/>
<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="249"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="225"/>
<location filename="../src/optionsdialog.cpp" line="252"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="229"/>
<location filename="../src/optionsdialog.cpp" line="256"/>
<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="262"/>
<location filename="../src/optionsdialog.cpp" line="392"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="242"/>
<location filename="../src/optionsdialog.cpp" line="269"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="270"/>
<source>High-Resolution</source>
<translation>Vysoké rozlišení</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="275"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Oblast tisku přibližně odpovídá zobrazované oblasti. Přiblížení mapy se nemění.</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="277"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Přiblížení mapy bude upraveno tak, aby se celý obsah (trasy/body) vešel do oblasti tisku a rozlišení mapy bylo co nejblíže rozlišení tisku.</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="299"/>
<source>Name</source>
<translation>Název</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="244"/>
<location filename="../src/optionsdialog.cpp" line="301"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="246"/>
<location filename="../src/optionsdialog.cpp" line="303"/>
<source>Distance</source>
<translation>Vzdálenost</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="248"/>
<location filename="../src/optionsdialog.cpp" line="305"/>
<source>Time</source>
<translation>Čas</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="250"/>
<location filename="../src/optionsdialog.cpp" line="307"/>
<source>Moving time</source>
<translation>Čistý čas</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="252"/>
<location filename="../src/optionsdialog.cpp" line="309"/>
<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="324"/>
<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="334"/>
<source>Print mode</source>
<translation>Režim tisku</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="335"/>
<source>Header</source>
<translation>Záhlaví</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="285"/>
<location filename="../src/optionsdialog.cpp" line="343"/>
<source>Use OpenGL</source>
<translation>Používat OpenGL</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="297"/>
<location filename="../src/optionsdialog.cpp" line="355"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="301"/>
<location filename="../src/optionsdialog.cpp" line="359"/>
<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="372"/>
<location filename="../src/optionsdialog.cpp" line="395"/>
<source>System</source>
<translation>Systém</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="331"/>
<location filename="../src/optionsdialog.cpp" line="389"/>
<source>Appearance</source>
<translation>Vzhled</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="333"/>
<location filename="../src/optionsdialog.cpp" line="391"/>
<source>Data</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="335"/>
<location filename="../src/optionsdialog.cpp" line="393"/>
<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="422"/>
<source>Options</source>
<translation>Nastavení</translation>
</message>

View File

@ -115,7 +115,7 @@
<context>
<name>ExportDialog</name>
<message>
<location filename="../src/exportdialog.cpp" line="120"/>
<location filename="../src/exportdialog.cpp" line="128"/>
<source>Export to PDF</source>
<translation>PDF Export</translation>
</message>
@ -125,79 +125,84 @@
<translation>PDF-Dateien (*.pdf);;Alle Dateien (*)</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="38"/>
<location filename="../src/exportdialog.cpp" line="45"/>
<source>Portrait</source>
<translation>Hochformat</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="39"/>
<location filename="../src/exportdialog.cpp" line="46"/>
<source>Landscape</source>
<translation>Querformat</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="83"/>
<location filename="../src/exportdialog.cpp" line="90"/>
<source>Page size:</source>
<translation>Seitengröße:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="84"/>
<location filename="../src/exportdialog.cpp" line="92"/>
<source>Orientation:</source>
<translation>Orientierung:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="80"/>
<location filename="../src/exportdialog.cpp" line="87"/>
<source>Page Setup</source>
<translation>Seiten Setup</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="52"/>
<location filename="../src/exportdialog.cpp" line="59"/>
<source>in</source>
<translation>in</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="52"/>
<location filename="../src/exportdialog.cpp" line="59"/>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="85"/>
<location filename="../src/exportdialog.cpp" line="91"/>
<source>Resolution:</source>
<translation>Druckauflösung:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="93"/>
<source>Margins:</source>
<translation>Ränder:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="91"/>
<location filename="../src/exportdialog.cpp" line="99"/>
<source>File:</source>
<translation>Ausgabedatei:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="98"/>
<location filename="../src/exportdialog.cpp" line="106"/>
<source>Output file</source>
<translation>Ausgabedatei</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="105"/>
<location filename="../src/exportdialog.cpp" line="113"/>
<source>Export</source>
<translation>Export</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="127"/>
<location filename="../src/exportdialog.cpp" line="137"/>
<location filename="../src/exportdialog.cpp" line="142"/>
<location filename="../src/exportdialog.cpp" line="135"/>
<location filename="../src/exportdialog.cpp" line="145"/>
<location filename="../src/exportdialog.cpp" line="150"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="127"/>
<location filename="../src/exportdialog.cpp" line="135"/>
<source>No output file selected.</source>
<translation>Keine Ausgabedatei ausgewählt.</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="137"/>
<location filename="../src/exportdialog.cpp" line="145"/>
<source>%1 is a directory.</source>
<translation>%1 ist ein Verzeichniss.</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="142"/>
<location filename="../src/exportdialog.cpp" line="150"/>
<source>%1 is not writable.</source>
<translation>%1 ist nich schreibbar.</translation>
</message>
@ -386,7 +391,7 @@
</message>
<message>
<location filename="../src/gui.cpp" line="443"/>
<location filename="../src/gui.cpp" line="1006"/>
<location filename="../src/gui.cpp" line="1009"/>
<source>Moving time</source>
<translation>Bewegungszeit</translation>
</message>
@ -531,22 +536,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="1202"/>
<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="1223"/>
<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="1238"/>
<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="1242"/>
<source>%n files</source>
<translation>
<numerusform>%n Datei</numerusform>
@ -554,13 +559,13 @@
</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="992"/>
<location filename="../src/gui.cpp" line="995"/>
<location filename="../src/gui.cpp" line="998"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="984"/>
<location filename="../src/gui.cpp" line="987"/>
<source>Routes</source>
<translation>Routen</translation>
</message>
@ -585,7 +590,7 @@
<translation>Als PDF exportieren...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="986"/>
<location filename="../src/gui.cpp" line="989"/>
<source>Waypoints</source>
<translation>Wegpunkte</translation>
</message>
@ -641,12 +646,12 @@
<translation>Fehler beim Laden der POI-Datei:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="978"/>
<location filename="../src/gui.cpp" line="981"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="982"/>
<location filename="../src/gui.cpp" line="985"/>
<source>Tracks</source>
<translation>Strecken</translation>
</message>
@ -668,14 +673,14 @@
</message>
<message>
<location filename="../src/gui.cpp" line="412"/>
<location filename="../src/gui.cpp" line="1002"/>
<location filename="../src/gui.cpp" line="1005"/>
<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="1007"/>
<source>Time</source>
<translation>Zeit</translation>
</message>
@ -763,262 +768,298 @@
<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>
<name>OptionsDialog</name>
<message>
<location filename="../src/optionsdialog.cpp" line="36"/>
<location filename="../src/optionsdialog.cpp" line="37"/>
<source>Base color:</source>
<translation>Grundfarbe:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="37"/>
<location filename="../src/optionsdialog.cpp" line="38"/>
<source>Palette shift:</source>
<translation>Palettenverschiebung:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="49"/>
<location filename="../src/optionsdialog.cpp" line="76"/>
<source>Track width:</source>
<translation>Streckenbreite:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="50"/>
<location filename="../src/optionsdialog.cpp" line="77"/>
<source>Track style:</source>
<translation>Streckenstil:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="52"/>
<location filename="../src/optionsdialog.cpp" line="79"/>
<source>Tracks</source>
<translation>Strecken</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="62"/>
<location filename="../src/optionsdialog.cpp" line="89"/>
<source>Route width:</source>
<translation>Routenbreite:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="63"/>
<location filename="../src/optionsdialog.cpp" line="90"/>
<source>Route style:</source>
<translation>Routenstil:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="65"/>
<location filename="../src/optionsdialog.cpp" line="92"/>
<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="96"/>
<location filename="../src/optionsdialog.cpp" line="129"/>
<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="127"/>
<source>Line width:</source>
<translation>Linienbreite:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="116"/>
<location filename="../src/optionsdialog.cpp" line="143"/>
<source>Colors</source>
<translation>Farben</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="117"/>
<location filename="../src/optionsdialog.cpp" line="40"/>
<location filename="../src/optionsdialog.cpp" line="144"/>
<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="47"/>
<source>Map opacity:</source>
<translation>Karte Deckkraft:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="49"/>
<source>Map</source>
<translation>Karte</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="145"/>
<location filename="../src/optionsdialog.cpp" line="336"/>
<source>Graphs</source>
<translation>Graphen</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="125"/>
<location filename="../src/optionsdialog.cpp" line="152"/>
<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="171"/>
<source>Elevation:</source>
<translation>Höhe:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="145"/>
<location filename="../src/optionsdialog.cpp" line="172"/>
<source>Speed:</source>
<translation>Geschwindigkeit:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="146"/>
<location filename="../src/optionsdialog.cpp" line="173"/>
<source>Heart rate:</source>
<translation>Herzfrequenz:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="147"/>
<location filename="../src/optionsdialog.cpp" line="174"/>
<source>Cadence:</source>
<translation>Frequenz:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="148"/>
<location filename="../src/optionsdialog.cpp" line="175"/>
<source>Power:</source>
<translation>Leistung:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="150"/>
<location filename="../src/optionsdialog.cpp" line="177"/>
<source>Smoothing</source>
<translation>Glätten</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="154"/>
<location filename="../src/optionsdialog.cpp" line="181"/>
<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="187"/>
<source>Outlier elimination</source>
<translation>Ausreißer Entfernung</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="167"/>
<location filename="../src/optionsdialog.cpp" line="194"/>
<source>Smoothing:</source>
<translation>Glätten:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="190"/>
<location filename="../src/optionsdialog.cpp" line="217"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="193"/>
<location filename="../src/optionsdialog.cpp" line="220"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="197"/>
<location filename="../src/optionsdialog.cpp" line="224"/>
<source>s</source>
<translation>sek</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="201"/>
<location filename="../src/optionsdialog.cpp" line="228"/>
<source>Minimal speed:</source>
<translation>Minimale Geschwindigkeit:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="202"/>
<location filename="../src/optionsdialog.cpp" line="229"/>
<source>Minimal duration:</source>
<translation>Minimale Dauer:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="209"/>
<location filename="../src/optionsdialog.cpp" line="236"/>
<source>Filtering</source>
<translation>Datenfilterung</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="210"/>
<location filename="../src/optionsdialog.cpp" line="237"/>
<source>Pause detection</source>
<translation>Pausenerkennung</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="222"/>
<location filename="../src/optionsdialog.cpp" line="249"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="225"/>
<location filename="../src/optionsdialog.cpp" line="252"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="229"/>
<location filename="../src/optionsdialog.cpp" line="256"/>
<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="262"/>
<location filename="../src/optionsdialog.cpp" line="392"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="242"/>
<location filename="../src/optionsdialog.cpp" line="269"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="270"/>
<source>High-Resolution</source>
<translation>Hohe Auflösung</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="275"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Der Druckbereich ist circa der Anzeigebereich. Das Karten-Zoom ändert sich nicht.</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="277"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Das Karten-Zoom ändert sich so, dass der ganze Inhalt (Strecken/Wegpunkte) in den Druckbereich passen und die Kartenauflösung so nah wie möglich an der Druckauflösung ist.</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="299"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="244"/>
<location filename="../src/optionsdialog.cpp" line="301"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="246"/>
<location filename="../src/optionsdialog.cpp" line="303"/>
<source>Distance</source>
<translation>Distanz</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="248"/>
<location filename="../src/optionsdialog.cpp" line="305"/>
<source>Time</source>
<translation>Zeit</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="250"/>
<location filename="../src/optionsdialog.cpp" line="307"/>
<source>Moving time</source>
<translation>Bewegungszeit</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="252"/>
<location filename="../src/optionsdialog.cpp" line="309"/>
<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="324"/>
<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="334"/>
<source>Print mode</source>
<translation>Druckmodus</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="335"/>
<source>Header</source>
<translation>Kopfzeile</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="285"/>
<location filename="../src/optionsdialog.cpp" line="343"/>
<source>Use OpenGL</source>
<translation>OpenGL verwenden</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="297"/>
<location filename="../src/optionsdialog.cpp" line="355"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="301"/>
<location filename="../src/optionsdialog.cpp" line="359"/>
<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="372"/>
<location filename="../src/optionsdialog.cpp" line="395"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="331"/>
<location filename="../src/optionsdialog.cpp" line="389"/>
<source>Appearance</source>
<translation>Erscheinungsbild</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="333"/>
<location filename="../src/optionsdialog.cpp" line="391"/>
<source>Data</source>
<translation>Daten</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="335"/>
<location filename="../src/optionsdialog.cpp" line="393"/>
<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="422"/>
<source>Options</source>
<translation>Einstellungen</translation>
</message>

View File

@ -115,7 +115,7 @@
<context>
<name>ExportDialog</name>
<message>
<location filename="../src/exportdialog.cpp" line="120"/>
<location filename="../src/exportdialog.cpp" line="128"/>
<source>Export to PDF</source>
<translation>Exportera till PDF</translation>
</message>
@ -125,79 +125,84 @@
<translation>PDF-filer (*.pdf);;Alla filer (*)</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="38"/>
<location filename="../src/exportdialog.cpp" line="45"/>
<source>Portrait</source>
<translation>Stående</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="39"/>
<location filename="../src/exportdialog.cpp" line="46"/>
<source>Landscape</source>
<translation>Liggande</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="83"/>
<location filename="../src/exportdialog.cpp" line="90"/>
<source>Page size:</source>
<translation>Sidstorlek:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="84"/>
<location filename="../src/exportdialog.cpp" line="92"/>
<source>Orientation:</source>
<translation>Orientering:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="80"/>
<location filename="../src/exportdialog.cpp" line="87"/>
<source>Page Setup</source>
<translation>Sidinställning</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="52"/>
<location filename="../src/exportdialog.cpp" line="59"/>
<source>in</source>
<translation>i</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="52"/>
<location filename="../src/exportdialog.cpp" line="59"/>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="85"/>
<location filename="../src/exportdialog.cpp" line="91"/>
<source>Resolution:</source>
<translation>Upplösning:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="93"/>
<source>Margins:</source>
<translation>Marginaler:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="91"/>
<location filename="../src/exportdialog.cpp" line="99"/>
<source>File:</source>
<translation>Fil:</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="98"/>
<location filename="../src/exportdialog.cpp" line="106"/>
<source>Output file</source>
<translation>Utdatafil</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="105"/>
<location filename="../src/exportdialog.cpp" line="113"/>
<source>Export</source>
<translation>Exportera</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="127"/>
<location filename="../src/exportdialog.cpp" line="137"/>
<location filename="../src/exportdialog.cpp" line="142"/>
<location filename="../src/exportdialog.cpp" line="135"/>
<location filename="../src/exportdialog.cpp" line="145"/>
<location filename="../src/exportdialog.cpp" line="150"/>
<source>Error</source>
<translation>Fel</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="127"/>
<location filename="../src/exportdialog.cpp" line="135"/>
<source>No output file selected.</source>
<translation>Ingen utdatafil vald.</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="137"/>
<location filename="../src/exportdialog.cpp" line="145"/>
<source>%1 is a directory.</source>
<translation>%1 är en mapp.</translation>
</message>
<message>
<location filename="../src/exportdialog.cpp" line="142"/>
<location filename="../src/exportdialog.cpp" line="150"/>
<source>%1 is not writable.</source>
<translation>%1 är skrivskyddad.</translation>
</message>
@ -386,7 +391,7 @@
</message>
<message>
<location filename="../src/gui.cpp" line="443"/>
<location filename="../src/gui.cpp" line="1006"/>
<location filename="../src/gui.cpp" line="1009"/>
<source>Moving time</source>
<translation>Förflyttningstid</translation>
</message>
@ -531,22 +536,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="1202"/>
<source>Open map file</source>
<translation>Öppna kartfil</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1218"/>
<location filename="../src/gui.cpp" line="1223"/>
<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="1238"/>
<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="1242"/>
<source>%n files</source>
<translation>
<numerusform>%n filer</numerusform>
@ -554,13 +559,13 @@
</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="992"/>
<location filename="../src/gui.cpp" line="995"/>
<location filename="../src/gui.cpp" line="998"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="984"/>
<location filename="../src/gui.cpp" line="987"/>
<source>Routes</source>
<translation>Rutter</translation>
</message>
@ -585,7 +590,7 @@
<translation>Exportera till PDF...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="986"/>
<location filename="../src/gui.cpp" line="989"/>
<source>Waypoints</source>
<translation>Vägpunkter</translation>
</message>
@ -641,12 +646,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="981"/>
<source>Name</source>
<translation>Namn</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="982"/>
<location filename="../src/gui.cpp" line="985"/>
<source>Tracks</source>
<translation>Spår</translation>
</message>
@ -668,14 +673,14 @@
</message>
<message>
<location filename="../src/gui.cpp" line="412"/>
<location filename="../src/gui.cpp" line="1002"/>
<location filename="../src/gui.cpp" line="1005"/>
<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="1007"/>
<source>Time</source>
<translation>Tid</translation>
</message>
@ -763,262 +768,298 @@
<message>
<location filename="../src/maplist.cpp" line="128"/>
<source>URL list files (*.txt)</source>
<translation type="unfinished"></translation>
<translation>URL-listfiler (*.txt)</translation>
</message>
</context>
<context>
<name>OptionsDialog</name>
<message>
<location filename="../src/optionsdialog.cpp" line="36"/>
<location filename="../src/optionsdialog.cpp" line="37"/>
<source>Base color:</source>
<translation>Basfärg:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="37"/>
<location filename="../src/optionsdialog.cpp" line="38"/>
<source>Palette shift:</source>
<translation>Palettskiftning:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="49"/>
<location filename="../src/optionsdialog.cpp" line="76"/>
<source>Track width:</source>
<translation>Spårtjocklek:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="50"/>
<location filename="../src/optionsdialog.cpp" line="77"/>
<source>Track style:</source>
<translation>Spårstil:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="52"/>
<location filename="../src/optionsdialog.cpp" line="79"/>
<source>Tracks</source>
<translation>Spår</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="62"/>
<location filename="../src/optionsdialog.cpp" line="89"/>
<source>Route width:</source>
<translation>Ruttjocklek:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="63"/>
<location filename="../src/optionsdialog.cpp" line="90"/>
<source>Route style:</source>
<translation>Ruttstil:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="65"/>
<location filename="../src/optionsdialog.cpp" line="92"/>
<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="96"/>
<location filename="../src/optionsdialog.cpp" line="129"/>
<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="127"/>
<source>Line width:</source>
<translation>Linjetjocklek:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="116"/>
<location filename="../src/optionsdialog.cpp" line="143"/>
<source>Colors</source>
<translation>Färger</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="117"/>
<location filename="../src/optionsdialog.cpp" line="40"/>
<location filename="../src/optionsdialog.cpp" line="144"/>
<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="47"/>
<source>Map opacity:</source>
<translation>Kartopacitet</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="49"/>
<source>Map</source>
<translation>Karta</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="145"/>
<location filename="../src/optionsdialog.cpp" line="336"/>
<source>Graphs</source>
<translation>Diagram</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="125"/>
<location filename="../src/optionsdialog.cpp" line="152"/>
<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="171"/>
<source>Elevation:</source>
<translation>Höjd:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="145"/>
<location filename="../src/optionsdialog.cpp" line="172"/>
<source>Speed:</source>
<translation>Hastighet:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="146"/>
<location filename="../src/optionsdialog.cpp" line="173"/>
<source>Heart rate:</source>
<translation>Hjärtfrekvens:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="147"/>
<location filename="../src/optionsdialog.cpp" line="174"/>
<source>Cadence:</source>
<translation>Stegfrekvens:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="148"/>
<location filename="../src/optionsdialog.cpp" line="175"/>
<source>Power:</source>
<translation>Kraft:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="150"/>
<location filename="../src/optionsdialog.cpp" line="177"/>
<source>Smoothing</source>
<translation>Utjämning</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="154"/>
<location filename="../src/optionsdialog.cpp" line="181"/>
<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="187"/>
<source>Outlier elimination</source>
<translation>Extremvärdeseliminering</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="167"/>
<location filename="../src/optionsdialog.cpp" line="194"/>
<source>Smoothing:</source>
<translation>Utjämning:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="190"/>
<location filename="../src/optionsdialog.cpp" line="217"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="193"/>
<location filename="../src/optionsdialog.cpp" line="220"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="197"/>
<location filename="../src/optionsdialog.cpp" line="224"/>
<source>s</source>
<translation>sek</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="201"/>
<location filename="../src/optionsdialog.cpp" line="228"/>
<source>Minimal speed:</source>
<translation>Minsta hastighet:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="202"/>
<location filename="../src/optionsdialog.cpp" line="229"/>
<source>Minimal duration:</source>
<translation>Kortast varaktighet:</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="209"/>
<location filename="../src/optionsdialog.cpp" line="236"/>
<source>Filtering</source>
<translation>Filtrerar</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="210"/>
<location filename="../src/optionsdialog.cpp" line="237"/>
<source>Pause detection</source>
<translation>Pausa identifiering</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="222"/>
<location filename="../src/optionsdialog.cpp" line="249"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="225"/>
<location filename="../src/optionsdialog.cpp" line="252"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="229"/>
<location filename="../src/optionsdialog.cpp" line="256"/>
<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="262"/>
<location filename="../src/optionsdialog.cpp" line="392"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="242"/>
<location filename="../src/optionsdialog.cpp" line="269"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="270"/>
<source>High-Resolution</source>
<translation>Högupplösning</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="275"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Det utskrivna området är ungefär detsamma som synligt område skärmen. Kartans zoomnivå ändras inte.</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="277"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Zoomnivån kommer att ändras att hela innehållet (spår/vägpunkter) passar utskriftsområdet och kartresolutionen är nära som möjligt till utskriftsupplösningen.</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="299"/>
<source>Name</source>
<translation>Namn</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="244"/>
<location filename="../src/optionsdialog.cpp" line="301"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="246"/>
<location filename="../src/optionsdialog.cpp" line="303"/>
<source>Distance</source>
<translation>Avstånd</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="248"/>
<location filename="../src/optionsdialog.cpp" line="305"/>
<source>Time</source>
<translation>Tid</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="250"/>
<location filename="../src/optionsdialog.cpp" line="307"/>
<source>Moving time</source>
<translation>Förflyttningstid</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="252"/>
<location filename="../src/optionsdialog.cpp" line="309"/>
<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="324"/>
<source>Separate graph page</source>
<translation>Separat diagramsida</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="277"/>
<location filename="../src/optionsdialog.cpp" line="334"/>
<source>Print mode</source>
<translation>Utskriftsläge</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="335"/>
<source>Header</source>
<translation></translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="285"/>
<location filename="../src/optionsdialog.cpp" line="343"/>
<source>Use OpenGL</source>
<translation>Använd OpenGL</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="297"/>
<location filename="../src/optionsdialog.cpp" line="355"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="301"/>
<location filename="../src/optionsdialog.cpp" line="359"/>
<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="372"/>
<location filename="../src/optionsdialog.cpp" line="395"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="331"/>
<location filename="../src/optionsdialog.cpp" line="389"/>
<source>Appearance</source>
<translation>Utseende</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="333"/>
<location filename="../src/optionsdialog.cpp" line="391"/>
<source>Data</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="335"/>
<location filename="../src/optionsdialog.cpp" line="393"/>
<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="422"/>
<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.10"
!define VERSION "4.13"
; 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.10"
!define VERSION "4.13"
; 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

@ -303,8 +303,7 @@ void Atlas::draw(QPainter *painter, const QRectF &rect)
{
// All in one map
for (int i = _zooms.at(_zoom).first; i <= _zooms.at(_zoom).second; i++) {
QRectF ir = rect.intersected(_bounds.at(i).second);
if (ir == rect) {
if (_bounds.at(i).second.contains(rect)) {
draw(painter, rect, i);
return;
}

View File

@ -10,8 +10,7 @@
#define APP_HOMEPAGE "http://www.gpxsee.org"
#define FONT_FAMILY "Arial"
#define FONT_SIZE 12
#define SCREEN_DPI 96.0
#define FONT_SIZE 12 // px
#define ELLIPSOID_FILE QString("ellipsoids.csv")
#define DATUM_FILE QString("datums.csv")

View File

@ -19,11 +19,9 @@ qreal Coordinates::distanceTo(const Coordinates &c) const
QDebug operator<<(QDebug dbg, const Coordinates &coordinates)
{
const bool ais = dbg.autoInsertSpaces();
dbg.nospace() << "Coordinates(" << coordinates.lon() << ", "
<< coordinates.lat() << ")";
dbg.setAutoInsertSpaces(ais);
return dbg.maybeSpace();
return dbg.space();
}
QPair<Coordinates, Coordinates> Coordinates::boundingRect(qreal distance) const

View File

@ -26,15 +26,28 @@ ExportDialog::ExportDialog(Export *exp, QWidget *parent)
_fileSelect->setFile(_export->fileName);
_paperSize = new QComboBox();
_paperSize->addItem("A2", QPrinter::A2);
_paperSize->addItem("A3", QPrinter::A3);
_paperSize->addItem("A4", QPrinter::A4);
_paperSize->addItem("A5", QPrinter::A5);
_paperSize->addItem("A6", QPrinter::A6);
_paperSize->addItem("B3", QPrinter::B3);
_paperSize->addItem("B4", QPrinter::B4);
_paperSize->addItem("B5", QPrinter::B5);
_paperSize->addItem("B6", QPrinter::B6);
_paperSize->addItem("Tabloid", QPrinter::Tabloid);
_paperSize->addItem("Legal", QPrinter::Legal);
_paperSize->addItem("Letter", QPrinter::Letter);
if ((index = _paperSize->findData(_export->paperSize)) >= 0)
_paperSize->setCurrentIndex(index);
_resolution = new QComboBox();
_resolution->addItem("300 DPI", 300);
_resolution->addItem("600 DPI", 600);
_resolution->addItem("1200 DPI", 1200);
if ((index = _resolution->findData(_export->resolution)) >= 0)
_resolution->setCurrentIndex(index);
_portrait = new QRadioButton(tr("Portrait"));
_landscape = new QRadioButton(tr("Landscape"));
QHBoxLayout *orientationLayout = new QHBoxLayout();
@ -81,6 +94,7 @@ ExportDialog::ExportDialog(Export *exp, QWidget *parent)
#endif // Q_OS_MAC
QFormLayout *pageSetupLayout = new QFormLayout;
pageSetupLayout->addRow(tr("Page size:"), _paperSize);
pageSetupLayout->addRow(tr("Resolution:"), _resolution);
pageSetupLayout->addRow(tr("Orientation:"), orientationLayout);
pageSetupLayout->addRow(tr("Margins:"), marginsLayout);
#ifdef Q_OS_MAC
@ -161,9 +175,11 @@ void ExportDialog::accept()
? QPrinter::Portrait : QPrinter::Landscape;
QPrinter::PaperSize paperSize = static_cast<QPrinter::PaperSize>
(_paperSize->itemData(_paperSize->currentIndex()).toInt());
int resolution = _resolution->itemData(_resolution->currentIndex()).toInt();
_export->fileName = _fileSelect->file();
_export->paperSize = paperSize;
_export->resolution = resolution;
_export->orientation = orientation;
if (_export->units == Imperial)
_export->margins = MarginsF(_leftMargin->value() / MM2IN,

View File

@ -16,6 +16,7 @@ struct Export {
QPrinter::PaperSize paperSize;
QPrinter::Orientation orientation;
MarginsF margins;
int resolution;
Units units;
};
@ -37,6 +38,7 @@ private:
FileSelectWidget *_fileSelect;
QComboBox *_paperSize;
QComboBox *_resolution;
QRadioButton *_portrait;
QRadioButton *_landscape;
QDoubleSpinBox *_topMargin;

View File

@ -2,9 +2,7 @@
QDebug operator<<(QDebug dbg, const GraphPoint &point)
{
const bool ais = dbg.autoInsertSpaces();
dbg.nospace() << "GraphPoint(" << point.s() << ", " << point.t() << ", "
<< point.y() << ")";
dbg.setAutoInsertSpaces(ais);
return dbg.maybeSpace();
return dbg.space();
}

View File

@ -326,11 +326,9 @@ void GraphView::mousePressEvent(QMouseEvent *e)
QGraphicsView::mousePressEvent(e);
}
void GraphView::plot(QPainter *painter, const QRectF &target)
void GraphView::plot(QPainter *painter, const QRectF &target, qreal scale)
{
qreal ratio = painter->paintEngine()->paintDevice()->logicalDpiX()
/ SCREEN_DPI;
QSizeF canvas = QSizeF(target.width() / ratio, target.height() / ratio);
QSizeF canvas = QSizeF(target.width() / scale, target.height() / scale);
setUpdatesEnabled(false);
redraw(canvas);

View File

@ -53,7 +53,7 @@ public:
qreal sliderPosition() const {return _sliderPos;}
void setSliderPosition(qreal pos);
void plot(QPainter *painter, const QRectF &target);
void plot(QPainter *painter, const QRectF &target, qreal scale);
void useOpenGL(bool use);

View File

@ -854,15 +854,6 @@ void GUI::closePOIFiles()
_poi->clear();
}
void GUI::printFile()
{
QPrinter printer(QPrinter::HighResolution);
QPrintDialog dialog(&printer, this);
if (dialog.exec() == QDialog::Accepted)
plot(&printer);
}
void GUI::openOptions()
{
Options options(_options);
@ -877,6 +868,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)
@ -946,6 +939,15 @@ void GUI::openOptions()
_options = options;
}
void GUI::printFile()
{
QPrinter printer(QPrinter::HighResolution);
QPrintDialog dialog(&printer, this);
if (dialog.exec() == QDialog::Accepted)
plot(&printer);
}
void GUI::exportFile()
{
ExportDialog dialog(&_export, this);
@ -956,6 +958,7 @@ void GUI::exportFile()
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setCreator(QString(APP_NAME) + QString(" ")
+ QString(APP_VERSION));
printer.setResolution(_export.resolution);
printer.setOrientation(_export.orientation);
printer.setOutputFileName(_export.fileName);
printer.setPaperSize(_export.paperSize);
@ -1005,28 +1008,29 @@ void GUI::plot(QPrinter *printer)
if (tm > 0 && _options.printMovingTime)
info.insert(tr("Moving time"), Format::timeSpan(tm));
ratio = p.paintEngine()->paintDevice()->logicalDpiX() / SCREEN_DPI;
qreal fsr = 1085.0 / (qMax(printer->width(), printer->height())
/ (qreal)printer->resolution());
ratio = p.paintEngine()->paintDevice()->logicalDpiX() / fsr;
if (info.isEmpty()) {
ih = 0;
mh = 0;
} else {
ih = info.contentSize().height() * ratio;
mh = ih / 2;
info.plot(&p, QRectF(0, 0, printer->width(), ih));
info.plot(&p, QRectF(0, 0, printer->width(), ih), ratio);
}
if (_graphTabWidget->isVisible() && !_options.separateGraphPage) {
qreal r = (((qreal)(printer)->width()) / (qreal)(printer->height()));
gh = (printer->width() > printer->height())
? 0.15 * r * (printer->height() - ih - 2*mh)
: 0.15 * (printer->height() - ih - 2*mh);
gh = qMax(gh, ratio * 150);
GraphTab *gt = static_cast<GraphTab*>(_graphTabWidget->currentWidget());
gt->plot(&p, QRectF(0, printer->height() - gh, printer->width(), gh));
gt->plot(&p, QRectF(0, printer->height() - gh, printer->width(), gh),
ratio);
} else
gh = 0;
_pathView->plot(&p, QRectF(0, ih + mh, printer->width(), printer->height()
- (ih + 2*mh + gh)));
- (ih + 2*mh + gh)), _options.hiresPrint);
if (_graphTabWidget->isVisible() && _options.separateGraphPage) {
printer->newPage();
@ -1043,7 +1047,8 @@ void GUI::plot(QPrinter *printer)
qreal y = 0;
for (int i = 0; i < _tabs.size(); i++) {
if (_tabs.at(i)->count()) {
_tabs.at(i)->plot(&p, QRectF(0, y, printer->width(), gh));
_tabs.at(i)->plot(&p, QRectF(0, y, printer->width(), gh),
ratio);
y += gh + sp;
}
}
@ -1579,6 +1584,8 @@ void GUI::writeSettings()
settings.beginGroup(EXPORT_SETTINGS_GROUP);
if (_export.orientation != PAPER_ORIENTATION_DEFAULT)
settings.setValue(PAPER_ORIENTATION_SETTING, _export.orientation);
if (_export.resolution != RESOLUTION_DEFAULT)
settings.setValue(RESOLUTION_SETTING, _export.resolution);
if (_export.paperSize != PAPER_SIZE_DEFAULT)
settings.setValue(PAPER_SIZE_SETTING, _export.paperSize);
if (_export.margins.left() != MARGIN_LEFT_DEFAULT)
@ -1598,6 +1605,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)
@ -1634,6 +1643,8 @@ void GUI::writeSettings()
settings.setValue(USE_OPENGL_SETTING, _options.useOpenGL);
if (_options.pixmapCache != PIXMAP_CACHE_DEFAULT)
settings.setValue(PIXMAP_CACHE_SETTING, _options.pixmapCache);
if (_options.hiresPrint != HIRES_PRINT_DEFAULT)
settings.setValue(HIRES_PRINT_SETTING, _options.hiresPrint);
if (_options.printName != PRINT_NAME_DEFAULT)
settings.setValue(PRINT_NAME_SETTING, _options.printName);
if (_options.printDate != PRINT_DATE_DEFAULT)
@ -1773,6 +1784,8 @@ void GUI::readSettings()
settings.beginGroup(EXPORT_SETTINGS_GROUP);
_export.orientation = (QPrinter::Orientation) settings.value(
PAPER_ORIENTATION_SETTING, PAPER_ORIENTATION_DEFAULT).toInt();
_export.resolution = settings.value(RESOLUTION_SETTING, RESOLUTION_DEFAULT)
.toInt();
_export.paperSize = (QPrinter::PaperSize) settings.value(PAPER_SIZE_SETTING,
PAPER_SIZE_DEFAULT).toInt();
qreal ml = settings.value(MARGIN_LEFT_SETTING, MARGIN_LEFT_DEFAULT)
@ -1793,6 +1806,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,
@ -1829,6 +1844,8 @@ void GUI::readSettings()
.toBool();
_options.pixmapCache = settings.value(PIXMAP_CACHE_SETTING,
PIXMAP_CACHE_DEFAULT).toInt();
_options.hiresPrint = settings.value(HIRES_PRINT_SETTING,
HIRES_PRINT_DEFAULT).toBool();
_options.printName = settings.value(PRINT_NAME_SETTING, PRINT_NAME_DEFAULT)
.toBool();
_options.printDate = settings.value(PRINT_DATE_SETTING, PRINT_DATE_DEFAULT)
@ -1845,6 +1862,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

@ -118,8 +118,6 @@ void Matrix::zeroize()
QDebug operator<<(QDebug dbg, const Matrix &matrix)
{
const bool ais = dbg.autoInsertSpaces();
dbg.nospace() << "Matrix(" << endl;
for (size_t i = 0; i < matrix.h(); i++) {
for (size_t j = 0; j < matrix.w(); j++)
@ -128,7 +126,5 @@ QDebug operator<<(QDebug dbg, const Matrix &matrix)
}
dbg << ")";
dbg.setAutoInsertSpaces(ais);
return dbg.maybeSpace();
return dbg.space();
}

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

@ -9,6 +9,7 @@
#include <QGroupBox>
#include <QCheckBox>
#include <QComboBox>
#include <QRadioButton>
#include <QLabel>
#include <QSysInfo>
#include "config.h"
@ -16,12 +17,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 +33,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);
@ -239,6 +266,36 @@ QWidget *OptionsDialog::createPOIPage()
QWidget *OptionsDialog::createExportPage()
{
_wysiwyg = new QRadioButton(tr("WYSIWYG"));
_hires = new QRadioButton(tr("High-Resolution"));
if (_options->hiresPrint)
_hires->setChecked(true);
else
_wysiwyg->setChecked(true);
QLabel *lw = new QLabel(tr("The printed area is approximately the display"
" area. The map zoom level does not change."));
QLabel *lh = new QLabel(tr("The zoom level will be changed so that"
" the whole content (tracks/waypoints) fits to the printed area and"
" the map resolution is as close as possible to the print resolution."));
QFont f = lw->font();
f.setPointSize(f.pointSize() - 1);
lw->setWordWrap(true);
lh->setWordWrap(true);
lw->setFont(f);
lh->setFont(f);
QVBoxLayout *modeTabLayout = new QVBoxLayout();
modeTabLayout->addWidget(_wysiwyg);
modeTabLayout->addWidget(lw);
modeTabLayout->addSpacing(10);
modeTabLayout->addWidget(_hires);
modeTabLayout->addWidget(lh);
modeTabLayout->addStretch();
QWidget *modeTab = new QWidget();
modeTab->setLayout(modeTabLayout);
_name = new QCheckBox(tr("Name"));
_name->setChecked(_options->printName);
_date = new QCheckBox(tr("Date"));
@ -274,6 +331,7 @@ QWidget *OptionsDialog::createExportPage()
QTabWidget *exportPage = new QTabWidget();
exportPage->addTab(modeTab, tr("Print mode"));
exportPage->addTab(headerTab, tr("Header"));
exportPage->addTab(graphTab, tr("Graphs"));
@ -369,6 +427,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();
@ -395,6 +454,7 @@ void OptionsDialog::accept()
_options->useOpenGL = _useOpenGL->isChecked();
_options->pixmapCache = _pixmapCache->value();
_options->hiresPrint = _hires->isChecked();
_options->printName = _name->isChecked();
_options->printDate = _date->isChecked();
_options->printDistance = _distance->isChecked();

View File

@ -12,10 +12,13 @@ class QSpinBox;
class QDoubleSpinBox;
class QComboBox;
class QCheckBox;
class QRadioButton;
class PercentSlider;
struct Options {
// Appearance
Palette palette;
int mapOpacity;
int trackWidth;
int routeWidth;
Qt::PenStyle trackStyle;
@ -38,6 +41,7 @@ struct Options {
bool useOpenGL;
int pixmapCache;
// Print/Export
bool hiresPrint;
bool printName;
bool printDate;
bool printDistance;
@ -71,6 +75,7 @@ private:
// Appearance
ColorBox *_baseColor;
QDoubleSpinBox *_colorOffset;
PercentSlider *_mapOpacity;
QSpinBox *_trackWidth;
StyleComboBox *_trackStyle;
QSpinBox *_routeWidth;
@ -93,6 +98,8 @@ private:
QSpinBox *_pixmapCache;
QCheckBox *_useOpenGL;
// Print/Export
QRadioButton *_wysiwyg;
QRadioButton *_hires;
QCheckBox *_name;
QCheckBox *_date;
QCheckBox *_distance;

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;
}
@ -152,7 +137,8 @@ bool OZF::readTileTable()
return false;
if (!readValue(tableOffset))
return false;
zooms = (_file.size() - tableOffset - sizeof(quint32)) / sizeof(quint32);
zooms = (int)((_file.size() - tableOffset - sizeof(quint32))
/ sizeof(quint32));
for (int i = 0; i < zooms - 2; i++) {
if (!_file.seek(tableOffset + i * sizeof(quint32)))
@ -196,7 +182,7 @@ bool OZF::readTileTable()
_zooms.append(zoom);
}
return true;
return _zooms.isEmpty() ? false : true;
}
bool OZF::load(const QString &path)
@ -209,13 +195,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

@ -39,9 +39,7 @@ void Palette::reset()
QDebug operator<<(QDebug dbg, const Palette &palette)
{
const bool ais = dbg.autoInsertSpaces();
dbg.nospace() << "Palette(" << palette.color() << ", " << palette.shift()
<< ")";
dbg.setAutoInsertSpaces(ais);
return dbg.maybeSpace();
return dbg.space();
}

View File

@ -14,9 +14,7 @@ RectC Path::boundingRect() const
QDebug operator<<(QDebug dbg, const PathPoint &point)
{
const bool ais = dbg.autoInsertSpaces();
dbg.nospace() << "PathPoint(" << point.distance() << ", "
<< point.coordinates() << ")";
dbg.setAutoInsertSpaces(ais);
return dbg.maybeSpace();
return dbg.space();
}

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
@ -470,13 +471,20 @@ void PathView::keyPressEvent(QKeyEvent *event)
zoom(z, pos, c);
}
void PathView::plot(QPainter *painter, const QRectF &target)
void PathView::plot(QPainter *painter, const QRectF &target, bool hires)
{
QRect orig, adj;
qreal ratio, diff;
qreal ratio, diff, origRes;
QPointF origScene, origPos;
Coordinates origLL;
setUpdatesEnabled(false);
_plot = true;
_map->setBlockingMode(true);
orig = viewport()->rect();
origPos = _mapScale->pos();
if (orig.height() * (target.width() / target.height()) - orig.width() < 0) {
ratio = target.height() / target.width();
@ -488,18 +496,46 @@ void PathView::plot(QPainter *painter, const QRectF &target)
adj = orig.adjusted(-diff/2, 0, diff/2, 0);
}
setUpdatesEnabled(false);
_plot = true;
_map->setBlockingMode(true);
// Adjust the view for printing
if (hires) {
origScene = mapToScene(orig.center());
origLL = _map->xy2ll(origScene);
origRes = _map->resolution(origScene);
QPointF pos = _mapScale->pos();
QPointF s(painter->device()->logicalDpiX()
/ (qreal)metric(QPaintDevice::PdmDpiX),
painter->device()->logicalDpiY()
/ (qreal)metric(QPaintDevice::PdmDpiY));
adj = QRect(0, 0, adj.width() * s.x(), adj.height() * s.y());
_map->zoomFit(adj.size(), _tr | _rr | _wr);
rescale();
QPointF center = contentCenter();
centerOn(center);
adj.moveCenter(mapFromScene(center));
_mapScale->setResolution(_map->resolution(_map->ll2xy(origLL)));
_mapScale->setDigitalZoom(-log2(s.x()));
_mapScale->setPos(mapToScene(QPoint(adj.bottomRight() + QPoint(
-(SCALE_OFFSET + _mapScale->boundingRect().width()) * s.x(),
-(SCALE_OFFSET + _mapScale->boundingRect().height()) * s.x()))));
} else {
_mapScale->setPos(mapToScene(QPoint(adj.bottomRight() + QPoint(
-(SCALE_OFFSET + _mapScale->boundingRect().width()),
-(SCALE_OFFSET + _mapScale->boundingRect().height())))));
}
// Print the view
render(painter, target, adj);
_mapScale->setPos(pos);
// Revert view changes to display mode
if (hires) {
_map->zoomFit(origRes, origLL);
rescale();
centerOn(origScene);
_mapScale->setDigitalZoom(0);
_mapScale->setResolution(origRes);
}
_mapScale->setPos(origPos);
_map->setBlockingMode(false);
_plot = false;
@ -637,18 +673,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

@ -37,7 +37,7 @@ public:
void setMap(Map *map);
void setUnits(enum Units units);
void plot(QPainter *painter, const QRectF &target);
void plot(QPainter *painter, const QRectF &target, bool hires);
int trackCount() const {return _tracks.count();}
int routeCount() const {return _routes.count();}
@ -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

@ -10,8 +10,6 @@ void RangeF::resize(qreal size)
QDebug operator<<(QDebug dbg, const RangeF &range)
{
const bool ais = dbg.autoInsertSpaces();
dbg.nospace() << "RangeF(" << range.min() << ", " << range.max() << ")";
dbg.setAutoInsertSpaces(ais);
return dbg.maybeSpace();
return dbg.space();
}

View File

@ -58,8 +58,6 @@ void RectC::unite(const Coordinates &c)
QDebug operator<<(QDebug dbg, const RectC &rect)
{
const bool ais = dbg.autoInsertSpaces();
dbg.nospace() << "RectC(" << rect.topLeft() << ", " << rect.size() << ")";
dbg.setAutoInsertSpaces(ais);
return dbg.maybeSpace();
return dbg.space();
}

View File

@ -132,7 +132,7 @@ void ScaleItem::setUnits(enum Units units)
update();
}
void ScaleItem::setDigitalZoom(int zoom)
void ScaleItem::setDigitalZoom(qreal zoom)
{
prepareGeometryChange();
_digitalZoom = zoom;

View File

@ -15,7 +15,7 @@ public:
void setResolution(qreal res);
void setUnits(enum Units units);
void setDigitalZoom(int zoom);
void setDigitalZoom(qreal zoom);
private:
void updateBoundingRect();
@ -28,7 +28,7 @@ private:
Units _units;
bool _scale;
int _digitalZoom;
qreal _digitalZoom;
QRectF _boundingRect;
};

View File

@ -70,12 +70,16 @@
#define EXPORT_FILENAME_SETTING "fileName"
#define EXPORT_FILENAME_DEFAULT QString("%1/export.pdf"). \
arg(QDir::currentPath())
#define RESOLUTION_SETTING "resolution"
#define RESOLUTION_DEFAULT 600
#define OPTIONS_SETTINGS_GROUP "Options"
#define PALETTE_COLOR_SETTING "paletteColor"
#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"
@ -112,6 +116,8 @@
#define USE_OPENGL_DEFAULT false
#define PIXMAP_CACHE_SETTING "pixmapCache"
#define PIXMAP_CACHE_DEFAULT 64 /* MB */
#define HIRES_PRINT_SETTING "hiresPrint"
#define HIRES_PRINT_DEFAULT false
#define PRINT_NAME_SETTING "printName"
#define PRINT_NAME_DEFAULT true
#define PRINT_DATE_SETTING "printDate"

View File

@ -16,11 +16,9 @@ void TrackInfo::insert(const QString &key, const QString &value)
_info->insert(key, value);
}
void TrackInfo::plot(QPainter *painter, const QRectF &target)
void TrackInfo::plot(QPainter *painter, const QRectF &target, qreal scale)
{
qreal ratio = painter->paintEngine()->paintDevice()->logicalDpiX()
/ SCREEN_DPI;
QSizeF canvas = QSizeF(target.width() / ratio, target.height() / ratio);
QSizeF canvas = QSizeF(target.width() / scale, target.height() / scale);
QSizeF diff = QSizeF(qAbs(canvas.width() - sceneRect().width()),
qAbs(canvas.height() - sceneRect().height()));
QRectF adj = sceneRect().adjusted(0, -diff.height()/2, diff.width(),

View File

@ -13,7 +13,7 @@ public:
TrackInfo(QObject *parent = 0);
void insert(const QString &key, const QString &value);
void plot(QPainter *painter, const QRectF &target);
void plot(QPainter *painter, const QRectF &target, qreal scale);
bool isEmpty() const;
QSizeF contentSize() const;

View File

@ -2,11 +2,9 @@
QDebug operator<<(QDebug dbg, const Trackpoint &trackpoint)
{
const bool ais = dbg.autoInsertSpaces();
dbg.nospace() << "Trackpoint(" << trackpoint.coordinates() << ", "
<< trackpoint.timestamp() << ", " << trackpoint.elevation() << ", "
<< trackpoint.speed() << ", " << trackpoint.heartRate() << ", "
<< trackpoint.temperature() << ")";
dbg.setAutoInsertSpaces(ais);
return dbg.maybeSpace();
return dbg.space();
}

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

View File

@ -2,9 +2,7 @@
QDebug operator<<(QDebug dbg, const Waypoint &waypoint)
{
const bool ais = dbg.autoInsertSpaces();
dbg.nospace() << "Waypoint(" << waypoint.coordinates() << ", "
<< waypoint.name() << ", " << waypoint.description() << ")";
dbg.setAutoInsertSpaces(ais);
return dbg.maybeSpace();
return dbg.space();
}