mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-01-18 11:52:08 +01:00
Fixed some more display issues
This commit is contained in:
parent
80bf57abfc
commit
014e260042
@ -152,7 +152,8 @@ void GraphView::setGraphType(GraphType type)
|
|||||||
|
|
||||||
for (int i = 0; i < _graphs.count(); i++) {
|
for (int i = 0; i < _graphs.count(); i++) {
|
||||||
_graphs.at(i)->setGraphType(type);
|
_graphs.at(i)->setGraphType(type);
|
||||||
updateBounds(_graphs.at(i)->boundingRect());
|
if (_graphs.at(i)->scene() == _scene)
|
||||||
|
_bounds |= _graphs.at(i)->boundingRect();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type == Distance)
|
if (type == Distance)
|
||||||
@ -185,7 +186,7 @@ void GraphView::loadGraph(const Graph &graph, PathItem *path, int id)
|
|||||||
if (!_hide.contains(id)) {
|
if (!_hide.contains(id)) {
|
||||||
_visible.append(gi);
|
_visible.append(gi);
|
||||||
_scene->addItem(gi);
|
_scene->addItem(gi);
|
||||||
updateBounds(gi->boundingRect());
|
_bounds |= gi->boundingRect();
|
||||||
setXUnits();
|
setXUnits();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -218,7 +219,7 @@ void GraphView::showGraph(bool show, int id)
|
|||||||
else {
|
else {
|
||||||
addItem(gi);
|
addItem(gi);
|
||||||
_visible.append(gi);
|
_visible.append(gi);
|
||||||
updateBounds(gi->boundingRect());
|
_bounds |= gi->boundingRect();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -228,21 +229,11 @@ void GraphView::redraw()
|
|||||||
redraw(viewport()->size() - QSizeF(MARGIN, MARGIN));
|
redraw(viewport()->size() - QSizeF(MARGIN, MARGIN));
|
||||||
}
|
}
|
||||||
|
|
||||||
void GraphView::updateBounds(const QRectF &boundingRect)
|
QRectF GraphView::bounds() const
|
||||||
{
|
{
|
||||||
QRectF br(boundingRect);
|
QRectF br(_bounds);
|
||||||
br.moveTopLeft(QPointF(br.left(), -br.top() - br.height()));
|
br.moveTopLeft(QPointF(br.left(), -br.top() - br.height()));
|
||||||
_bounds |= br;
|
return br;
|
||||||
}
|
|
||||||
|
|
||||||
QRectF GraphView::graphsBoundingRect() const
|
|
||||||
{
|
|
||||||
QRectF rect;
|
|
||||||
|
|
||||||
for (int i = 0; i < _visible.count(); i++)
|
|
||||||
rect |= _visible.at(i)->boundingRect();
|
|
||||||
|
|
||||||
return rect;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GraphView::redraw(const QSizeF &size)
|
void GraphView::redraw(const QSizeF &size)
|
||||||
@ -279,7 +270,7 @@ void GraphView::redraw(const QSizeF &size)
|
|||||||
mx = _xAxis->margin();
|
mx = _xAxis->margin();
|
||||||
my = _yAxis->margin();
|
my = _yAxis->margin();
|
||||||
|
|
||||||
r = graphsBoundingRect();
|
r = _bounds;
|
||||||
if (r.height() < _minYRange)
|
if (r.height() < _minYRange)
|
||||||
r.adjust(0, -(_minYRange/2 - r.height()/2), 0,
|
r.adjust(0, -(_minYRange/2 - r.height()/2), 0,
|
||||||
_minYRange/2 - r.height()/2);
|
_minYRange/2 - r.height()/2);
|
||||||
|
@ -69,7 +69,7 @@ signals:
|
|||||||
void sliderPositionChanged(qreal);
|
void sliderPositionChanged(qreal);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
const QRectF &bounds() const {return _bounds;}
|
QRectF bounds() const;
|
||||||
void redraw(const QSizeF &size);
|
void redraw(const QSizeF &size);
|
||||||
void addInfo(const QString &key, const QString &value);
|
void addInfo(const QString &key, const QString &value);
|
||||||
void clearInfo();
|
void clearInfo();
|
||||||
@ -86,8 +86,6 @@ private:
|
|||||||
void createYLabel();
|
void createYLabel();
|
||||||
void updateSliderPosition();
|
void updateSliderPosition();
|
||||||
void updateSliderInfo();
|
void updateSliderInfo();
|
||||||
void updateBounds(const QRectF &boundingRect);
|
|
||||||
QRectF graphsBoundingRect() const;
|
|
||||||
void removeItem(QGraphicsItem *item);
|
void removeItem(QGraphicsItem *item);
|
||||||
void addItem(QGraphicsItem *item);
|
void addItem(QGraphicsItem *item);
|
||||||
|
|
||||||
|
@ -108,7 +108,6 @@ void RouteItem::setUnits(enum Units units)
|
|||||||
|
|
||||||
void RouteItem::moveMarker(qreal distance)
|
void RouteItem::moveMarker(qreal distance)
|
||||||
{
|
{
|
||||||
qDebug() << distance << _distance;
|
|
||||||
if (distance > _distance)
|
if (distance > _distance)
|
||||||
_marker->setVisible(false);
|
_marker->setVisible(false);
|
||||||
else {
|
else {
|
||||||
@ -143,6 +142,8 @@ void RouteItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
|
|||||||
_pen.setWidthF(HOVER_WIDTH * 1.0/scale());
|
_pen.setWidthF(HOVER_WIDTH * 1.0/scale());
|
||||||
setZValue(zValue() + 1.0);
|
setZValue(zValue() + 1.0);
|
||||||
update();
|
update();
|
||||||
|
|
||||||
|
emit selected(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RouteItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
|
void RouteItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
|
||||||
@ -152,4 +153,6 @@ void RouteItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
|
|||||||
_pen.setWidthF(ROUTE_WIDTH * 1.0/scale());
|
_pen.setWidthF(ROUTE_WIDTH * 1.0/scale());
|
||||||
setZValue(zValue() - 1.0);
|
setZValue(zValue() - 1.0);
|
||||||
update();
|
update();
|
||||||
|
|
||||||
|
emit selected(false);
|
||||||
}
|
}
|
||||||
|
@ -132,8 +132,7 @@ QList<PathItem *> TrackView::loadGPX(const GPX &gpx)
|
|||||||
if (_tracks.empty() && _routes.empty() && _waypoints.empty())
|
if (_tracks.empty() && _routes.empty() && _waypoints.empty())
|
||||||
return paths;
|
return paths;
|
||||||
|
|
||||||
if ((_tracks.size() > 1 && _zoom < zoom)
|
if ((_tracks.size() + _routes.size() > 1 && _zoom < zoom)
|
||||||
|| (_routes.size() > 1 && _zoom < zoom)
|
|
||||||
|| (_waypoints.size() && _zoom < zoom))
|
|| (_waypoints.size() && _zoom < zoom))
|
||||||
rescale(_scale);
|
rescale(_scale);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user