QVariant TargetModel::currentLocationData ( int role ) const { const PositionTracking* tracking = m_marbleModel->positionTracking(); if ( tracking->status() == PositionProviderStatusAvailable ) { GeoDataCoordinates currentLocation = tracking->currentLocation(); switch( role ) { case Qt::DisplayRole: return tr( "Current Location: %1" ).arg( currentLocation.toString() ) ; case Qt::DecorationRole: return QIcon( ":/icons/gps.png" ); case MarblePlacemarkModel::CoordinateRole: { return qVariantFromValue( currentLocation ); } } } return QVariant(); }