map-widget: allow real-time updates of edited markers

This patch allows updating the location of map markers
while editing a dive site and updating the text in the
LocationInformationWidget in real-time.

Currently it is only possible to see the marker changes by
clicking 'Apply'.

The modification required the following changes:
- add the MapWidget::updateCurrentDiveSiteCoordinatesToMap() slot
and call it each time the GPS text updates
- separate the updateCurrentDiveSiteCoordinates(FromMap/ToMap) logic
by having the FromMap/ToMap suffix to method names
- make MapWidgetHelper::updateCurrentDiveSiteCoordinatesToMap()
call a new MapLocationModel::updateMapLocationCoordinates()
method, which updates selected location coordinates and the model
- add MapLocation::setCoordinateNoEmit() that does not emit
a signal when updating a coordinate

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
Lubomir I. Ivanov 2017-11-09 18:43:21 +02:00 committed by Dirk Hohndel
parent 89ccdc3178
commit 746874a78e
8 changed files with 45 additions and 3 deletions

View file

@ -52,6 +52,8 @@ LocationInformationWidget::LocationInformationWidget(QWidget *parent) : QGroupBo
this, &LocationInformationWidget::updateGpsCoordinates);
connect(this, &LocationInformationWidget::endEditDiveSite,
MapWidget::instance(), &MapWidget::repopulateLabels);
connect(this, &LocationInformationWidget::coordinatesChanged,
MapWidget::instance(), &MapWidget::updateCurrentDiveSiteCoordinatesToMap);
}
bool LocationInformationWidget::eventFilter(QObject *, QEvent *ev)