From 864a3c9d6cd3b192f22cc3b8ef46b29b6305923b Mon Sep 17 00:00:00 2001 From: LM Date: Wed, 20 Jul 2011 17:49:31 +0200 Subject: [PATCH] Working on home location improvements --- .../opmapcontrol/src/mapwidget/homeitem.cpp | 19 +++++++++++++++++++ src/ui/map/QGCMapTool.cc | 10 +++++++++- src/ui/map/QGCMapTool.h | 4 ++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/libs/opmapcontrol/src/mapwidget/homeitem.cpp b/src/libs/opmapcontrol/src/mapwidget/homeitem.cpp index c0f6ce5f4..543322764 100644 --- a/src/libs/opmapcontrol/src/mapwidget/homeitem.cpp +++ b/src/libs/opmapcontrol/src/mapwidget/homeitem.cpp @@ -36,6 +36,10 @@ namespace mapcontrol this->setPos(localposition.X(),localposition.Y()); this->setZValue(4); coord=internals::PointLatLng(50,50); + +// this->setFlag(QGraphicsItem::ItemIsMovable,true); +// this->setFlag(QGraphicsItem::ItemIgnoresTransformations,true); +// this->setFlag(QGraphicsItem::ItemIsSelectable,true); } void HomeItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) @@ -77,4 +81,19 @@ namespace mapcontrol } +// void HomeItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) +// { +// if(event->button()==Qt::LeftButton) +// { +// coord=map->FromLocalToLatLng(this->pos().x(),this->pos().y()); +// QString coord_str = " " + QString::number(coord.Lat(), 'f', 6) + " " + QString::number(coord.Lng(), 'f', 6); +// qDebug() << "WP MOVE:" << coord_str << __FILE__ << __LINE__; +// isDragging=false; +// RefreshToolTip(); + +// emit WPValuesChanged(this); +// } +// QGraphicsItem::mouseReleaseEvent(event); +// } + } diff --git a/src/ui/map/QGCMapTool.cc b/src/ui/map/QGCMapTool.cc index 9bf53a4d9..f7ed1442e 100644 --- a/src/ui/map/QGCMapTool.cc +++ b/src/ui/map/QGCMapTool.cc @@ -14,7 +14,15 @@ QGCMapTool::QGCMapTool(QWidget *parent) : ui->zoomSlider->setMaximum(ui->map->MaxZoom()); ui->zoomSlider->setValue(ui->map->ZoomReal()); connect(ui->zoomSlider, SIGNAL(valueChanged(int)), ui->map, SLOT(SetZoom(int))); - connect(ui->map, SIGNAL(zoomChanged(int)), ui->zoomSlider, SLOT(setValue(int))); + connect(ui->map, SIGNAL(zoomChanged(int)), this, SLOT(setZoom(int))); +} + +void QGCMapTool::setZoom(int zoom) +{ + if (ui->zoomSlider->value() != zoom) + { + ui->zoomSlider->setValue(zoom); + } } QGCMapTool::~QGCMapTool() diff --git a/src/ui/map/QGCMapTool.h b/src/ui/map/QGCMapTool.h index 75a0a7399..d7d4f4c4a 100644 --- a/src/ui/map/QGCMapTool.h +++ b/src/ui/map/QGCMapTool.h @@ -15,6 +15,10 @@ public: explicit QGCMapTool(QWidget *parent = 0); ~QGCMapTool(); +public slots: + /** @brief Update slider zoom from map change */ + void setZoom(int zoom); + private: Ui::QGCMapTool *ui; }; -- 2.22.0