[Marble-commits] KDE/kdeedu/marble/src/lib

Dennis Nienhüser earthwings at gentoo.org
Wed Nov 3 23:01:37 CET 2010


SVN commit 1192742 by nienhueser:

Add a "Go to..." dialog, available on small screen devices, showing a list of target points to center the map on.

 M  +2 -0      CMakeLists.txt  
 A             GoToDialog.cpp   [License: LGPL]
 A             GoToDialog.h   [License: LGPL]
 A             GoToDialog.ui  
 M  +11 -1     MarbleWidgetPopupMenu.cpp  
 M  +1 -0      MarbleWidgetPopupMenu.h  
 M  +5 -0      PositionTracking.cpp  
 M  +3 -0      PositionTracking.h  


--- trunk/KDE/kdeedu/marble/src/lib/CMakeLists.txt #1192741:1192742
@@ -212,6 +212,7 @@
 
     PrintOptionsWidget.cpp
     ExternalEditorDialog.cpp
+    GoToDialog.cpp
 )
 
 set (marblewidget_UI
@@ -240,6 +241,7 @@
     NameDialog.ui
     PrintOptions.ui
     ExternalEditor.ui
+    GoToDialog.ui
     routing/RoutingSettingsWidget.ui
     routing/RoutingProfileSettingsDialog.ui
 )
--- trunk/KDE/kdeedu/marble/src/lib/MarbleWidgetPopupMenu.cpp #1192741:1192742
@@ -25,6 +25,7 @@
 #include "routing/RouteRequest.h"
 #include "MarbleRunnerManager.h"
 #include "BookmarkInfoDialog.h"
+#include "GoToDialog.h"
 
 // Qt
 #include <QtCore/QMimeData>
@@ -68,6 +69,7 @@
 
     QAction *reloadAction  = new QAction( tr( "Rel&oad Map" ), this);
     m_aboutDialogAction = new QAction( tr( "&About" ), this );
+    QAction *goToAction = new QAction( tr( "&Go to..."), this );
 
     m_rmbExtensionPoint = m_rmbMenu->addSeparator();
     m_rmbMenu->addAction( fromHere );
@@ -86,7 +88,7 @@
     m_smallScreenMenu->addAction( m_setHomePointAction );
     m_smallScreenMenu->addAction( addBookmark );
     m_smallScreenMenu->addSeparator();
-    m_smallScreenMenu->addAction( reloadAction );
+    m_smallScreenMenu->addAction( goToAction );
     m_smallScreenMenu->addSeparator();
 
     connect( fromHere, SIGNAL( triggered( ) ), SLOT( directionsFromHere() ) );
@@ -96,6 +98,7 @@
     connect( m_aboutDialogAction, SIGNAL( triggered() ), SLOT( slotAboutDialog() ) );
     connect( m_copyCoordinateAction,SIGNAL( triggered() ), SLOT( slotCopyCoordinates() ) );
     connect( reloadAction, SIGNAL(triggered()), m_widget, SLOT(reloadMap()));
+    connect( goToAction, SIGNAL(triggered()), this, SLOT( openGoToDialog() ) );
 }
 
 
@@ -334,4 +337,11 @@
     }
 }
 
+void MarbleWidgetPopupMenu::openGoToDialog()
+{
+    QPointer<GoToDialog> dialog = new GoToDialog( m_widget, m_widget );
+    dialog->exec();
+    delete dialog;
+}
+
 #include "MarbleWidgetPopupMenu.moc"
--- trunk/KDE/kdeedu/marble/src/lib/MarbleWidgetPopupMenu.h #1192741:1192742
@@ -66,6 +66,7 @@
     void startReverseGeocoding();
     void showAddressInformation( const GeoDataCoordinates &coordinates, const GeoDataPlacemark &placemark );
     void addBookmark();
+    void openGoToDialog();
 
  private:
     /**
--- trunk/KDE/kdeedu/marble/src/lib/PositionTracking.cpp #1192741:1192742
@@ -193,5 +193,10 @@
     return d->m_gpsCurrentPosition;
 }
 
+PositionProviderStatus PositionTracking::status() const
+{
+    return d->m_positionProvider ? d->m_positionProvider->status() : PositionProviderStatusUnavailable;
+}
+
 #include "PositionTracking.moc"
 #include "PositionTracking_p.moc"
--- trunk/KDE/kdeedu/marble/src/lib/PositionTracking.h #1192741:1192742
@@ -74,6 +74,9 @@
     /** @brief Returns the current position, if any */
     GeoDataCoordinates currentLocation() const;
 
+    /** @brief Returns the status of the current position provider plugin, if any */
+    PositionProviderStatus status() const;
+
 public Q_SLOTS:
     /**
       * Toggles the visibility of the Position Tracking document


More information about the Marble-commits mailing list