1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-02-17 16:20:48 +01:00

Added moving time info.

Added special track data processing for "pause states".
This commit is contained in:
Martin Tůma 2017-01-31 09:37:01 +01:00
parent ddacac8d2e
commit 961eac9324
11 changed files with 380 additions and 245 deletions

View File

@ -190,290 +190,295 @@
<context>
<name>GUI</name>
<message>
<location filename="../src/gui.cpp" line="552"/>
<location filename="../src/gui.cpp" line="553"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at </source>
<translation>Program GPXSee je distribuován pod podmínkami licence GNU General Public License verze 3. Pro více informací navštivte stránky programu na adrese </translation>
</message>
<message>
<location filename="../src/gui.cpp" line="616"/>
<location filename="../src/gui.cpp" line="617"/>
<source>Open file</source>
<translation>Otevřít soubor</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="705"/>
<location filename="../src/gui.cpp" line="707"/>
<source>Open POI file</source>
<translation>Otevřít POI soubor</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="223"/>
<location filename="../src/gui.cpp" line="224"/>
<source>Open</source>
<translation>Otevřít</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="207"/>
<location filename="../src/gui.cpp" line="208"/>
<source>Quit</source>
<translation>Ukončit</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="215"/>
<location filename="../src/gui.cpp" line="568"/>
<location filename="../src/gui.cpp" line="216"/>
<location filename="../src/gui.cpp" line="569"/>
<location filename="../src/gui.cpp" line="570"/>
<source>Keyboard controls</source>
<translation>Ovládací klávesy</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="239"/>
<location filename="../src/gui.cpp" line="240"/>
<source>Close</source>
<translation>Zavřít</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="245"/>
<location filename="../src/gui.cpp" line="246"/>
<source>Reload</source>
<translation>Znovu načíst</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="478"/>
<location filename="../src/gui.cpp" line="479"/>
<source>Show</source>
<translation>Zobrazit</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="399"/>
<location filename="../src/gui.cpp" line="472"/>
<location filename="../src/gui.cpp" line="400"/>
<location filename="../src/gui.cpp" line="473"/>
<source>File</source>
<translation>Soubor</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="102"/>
<location filename="../src/gui.cpp" line="103"/>
<source>FIT files (*.fit)</source>
<translation>Soubory FIT (*.fit)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="103"/>
<location filename="../src/gui.cpp" line="104"/>
<source>IGC files (*.igc)</source>
<translation>Soubory IGC (*.igc)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="104"/>
<location filename="../src/gui.cpp" line="105"/>
<source>NMEA files (*.nmea)</source>
<translation>Soubory NMEA (*.nmea)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="213"/>
<location filename="../src/gui.cpp" line="591"/>
<location filename="../src/gui.cpp" line="214"/>
<location filename="../src/gui.cpp" line="592"/>
<location filename="../src/gui.cpp" line="593"/>
<source>Data sources</source>
<translation>Zdroje dat</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="253"/>
<location filename="../src/gui.cpp" line="254"/>
<source>Load POI file</source>
<translation>Nahrát POI soubor</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="256"/>
<location filename="../src/gui.cpp" line="257"/>
<source>Close POI files</source>
<translation>Zavřit POI soubory</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="258"/>
<location filename="../src/gui.cpp" line="259"/>
<source>Overlap POIs</source>
<translation>Překrývat POI</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="262"/>
<location filename="../src/gui.cpp" line="263"/>
<source>Show POI labels</source>
<translation>Zobrazit názvy POI</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="267"/>
<location filename="../src/gui.cpp" line="268"/>
<source>Show POIs</source>
<translation>Zobrazit POI</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="276"/>
<location filename="../src/gui.cpp" line="277"/>
<source>Show map</source>
<translation>Zobrazit mapu</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="282"/>
<location filename="../src/gui.cpp" line="283"/>
<source>Clear tile cache</source>
<translation>Vymazat mezipaměť dlaždic</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="291"/>
<location filename="../src/gui.cpp" line="295"/>
<location filename="../src/gui.cpp" line="578"/>
<location filename="../src/gui.cpp" line="292"/>
<location filename="../src/gui.cpp" line="296"/>
<location filename="../src/gui.cpp" line="579"/>
<source>Next map</source>
<translation>Následující mapa</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="302"/>
<location filename="../src/gui.cpp" line="303"/>
<source>Show tracks</source>
<translation>Zobrazit cesty</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="306"/>
<location filename="../src/gui.cpp" line="307"/>
<source>Show routes</source>
<translation>Zobrazit trasy</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="310"/>
<location filename="../src/gui.cpp" line="311"/>
<source>Show waypoints</source>
<translation>Zobrazit navigační body</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="314"/>
<location filename="../src/gui.cpp" line="315"/>
<source>Waypoint labels</source>
<translation>Názvy navigačních bodů</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="325"/>
<location filename="../src/gui.cpp" line="326"/>
<source>Show graphs</source>
<translation>Zobrazit grafy</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="347"/>
<location filename="../src/gui.cpp" line="348"/>
<source>Show grid</source>
<translation>Zobrazit mřížku</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="353"/>
<location filename="../src/gui.cpp" line="354"/>
<source>Show toolbars</source>
<translation>Zobrazovat nástrojové lišty</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="359"/>
<location filename="../src/gui.cpp" line="360"/>
<source>Metric</source>
<translation>Metrické</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="364"/>
<location filename="../src/gui.cpp" line="365"/>
<source>Imperial</source>
<translation>Imperiální</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="370"/>
<location filename="../src/gui.cpp" line="371"/>
<source>Fullscreen mode</source>
<translation>Celoobrazovkový režim</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="376"/>
<location filename="../src/gui.cpp" line="377"/>
<source>Options...</source>
<translation>Nastavení...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="381"/>
<location filename="../src/gui.cpp" line="382"/>
<source>Next</source>
<translation>Následující</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="384"/>
<location filename="../src/gui.cpp" line="385"/>
<source>Previous</source>
<translation>Předchozí</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="388"/>
<location filename="../src/gui.cpp" line="389"/>
<source>Last</source>
<translation>Poslední</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="391"/>
<location filename="../src/gui.cpp" line="392"/>
<source>First</source>
<translation>První</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="413"/>
<location filename="../src/gui.cpp" line="414"/>
<source>Map</source>
<translation>Mapa</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="420"/>
<location filename="../src/gui.cpp" line="421"/>
<source>Graph</source>
<translation>Graf</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="428"/>
<location filename="../src/gui.cpp" line="429"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="429"/>
<location filename="../src/gui.cpp" line="430"/>
<source>POI files</source>
<translation>POI soubory</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="440"/>
<location filename="../src/gui.cpp" line="441"/>
<source>Data</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="441"/>
<location filename="../src/gui.cpp" line="442"/>
<source>Display</source>
<translation>Zobrazit</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="449"/>
<location filename="../src/gui.cpp" line="450"/>
<source>Settings</source>
<translation>Nastavení</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="450"/>
<location filename="../src/gui.cpp" line="451"/>
<source>Units</source>
<translation>Jednotky</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="459"/>
<location filename="../src/gui.cpp" line="460"/>
<source>Help</source>
<translation>Nápověda</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="580"/>
<location filename="../src/gui.cpp" line="581"/>
<source>Previous map</source>
<translation>Předchozí mapa</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1060"/>
<location filename="../src/gui.cpp" line="860"/>
<source>Moving Time</source>
<translation>Čistý čas</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1066"/>
<source>No files loaded</source>
<translation>Nejsou načteny žádné soubory</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="103"/>
<location filename="../src/gui.cpp" line="104"/>
<source>GPX files (*.gpx)</source>
<translation>Soubory GPX (*.gpx)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="105"/>
<location filename="../src/gui.cpp" line="106"/>
<source>TCX files (*.tcx)</source>
<translation>Soubory TCX (*.tcx)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="104"/>
<location filename="../src/gui.cpp" line="105"/>
<source>KML files (*.kml)</source>
<translation>Soubory KML (*.kml)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="102"/>
<location filename="../src/gui.cpp" line="103"/>
<source>CSV files (*.csv)</source>
<translation>Soubory CSV (*.csv)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="105"/>
<location filename="../src/gui.cpp" line="106"/>
<source>All files (*)</source>
<translation>Všechny soubory (*)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="844"/>
<location filename="../src/gui.cpp" line="847"/>
<location filename="../src/gui.cpp" line="846"/>
<location filename="../src/gui.cpp" line="849"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="836"/>
<location filename="../src/gui.cpp" line="838"/>
<source>Routes</source>
<translation>Trasy</translation>
</message>
<message numerus="yes">
<location filename="../src/gui.cpp" line="1064"/>
<location filename="../src/gui.cpp" line="1070"/>
<source>%n files</source>
<translation>
<numerusform>%n soubor</numerusform>
@ -482,131 +487,131 @@
</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="571"/>
<location filename="../src/gui.cpp" line="572"/>
<source>Next file</source>
<translation>Následující soubor</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="548"/>
<location filename="../src/gui.cpp" line="549"/>
<source>Version </source>
<translation>Verze </translation>
</message>
<message>
<location filename="../src/gui.cpp" line="228"/>
<location filename="../src/gui.cpp" line="229"/>
<source>Print...</source>
<translation>Tisknout...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="233"/>
<location filename="../src/gui.cpp" line="234"/>
<source>Export to PDF...</source>
<translation>Exportovat do PDF...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="838"/>
<location filename="../src/gui.cpp" line="840"/>
<source>Waypoints</source>
<translation>Navigační body</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="572"/>
<location filename="../src/gui.cpp" line="573"/>
<source>Previous file</source>
<translation>Předchozí soubor</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="101"/>
<location filename="../src/gui.cpp" line="102"/>
<source>Supported files (*.csv *.fit *.gpx *.igc *.kml *.nmea *.tcx)</source>
<translation>Podporované soubory (*.csv *.fit *.gpx *.igc *.kml *.nmea *.tcx)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="318"/>
<location filename="../src/gui.cpp" line="319"/>
<source>Route waypoints</source>
<translation>Body tras</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="574"/>
<location filename="../src/gui.cpp" line="575"/>
<source>First file</source>
<translation>První soubor</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="575"/>
<location filename="../src/gui.cpp" line="576"/>
<source>Last file</source>
<translation>Poslední soubor</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="576"/>
<location filename="../src/gui.cpp" line="577"/>
<source>Append modifier</source>
<translation>Modifikátor nahradit/přidat</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="595"/>
<location filename="../src/gui.cpp" line="596"/>
<source>Map (tiles) source URLs are read on program startup from the following file:</source>
<translation>URL mapových zdrojů (dlaždic) jsou načteny při startu programu z následujícího souboru:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="598"/>
<location filename="../src/gui.cpp" line="599"/>
<source>The file format is one map entry per line, consisting of the map name and tiles URL delimited by a TAB character. The tile X and Y coordinates are replaced with $x and $y in the URL and the zoom level is replaced with $z. An example map file could look like:</source>
<translation>Formát souboru je jeden mapový záznam na řádku, kde mapový záznam sestává ze jména mapy a URL dlaždic navzájem oddělených tabulátorem. Souřadnice dlaždice jsou v URL nahrazeny řetězci $x a $y, úroven přiblížení (zoom) pak řetězcem $z. Příklad:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="606"/>
<location filename="../src/gui.cpp" line="607"/>
<source>To make GPXSee load a POI file automatically on startup, add the file to the following directory:</source>
<translation>POI soubory, které se mají automaticky nahrát při startu programu jsou načítány z následujícího adresáře:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="694"/>
<location filename="../src/gui.cpp" line="696"/>
<source>Error loading data file:</source>
<translation>Datový soubor nelze načíst:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="697"/>
<location filename="../src/gui.cpp" line="722"/>
<location filename="../src/gui.cpp" line="699"/>
<location filename="../src/gui.cpp" line="724"/>
<source>Line: %1</source>
<translation>Řádka: %1</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="719"/>
<location filename="../src/gui.cpp" line="721"/>
<source>Error loading POI file:</source>
<translation>Soubor POI nelze načíst:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="830"/>
<location filename="../src/gui.cpp" line="832"/>
<source>Name</source>
<translation>Název</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="834"/>
<location filename="../src/gui.cpp" line="836"/>
<source>Tracks</source>
<translation>Cesty</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="218"/>
<location filename="../src/gui.cpp" line="546"/>
<location filename="../src/gui.cpp" line="219"/>
<location filename="../src/gui.cpp" line="547"/>
<source>About GPXSee</source>
<translation>O aplikaci GPXSee</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="483"/>
<location filename="../src/gui.cpp" line="484"/>
<source>Navigation</source>
<translation>Navigace</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="594"/>
<location filename="../src/gui.cpp" line="595"/>
<source>Map sources</source>
<translation>Mapové zdroje</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="605"/>
<location filename="../src/gui.cpp" line="606"/>
<source>POIs</source>
<translation>POI body</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="333"/>
<location filename="../src/gui.cpp" line="854"/>
<location filename="../src/gui.cpp" line="334"/>
<location filename="../src/gui.cpp" line="856"/>
<source>Distance</source>
<translation>Vzdálenost</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="340"/>
<location filename="../src/gui.cpp" line="856"/>
<location filename="../src/gui.cpp" line="341"/>
<location filename="../src/gui.cpp" line="858"/>
<source>Time</source>
<translation>Čas</translation>
</message>
@ -749,7 +754,7 @@
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="115"/>
<location filename="../src/optionsdialog.cpp" line="180"/>
<location filename="../src/optionsdialog.cpp" line="183"/>
<source>Graphs</source>
<translation>Grafy</translation>
</message>
@ -770,7 +775,7 @@
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="140"/>
<location filename="../src/optionsdialog.cpp" line="221"/>
<location filename="../src/optionsdialog.cpp" line="224"/>
<source>POI</source>
<translation>POI</translation>
</message>
@ -796,42 +801,47 @@
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="155"/>
<source>Moving Time</source>
<translation>Čistý čas</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="157"/>
<source>Item count (&gt;1)</source>
<translation>Počet objektů (&gt;1)</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="169"/>
<location filename="../src/optionsdialog.cpp" line="172"/>
<source>Separate graph page</source>
<translation>Samostatná stránka s grafy</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="179"/>
<location filename="../src/optionsdialog.cpp" line="182"/>
<source>Header</source>
<translation>Záhlaví</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="187"/>
<location filename="../src/optionsdialog.cpp" line="190"/>
<source>Use OpenGL</source>
<translation>Používat OpenGL</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="203"/>
<location filename="../src/optionsdialog.cpp" line="224"/>
<location filename="../src/optionsdialog.cpp" line="206"/>
<location filename="../src/optionsdialog.cpp" line="227"/>
<source>System</source>
<translation>Systém</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="219"/>
<location filename="../src/optionsdialog.cpp" line="222"/>
<source>Appearance</source>
<translation>Vzhled</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="222"/>
<location filename="../src/optionsdialog.cpp" line="225"/>
<source>Print &amp; Export</source>
<translation>Tisk a export</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="251"/>
<location filename="../src/optionsdialog.cpp" line="254"/>
<source>Options</source>
<translation>Nastavení</translation>
</message>
@ -988,6 +998,11 @@
</message>
<message>
<location filename="../src/trackitem.cpp" line="19"/>
<source>Moving Time</source>
<translation>Čistý čas</translation>
</message>
<message>
<location filename="../src/trackitem.cpp" line="21"/>
<source>Date</source>
<translation>Datum</translation>
</message>

