[Marble-devel] Review Request: Add visibleRegionChanged signal in MarbleMap and MarbleWidget

jensmh at gmx.de jensmh at gmx.de
Fri May 7 11:35:44 CEST 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/3898/
-----------------------------------------------------------

(Updated 2010-05-07 09:35:44.127119)


Review request for marble.


Summary
-------

With this patch, MarbleMap emits a signal (visibleRegionChanged) when the users moves the map or zooms.
The signals's argument contains the new visible region as GeoDataLatLonAltBox.
The new signal is needed for a non-modal download region dialog.


Diffs (updated)
-----

  /trunk/KDE/kdeedu/marble/src/lib/MarbleMap.h 1123897 
  /trunk/KDE/kdeedu/marble/src/lib/MarbleMap.cpp 1123897 
  /trunk/KDE/kdeedu/marble/src/lib/MarbleWidget.h 1123897 
  /trunk/KDE/kdeedu/marble/src/lib/MarbleWidget.cpp 1123897 

Diff: http://reviewboard.kde.org/r/3898/diff


Testing
-------

Using the patch below showed that the signal is emitted when browsing and zooming around the map.

-------------------------- marble/src/marble_part.cpp --------------------------
index 5722b07..4601cae 100644
@@ -150,6 +150,8 @@ void MarblePart::initObject()
     setupStatusBar();
     readSettings();
     m_statusBarExtension->statusBar()->setUpdatesEnabled( true );
+    connect( m_controlView->marbleWidget(), SIGNAL( visibleRegionChanged( GeoDataLatLonAltBox )),
+             SLOT( debugVisibleRegion( GeoDataLatLonAltBox )));
 }
 
 ControlView* MarblePart::controlView() const
@@ -1265,6 +1267,11 @@ void MarblePart::readPluginSettings()
     }
 }
 
+void MarblePart::debugVisibleRegion( const GeoDataLatLonAltBox& region )
+{
+    kDebug() << "N/W/S/E:" << region.north() << region.west() << region.south() << region.east();
+}
+
 void MarblePart::lockFloatItemPosition( bool enabled )
 {
     QList<AbstractFloatItem *> floatItemList = m_controlView->marbleWidget()->floatItems();

--------------------------- marble/src/marble_part.h ---------------------------
index 7328fde..f17c398 100644
@@ -35,6 +35,7 @@ namespace Marble
 {
 
 class ControlView;
+class GeoDataLatLonAltBox;
 class SunControlWidget;
 
 class MarblePart: public KParts::ReadOnlyPart
@@ -147,6 +148,8 @@ class MarblePart: public KParts::ReadOnlyPart
      */
     void readPluginSettings();
 
+    void debugVisibleRegion( const GeoDataLatLonAltBox& );
+
   private:
     void  setupActions();
     void  setupDownloadProgressBar();


Thanks,

jmho



More information about the Marble-devel mailing list