Minor refactoring & adding/updating documentation
authorSami Rämö <sami.ramo@ixonos.com>
Thu, 29 Apr 2010 06:37:11 +0000 (09:37 +0300)
committerSami Rämö <sami.ramo@ixonos.com>
Thu, 29 Apr 2010 06:37:11 +0000 (09:37 +0300)
src/map/mapengine.cpp
src/map/mapengine.h
src/map/mapfetcher.h
src/map/mapscene.cpp
src/map/mapscene.h
src/map/mapview.h

index b8986e5..8d2c0a9 100644 (file)
@@ -36,7 +36,7 @@ MapEngine::MapEngine(QObject *parent)
     : QObject(parent)
     , m_centerTile(QPoint(UNDEFINED, UNDEFINED))
     , m_viewSize(QSize(DEFAULT_SCREEN_WIDTH, DEFAULT_SCREEN_HEIGHT))
-    , m_zoomedIn(NO)
+    , m_zoomedIn(false)
     , m_zoomLevel(DEFAULT_ZOOM_LEVEL)
 {
     m_mapScene = new MapScene(this);
@@ -222,8 +222,8 @@ void MapEngine::viewZoomFinished()
 {
 //    qDebug() << __PRETTY_FUNCTION__;
 
-    if (m_zoomedIn == YES) {
-        m_zoomedIn = NO;
+    if (m_zoomedIn) {
+        m_zoomedIn = false;
         m_mapScene->removeOutOfViewTiles();
     }
 }
@@ -234,7 +234,7 @@ void MapEngine::zoomIn()
 
     if (m_zoomLevel < MAX_MAP_ZOOM_LEVEL) {
         m_zoomLevel++;
-        m_zoomedIn = YES;
+        m_zoomedIn = true;
         emit zoomLevelChanged(m_zoomLevel);
 
         m_mapScene->setTilesDrawingLevels(m_zoomLevel);
index 578cf50..f4d60df 100644 (file)
@@ -261,8 +261,6 @@ signals:
  * DATA MEMBERS
  ******************************************************************************/
 private:
-    enum ZoomedIn { YES, NO }; ///< Direction of the last zoom action
-
     MapFetcher *m_mapFetcher; ///< Fetcher for map tiles
     MapScene *m_mapScene; ///< Scene for map tiles
     MapZoomPanel *m_mapZoomPanel; ///< Toolbar for zoom buttons
@@ -270,7 +268,7 @@ private:
     QPoint m_sceneCoordinate; ///< Current center coordinate
     QRect m_viewTilesGrid; ///< Current grid of tiles in view (includes margin)
     QSize m_viewSize; ///< Current view size
-    ZoomedIn m_zoomedIn; ///< Flag for checking if zoomed in when zoom is finished
+    bool m_zoomedIn; ///< Flag for checking if zoomed in when zoom is finished
     int m_zoomLevel; ///< Current zoom level
 };
 
index 161bf6e..f2f5c70 100644 (file)
@@ -54,6 +54,14 @@ public:
  ******************************************************************************/
 public slots:
 
+    /**
+    * @brief Enqueue fetching of map image
+    *
+    * Image fetching is triggered after events have been processed
+    * so the UI stays responsive.
+    *
+    * @param url URL of the image to be fetched
+    */
     void enqueueFetchMapImage(QUrl url);
 
 private:
@@ -79,9 +87,9 @@ private slots:
     void downloadFinished(QNetworkReply *reply);
 
     /**
-    * @brief Fetch image from given URL.
+    * @brief Fetch next map image.
     *
-    * @param url URL to image
+    * Next queued request is taken from the queue and fetching is started
     */
     void fetchMapImage();
 
@@ -121,8 +129,8 @@ private:
 
     QList<QNetworkReply*> m_currentDownloads; ///< List of current downloads
     QQueue<QUrl> m_downloadQueue;             ///< Queue of pending requests
-    QList<QUrl> m_fetchMapImagesList;
-    bool m_isFetchMapImagesTimerRunning;
+    QList<QUrl> m_fetchMapImagesList; ///< "Queue" for map image fetching requests
+    bool m_isFetchMapImagesTimerRunning; ///< is the singleshot timer already running
     QNetworkAccessManager *m_manager;       ///< Network access manager
 };
 
index f741788..25ed041 100644 (file)
@@ -55,7 +55,7 @@ void MapScene::enqueueRemoveStackedTiles(MapTile *newTile)
     m_removeStackedTilesList << newTile;
     if (!m_isRemoveStackedTilesRunning) {
         m_isRemoveStackedTilesRunning = true;
-        QTimer::singleShot(0, this, SLOT(removeStackedTile()));
+        QTimer::singleShot(0, this, SLOT(runNextStackedTilesRemoval()));
     }
 }
 
