[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.5/kdeedu/marble/src/lib
From:       Dennis Nienhüser <earthwings () gentoo ! org>
Date:       2010-12-01 21:59:17
Message-ID: 20101201215917.BB028AC8A4 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1202680 by nienhueser:

Loading citylights.dgml does not trigger inital tile creation, so we need to run it \
                explicitly if base tiles are not there yet. Backport of commit \
                1201749.
BUG: 258058



 M  +25 -2     MergedLayerDecorator.cpp  


--- branches/KDE/4.5/kdeedu/marble/src/lib/MergedLayerDecorator.cpp #1202679:1202680
@@ -17,8 +17,6 @@
 
 #include "MergedLayerDecorator.h"
 
-#include <QtGui/QPainter>
-
 #include "SunLocator.h"
 #include "StackedTileLoader.h"
 #include "global.h"
@@ -32,7 +30,12 @@
 #include "StackedTile.h"
 #include "TileLoaderHelper.h"
 #include "Planet.h"
+#include "TileCreator.h"
+#include "TileCreatorDialog.h"
 
+#include <QtGui/QPainter>
+#include <QtCore/QPointer>
+
 using namespace Marble;
 
 MergedLayerDecorator::MergedLayerDecorator( StackedTileLoader * const tileLoader,
@@ -57,6 +60,26 @@
     m_cityLightsTheme = MapThemeManager::loadMapTheme( \
"earth/citylights/citylights.dgml" );  if (m_cityLightsTheme) {
         QString cityLightsId = m_cityLightsTheme->head()->theme();
+        GeoSceneLayer* layer = m_cityLightsTheme->map()->layer( cityLightsId );
+        GeoSceneTexture *texture =
+            static_cast<GeoSceneTexture*>( layer->groundDataset() );
+
+        QString sourceDir = texture->sourceDir();
+        QString installMap = texture->installMap();
+        if ( !m_tileLoader->baseTilesAvailable( layer ) ) {
+            TileCreator *tileCreator = new TileCreator(
+                                     sourceDir,
+                                     installMap,
+                                     "false" );
+
+            QPointer<TileCreatorDialog> tileCreatorDlg = new TileCreatorDialog( \
tileCreator, 0 ); +            tileCreatorDlg->setSummary( \
m_cityLightsTheme->head()->name(), +                                        \
m_cityLightsTheme->head()->description() ); +            tileCreatorDlg->exec();
+            qDebug("Tile creation completed");
+            delete tileCreatorDlg;
+        }
+
         m_cityLightsTextureLayer = static_cast<GeoSceneTexture*>(
             m_cityLightsTheme->map()->layer( cityLightsId )->datasets().first() );
     }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic