Fix mouse interaction with the Location List

paint methods should be used only to paint, not to trigger other
widget behaviours ( we could got ourselves into a bad recursion
bug from that ). Also, enabled mouse tracking to correctly track
the mouse movement inside the widget.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2015-07-16 18:47:57 -03:00 committed by Dirk Hohndel
parent 56240cff5b
commit 0a473b3a2a
4 changed files with 21 additions and 12 deletions

View file

@ -540,17 +540,6 @@ void LocationFilterDelegate::paint(QPainter *painter, const QStyleOptionViewItem
free( (void*) gpsCoords);
}
#ifndef NO_MARBLE
if ((option.state & QStyle::State_HasFocus)) {
// show either the GPS location of the currently focused dive site or
// the gps data for the displayed dive site (even if that has no GPS -> zoom out)
if (dive_site_has_gps_location(ds))
MainWindow::instance()->globe()->centerOnDiveSite(ds);
else
MainWindow::instance()->globe()->centerOnDiveSite(&displayed_dive_site);
}
#endif
if (dive_site_has_gps_location(ds) && dive_site_has_gps_location(&displayed_dive_site)) {
// so we are showing a completion and both the current dive site and the completion
// have a GPS fix... so let's show the distance