[Marble-commits] KDE/kdeedu/marble/src/lib
    Dennis Nienhüser 
    earthwings at gentoo.org
       
    Sat Jan 30 15:01:31 CET 2010
    
    
  
SVN commit 1082415 by nienhueser:
Add a runner that uses hostip.info to determine the location of IP addresses or hostnames. It is triggered by searches when planet is earth and the search term contains at least one dot. Remove unnecessary dynamic_casts in MarbleRunnerManager.
CCBUG: 190150
 M  +1 -0      CMakeLists.txt  
 M  +10 -2     MarbleRunnerManager.cpp  
 A             runners/HostipRunner.cpp   [License: LGPL]
 A             runners/HostipRunner.h   [License: LGPL]
--- trunk/KDE/kdeedu/marble/src/lib/CMakeLists.txt #1082414:1082415
@@ -184,6 +184,7 @@
     runners/MarbleAbstractRunner.cpp
     runners/LatLonRunner.cpp
     runners/OnfRunner.cpp
+    runners/HostipRunner.cpp
 )
 
 set (marblewidget_UI
--- trunk/KDE/kdeedu/marble/src/lib/MarbleRunnerManager.cpp #1082414:1082415
@@ -27,6 +27,7 @@
 
 #include "LatLonRunner.h"
 #include "OnfRunner.h"
+#include "HostipRunner.h"
 
 #include <QtCore/QObject>
 #include <QtCore/QString>
@@ -72,18 +73,25 @@
     emit modelChanged( m_model );
 
     LatLonRunner* llrunner = new LatLonRunner;
-    m_runners << dynamic_cast<MarbleAbstractRunner*>(llrunner);
+    m_runners << llrunner;
     connect( llrunner, SIGNAL( runnerFinished( MarbleAbstractRunner*, QVector<GeoDataPlacemark> ) ),
              this,     SLOT( slotRunnerFinished( MarbleAbstractRunner*, QVector<GeoDataPlacemark> ) ));
     llrunner->parse(text);
     
     if (m_celestialBodyId == "earth") {
         OnfRunner* onfrunner = new OnfRunner;
-        m_runners << dynamic_cast<MarbleAbstractRunner*>(onfrunner);
+        m_runners << onfrunner;
         connect( onfrunner, SIGNAL( runnerFinished( MarbleAbstractRunner*, QVector<GeoDataPlacemark> ) ),
                  this,      SLOT( slotRunnerFinished( MarbleAbstractRunner*, QVector<GeoDataPlacemark> ) ));
         onfrunner->parse(text);
         onfrunner->start();
+
+        HostipRunner* iprunner = new HostipRunner;
+        m_runners << iprunner;
+        connect( iprunner, SIGNAL( runnerFinished( MarbleAbstractRunner*, QVector<GeoDataPlacemark> ) ),
+                 this,      SLOT( slotRunnerFinished( MarbleAbstractRunner*, QVector<GeoDataPlacemark> ) ));
+        iprunner->parse(text);
+        iprunner->start();
     }
 
     llrunner->start();
    
    
More information about the Marble-commits
mailing list