@@ -64,7 +64,7 @@ bool MapScene::isTileInScene(QString hashKey)
     return m_mapTilesInScene.contains(hashKey);
 }
 
-void MapScene::removeStackedTile()
+void MapScene::runNextStackedTilesRemoval()
 {
 //    qDebug() << __PRETTY_FUNCTION__;
 
@@ -75,7 +75,7 @@ void MapScene::removeStackedTile()
 
     // schedule removal of the next tile if the list is not empty
     if (!m_removeStackedTilesList.isEmpty()) {
-        QTimer::singleShot(0, this, SLOT(removeStackedTile()));
+        QTimer::singleShot(0, this, SLOT(runNextStackedTilesRemoval()));
     }
     else {
         m_isRemoveStackedTilesRunning = false;
index 0295954..3096c61 100644 (file)
@@ -57,6 +57,13 @@ public:
 
     void debugItemsCount();
 
+    /**
+    * @brief Enqueue stacked tiles removal request
+    *
+    * Removal is triggered after events have been processed so the UI
+    * stays more responsive
+    * @param newTile New tile, which area under it is inspected
+    */
     void enqueueRemoveStackedTiles(MapTile *newTile);
 
     /**
@@ -70,7 +77,6 @@ public:
     /**
     * @brief Remove tiles which are out of view bounds.
     *
-    * @param viewRect Current view rect
     */
     void removeOutOfViewTiles();
 
@@ -104,19 +110,33 @@ public:
     */
     void setTilesDrawingLevels(int zoomLevel);
 
+    /**
+    * @brief Save new view rect
+    *
+    * View rect must be saved to local scope whenever it changes because
+    * it is used by removal algorithms and some of the algorithms are run
+    * delayed so the actual view rect may change before the cleanup
+    * algorithm is run.
+    *
+    * @param viewRect New view rect
+    */
     void viewRectUpdated(QRect viewRect);
 
-public slots:
-    void removeStackedTile();
+private slots:
+    /**
+    * @brief Slot for running next queued removal of stacked tiles
+    *
+    */
+    void runNextStackedTilesRemoval();
 
 /*******************************************************************************
  * DATA MEMBERS
  ******************************************************************************/
 private:
-    bool m_isRemoveStackedTilesRunning;
+    bool m_isRemoveStackedTilesRunning; ///< Is singleshot timer already running
     QHash<QString, MapTile *> m_mapTilesInScene;  ///< List of map tiles in map scene
-    QList<MapTile *> m_removeStackedTilesList;
-    QRect m_viewRect;
+    QList<MapTile *> m_removeStackedTilesList; ///< "Queue" for stacked tiles removal requests
+    QRect m_viewRect; ///< Current viewable area
 };
 
 #endif // MAPSCENE_H
index bf61cba..fdac835 100644 (file)
@@ -34,6 +34,11 @@ class MapView : public QGraphicsView
 {
     Q_OBJECT
 
+    /**
+    * @brief View scaling
+    *
+    * @property viewScale
+    */
     Q_PROPERTY(qreal viewScale READ viewScale WRITE setViewScale)
 
 public:
@@ -107,8 +112,18 @@ private:
     */
     qreal currentScale();
 
+    /**
+    * @brief Set new view scale
+    *
+    * @param viewScale New scaling factor
+    */
     void setViewScale(qreal viewScale);
 
+    /**
+    * @brief Get current view scale
+    *
+    * @return Current view scaling factor
+    */
     qreal viewScale();
 
 /*******************************************************************************
@@ -152,7 +167,7 @@ private:
     QPoint m_mousePosition; ///< Previous mouse event position
     QPoint m_scenePosition; ///< New center position
     int m_timerID; ///< ID number of the timer used for smooth zoom effect
-    QPropertyAnimation *m_zoomAnimation;
+    QPropertyAnimation *m_zoomAnimation; ///< Zoom animation
     qreal m_zoomScaleDelta; ///< Scaling factor delta for smooth zoom transition effect
     qreal m_zoomTargetScale; ///< Scaling factor of the target zoom level
 };