qreal SceneCoordinate::azimuthTo(const SceneCoordinate &to) const
{
QLineF line = QLineF(this->toPointF(), to.toPointF());
- return line.angle();
+ return -line.angle() + 90.0;
}
void SceneCoordinate::convertFrom(const GeoCoordinate &coordinate)
connect(m_mapEngine, SIGNAL(newMapResolution(qreal)),
m_ui, SIGNAL(newMapResolution(qreal)));
+
+ connect(m_mapEngine, SIGNAL(directionIndicatorValuesUpdate(qreal,qreal)),
+ m_ui, SIGNAL(directionIndicatorValuesUpdate(qreal,qreal)));
}
void SituareEngine::signalsFromRoutingService()
void clearUpdateLocationDialogData();
/**
+ * @brief Signal when direction and distance from current map center point to current GPS
+ * location is changed
+ *
+ * @param direction Direction in degrees
+ * @param distance Distance in kilometers
+ */
+ void directionIndicatorValuesUpdate(qreal direction, qreal distance);
+
+ /**
* @brief Signals when new friends data is ready
*
* @param friendList List of User instances (friends)
void MapEngine::updateDirectionIndicator()
{
+ qDebug() << __PRETTY_FUNCTION__;
+
/// @todo implement distance calculation
qreal distance = 0;
/**
* @brief Signal when direction and distance from current map center point to current GPS
* location is changed
+ *
+ * @param direction Direction in degrees
+ * @param distance Distance in kilometers
*/
void directionIndicatorValuesUpdate(qreal direction, qreal distance);
QToolButton::mouseReleaseEvent(event);
}
-void IndicatorButton::setDirection(qreal direction)
-{
- m_direction = direction;
-}
-
void IndicatorButton::setDraggable(bool mode, QPoint eventPosition)
{
qDebug() << __PRETTY_FUNCTION__;
setDraggable(true, m_dragPosition);
}
+
+void IndicatorButton::updateValues(qreal direction, qreal distance)
+{
+ qWarning() << __PRETTY_FUNCTION__ << "direction:" << direction;
+
+ m_direction = direction;
+}
*/
void screenResized(const QSize &size);
- void setDirection(qreal direction);
+ /**
+ * @brief Called when direction and distance from current map center point to current GPS
+ * location is changed
+ *
+ * @param direction Direction in degrees
+ * @param distance Distance in kilometers
+ */
+ void updateValues(qreal direction, qreal distance);
/**
* @brief Toggle distance indicator button draggability
connect(m_mapView, SIGNAL(viewResized(QSize)),
m_indicatorButton, SLOT(screenResized(QSize)));
+
+ connect(this, SIGNAL(directionIndicatorValuesUpdate(qreal,qreal)),
+ m_indicatorButton, SLOT(updateValues(qreal,qreal)));
}
void MainWindow::buildInformationBox(const QString &message, bool modal)
void centerToSceneCoordinates(const SceneCoordinate &coordinate);
/**
+ * @brief Signal when direction and distance from current map center point to current GPS
+ * location is changed
+ *
+ * @param direction Direction in degrees
+ * @param distance Distance in kilometers
+ */
+ void directionIndicatorValuesUpdate(qreal direction, qreal distance);
+
+ /**
* @brief Signal for enabling automatic location update.
*
* @param enabled true if enabled, false otherwise