AutoNavigation::AutoNavigation( MarbleModel *model, const ViewportParams *viewport, QObject *parent ) : QObject( parent ), d( new AutoNavigation::Private( model, viewport, this ) ) { connect( d->m_tracking, SIGNAL(gpsLocation(GeoDataCoordinates,qreal)), this, SLOT(adjust(GeoDataCoordinates,qreal)) ); }
void PositionTracking::setPositionProviderPlugin( PositionProviderPlugin* plugin ) { const PositionProviderStatus oldStatus = status(); if ( d->m_positionProvider ) { delete d->m_positionProvider; } d->m_positionProvider = plugin; if ( d->m_positionProvider ) { d->m_positionProvider->setParent( this ); mDebug() << "Initializing position provider:" << d->m_positionProvider->name(); connect( d->m_positionProvider, SIGNAL(statusChanged(PositionProviderStatus)), this, SLOT(updateStatus()) ); connect( d->m_positionProvider, SIGNAL(positionChanged(GeoDataCoordinates,GeoDataAccuracy)), this, SLOT(updatePosition()) ); d->m_positionProvider->initialize(); } emit positionProviderPluginChanged( plugin ); if ( oldStatus != status() ) { emit statusChanged( status() ); } if ( status() == PositionProviderStatusAvailable ) { emit gpsLocation( d->m_positionProvider->position(), d->m_positionProvider->speed() ); } }
void PositionMarker::initialize() { if ( marbleModel() ) { connect( marbleModel()->positionTracking(), SIGNAL(gpsLocation(GeoDataCoordinates,qreal)), this, SLOT(setPosition(GeoDataCoordinates)) ); m_isInitialized = true; } loadDefaultCursor(); }
RoutingModel::RoutingModel( RouteRequest* request, MarbleModel *model, QObject *parent ) : QAbstractListModel( parent ), d( new RoutingModelPrivate( request ) ) { if( model ) { d->m_positionTracking = model->positionTracking(); QObject::connect( d->m_positionTracking, SIGNAL(gpsLocation(GeoDataCoordinates,qreal)), this, SLOT(updatePosition(GeoDataCoordinates,qreal)) ); } QHash<int, QByteArray> roles = roleNames(); roles.insert( RoutingModel::TurnTypeIconRole, "turnTypeIcon" ); roles.insert( RoutingModel::LongitudeRole, "longitude" ); roles.insert( RoutingModel::LatitudeRole, "latitude" ); setRoleNames( roles ); }
void PositionSource::setMarbleModel( Marble::MarbleModel* model ) { if ( model != m_marbleModel ) { m_marbleModel = model; if ( model ) { connect( model->positionTracking(), SIGNAL( gpsLocation( GeoDataCoordinates, qreal ) ), this, SLOT( updatePosition() ) ); connect( model->positionTracking(), SIGNAL( statusChanged( PositionProviderStatus ) ), this, SLOT( updatePosition() ) ); } if ( active() ) { start(); } } }
void Speedometer::initialize () { if ( !m_widgetItem ) { QWidget *widget = new QWidget; m_widget.setupUi( widget ); m_widgetItem = new WidgetGraphicsItem( this ); m_widgetItem->setWidget( widget ); MarbleGraphicsGridLayout *layout = new MarbleGraphicsGridLayout( 1, 1 ); layout->addItem( m_widgetItem, 0, 0 ); setLayout( layout ); setPadding( 0 ); m_locale = MarbleGlobal::getInstance()->locale(); connect( marbleModel()->positionTracking(), SIGNAL(gpsLocation(GeoDataCoordinates,qreal)), this, SLOT(updateLocation(GeoDataCoordinates,qreal)) ); } }
RoutingModel::RoutingModel( RouteRequest* request, MarbleModel *model, QObject *parent ) : QAbstractListModel( parent ), d( new RoutingModelPrivate( request ) ) { d->m_marbleModel = model; d->m_positionTracking = model->positionTracking(); QObject::connect( d->m_positionTracking, SIGNAL(gpsLocation(GeoDataCoordinates,qreal)), this, SLOT(updatePosition(GeoDataCoordinates,qreal)) ); QHash<int, QByteArray> roles; roles.insert( Qt::DisplayRole, "display" ); roles.insert( RoutingModel::TurnTypeIconRole, "turnTypeIcon" ); roles.insert( RoutingModel::LongitudeRole, "longitude" ); roles.insert( RoutingModel::LatitudeRole, "latitude" ); #if QT_VERSION < 0x050000 setRoleNames( roles ); #else d->m_roleNames = roles; #endif }