View File

@ -190,254 +190,259 @@
<context>
<name>GUI</name>
<message>
<location filename="../src/gui.cpp" line="552"/>
<location filename="../src/gui.cpp" line="553"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at </source>
<translation>GPXSee distribueras under vilkoren för GNU General Public License version 3. För mer info om GPXSee, besök hemsidan </translation>
</message>
<message>
<location filename="../src/gui.cpp" line="616"/>
<location filename="../src/gui.cpp" line="617"/>
<source>Open file</source>
<translation>Öppna fil</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="705"/>
<location filename="../src/gui.cpp" line="707"/>
<source>Open POI file</source>
<translation>Öppna POI-fil</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="223"/>
<location filename="../src/gui.cpp" line="224"/>
<source>Open</source>
<translation>Öppna</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="207"/>
<location filename="../src/gui.cpp" line="208"/>
<source>Quit</source>
<translation>Avsluta</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="215"/>
<location filename="../src/gui.cpp" line="568"/>
<location filename="../src/gui.cpp" line="216"/>
<location filename="../src/gui.cpp" line="569"/>
<location filename="../src/gui.cpp" line="570"/>
<source>Keyboard controls</source>
<translation>Snabbtangenter</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="239"/>
<location filename="../src/gui.cpp" line="240"/>
<source>Close</source>
<translation>Stäng</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="245"/>
<location filename="../src/gui.cpp" line="246"/>
<source>Reload</source>
<translation>Uppdatera</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="478"/>
<location filename="../src/gui.cpp" line="479"/>
<source>Show</source>
<translation>Visa</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="399"/>
<location filename="../src/gui.cpp" line="472"/>
<location filename="../src/gui.cpp" line="400"/>
<location filename="../src/gui.cpp" line="473"/>
<source>File</source>
<translation>Arkiv</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="102"/>
<location filename="../src/gui.cpp" line="103"/>
<source>FIT files (*.fit)</source>
<translation>FIT-filer (*.fit)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="103"/>
<location filename="../src/gui.cpp" line="104"/>
<source>IGC files (*.igc)</source>
<translation>IGC-filer (*.igc)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="104"/>
<location filename="../src/gui.cpp" line="105"/>
<source>NMEA files (*.nmea)</source>
<translation>NMEA-filer (*.nmea)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="213"/>
<location filename="../src/gui.cpp" line="591"/>
<location filename="../src/gui.cpp" line="214"/>
<location filename="../src/gui.cpp" line="592"/>
<location filename="../src/gui.cpp" line="593"/>
<source>Data sources</source>
<translation>Datakällor</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="253"/>
<location filename="../src/gui.cpp" line="254"/>
<source>Load POI file</source>
<translation>Läs in POI-fil</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="256"/>
<location filename="../src/gui.cpp" line="257"/>
<source>Close POI files</source>
<translation>Stäng POI-filer</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="258"/>
<location filename="../src/gui.cpp" line="259"/>
<source>Overlap POIs</source>
<translation>Överlappa POI:er</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="262"/>
<location filename="../src/gui.cpp" line="263"/>
<source>Show POI labels</source>
<translation>Visa POI-namn</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="267"/>
<location filename="../src/gui.cpp" line="268"/>
<source>Show POIs</source>
<translation>Visa POI:er</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="276"/>
<location filename="../src/gui.cpp" line="277"/>
<source>Show map</source>
<translation>Visa karta</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="282"/>
<location filename="../src/gui.cpp" line="283"/>
<source>Clear tile cache</source>
<translation>Rensa kart-cache</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="291"/>
<location filename="../src/gui.cpp" line="295"/>
<location filename="../src/gui.cpp" line="578"/>
<location filename="../src/gui.cpp" line="292"/>
<location filename="../src/gui.cpp" line="296"/>
<location filename="../src/gui.cpp" line="579"/>
<source>Next map</source>
<translation>Nästa karta</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="302"/>
<location filename="../src/gui.cpp" line="303"/>
<source>Show tracks</source>
<translation>Visa spår</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="306"/>
<location filename="../src/gui.cpp" line="307"/>
<source>Show routes</source>
<translation>Visa rutter</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="310"/>
<location filename="../src/gui.cpp" line="311"/>
<source>Show waypoints</source>
<translation>Visa vägpunkter</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="314"/>
<location filename="../src/gui.cpp" line="315"/>
<source>Waypoint labels</source>
<translation>Vägpunktsnamn</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="325"/>
<location filename="../src/gui.cpp" line="326"/>
<source>Show graphs</source>
<translation>Visa diagram</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="347"/>
<location filename="../src/gui.cpp" line="348"/>
<source>Show grid</source>
<translation>Visa stödlinjer</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="353"/>
<location filename="../src/gui.cpp" line="354"/>
<source>Show toolbars</source>
<translation>Visa verktygsfält</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="359"/>
<location filename="../src/gui.cpp" line="360"/>
<source>Metric</source>
<translation>Meter</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="364"/>
<location filename="../src/gui.cpp" line="365"/>
<source>Imperial</source>
<translation>Imperial</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="370"/>
<location filename="../src/gui.cpp" line="371"/>
<source>Fullscreen mode</source>
<translation>Helskärmsläge</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="376"/>
<location filename="../src/gui.cpp" line="377"/>
<source>Options...</source>
<translation>Alternativ...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="381"/>
<location filename="../src/gui.cpp" line="382"/>
<source>Next</source>
<translation>Nästa</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="384"/>
<location filename="../src/gui.cpp" line="385"/>
<source>Previous</source>
<translation>Föregående</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="388"/>
<location filename="../src/gui.cpp" line="389"/>
<source>Last</source>
<translation>Sista</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="391"/>
<location filename="../src/gui.cpp" line="392"/>
<source>First</source>
<translation>Första</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="413"/>
<location filename="../src/gui.cpp" line="414"/>
<source>Map</source>
<translation>Karta</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="420"/>
<location filename="../src/gui.cpp" line="421"/>
<source>Graph</source>
<translation>Diagram</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="428"/>
<location filename="../src/gui.cpp" line="429"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="429"/>
<location filename="../src/gui.cpp" line="430"/>
<source>POI files</source>
<translation>POI-filer</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="440"/>
<location filename="../src/gui.cpp" line="441"/>
<source>Data</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="441"/>
<location filename="../src/gui.cpp" line="442"/>
<source>Display</source>
<translation>Visa</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="449"/>
<location filename="../src/gui.cpp" line="450"/>
<source>Settings</source>
<translation>Inställningar</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="450"/>
<location filename="../src/gui.cpp" line="451"/>
<source>Units</source>
<translation>Enhet</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="459"/>
<location filename="../src/gui.cpp" line="460"/>
<source>Help</source>
<translation>Hjälp</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="580"/>
<location filename="../src/gui.cpp" line="581"/>
<source>Previous map</source>
<translation>Föregående karta</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1060"/>
<location filename="../src/gui.cpp" line="860"/>
<source>Moving Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui.cpp" line="1066"/>
<source>No files loaded</source>
<translation>Inga filer inlästa</translation>
</message>
<message numerus="yes">
<location filename="../src/gui.cpp" line="1064"/>
<location filename="../src/gui.cpp" line="1070"/>
<source>%n files</source>
<translation>
<numerusform>%n filer</numerusform>
@ -445,167 +450,167 @@
</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="103"/>
<location filename="../src/gui.cpp" line="104"/>
<source>GPX files (*.gpx)</source>
<translation>GPX-filer (*.gpx)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="105"/>
<location filename="../src/gui.cpp" line="106"/>
<source>TCX files (*.tcx)</source>
<translation>TCX-filer (*.tcx)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="104"/>
<location filename="../src/gui.cpp" line="105"/>
<source>KML files (*.kml)</source>
<translation>KML-filer (*.kml)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="102"/>
<location filename="../src/gui.cpp" line="103"/>
<source>CSV files (*.csv)</source>
<translation>CSV-filer (*.csv)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="105"/>
<location filename="../src/gui.cpp" line="106"/>
<source>All files (*)</source>
<translation>Alla filer (*)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="844"/>
<location filename="../src/gui.cpp" line="847"/>
<location filename="../src/gui.cpp" line="846"/>
<location filename="../src/gui.cpp" line="849"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="836"/>
<location filename="../src/gui.cpp" line="838"/>
<source>Routes</source>
<translation>Rutter</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="571"/>
<location filename="../src/gui.cpp" line="572"/>
<source>Next file</source>
<translation>Nästa fil</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="548"/>
<location filename="../src/gui.cpp" line="549"/>
<source>Version </source>
<translation>Version </translation>
</message>
<message>
<location filename="../src/gui.cpp" line="228"/>
<location filename="../src/gui.cpp" line="229"/>
<source>Print...</source>
<translation>Skriv ut...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="233"/>
<location filename="../src/gui.cpp" line="234"/>
<source>Export to PDF...</source>
<translation>Exportera till PDF...</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="838"/>
<location filename="../src/gui.cpp" line="840"/>
<source>Waypoints</source>
<translation>Vägpunkter</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="572"/>
<location filename="../src/gui.cpp" line="573"/>
<source>Previous file</source>
<translation>Föregående fil</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="101"/>
<location filename="../src/gui.cpp" line="102"/>
<source>Supported files (*.csv *.fit *.gpx *.igc *.kml *.nmea *.tcx)</source>
<translation>Filer som stöds (*.csv *.fit *.gpx *.igc *.kml *.nmea *.tcx)</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="318"/>
<location filename="../src/gui.cpp" line="319"/>
<source>Route waypoints</source>
<translation>Ruttvägpunkter</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="574"/>
<location filename="../src/gui.cpp" line="575"/>
<source>First file</source>
<translation>Första filen</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="575"/>
<location filename="../src/gui.cpp" line="576"/>
<source>Last file</source>
<translation>Sista filen</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="576"/>
<location filename="../src/gui.cpp" line="577"/>
<source>Append modifier</source>
<translation>Tillämpa modifierare</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="595"/>
<location filename="../src/gui.cpp" line="596"/>
<source>Map (tiles) source URLs are read on program startup from the following file:</source>
<translation>Kartadresser (URL:er) läses in vid programstart, från följande fil:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="598"/>
<location filename="../src/gui.cpp" line="599"/>
<source>The file format is one map entry per line, consisting of the map name and tiles URL delimited by a TAB character. The tile X and Y coordinates are replaced with $x and $y in the URL and the zoom level is replaced with $z. An example map file could look like:</source>
<translation>Filformatet är en kartpost per rad, bestående av kartnamn och kartrutans URL, avgränsade med ett TAB-tecken. Kartrutans X- och Y-koordinater ersätts med $x och $y i URL:en och zoomnivån ersätts med $z. Exempel en kartfil kan se ut här:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="606"/>
<location filename="../src/gui.cpp" line="607"/>
<source>To make GPXSee load a POI file automatically on startup, add the file to the following directory:</source>
<translation>För att GPXSee skall läsa in en POI-fil automatiskt vid programstart, läggs filen i följande mapp:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="694"/>
<location filename="../src/gui.cpp" line="696"/>
<source>Error loading data file:</source>
<translation>Fel vid inläsning av datafil:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="697"/>
<location filename="../src/gui.cpp" line="722"/>
<location filename="../src/gui.cpp" line="699"/>
<location filename="../src/gui.cpp" line="724"/>
<source>Line: %1</source>
<translation>Rad: %1</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="719"/>
<location filename="../src/gui.cpp" line="721"/>
<source>Error loading POI file:</source>
<translation>Fel vid inläsning av POI-fil:</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="830"/>
<location filename="../src/gui.cpp" line="832"/>
<source>Name</source>
<translation>Namn</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="834"/>
<location filename="../src/gui.cpp" line="836"/>
<source>Tracks</source>
<translation>Spår</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="218"/>
<location filename="../src/gui.cpp" line="546"/>
<location filename="../src/gui.cpp" line="219"/>
<location filename="../src/gui.cpp" line="547"/>
<source>About GPXSee</source>
<translation>Om GPXSee</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="483"/>
<location filename="../src/gui.cpp" line="484"/>
<source>Navigation</source>
<translation>Navigation</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="594"/>
<location filename="../src/gui.cpp" line="595"/>
<source>Map sources</source>
<translation>Kartkällor</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="605"/>
<location filename="../src/gui.cpp" line="606"/>
<source>POIs</source>
<translation>POI:er</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="333"/>
<location filename="../src/gui.cpp" line="854"/>
<location filename="../src/gui.cpp" line="334"/>
<location filename="../src/gui.cpp" line="856"/>
<source>Distance</source>
<translation>Avstånd</translation>
</message>
<message>
<location filename="../src/gui.cpp" line="340"/>
<location filename="../src/gui.cpp" line="856"/>
<location filename="../src/gui.cpp" line="341"/>
<location filename="../src/gui.cpp" line="858"/>
<source>Time</source>
<translation>Tid</translation>
</message>
@ -748,7 +753,7 @@
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="115"/>
<location filename="../src/optionsdialog.cpp" line="180"/>
<location filename="../src/optionsdialog.cpp" line="183"/>
<source>Graphs</source>
<translation>Diagram</translation>
</message>
@ -769,7 +774,7 @@
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="140"/>
<location filename="../src/optionsdialog.cpp" line="221"/>
<location filename="../src/optionsdialog.cpp" line="224"/>
<source>POI</source>
<translation>POI</translation>
</message>
@ -795,42 +800,47 @@
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="155"/>
<source>Moving Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="157"/>
<source>Item count (&gt;1)</source>
<translation>Objektantal (&gt;1)</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="169"/>
<location filename="../src/optionsdialog.cpp" line="172"/>
<source>Separate graph page</source>
<translation>Separat diagramsida</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="179"/>
<location filename="../src/optionsdialog.cpp" line="182"/>
<source>Header</source>
<translation></translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="187"/>
<location filename="../src/optionsdialog.cpp" line="190"/>
<source>Use OpenGL</source>
<translation>Använd OpenGL</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="203"/>
<location filename="../src/optionsdialog.cpp" line="224"/>
<location filename="../src/optionsdialog.cpp" line="206"/>
<location filename="../src/optionsdialog.cpp" line="227"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="219"/>
<location filename="../src/optionsdialog.cpp" line="222"/>
<source>Appearance</source>
<translation>Utseende</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="222"/>
<location filename="../src/optionsdialog.cpp" line="225"/>
<source>Print &amp; Export</source>
<translation>Utskrift &amp; Export</translation>
</message>
<message>
<location filename="../src/optionsdialog.cpp" line="251"/>
<location filename="../src/optionsdialog.cpp" line="254"/>
<source>Options</source>
<translation>Alternativ</translation>
</message>
@ -987,6 +997,11 @@
</message>
<message>
<location filename="../src/trackitem.cpp" line="19"/>
<source>Moving Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/trackitem.cpp" line="21"/>
<source>Date</source>
<translation>Datum</translation>
</message>

