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

Jens-Michael Hoffmann jensmh at gmx.de
Thu May 6 15:00:25 CEST 2010


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

Review request for marble.


Summary
-------

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


Diffs
-----

  /trunk/KDE/kdeedu/marble/src/lib/MarbleWidget.h 1123616 =

  /trunk/KDE/kdeedu/marble/src/lib/MarbleWidget.cpp 1123616 =

  /trunk/KDE/kdeedu/marble/src/lib/MarbleMap.h 1123616 =

  /trunk/KDE/kdeedu/marble/src/lib/MarbleMap.cpp 1123616 =


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


Testing
-------

Using the patch below showed that the signal is emitted when browsing and z=
ooming 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.so=
uth() << region.east();
+}
+
 void MarblePart::lockFloatItemPosition( bool enabled )
 {
     QList<AbstractFloatItem *> floatItemList =3D m_controlView->marbleWidg=
et()->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