[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdeedu/marble/src
From:       Dennis Nienhüser <earthwings () gentoo ! org>
Date:       2010-12-30 11:12:52
Message-ID: 20101230111252.97EFAAC8AE () svn ! kde ! org
[Download RAW message or body]

SVN commit 1210272 by nienhueser:

Only enable the guidance mode button when a route is available.

 M  +1 -0      lib/routing/RoutingModel.cpp  
 M  +3 -0      lib/routing/RoutingModel.h  
 M  +12 -0     plugins/render/routing/RoutingPlugin.cpp  
 M  +2 -0      plugins/render/routing/RoutingPlugin.h  


--- trunk/KDE/kdeedu/marble/src/lib/routing/RoutingModel.cpp #1210271:1210272
@@ -303,6 +303,7 @@
     }
 
     reset();
+    emit currentRouteChanged();
     return true;
 }
 
--- trunk/KDE/kdeedu/marble/src/lib/routing/RoutingModel.h #1210271:1210272
@@ -178,6 +178,9 @@
     void routeCalculated( int );
     void deviatedFromRoute( bool deviated );
 
+    /** A different route was loaded */
+    void currentRouteChanged();
+
 private:
     RoutingModelPrivate *const d;
 };
--- trunk/KDE/kdeedu/marble/src/plugins/render/routing/RoutingPlugin.cpp #1210271:1210272
@@ -63,6 +63,8 @@
 
     void updateZoomButtons();
 
+    void updateGuidanceModeButton();
+
     void updateInstructionLabel( int fontSize, qreal remainingDistance );
 
     void forceRepaint();
@@ -142,6 +144,12 @@
     forceRepaint();
 }
 
+void RoutingPluginPrivate::updateGuidanceModeButton()
+{
+    bool const hasRoute = m_routingModel->rowCount() > 0;
+    m_widget.routingButton->setEnabled( hasRoute );
+}
+
 void RoutingPluginPrivate::forceRepaint()
 {
     if ( m_marbleWidget ) {
@@ -370,6 +378,7 @@
     d->m_widget.setupUi( widget );
     PositionProviderPlugin* activePlugin = dataFacade()->positionTracking()->positionProviderPlugin();
     d->m_widget.gpsButton->setChecked( activePlugin != 0 );
+    d->m_widget.routingButton->setEnabled( false );
     connect( d->m_widget.instructionLabel, SIGNAL( linkActivated( QString ) ),
              this, SLOT( reverseRoute() ) );
 
@@ -425,6 +434,9 @@
                  this, SLOT( updateZoomButtons() ) );
         connect( d->m_marbleWidget, SIGNAL( zoomChanged( int ) ),
                  this, SLOT( updateZoomButtons( int ) ) );
+        connect( d->m_routingModel, SIGNAL( currentRouteChanged() ),
+                this, SLOT( updateGuidanceModeButton() ) );
+        d->updateGuidanceModeButton();
     }
     return AbstractFloatItem::eventFilter( object, e );
 }
--- trunk/KDE/kdeedu/marble/src/plugins/render/routing/RoutingPlugin.h #1210271:1210272
@@ -72,6 +72,8 @@
     /** Activate or deactivate position tracking */
     Q_PRIVATE_SLOT( d, void togglePositionTracking( bool enabled ) )
 
+    Q_PRIVATE_SLOT( d, void updateGuidanceModeButton() );
+
     RoutingPluginPrivate* const d;
 };
 
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic