[Marble-commits] KDE/kdeedu/marble/src/lib/routing
Dennis Nienhüser
earthwings at gentoo.org
Sun May 2 17:16:26 CEST 2010
SVN commit 1121869 by nienhueser:
Repaint when annotation selection changes. Only paint dotted lines when a via point would be created.
M +7 -0 RoutingLayer.cpp
--- trunk/KDE/kdeedu/marble/src/lib/routing/RoutingLayer.cpp #1121868:1121869
@@ -221,6 +221,8 @@
painter->drawPixmap( center, m_targetPixmap );
if ( !m_dragStopOver.isNull() && m_dragStopOverRightIndex > 0 && m_dragStopOverRightIndex < m_routeSkeleton->size() ) {
+ QPoint moved = m_dropStopOver - m_dragStopOver;
+ if ( moved.manhattanLength() > 10 ) {
qreal lon( 0.0 ), lat( 0.0 );
if ( m_marbleWidget->geoCoordinates( m_dropStopOver.x(), m_dropStopOver.y(),
lon, lat, GeoDataCoordinates::Radian ) ) {
@@ -229,9 +231,12 @@
painter->setPen( bluePen );
painter->drawLine( drag, m_routeSkeleton->at( m_dragStopOverRightIndex-1 ) );
painter->drawLine( drag, m_routeSkeleton->at( m_dragStopOverRightIndex ) );
+ bluePen.setStyle( Qt::SolidLine );
+ painter->setPen( bluePen );
}
}
}
+ }
for ( int i = 0; i < m_routingModel->rowCount(); ++i ) {
QModelIndex index = m_routingModel->index( i, 0 );
@@ -322,6 +327,8 @@
m_selectionModel->select( index, command );
m_dropStopOver = e->pos();
storeDragPosition( e->pos() );
+ // annotation and old annotation are dirty, large region
+ m_marbleWidget->repaint();
return true;
} else if ( e->button() == Qt::RightButton ) {
m_removeViaPointAction->setEnabled( false );
More information about the Marble-commits
mailing list