diff --git a/gpxsee.pro b/gpxsee.pro index 8113b7a6..70fc0983 100644 --- a/gpxsee.pro +++ b/gpxsee.pro @@ -39,7 +39,8 @@ HEADERS += src/config.h \ src/range.h \ src/cpuarch.h \ src/settings.h \ - src/app.h + src/app.h \ + src/trackinfo.h SOURCES += src/main.cpp \ src/gui.cpp \ src/gpx.cpp \ @@ -66,7 +67,8 @@ SOURCES += src/main.cpp \ src/palette.cpp \ src/heartrategraph.cpp \ src/range.cpp \ - src/app.cpp + src/app.cpp \ + src/trackinfo.cpp RESOURCES += gpxsee.qrc TRANSLATIONS = lang/gpxsee_cs.ts macx { diff --git a/lang/gpxsee_cs.ts b/lang/gpxsee_cs.ts index 65e1ae14..9c6220f0 100644 --- a/lang/gpxsee_cs.ts +++ b/lang/gpxsee_cs.ts @@ -59,114 +59,114 @@ GUI - + GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at 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 - + Open file Otevřít soubor - + Save as Uložit jako - + Open POI file Otevřít POI soubor - + Open Otevřít - + Quit Ukončit - - - + + + Keyboard controls Ovládací klávesy - + Save Uložit - + Close Zavřít - + Reload Znovu načíst - + Show Zobrazit - - + + File Soubor - - - + + + Data sources Zdroje dat - + Load POI file Nahrát POI soubor - + Close POI files Zavřit POI soubory - + Show POIs Zobrazit POI - + Show map Zobrazit mapu - + Clear tile cache Vymazat mezipaměť dlaždic - - - + + + Next map Následující mapa - + Show graphs Zobrazovat grafy - + Show toolbars Zobrazovat nástrojové lišty @@ -176,67 +176,67 @@ Metrické - + Imperial Imperiální - + Fullscreen mode Celoobrazovkový režim - + Next Následující - + Previous Předchozí - + Last Poslední - + First První - + Map Mapa - + POI POI - + POI files POI soubory - + Settings Nastavení - + Units Jednotky - + Help Nápověda - + Previous map Předchozí mapa @@ -246,159 +246,159 @@ Nejsou načteny žádné GPX soubory - + Elevation Výška - + Speed Rychlost - + Heart rate Tep - + Next file Následující soubor - + Version Verze - + Previous file Předchozí soubor - + First file První soubor - + Last file Poslední soubor - + Append modifier Modifikátor nahradit/přidat - + Map (tiles) source URLs are read on program startup from the following file: URL mapových zdrojů (dlaždic) jsou načteny při startu programu z následujícího souboru: - + 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: 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: - + To make GPXSee load a POI file automatically on startup, add the file to the following directory: POI soubory, které se mají automaticky nahrát při startu programu jsou načítány z následujícího adresáře: - + GPX files (*.gpx);;All files (*) soubory GPX (*.gpx);;všechny soubory (*) - - + + Line: %1 Řádka: %1 - + GPX files (*.gpx);;CSV files (*.csv);;All files (*) soubory GPX (*.gpx);;soubory CSV (*.csv);;všechny soubory (*) - + mi mi - - - - + + + + ft ft - - + + Maximum Maximum - - + + Minimum Minimum - - + + About GPXSee O aplikaci GPXSee - + Navigation Navigace - + Map sources Mapové zdroje - + POIs POI body - - + + Distance Vzdálenost - - + + Time Čas - - + + Ascent Stoupání - - - - + + + + m m - - + + Descent Klesání @@ -408,26 +408,26 @@ Počet tras: %1 - + km km - - + + Error Chyba - + Error loading GPX file: %1 Soubor GPX nelze otevřít: %1 - + Error loading POI file: %1 Soubor POI nelze otevřít: diff --git a/src/graphview.cpp b/src/graphview.cpp index 1d5d6c8f..f154ac3c 100644 --- a/src/graphview.cpp +++ b/src/graphview.cpp @@ -67,8 +67,6 @@ GraphView::~GraphView() if (_info->scene() != _scene) delete _info; - - delete _scene; } void GraphView::updateBounds(const QPointF &point) diff --git a/src/gui.cpp b/src/gui.cpp index 10244e14..3c4b6147 100644 --- a/src/gui.cpp +++ b/src/gui.cpp @@ -26,7 +26,7 @@ #include "speedgraph.h" #include "heartrategraph.h" #include "trackview.h" -#include "infoitem.h" +#include "trackinfo.h" #include "filebrowser.h" #include "cpuarch.h" #include "gui.h" @@ -656,13 +656,7 @@ void GUI::saveFile(const QString &fileName) QPainter p(&printer); - _track->plot(&p, QRectF(0, 300, printer.width(), (0.80 * printer.height()) - - 400)); - _elevationGraph->plot(&p, QRectF(0, 0.80 * printer.height(), - printer.width(), printer.height() * 0.20)); - - QGraphicsScene scene; - InfoItem info; + TrackInfo info; if (_imperialUnitsAction->isChecked()) { info.insert(tr("Distance"), QString::number(_distance * M2MI, 'f', 1) + UNIT_SPACE + tr("mi")); @@ -688,8 +682,12 @@ void GUI::saveFile(const QString &fileName) info.insert(tr("Minimum"), QString::number(_elevationGraph->min(), 'f', 0) + UNIT_SPACE + tr("m")); } - scene.addItem(&info); - scene.render(&p, QRectF(0, 0, printer.width(), 200)); + + _track->plot(&p, QRectF(0, 300, printer.width(), (0.80 * printer.height()) + - 400)); + _elevationGraph->plot(&p, QRectF(0, 0.80 * printer.height(), + printer.width(), printer.height() * 0.20)); + info.plot(&p, QRectF(0, 0, printer.width(), 200)); } void GUI::reloadFile() diff --git a/src/trackinfo.cpp b/src/trackinfo.cpp new file mode 100644 index 00000000..0bfde94d --- /dev/null +++ b/src/trackinfo.cpp @@ -0,0 +1,18 @@ +#include "infoitem.h" +#include "trackinfo.h" + +TrackInfo::TrackInfo(QObject *parent) : QGraphicsScene(parent) +{ + _info = new InfoItem(); + addItem(_info); +} + +void TrackInfo::insert(const QString &key, const QString &value) +{ + _info->insert(key, value); +} + +void TrackInfo::plot(QPainter *painter, const QRectF &target) +{ + render(painter, QRectF(0, 0, target.width(), target.height())); +} diff --git a/src/trackinfo.h b/src/trackinfo.h new file mode 100644 index 00000000..5df931f7 --- /dev/null +++ b/src/trackinfo.h @@ -0,0 +1,22 @@ +#ifndef TRACKINFO_H +#define TRACKINFO_H + +#include + +class InfoItem; + +class TrackInfo : public QGraphicsScene +{ + Q_OBJECT + +public: + TrackInfo(QObject *parent = 0); + + void insert(const QString &key, const QString &value); + void plot(QPainter *painter, const QRectF &target); + +private: + InfoItem *_info; +}; + +#endif // TRACKINFO_H diff --git a/src/trackview.cpp b/src/trackview.cpp index f304522e..e5d73cef 100644 --- a/src/trackview.cpp +++ b/src/trackview.cpp @@ -40,7 +40,8 @@ TrackView::TrackView(QWidget *parent) TrackView::~TrackView() { - delete _scene; + if (_mapScale->scene() != _scene) + delete _mapScale; } void TrackView::addTrack(const QVector &track)