示例#1
0
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();
}