[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