View File

@ -78,6 +78,7 @@ GUI::GUI(QWidget *parent) : QMainWindow(parent)
_trackDistance = 0;
_routeDistance = 0;
_time = 0;
_movingTime = 0;
_sliderPos = 0;
@ -661,6 +662,7 @@ bool GUI::loadFile(const QString &fileName)
for (int i = 0; i < data.tracks().count(); i++) {
_trackDistance += data.tracks().at(i)->distance();
_time += data.tracks().at(i)->time();
_movingTime += data.tracks().at(i)->movingTime();
const QDate &date = data.tracks().at(i)->date().date();
if (_dateRange.first.isNull() || _dateRange.first > date)
_dateRange.first = date;
@ -822,9 +824,9 @@ void GUI::plot(QPrinter *printer)
QPainter p(printer);
TrackInfo info;
qreal ih, gh, mh, ratio;
Units units = _imperialUnitsAction->isChecked() ? Imperial : Metric;
qreal d = distance();
qreal t = time();
qreal tm = movingTime();
if (!_pathName.isNull() && _options.printName)
info.insert(tr("Name"), _pathName);
@ -851,9 +853,11 @@ void GUI::plot(QPrinter *printer)
}
if (d > 0 && _options.printDistance)
info.insert(tr("Distance"), Format::distance(d, units));
info.insert(tr("Distance"), Format::distance(d, units()));
if (t > 0 && _options.printTime)
info.insert(tr("Time"), Format::timeSpan(t));
if (tm > 0 && _options.printMovingTime)
info.insert(tr("Moving Time"), Format::timeSpan(tm));
ratio = p.paintEngine()->paintDevice()->logicalDpiX() / SCREEN_DPI;
@ -908,6 +912,7 @@ void GUI::reloadFile()
_trackDistance = 0;
_routeDistance = 0;
_time = 0;
_movingTime = 0;
_dateRange = DateRange(QDate(), QDate());
_pathName = QString();
@ -942,6 +947,7 @@ void GUI::closeFiles()
_trackDistance = 0;
_routeDistance = 0;
_time = 0;
_movingTime = 0;
_dateRange = DateRange(QDate(), QDate());
_pathName = QString();
@ -1063,18 +1069,20 @@ void GUI::updateStatusBarInfo()
else
_fileNameLabel->setText(tr("%n files", "", _files.count()));
qreal d = distance();
Units units = _imperialUnitsAction->isChecked() ? Imperial : Metric;
if (d > 0)
_distanceLabel->setText(Format::distance(distance(), units));
if (distance() > 0)
_distanceLabel->setText(Format::distance(distance(), units()));
else
_distanceLabel->clear();
qreal t = time();
if (t > 0)
if (time() > 0)
_timeLabel->setText(Format::timeSpan(time()));
else
_timeLabel->clear();
if (movingTime() > 0)
_timeLabel->setToolTip(Format::timeSpan(movingTime()));
else
_timeLabel->setToolTip(QString());
}
void GUI::updateWindowTitle()
@ -1429,6 +1437,8 @@ void GUI::writeSettings()
settings.setValue(PRINT_DISTANCE_SETTING, _options.printDistance);
if (_options.printTime != PRINT_TIME_DEFAULT)
settings.setValue(PRINT_TIME_SETTING, _options.printTime);
if (_options.printMovingTime != PRINT_MOVING_TIME_DEFAULT)
settings.setValue(PRINT_MOVING_TIME_SETTING, _options.printMovingTime);
if (_options.printItemCount != PRINT_ITEM_COUNT_DEFAULT)
settings.setValue(PRINT_ITEM_COUNT_SETTING, _options.printItemCount);
if (_options.separateGraphPage != SEPARATE_GRAPH_PAGE_DEFAULT)
@ -1598,6 +1608,8 @@ void GUI::readSettings()
PRINT_DISTANCE_DEFAULT).toBool();
_options.printTime = settings.value(PRINT_TIME_SETTING, PRINT_TIME_DEFAULT)
.toBool();
_options.printMovingTime = settings.value(PRINT_MOVING_TIME_SETTING,
PRINT_MOVING_TIME_DEFAULT).toBool();
_options.printItemCount = settings.value(PRINT_ITEM_COUNT_SETTING,
PRINT_ITEM_COUNT_DEFAULT).toBool();
_options.separateGraphPage = settings.value(SEPARATE_GRAPH_PAGE_SETTING,
@ -1635,6 +1647,11 @@ int GUI::mapIndex(const QString &name)
return 0;
}
Units GUI::units() const
{
return _imperialUnitsAction->isChecked() ? Imperial : Metric;
}
qreal GUI::distance() const
{
qreal dist = 0;
@ -1651,3 +1668,8 @@ qreal GUI::time() const
{
return (_showTracksAction->isChecked()) ? _time : 0;
}
qreal GUI::movingTime() const
{
return (_showTracksAction->isChecked()) ? _movingTime : 0;
}

View File

@ -102,11 +102,13 @@ private:
void updateGraphTabs();
void updatePathView();
Units units() const;
void setUnits(Units units);
void setGraphType(GraphType type);
qreal distance() const;
qreal time() const;
qreal movingTime() const;
int mapIndex(const QString &name);
void readSettings();
void writeSettings();
@ -188,6 +190,7 @@ private:
qreal _trackDistance;
qreal _routeDistance;
qreal _time;
qreal _movingTime;
DateRange _dateRange;
QString _pathName;

View File

@ -152,6 +152,8 @@ QWidget *OptionsDialog::createExportPage()
_distance->setChecked(_options->printDistance);
_time = new QCheckBox(tr("Time"));
_time->setChecked(_options->printTime);
_movingTime = new QCheckBox(tr("Moving Time"));
_movingTime->setChecked(_options->printMovingTime);
_itemCount = new QCheckBox(tr("Item count (>1)"));
_itemCount->setChecked(_options->printItemCount);
@ -160,6 +162,7 @@ QWidget *OptionsDialog::createExportPage()
headerTabLayout->addWidget(_date);
headerTabLayout->addWidget(_distance);
headerTabLayout->addWidget(_time);
headerTabLayout->addWidget(_movingTime);
headerTabLayout->addItem(new QSpacerItem(10, 10));
headerTabLayout->addWidget(_itemCount);
QWidget *headerTab = new QWidget();
@ -277,6 +280,7 @@ void OptionsDialog::accept()
_options->printDate = _date->isChecked();
_options->printDistance = _distance->isChecked();
_options->printTime = _time->isChecked();
_options->printMovingTime = _movingTime->isChecked();
_options->printItemCount = _itemCount->isChecked();
_options->separateGraphPage = _separateGraphPage->isChecked();

View File

@ -31,6 +31,7 @@ struct Options {
bool printDate;
bool printDistance;
bool printTime;
bool printMovingTime;
bool printItemCount;
bool separateGraphPage;
@ -70,6 +71,7 @@ private:
QCheckBox *_date;
QCheckBox *_distance;
QCheckBox *_time;
QCheckBox *_movingTime;
QCheckBox *_itemCount;
QCheckBox *_separateGraphPage;
};

View File

@ -100,6 +100,8 @@
#define PRINT_DISTANCE_DEFAULT true
#define PRINT_TIME_SETTING "printTime"
#define PRINT_TIME_DEFAULT true
#define PRINT_MOVING_TIME_SETTING "printMovingTime"
#define PRINT_MOVING_TIME_DEFAULT false
#define PRINT_ITEM_COUNT_SETTING "printItemCount"
#define PRINT_ITEM_COUNT_DEFAULT true
#define SEPARATE_GRAPH_PAGE_SETTING "separateGraphPage"

View File

@ -9,6 +9,9 @@
#define WINDOW_CF 3
#define WINDOW_PF 3
#define PAUSE_SPEED 0.5
#define PAUSE_TIME_DIFF 10
static qreal median(QVector<qreal> v)
{
@ -43,30 +46,31 @@ static QSet<int> eliminate(const QVector<qreal> &v, int window)
return rm;
}
static Graph filter(const Graph &v, int window)
static Graph filter(const Graph &g, int window)
{
qreal acc = 0;
Graph ret;
if (v.size() < window)
if (g.size() < window)
return ret;
for (int i = 0; i < window; i++)
acc += v.at(i).y();
acc += g.at(i).y();
for (int i = 0; i <= window/2; i++)
ret.append(GraphPoint(v.at(i).s(), v.at(i).t(), acc/window));
ret.append(GraphPoint(g.at(i).s(), g.at(i).t(), acc/window));
for (int i = window/2 + 1; i < v.size() - window/2; i++) {
acc += v.at(i + window/2).y() - v.at(i - (window/2 + 1)).y();
ret.append(GraphPoint(v.at(i).s(), v.at(i).t(), acc/window));
for (int i = window/2 + 1; i < g.size() - window/2; i++) {
acc += g.at(i + window/2).y() - g.at(i - (window/2 + 1)).y();
ret.append(GraphPoint(g.at(i).s(), g.at(i).t(), acc/window));
}
for (int i = v.size() - window/2; i < v.size(); i++)
ret.append(GraphPoint(v.at(i).s(), v.at(i).t(), acc/window));
for (int i = g.size() - window/2; i < g.size(); i++)
ret.append(GraphPoint(g.at(i).s(), g.at(i).t(), acc/window));
return ret;
}
Track::Track(const TrackData &data) : _data(data)
{
qreal dt, ds, total;
@ -98,13 +102,28 @@ Track::Track(const TrackData &data) : _data(data)
}
}
_pause = 0;
for (int i = 1; i < data.count(); i++) {
if (_time.at(i) > _time.at(i-1) + PAUSE_TIME_DIFF
&& _speed.at(i) < PAUSE_SPEED) {
_pause += _time.at(i) - _time.at(i-1);
_stop.insert(i-1);
_stop.insert(i);
}
}
_outliers = eliminate(_speed, WINDOW_OE);
QSet<int>::const_iterator it;
for (it = _stop.constBegin(); it != _stop.constEnd(); ++it)
_outliers.remove(*it);
total = 0;
for (int i = 0; i < _data.size(); i++) {
if (_outliers.contains(i))
continue;
total += _distance.at(i);
if (!discardStopPoint(i))
total += _distance.at(i);
_distance[i] = total;
}
}
@ -113,9 +132,6 @@ Graph Track::elevation() const
{
Graph raw;
if (!_data.size())
return raw;
for (int i = 0; i < _data.size(); i++)
if (_data.at(i).hasElevation() && !_outliers.contains(i))
raw.append(GraphPoint(_distance.at(i), _time.at(i),
@ -126,14 +142,16 @@ Graph Track::elevation() const
Graph Track::speed() const
{
Graph raw;
Graph raw, filtered;
qreal v;
if (!_data.size())
return raw;
QSet<int> stop;
for (int i = 0; i < _data.size(); i++) {
if (_data.at(i).hasSpeed() && !_outliers.contains(i))
if (_stop.contains(i) && (!std::isnan(_speed.at(i))
|| _data.at(i).hasSpeed())) {
v = 0;
stop.insert(raw.size());
} else if (_data.at(i).hasSpeed() && !_outliers.contains(i))
v = _data.at(i).speed();
else if (!std::isnan(_speed.at(i)) && !_outliers.contains(i))
v = _speed.at(i);
@ -143,16 +161,19 @@ Graph Track::speed() const
raw.append(GraphPoint(_distance.at(i), _time.at(i), v));
}
return filter(raw, WINDOW_SF);
filtered = filter(raw, WINDOW_SF);
QSet<int>::const_iterator it;
for (it = stop.constBegin(); it != stop.constEnd(); ++it)
filtered[*it].setY(0);
return filtered;
}
Graph Track::heartRate() const
{
Graph raw;
if (!_data.size())
return raw;
for (int i = 0; i < _data.count(); i++)
if (_data.at(i).hasHeartRate() && !_outliers.contains(i))
raw.append(GraphPoint(_distance.at(i), _time.at(i),
@ -175,26 +196,56 @@ Graph Track::temperature() const
Graph Track::cadence() const
{
Graph raw;
Graph raw, filtered;
QSet<int> stop;
qreal c;
for (int i = 0; i < _data.size(); i++)
if (_data.at(i).hasCadence() && !_outliers.contains(i))
raw.append(GraphPoint(_distance.at(i), _time.at(i),
_data.at(i).cadence()));
for (int i = 0; i < _data.size(); i++) {
if (_data.at(i).hasCadence() && _stop.contains(i)) {
c = 0;
stop.insert(raw.size());
} else if (_data.at(i).hasCadence() && !_outliers.contains(i))
c = _data.at(i).cadence();
else
continue;
return filter(raw, WINDOW_CF);
raw.append(GraphPoint(_distance.at(i), _time.at(i), c));
}
filtered = filter(raw, WINDOW_CF);
QSet<int>::const_iterator it;
for (it = stop.constBegin(); it != stop.constEnd(); ++it)
filtered[*it].setY(0);
return filtered;
}
Graph Track::power() const
{
Graph raw;
Graph raw, filtered;
QSet<int> stop;
qreal p;
for (int i = 0; i < _data.size(); i++)
if (_data.at(i).hasPower() && !_outliers.contains(i))
raw.append(GraphPoint(_distance.at(i), _time.at(i),
_data.at(i).power()));
for (int i = 0; i < _data.size(); i++) {
if (_data.at(i).hasPower() && _stop.contains(i)) {
p = 0;
stop.insert(raw.size());
} else if (_data.at(i).hasPower() && !_outliers.contains(i))
p = _data.at(i).power();
else
continue;
return filter(raw, WINDOW_PF);
raw.append(GraphPoint(_distance.at(i), _time.at(i), p));
}
filtered = filter(raw, WINDOW_PF);
QSet<int>::const_iterator it;
for (it = stop.constBegin(); it != stop.constEnd(); ++it)
filtered[*it].setY(0);
return filtered;
}
qreal Track::distance() const
@ -208,6 +259,11 @@ qreal Track::time() const
(_data.first().timestamp().msecsTo(_data.last().timestamp()) / 1000.0);
}
qreal Track::movingTime() const
{
return (time() - _pause);
}
QDateTime Track::date() const
{
return (_data.size()) ? _data.first().timestamp() : QDateTime();
@ -218,8 +274,14 @@ Path Track::path() const
Path ret;
for (int i = 0; i < _data.size(); i++)
if (!_outliers.contains(i))
if (!_outliers.contains(i) && !discardStopPoint(i))
ret.append(PathPoint(_data.at(i).coordinates(), _distance.at(i)));
return ret;
}
bool Track::discardStopPoint(int i) const
{
return (_stop.contains(i) && i > 0 && _stop.contains(i-1)
&& i < _data.size() - 1 && _stop.contains(i+1));
}

View File

@ -24,6 +24,7 @@ public:
qreal distance() const;
qreal time() const;
qreal movingTime() const;
QDateTime date() const;
const QString &name() const {return _data.name();}
@ -32,6 +33,8 @@ public:
bool isNull() const {return (_data.size() < 2);}
private:
bool discardStopPoint(int i) const;
const TrackData &_data;
QVector<qreal> _distance;
@ -39,6 +42,9 @@ private:
QVector<qreal> _speed;
QSet<int> _outliers;
QSet<int> _stop;
qreal _pause;
};
#endif // TRACK_H

View File

@ -15,6 +15,8 @@ QString TrackItem::toolTip()
tt.insert(tr("Distance"), Format::distance(_distance.last(), _units));
if (_time > 0)
tt.insert(tr("Time"), Format::timeSpan(_time));
if (_movingTime > 0)
tt.insert(tr("Moving Time"), Format::timeSpan(_movingTime));
if (!_date.isNull())
tt.insert(tr("Date"), _date.toString(Qt::SystemLocaleShortDate));
@ -45,6 +47,7 @@ TrackItem::TrackItem(const Track &track, QGraphicsItem *parent)
_desc = track.description();
_date = track.date();
_time = track.time();
_movingTime = track.movingTime();
_marker->setPos(_path.elementAt(0));

View File

@ -23,6 +23,7 @@ private:
QString _desc;
QDateTime _date;
qreal _time;
qreal _movingTime;
};
#endif // TRACKITEM_H