From aacc04520f87f1182b730ada9be120f071f30422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20T=C5=AFma?= Date: Tue, 9 Aug 2016 10:47:49 +0200 Subject: [PATCH] Added some more data display options --- lang/gpxsee_cs.ts | 187 ++++++++++++++++++++++++---------------------- src/gui.cpp | 19 ++++- src/gui.h | 1 + src/routeitem.cpp | 9 ++- src/routeitem.h | 2 + src/settings.h | 1 + src/trackview.cpp | 10 +++ src/trackview.h | 2 + 8 files changed, 135 insertions(+), 96 deletions(-) diff --git a/lang/gpxsee_cs.ts b/lang/gpxsee_cs.ts index 489994bc..b04b3371 100644 --- a/lang/gpxsee_cs.ts +++ b/lang/gpxsee_cs.ts @@ -15,13 +15,13 @@ Výška - + km km - - + + m m @@ -41,13 +41,13 @@ Minimum - + mi mi - - + + ft ft @@ -163,17 +163,17 @@ 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 - + Open POI file Otevřít POI soubor @@ -189,8 +189,8 @@ - - + + Keyboard controls Ovládací klávesy @@ -205,20 +205,20 @@ Znovu načíst - + Show Zobrazit - - + + File Soubor - - + + Data sources Zdroje dat @@ -260,7 +260,7 @@ - + Next map Následující mapa @@ -280,108 +280,123 @@ Zobrazit navigační body - + + Waypoint labels + Názvy navigačních bodů + + + + Route Waypoints + Body tras + + + Show graphs Zobrazovat grafy - + Show toolbars Zobrazovat nástrojové lišty - + Metric 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 - + Data Data - + + Display + Zobrazit + + + Settings Nastavení - + Units Jednotky - + Help Nápověda - + Previous map Předchozí mapa - - + + Date Datum - + No GPX files loaded Nejsou načteny žádné GPX soubory - + Next file Následující soubor - + Version Verze @@ -396,133 +411,123 @@ Exportovat do PDF... - - Show waypoint labels - Zobrazovat názvy navigačních bodů - - - - Rendering - Zobrazení - - - + 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 (*) - + Tracks Počet tras - + mi mi - + About GPXSee O aplikaci GPXSee - + Navigation Navigace - + Map sources Mapové zdroje - + POIs POI body - - + + Distance Vzdálenost - + Time Čas - + %1 tracks 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: @@ -543,7 +548,7 @@ Tep - + km km @@ -563,17 +568,17 @@ Maximum - + m m - + ft ft - + mi mi @@ -640,22 +645,22 @@ Rychlost - + m m - + km - + ft ft - + km/h km/h @@ -670,12 +675,12 @@ Maximum - + mi mi - + mi/h mi/h @@ -709,32 +714,32 @@ Maximum - + m m - + km km - + ft ft - + mi mi - + C C - + F F diff --git a/src/gui.cpp b/src/gui.cpp index fcbfac1e..e803f311 100644 --- a/src/gui.cpp +++ b/src/gui.cpp @@ -281,10 +281,14 @@ void GUI::createActions() _showWaypointsAction->setCheckable(true); connect(_showWaypointsAction, SIGNAL(triggered(bool)), _track, SLOT(showWaypoints(bool))); - _showWaypointLabelsAction = new QAction(tr("Show waypoint labels"), this); + _showWaypointLabelsAction = new QAction(tr("Waypoint labels"), this); _showWaypointLabelsAction->setCheckable(true); connect(_showWaypointLabelsAction, SIGNAL(triggered(bool)), _track, SLOT(showWaypointLabels(bool))); + _showRouteWaypointsAction = new QAction(tr("Route Waypoints"), this); + _showRouteWaypointsAction->setCheckable(true); + connect(_showRouteWaypointsAction, SIGNAL(triggered(bool)), _track, + SLOT(showRouteWaypoints(bool))); // Settings actions _showGraphsAction = new QAction(tr("Show graphs"), this); @@ -370,12 +374,13 @@ void GUI::createMenus() poiMenu->addAction(_showPOIAction); QMenu *dataMenu = menuBar()->addMenu(tr("Data")); + QMenu *displayMenu = dataMenu->addMenu(tr("Display")); + displayMenu->addAction(_showWaypointLabelsAction); + displayMenu->addAction(_showRouteWaypointsAction); + dataMenu->addSeparator(); dataMenu->addAction(_showTracksAction); dataMenu->addAction(_showRoutesAction); dataMenu->addAction(_showWaypointsAction); - dataMenu->addSeparator(); - QMenu *displayMenu = dataMenu->addMenu(tr("Rendering")); - displayMenu->addAction(_showWaypointLabelsAction); QMenu *settingsMenu = menuBar()->addMenu(tr("Settings")); QMenu *unitsMenu = settingsMenu->addMenu(tr("Units")); @@ -1146,6 +1151,8 @@ void GUI::writeSettings() _showWaypointsAction->isChecked()); settings.setValue(SHOW_WAYPOINT_LABELS_SETTING, _showWaypointLabelsAction->isChecked()); + settings.setValue(SHOW_ROUTE_WAYPOINTS_SETTING, + _showRouteWaypointsAction->isChecked()); settings.endGroup(); } @@ -1233,6 +1240,10 @@ void GUI::readSettings() _track->showWaypointLabels(false); else _showWaypointLabelsAction->setChecked(true); + if (settings.value(SHOW_ROUTE_WAYPOINTS_SETTING, true).toBool() == false) + _track->showRouteWaypoints(false); + else + _showRouteWaypointsAction->setChecked(true); settings.endGroup(); } diff --git a/src/gui.h b/src/gui.h index 57a12f09..acb45cb2 100644 --- a/src/gui.h +++ b/src/gui.h @@ -140,6 +140,7 @@ private: QAction *_showRoutesAction; QAction *_showWaypointsAction; QAction *_showWaypointLabelsAction; + QAction *_showRouteWaypointsAction; QList _mapActions; QList _poiFilesActions; diff --git a/src/routeitem.cpp b/src/routeitem.cpp index 504e6d64..fbe6fce4 100644 --- a/src/routeitem.cpp +++ b/src/routeitem.cpp @@ -54,7 +54,6 @@ void RouteItem::setScale(qreal scale) _pen.setWidthF(ROUTE_WIDTH * 1.0/scale); QGraphicsItem::setScale(scale); - _marker->setScale(1.0/scale); QList childs = childItems(); for (int i = 0; i < childs.count(); i++) @@ -72,3 +71,11 @@ void RouteItem::moveMarker(qreal t) Q_ASSERT(t >= 0 && t <= 1.0); _marker->setPos(_path.pointAtPercent(t)); } + +void RouteItem::showWaypoints(bool show) +{ + QList childs = childItems(); + for (int i = 0; i < childs.count(); i++) + if (childs.at(i) != _marker) + childs.at(i)->setVisible(show); +} diff --git a/src/routeitem.h b/src/routeitem.h index 6a55b3e4..161e5a49 100644 --- a/src/routeitem.h +++ b/src/routeitem.h @@ -22,6 +22,8 @@ public: void showMarker(bool show) {_marker->setVisible(show);} void moveMarker(qreal t); + void showWaypoints(bool show); + private: QPainterPath _path; QPen _pen; diff --git a/src/settings.h b/src/settings.h index d25f842b..3b34238e 100644 --- a/src/settings.h +++ b/src/settings.h @@ -25,6 +25,7 @@ #define SHOW_TRACKS_SETTING "tracks" #define SHOW_ROUTES_SETTING "routes" #define SHOW_WAYPOINTS_SETTING "waypoints" +#define SHOW_ROUTE_WAYPOINTS_SETTING "routeWaypoints" #define SHOW_WAYPOINT_LABELS_SETTING "waypointLabels" #endif // SETTINGS_H diff --git a/src/trackview.cpp b/src/trackview.cpp index e421668d..b171268c 100644 --- a/src/trackview.cpp +++ b/src/trackview.cpp @@ -45,6 +45,7 @@ TrackView::TrackView(QWidget *parent) _showWaypointLabels = true; _showPOILabels = true; _overlapPOIs = true; + _showRouteWaypoints = true; _plot = false; } @@ -89,6 +90,7 @@ void TrackView::addRoute(const Route &route) ri->setScale(1.0/_scale); ri->setColor(_palette.color()); ri->setVisible(_showRoutes); + ri->showWaypoints(_showRouteWaypoints); _scene->addItem(ri); _maxPath = qMax(ri->path().length(), _maxPath); @@ -540,6 +542,14 @@ void TrackView::showWaypointLabels(bool show) _waypoints.at(i)->showLabel(show); } +void TrackView::showRouteWaypoints(bool show) +{ + _showRouteWaypoints = show; + + for (int i = 0; i < _routes.size(); i++) + _routes.at(i)->showWaypoints(show); +} + void TrackView::showPOILabels(bool show) { _showPOILabels = show; diff --git a/src/trackview.h b/src/trackview.h index 2eeabff0..db071782 100644 --- a/src/trackview.h +++ b/src/trackview.h @@ -52,6 +52,7 @@ public slots: void showTracks(bool show); void showRoutes(bool show); void showWaypoints(bool show); + void showRouteWaypoints(bool show); private: void addTrack(const Track &track); @@ -100,6 +101,7 @@ private: bool _showWaypointLabels; bool _showPOILabels; bool _overlapPOIs; + bool _showRouteWaypoints; bool _plot; };