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

List:       kde-commits
Subject:    [marble/qt5] /: first take on compiling it with Qt5. Not fully working yet but I start
From:       Michael Zanetti <michael_zanetti () gmx ! net>
Date:       2013-08-22 11:58:55
Message-ID: E1VCTXT-0001Ba-Hx () scm ! kde ! org
[Download RAW message or body]

Git commit 4c8395f32012d6367b45623ec13409f889f4d35d by Michael Zanetti.
Committed on 25/07/2013 at 18:56.
Pushed by mzanetti into branch 'qt5'.

first take on compiling it with Qt5. Not fully working yet but I start
to feel uncomfortable with such a huge diff and no online backup

M  +56   -19   CMakeLists.txt
M  +2    -3    src/CMakeLists.txt
M  +68   -2    src/lib/AbstractDataPlugin.cpp
M  +8    -0    src/lib/AbstractDataPlugin.h
M  +2    -1    src/lib/AbstractDataPluginItem.cpp
M  +24   -4    src/lib/AbstractDataPluginModel.cpp
M  +4    -0    src/lib/AbstractDataPluginModel.h
M  +2    -1    src/lib/AbstractFloatItem.cpp
M  +1    -1    src/lib/AbstractFloatItem.h
M  +2    -1    src/lib/AbstractWorkerThread.cpp
M  +1    -1    src/lib/AutoNavigation.h
M  +13   -6    src/lib/CMakeLists.txt
M  +2    -1    src/lib/CacheStoragePolicy.cpp
M  +2    -1    src/lib/CurrentLocationWidget.cpp
M  +1    -1    src/lib/CurrentLocationWidget.h
M  +2    -1    src/lib/DataMigration.cpp
M  +2    -1    src/lib/DeferredFlag.cpp
M  +2    -1    src/lib/DownloadQueueSet.cpp
M  +2    -1    src/lib/DownloadRegion.cpp
M  +2    -1    src/lib/DownloadRegionDialog.cpp
M  +1    -1    src/lib/DownloadRegionDialog.h
M  +1    -1    src/lib/EditBookmarkDialog.h
M  +2    -1    src/lib/FileLoader.cpp
M  +2    -1    src/lib/FileManager.cpp
M  +2    -1    src/lib/FileStoragePolicy.cpp
M  +2    -1    src/lib/FileStorageWatcher.cpp
M  +6    -5    src/lib/FileViewWidget.cpp
M  +1    -1    src/lib/FileViewWidget.h
M  +2    -1    src/lib/GeoDataTreeModel.cpp
M  +1    -1    src/lib/GeoDataTreeModel.h
M  +2    -1    src/lib/GeoPolygon.cpp
M  +2    -1    src/lib/HttpDownloadManager.cpp
M  +2    -1    src/lib/HttpJob.cpp
M  +2    -1    src/lib/LatLonBoxWidget.cpp
M  +1    -1    src/lib/LatLonBoxWidget.h
M  +2    -1    src/lib/LatLonEdit.cpp
M  +1    -1    src/lib/LatLonEdit.h
M  +2    -1    src/lib/LayerManager.cpp
M  +2    -1    src/lib/LegendWidget.cpp
M  +1    -1    src/lib/LegendWidget.h
M  +2    -1    src/lib/MapThemeManager.cpp
M  +2    -1    src/lib/MapThemeSortFilterProxyModel.cpp
M  +1    -1    src/lib/MapThemeSortFilterProxyModel.h
M  +3    -2    src/lib/MapViewWidget.cpp
M  +1    -1    src/lib/MapViewWidget.h
M  +2    -1    src/lib/MarbleAboutDialog.cpp
M  +1    -1    src/lib/MarbleAboutDialog.h
M  +2    -1    src/lib/MarbleCacheSettingsWidget.cpp
M  +1    -1    src/lib/MarbleCacheSettingsWidget.h
M  +2    -1    src/lib/MarbleClock.cpp
M  +2    -1    src/lib/MarbleControlBox.cpp
M  +1    -1    src/lib/MarbleControlBox.h
M  +2    -1    src/lib/MarbleLegendBrowser.cpp
M  +2    -1    src/lib/MarbleMap.cpp
M  +2    -1    src/lib/MarbleModel.cpp
M  +2    -1    src/lib/MarbleNavigator.cpp
M  +1    -1    src/lib/MarbleNavigator.h
M  +2    -1    src/lib/MarblePhysics.cpp
M  +17   -2    src/lib/MarblePlacemarkModel.cpp
M  +3    -0    src/lib/MarblePlacemarkModel.h
M  +2    -1    src/lib/MarblePluginSettingsWidget.cpp
M  +1    -1    src/lib/MarblePluginSettingsWidget.h
M  +2    -1    src/lib/MarbleWebView.cpp
M  +1    -1    src/lib/MarbleWebView.h
M  +18   -1    src/lib/MarbleWidget.cpp
M  +6    -1    src/lib/MarbleWidget.h
M  +2    -1    src/lib/MarbleWidgetInputHandler.cpp
M  +2    -1    src/lib/MarbleWidgetPopupMenu.cpp
M  +3    -2    src/lib/NavigationWidget.cpp
M  +1    -1    src/lib/NavigationWidget.h
M  +2    -1    src/lib/PlacemarkLayout.cpp
M  +1    -1    src/lib/PlacemarkLayout.h
M  +2    -1    src/lib/PluginAboutDialog.cpp
M  +1    -1    src/lib/PluginAboutDialog.h
M  +2    -1    src/lib/PluginItemDelegate.cpp
M  +1    -1    src/lib/PluginItemDelegate.h
M  +2    -1    src/lib/PluginManager.cpp
M  +2    -1    src/lib/PopupItem.cpp
M  +1    -1    src/lib/PopupItem.h
M  +2    -1    src/lib/PositionProviderPlugin.cpp
M  +2    -1    src/lib/PositionTracking.cpp
M  +2    -1    src/lib/QtMarbleConfigDialog.cpp
M  +1    -1    src/lib/QtMarbleConfigDialog.h
M  +2    -1    src/lib/RenderPlugin.cpp
M  +2    -1    src/lib/RenderPluginModel.cpp
M  +1    -1    src/lib/RoutingRunnerPlugin.h
M  +31   -16   src/lib/ServerLayout.cpp
M  +4    -0    src/lib/SphericalScanlineTextureMapper.cpp
M  +4    -0    src/lib/StackedTile.cpp
M  +2    -1    src/lib/StackedTileLoader.cpp
M  +2    -1    src/lib/StoragePolicy.cpp
M  +2    -1    src/lib/SunControlWidget.cpp
M  +1    -1    src/lib/SunControlWidget.h
M  +2    -1    src/lib/SunLocator.cpp
M  +5    -4    src/lib/TileCreator.cpp
M  +2    -1    src/lib/TileCreatorDialog.cpp
M  +1    -1    src/lib/TileCreatorDialog.h
M  +2    -1    src/lib/TileLevelRangeWidget.cpp
M  +1    -1    src/lib/TileLevelRangeWidget.h
M  +2    -1    src/lib/TileLoader.cpp
M  +2    -1    src/lib/TileScalingTextureMapper.cpp
M  +2    -1    src/lib/TimeControlWidget.cpp
M  +1    -1    src/lib/TimeControlWidget.h
M  +3    -2    src/lib/TinyWebBrowser.cpp
M  +1    -1    src/lib/TinyWebBrowser.h
M  +10   -1    src/lib/VectorComposer.cpp
M  +2    -1    src/lib/VectorTileModel.cpp
M  +2    -1    src/lib/WikipediaService.cpp
M  +2    -2    src/lib/geodata/data/GeoDataCoordinates.cpp
M  +2    -2    src/lib/geodata/data/GeoDataFeature.cpp
M  +2    -3    src/lib/geodata/data/GeoDataGeometry.cpp
M  +1    -0    src/lib/geodata/data/GeoDataLod.cpp
M  +1    -1    src/lib/geodata/data/GeoDataPlacemark.h
M  +2    -0    src/lib/geodata/data/GeoDataPlaylist.h
M  +12   -1    src/lib/geodata/handlers/dgml/DgmlDownloadUrlTagHandler.cpp
M  +1    -1    src/lib/geodata/parser/GeoParser.h
M  +2    -1    src/lib/geodata/scene/GeoSceneDocument.cpp
M  +2    -1    src/lib/geodata/scene/GeoSceneGroup.cpp
M  +2    -1    src/lib/geodata/scene/GeoSceneProperty.cpp
M  +2    -1    src/lib/geodata/scene/GeoSceneSettings.cpp
M  +1    -1    src/lib/geodata/writer/GeoWriter.h
M  +4    -0    src/lib/geodata/writers/dgml/DgmlTextureTagWriter.cpp
M  +2    -0    src/lib/geodata/writers/kml/KmlOverlayTagWriter.h
M  +2    -0    src/lib/graphicsview/FrameGraphicsItem.cpp
M  +2    -2    src/lib/kbihash_p.h
M  +2    -1    src/lib/kdescendantsproxymodel.cpp
M  +1    -1    src/lib/kdescendantsproxymodel.h
M  +2    -1    src/lib/layers/GeometryLayer.cpp
M  +2    -1    src/lib/layers/PlacemarkLayer.cpp
M  +2    -1    src/lib/layers/PopupLayer.cpp
M  +2    -1    src/lib/layers/TextureLayer.cpp
M  +2    -1    src/lib/layers/VectorTileLayer.cpp
M  +4    -2    src/lib/routing/AlternativeRoutesModel.cpp
M  +2    -1    src/lib/routing/RouteRequest.cpp
M  +1    -1    src/lib/routing/RoutingLayer.h
M  +2    -1    src/lib/routing/RoutingModel.cpp
M  +1    -1    src/lib/routing/RoutingWidget.h
M  +9    -6    src/plugins/CMakeLists.txt
M  +4    -2    src/routing-instructions/CMakeLists.txt
M  +8    -2    src/tilecreator/CMakeLists.txt

http://commits.kde.org/marble/4c8395f32012d6367b45623ec13409f889f4d35d

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 69c2fbe..a48ce5b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -251,24 +251,60 @@ endif(APPLE)
 ####################################################
 # Specific options for if building with Qt or kde4 libs
 
-find_package(Qt4 REQUIRED)
-set( QT_USE_QTXML         ON )
-set( QT_USE_QTNETWORK     ON )
-set( QT_USE_QTTEST        ON )
-set( QT_USE_QTSCRIPT      ON )
-set( QT_USE_QTWEBKIT      ON )
-set( QT_USE_QTSVG         ON )
-set( QT_USE_QTDECLARATIVE ON )
-set( QT_USE_QTSQL         ON )
-include( ${QT_USE_FILE} )
-marble_set_package_properties( Qt4 PROPERTIES DESCRIPTION "cross-platform \
                application framework" )
-marble_set_package_properties( Qt4 PROPERTIES URL "http://qt.digia.com/" )
-marble_set_package_properties( Qt4 PROPERTIES TYPE REQUIRED PURPOSE "core framework" \
                )
-IF ( NOT QT_QTDECLARATIVE_LIBRARY )
-  # older cmake versions have a FindQt4.cmake without support for declarative,
-  # but the library may still be available
-  FIND_LIBRARY(QT_QTDECLARATIVE_LIBRARY NAMES QtDeclarative HINTS ${QT_LIBRARY_DIR})
-ENDIF()
+if(QT5BUILD)
+  find_package(Qt5Xml REQUIRED)
+  find_package(Qt5Network REQUIRED)
+  find_package(Qt5Test REQUIRED)
+  find_package(Qt5Script REQUIRED)
+  find_package(Qt5Widgets REQUIRED)
+  find_package(Qt5WebKitWidgets REQUIRED)
+    
+  macro(qt_add_resources)
+    qt5_add_resources(${ARGN})
+  endmacro()
+   
+  macro(qt_wrap_ui)
+    qt5_wrap_ui(${ARGN})
+  endmacro()
+
+  macro(qt_add_resources)
+    qt5_add_resources(${ARGN})
+  endmacro()
+    
+else(QT5BUILD)
+
+  find_package(Qt4 REQUIRED)
+  set( QT_USE_QTXML         ON )
+  set( QT_USE_QTNETWORK     ON )
+  set( QT_USE_QTTEST        ON )
+  set( QT_USE_QTSCRIPT      ON )
+  set( QT_USE_QTWEBKIT      ON )
+  set( QT_USE_QTSVG         ON )
+  set( QT_USE_QTDECLARATIVE ON )
+  set( QT_USE_QTSQL         ON )
+  include( ${QT_USE_FILE} )
+  marble_set_package_properties( Qt4 PROPERTIES DESCRIPTION "cross-platform \
application framework" ) +  marble_set_package_properties( Qt4 PROPERTIES URL \
"http://qt.digia.com/" ) +  marble_set_package_properties( Qt4 PROPERTIES TYPE \
REQUIRED PURPOSE "core framework" ) +  IF ( NOT QT_QTDECLARATIVE_LIBRARY )
+    # older cmake versions have a FindQt4.cmake without support for declarative,
+    # but the library may still be available
+    FIND_LIBRARY(QT_QTDECLARATIVE_LIBRARY NAMES QtDeclarative HINTS \
${QT_LIBRARY_DIR}) +  ENDIF()
+
+  macro(qt_add_resources)
+    qt4_add_resources(${ARGN})
+  endmacro()
+
+  macro(qt_wrap_ui)
+    qt4_wrap_ui(${ARGN})
+  endmacro()
+
+  macro(qt_add_resources)
+    qt4_add_resources(${ARGN})
+  endmacro()
+    
+endif(QT5BUILD)
 
 if(QTONLY)
   # add a flag to be able to distinguish between qt 
@@ -340,7 +376,8 @@ add_subdirectory(data)
 
 include(DistTarget)
 
-add_subdirectory(tests)
+# FIXME!
+#add_subdirectory(tests)
 
 ####################################################
 # Install extra files
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b2a3e09..3e55745 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -132,10 +132,9 @@ if(MINGW)
    QT4_ADD_RESOURCES2(marble_SRCS marble.rc)
 endif(MINGW)
 
-qt4_add_resources(marble_SRCS marble.qrc)
+qt_add_resources(marble_SRCS marble.qrc)
 
-qt4_wrap_ui(marble_SRCS ${marble_UI})
-qt4_automoc(${marble_SRCS})
+qt_wrap_ui(marble_SRCS ${marble_UI})
 
 if (NOT QTONLY)
   kde4_add_ui_files(marble_kde_SRCS ${marble_UI})
diff --git a/src/lib/AbstractDataPlugin.cpp b/src/lib/AbstractDataPlugin.cpp
index 70b24c2..b826fd3 100644
--- a/src/lib/AbstractDataPlugin.cpp
+++ b/src/lib/AbstractDataPlugin.cpp
@@ -25,9 +25,15 @@
 #include <QTimer>
 #include <QMouseEvent>
 #include <QRegion>
+#if QT_VERSION < 0x050000
 #include <QDeclarativeComponent>
 #include <QDeclarativeItem>
 #include <QDeclarativeContext>
+#else
+#include <QQmlComponent>
+#include <QQmlContext>
+#include <QQuickItem>
+#endif
 
 namespace Marble
 {
@@ -50,9 +56,14 @@ class AbstractDataPluginPrivate
     
     AbstractDataPluginModel *m_model;
     quint32 m_numberOfItems;
+#if QT_VERSION < 0x050000
     QDeclarativeComponent* m_delegate;
-    QGraphicsItem* m_delegateParent;
     QMap<AbstractDataPluginItem*,QDeclarativeItem*> m_delegateInstances;
+#else
+    QQmlComponent* m_delegate;
+    QMap<AbstractDataPluginItem*,QQuickItem*> m_delegateInstances;
+#endif
+    QGraphicsItem* m_delegateParent;
     QTimer m_updateTimer;
 };
 
@@ -162,7 +173,11 @@ RenderPlugin::RenderType AbstractDataPlugin::renderType() const
     return OnlineRenderType;
 }
 
+#if QT_VERSION < 0x050000
 void AbstractDataPlugin::setDelegate( QDeclarativeComponent *delegate, \
QGraphicsItem* parent ) +#else
+void AbstractDataPlugin::setDelegate( QQmlComponent *delegate, QGraphicsItem* parent \
) +#endif
 {
     qDeleteAll( d->m_delegateInstances.values() );
     d->m_delegateInstances.clear();
@@ -206,7 +221,11 @@ void AbstractDataPlugin::handleViewportChange( const \
                ViewportParams *viewport )
             // Create a new QML object instance using the delegate as the factory. \
                The original
             // data plugin item is set as the context object, i.e. all its \
properties are available  // to QML directly with their names
+#if QT_VERSION < 0x050000
             QDeclarativeContext *context = new QDeclarativeContext( qmlContext( \
d->m_delegate ) ); +#else
+            QQmlContext *context = new QQmlContext( qmlContext( d->m_delegate ) );
+#endif
             context->setContextObject( item );
             QList<QByteArray> const dynamicProperties = \
item->dynamicPropertyNames();  foreach( const QByteArray &property, dynamicProperties \
) { @@ -214,7 +233,11 @@ void AbstractDataPlugin::handleViewportChange( const \
ViewportParams *viewport )  }
 
             QObject* component = d->m_delegate->create( context );
+#if QT_VERSION < 0x050000
             QDeclarativeItem* newItem = qobject_cast<QDeclarativeItem*>( component \
); +#else
+            QQuickItem* newItem = qobject_cast<QQuickItem*>( component );
+#endif
             QGraphicsItem* graphicsItem = qobject_cast<QGraphicsItem*>( component );
             if ( graphicsItem && newItem ) {
                 graphicsItem->setParentItem( d->m_delegateParent );
@@ -233,7 +256,11 @@ void AbstractDataPlugin::handleViewportChange( const \
ViewportParams *viewport )  }
 
         Q_ASSERT( visible );
+#if QT_VERSION < 0x050000
         QDeclarativeItem* declarativeItem = d->m_delegateInstances[item];
+#else
+        QQuickItem* declarativeItem = d->m_delegateInstances[item];
+#endif
         Q_ASSERT( declarativeItem );
 
         // Make sure we have a valid bounding rect for collision detection
@@ -242,6 +269,7 @@ void AbstractDataPlugin::handleViewportChange( const \
ViewportParams *viewport )  
         int shiftX( 0 ), shiftY( 0 );
         switch( declarativeItem->transformOrigin() ) {
+#if QT_VERSION < 0x050000
         case QDeclarativeItem::TopLeft:
         case QDeclarativeItem::Top:
         case QDeclarativeItem::TopRight:
@@ -276,6 +304,43 @@ void AbstractDataPlugin::handleViewportChange( const \
ViewportParams *viewport )  }
 
         declarativeItem->setPos( x - shiftX, y - shiftY );
+#else
+        case QQuickItem::TopLeft:
+        case QQuickItem::Top:
+        case QQuickItem::TopRight:
+            break;
+        case QQuickItem::Left:
+        case QQuickItem::Center:
+        case QQuickItem::Right:
+            shiftY = declarativeItem->height() / 2;
+            break;
+        case QQuickItem::BottomLeft:
+        case QQuickItem::Bottom:
+        case QQuickItem::BottomRight:
+            shiftY = declarativeItem->height();
+            break;
+        }
+
+        switch( declarativeItem->transformOrigin() ) {
+        case QQuickItem::TopLeft:
+        case QQuickItem::Left:
+        case QQuickItem::BottomLeft:
+            break;
+        case QQuickItem::Top:
+        case QQuickItem::Center:
+        case QQuickItem::Bottom:
+            shiftX = declarativeItem->width() / 2;
+            break;
+        case QQuickItem::TopRight:
+        case QQuickItem::Right:
+        case QQuickItem::BottomRight:
+            shiftX = declarativeItem->width();
+            break;
+        }
+
+        declarativeItem->setX( x - shiftX );
+        declarativeItem->setY( y - shiftY );
+#endif
         orphane.removeOne( item );
     }
 
@@ -302,4 +367,5 @@ void AbstractDataPlugin::delayedUpdate()
 
 } // namespace Marble
 
-#include "AbstractDataPlugin.moc"
+//FIXME mzanetti
+//#include "AbstractDataPlugin.moc"
diff --git a/src/lib/AbstractDataPlugin.h b/src/lib/AbstractDataPlugin.h
index fc4829a..555ffa9 100644
--- a/src/lib/AbstractDataPlugin.h
+++ b/src/lib/AbstractDataPlugin.h
@@ -15,7 +15,11 @@
 #include "marble_export.h"
 #include "RenderPlugin.h"
 
+#if QT_VERSION < 0x050000
 class QDeclarativeComponent;
+#else
+class QQmlComponent;
+#endif
 class QGraphicsItem;
 
 namespace Marble
@@ -112,7 +116,11 @@ class MARBLE_EXPORT AbstractDataPlugin : public RenderPlugin
      */
     virtual RenderType renderType() const;
 
+#if QT_VERSION < 0x050000
     void setDelegate( QDeclarativeComponent* delegate, QGraphicsItem* parent );
+#else
+    void setDelegate( QQmlComponent* delegate, QGraphicsItem* parent );
+#endif
 
     /** Convenience method to set the favorite item state on the current model */
     void setFavoriteItemsOnly( bool favoriteOnly );
diff --git a/src/lib/AbstractDataPluginItem.cpp b/src/lib/AbstractDataPluginItem.cpp
index 30ce29b..8d1a28a 100644
--- a/src/lib/AbstractDataPluginItem.cpp
+++ b/src/lib/AbstractDataPluginItem.cpp
@@ -159,4 +159,5 @@ QList<QAction*> AbstractDataPluginItem::actions()
 
 } // Marble namespace
 
-#include "AbstractDataPluginItem.moc"
+//FIXME mzanetti
+//#include "AbstractDataPluginItem.moc"
diff --git a/src/lib/AbstractDataPluginModel.cpp \
b/src/lib/AbstractDataPluginModel.cpp index 9bf8c17..cf6fe09 100644
--- a/src/lib/AbstractDataPluginModel.cpp
+++ b/src/lib/AbstractDataPluginModel.cpp
@@ -100,6 +100,13 @@ public:
     QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const;
 
     void reset();
+
+#if QT_VERSION >= 0x050000
+    QHash<int, QByteArray> roleNames() const;
+
+private:
+    QHash<int, QByteArray> m_roleNames;
+#endif
 };
 
 AbstractDataPluginModelPrivate::AbstractDataPluginModelPrivate( const QString& name,
@@ -174,7 +181,7 @@ static bool lessThanByPointer( const AbstractDataPluginItem \
*item1,  FavoritesModel::FavoritesModel( AbstractDataPluginModelPrivate *_d, QObject* \
parent ) :  QAbstractListModel( parent ), d(_d)
 {
-    QHash<int,QByteArray> roles = roleNames();
+    QHash<int,QByteArray> roles;
     int const size = d->m_hasMetaObject ? d->m_metaObject.propertyCount() : 0;
     for ( int i=0; i<size; ++i ) {
         QMetaProperty property = d->m_metaObject.property( i );
@@ -182,7 +189,11 @@ FavoritesModel::FavoritesModel( AbstractDataPluginModelPrivate \
*_d, QObject* par  }
     roles[Qt::DisplayRole] = "display";
     roles[Qt::DecorationRole] = "decoration";
+#if QT_VERSION < 0x050000
     setRoleNames( roles );
+#else
+    m_roleNames = roles;
+#endif
 }
 
 int FavoritesModel::rowCount ( const QModelIndex &parent ) const
@@ -210,7 +221,7 @@ QVariant FavoritesModel::data( const QModelIndex &index, int role \
) const  if ( item->initialized() && item->isFavorite() ) {
                 if ( count == row ) {
                     QString const roleName = roleNames().value( role );
-                    return item->property( roleName.toAscii() );
+                    return item->property( roleName.toLatin1() );
                 }
                 ++count;
             }
@@ -222,8 +233,16 @@ QVariant FavoritesModel::data( const QModelIndex &index, int \
role ) const  
 void FavoritesModel::reset()
 {
-    QAbstractListModel::reset();
+    beginResetModel();
+    endResetModel();
+}
+
+#if QT_VERSION >= 0x050000
+QHash<int, QByteArray> FavoritesModel::roleNames() const
+{
+    return m_roleNames;
 }
+#endif
 
 AbstractDataPluginModel::AbstractDataPluginModel( const QString &name, const \
MarbleModel *marbleModel, QObject *parent )  : QObject(  parent ),
@@ -660,4 +679,5 @@ void AbstractDataPluginModel::registerItemProperties( const \
QMetaObject &item )  
 } // namespace Marble
 
-#include "AbstractDataPluginModel.moc"
+//FIXME mzanetti
+//#include "AbstractDataPluginModel.moc"
diff --git a/src/lib/AbstractDataPluginModel.h b/src/lib/AbstractDataPluginModel.h
index b1e94d3..8353a2c 100644
--- a/src/lib/AbstractDataPluginModel.h
+++ b/src/lib/AbstractDataPluginModel.h
@@ -97,6 +97,10 @@ class MARBLE_EXPORT AbstractDataPluginModel : public QObject
      */
     bool itemExists( const QString& id ) const;
 
+#if QT_VERSION >= 0x050000
+    virtual QHash<int, QByteArray> roleNames() const;
+#endif
+
 public Q_SLOTS:
     /**
      * Adds the @p items to the list of initialized items. It checks if items with \
                the same id are
diff --git a/src/lib/AbstractFloatItem.cpp b/src/lib/AbstractFloatItem.cpp
index d465045..b4d0c30 100644
--- a/src/lib/AbstractFloatItem.cpp
+++ b/src/lib/AbstractFloatItem.cpp
@@ -259,4 +259,5 @@ QMenu* AbstractFloatItem::contextMenu()
 
 }
 
-#include "AbstractFloatItem.moc"
+// FIXME mzanetti
+//#include "AbstractFloatItem.moc"
diff --git a/src/lib/AbstractFloatItem.h b/src/lib/AbstractFloatItem.h
index 9af1a83..ab069d5 100644
--- a/src/lib/AbstractFloatItem.h
+++ b/src/lib/AbstractFloatItem.h
@@ -21,7 +21,7 @@
 #include <QtGui/QFont>
 #include <QtGui/QContextMenuEvent>
 #include <QtGui/QHelpEvent>
-#include <QtGui/QWidget>
+#include <QWidget>
 
 #include "RenderPlugin.h"
 #include "FrameGraphicsItem.h"
diff --git a/src/lib/AbstractWorkerThread.cpp b/src/lib/AbstractWorkerThread.cpp
index 57f138f..844008a 100644
--- a/src/lib/AbstractWorkerThread.cpp
+++ b/src/lib/AbstractWorkerThread.cpp
@@ -95,4 +95,5 @@ void AbstractWorkerThread::run()
 
 }
 
-#include "AbstractWorkerThread.moc"
+//FIXME mzanetti
+//#include "AbstractWorkerThread.moc"
diff --git a/src/lib/AutoNavigation.h b/src/lib/AutoNavigation.h
index ad6dc99..7a1b0c4 100644
--- a/src/lib/AutoNavigation.h
+++ b/src/lib/AutoNavigation.h
@@ -14,7 +14,7 @@
 #include "marble_export.h"
 #include "GeoDataCoordinates.h"
 
-#include <QtGui/QWidget>
+#include <QWidget>
 
 namespace Marble
 {
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
index 16c7fab..5d37edd 100644
--- a/src/lib/CMakeLists.txt
+++ b/src/lib/CMakeLists.txt
@@ -21,8 +21,18 @@ INCLUDE_DIRECTORIES(
  ${CMAKE_CURRENT_SOURCE_DIR}/graphicsview
  ${CMAKE_CURRENT_SOURCE_DIR}/layers
  ${QT_INCLUDE_DIR}
+ 
+if(QT5BUILD)
+ ${Qt5Core_INCLUDE_DIRS}
+ ${Qt5Xml_INCLUDE_DIRS}
+ ${Qt5Widgets_INCLUDE_DIRS}
+ ${Qt5WebKitWidgets_INCLUDE_DIRS}
+endif(QT5BUILD)
 )
-INCLUDE(${QT_USE_FILE})
+if(NOT QT5BUILD)
+  INCLUDE(${QT_USE_FILE})
+endif(NOT QT5BUILD)
+
 INCLUDE(geodata/CMakeLists.txt)
 INCLUDE(graphicsview/CMakeLists.txt)
 INCLUDE(layers/CMakeLists.txt)
@@ -271,11 +281,8 @@ set (marblewidget_UI
 )
 
 # FIXME: cleaner approach of src/lib/MarbleControlBox.* vs. marble.qrc
-qt4_add_resources(marblewidget_SRCS libmarble.qrc ../marble.qrc)
-
-qt4_wrap_ui(marblewidget_SRCS ${marblewidget_UI})
-qt4_automoc(${marblewidget_SRCS})
-
+qt_add_resources(marblewidget_SRCS libmarble.qrc ../marble.qrc)
+qt_wrap_ui(marblewidget_SRCS ${marblewidget_UI})
 
 # link with release version of Qt libs
 ADD_LIBRARY(marblewidget SHARED ${marblewidget_SRCS} ${SOURCES_UI_HDRS})
diff --git a/src/lib/CacheStoragePolicy.cpp b/src/lib/CacheStoragePolicy.cpp
index 21a3b2a..588ad1a 100644
--- a/src/lib/CacheStoragePolicy.cpp
+++ b/src/lib/CacheStoragePolicy.cpp
@@ -71,4 +71,5 @@ quint64 CacheStoragePolicy::cacheLimit() const
     return m_cache.cacheLimit();
 }
 
-#include "CacheStoragePolicy.moc"
+//FIXME mzanetti
+//#include "CacheStoragePolicy.moc"
diff --git a/src/lib/CurrentLocationWidget.cpp b/src/lib/CurrentLocationWidget.cpp
index e7da170..a7c7b07 100644
--- a/src/lib/CurrentLocationWidget.cpp
+++ b/src/lib/CurrentLocationWidget.cpp
@@ -446,4 +446,5 @@ void CurrentLocationWidget::setLastSavePath( const QString &path \
)  
 }
 
-#include "CurrentLocationWidget.moc"
+//FIXME mzanetti
+//#include "CurrentLocationWidget.moc"
diff --git a/src/lib/CurrentLocationWidget.h b/src/lib/CurrentLocationWidget.h
index 703dcac..36c90e5 100644
--- a/src/lib/CurrentLocationWidget.h
+++ b/src/lib/CurrentLocationWidget.h
@@ -16,7 +16,7 @@
 #include "AutoNavigation.h"
 
 // Qt
-#include <QtGui/QWidget>
+#include <QWidget>
 
 namespace Marble
 {
diff --git a/src/lib/DataMigration.cpp b/src/lib/DataMigration.cpp
index ad21fa0..4a27aaf 100644
--- a/src/lib/DataMigration.cpp
+++ b/src/lib/DataMigration.cpp
@@ -191,4 +191,5 @@ void DataMigration::moveFiles( const QString& source, const \
QString& target )  
 }
 
-#include "DataMigration.moc"
+//FIXME mzanetti
+//#include "DataMigration.moc"
diff --git a/src/lib/DeferredFlag.cpp b/src/lib/DeferredFlag.cpp
index 5a13566..c423b20 100644
--- a/src/lib/DeferredFlag.cpp
+++ b/src/lib/DeferredFlag.cpp
@@ -57,4 +57,5 @@ void DeferredFlag::slotDrawFlag()
 }
 
 
-#include "DeferredFlag.moc"
+//FIXME mzanetti
+//#include "DeferredFlag.moc"
diff --git a/src/lib/DownloadQueueSet.cpp b/src/lib/DownloadQueueSet.cpp
index 6d44982..929965b 100644
--- a/src/lib/DownloadQueueSet.cpp
+++ b/src/lib/DownloadQueueSet.cpp
@@ -276,4 +276,5 @@ inline void DownloadQueueSet::JobStack::push( HttpJob * const job \
)  
 }
 
-#include "DownloadQueueSet.moc"
+//FIXME mzanetti
+//#include "DownloadQueueSet.moc"
diff --git a/src/lib/DownloadRegion.cpp b/src/lib/DownloadRegion.cpp
index 78ba6cc..84a1ed7 100644
--- a/src/lib/DownloadRegion.cpp
+++ b/src/lib/DownloadRegion.cpp
@@ -259,4 +259,5 @@ QVector<TileCoordsPyramid> DownloadRegion::routeRegion( const \
TextureLayer *text  
 }
 
-#include "DownloadRegion.moc"
+//FIXME mzanetti
+//#include "DownloadRegion.moc"
diff --git a/src/lib/DownloadRegionDialog.cpp b/src/lib/DownloadRegionDialog.cpp
index e1bfd5e..9da7145 100644
--- a/src/lib/DownloadRegionDialog.cpp
+++ b/src/lib/DownloadRegionDialog.cpp
@@ -497,4 +497,5 @@ void DownloadRegionDialog::setOffsetUnit()
 
 }
 
-#include "DownloadRegionDialog.moc"
+//FIXME mzanetti
+//#include "DownloadRegionDialog.moc"
diff --git a/src/lib/DownloadRegionDialog.h b/src/lib/DownloadRegionDialog.h
index 16e1a00..c82f308 100644
--- a/src/lib/DownloadRegionDialog.h
+++ b/src/lib/DownloadRegionDialog.h
@@ -14,7 +14,7 @@
 #ifndef MARBLE_DOWNLOADREGIONDIALOG_H
 #define MARBLE_DOWNLOADREGIONDIALOG_H
 
-#include <QtGui/QDialog>
+#include <QDialog>
 #include <QtCore/QVector>
 
 #include "TileCoordsPyramid.h"
diff --git a/src/lib/EditBookmarkDialog.h b/src/lib/EditBookmarkDialog.h
index 47dd5c5..d1f8b55 100644
--- a/src/lib/EditBookmarkDialog.h
+++ b/src/lib/EditBookmarkDialog.h
@@ -12,7 +12,7 @@
 #ifndef MARBLE_BOOKMARKINFODIALOG_H
 #define MARBLE_BOOKMARKINFODIALOG_H
 
-#include <QtGui/QDialog>
+#include <QDialog>
 
 #include "marble_export.h"
 #include "GeoDataCoordinates.h"
diff --git a/src/lib/FileLoader.cpp b/src/lib/FileLoader.cpp
index 3c1d7bf..ec18b63 100644
--- a/src/lib/FileLoader.cpp
+++ b/src/lib/FileLoader.cpp
@@ -548,5 +548,6 @@ int FileLoaderPrivate::areaPopIdx( qreal area ) const
 
 
 
-#include "FileLoader.moc"
+//FIXME mzanetti
+//#include "FileLoader.moc"
 } // namespace Marble
diff --git a/src/lib/FileManager.cpp b/src/lib/FileManager.cpp
index 2ff4c6c..65ba0ae 100644
--- a/src/lib/FileManager.cpp
+++ b/src/lib/FileManager.cpp
@@ -212,4 +212,5 @@ void FileManagerPrivate::cleanupLoader( FileLoader* loader )
     }
 }
 
-#include "FileManager.moc"
+//FIXME mzanetti
+//#include "FileManager.moc"
diff --git a/src/lib/FileStoragePolicy.cpp b/src/lib/FileStoragePolicy.cpp
index 5594954..4c996a9 100644
--- a/src/lib/FileStoragePolicy.cpp
+++ b/src/lib/FileStoragePolicy.cpp
@@ -142,4 +142,5 @@ QString FileStoragePolicy::lastErrorMessage() const
     return m_errorMsg;
 }
 
-#include "FileStoragePolicy.moc"
+//FIXME mzanetti
+//#include "FileStoragePolicy.moc"
diff --git a/src/lib/FileStorageWatcher.cpp b/src/lib/FileStorageWatcher.cpp
index 8706e71..440dcdb 100644
--- a/src/lib/FileStorageWatcher.cpp
+++ b/src/lib/FileStorageWatcher.cpp
@@ -409,4 +409,5 @@ void FileStorageWatcher::run()
 }
 // End of all methods
 
-#include "FileStorageWatcher.moc"
+//FIXME mzanetti
+//#include "FileStorageWatcher.moc"
diff --git a/src/lib/FileViewWidget.cpp b/src/lib/FileViewWidget.cpp
index cd48730..c19417c 100644
--- a/src/lib/FileViewWidget.cpp
+++ b/src/lib/FileViewWidget.cpp
@@ -111,7 +111,7 @@ void FileViewWidgetPrivate::saveFile()
 {
     QModelIndex index = \
m_fileViewUi.m_treeView->selectionModel()->selectedRows().first();  GeoDataObject \
                *object
-        = qVariantValue<GeoDataObject*>( index.model()->data( index, \
MarblePlacemarkModel::ObjectPointerRole ) ); +        = index.model()->data( index, \
MarblePlacemarkModel::ObjectPointerRole ).value<GeoDataObject*>();  GeoDataDocument \
*document = dynamic_cast<GeoDataDocument*>(object);  if ( document ) {
         m_fileManager->saveFile( document );
@@ -122,7 +122,7 @@ void FileViewWidgetPrivate::closeFile()
 {
     QModelIndex index = \
m_fileViewUi.m_treeView->selectionModel()->selectedRows().first();  GeoDataObject \
                *object
-        = qVariantValue<GeoDataObject*>( index.model()->data( index, \
MarblePlacemarkModel::ObjectPointerRole ) ); +        = index.model()->data( index, \
MarblePlacemarkModel::ObjectPointerRole ).value<GeoDataObject*>();  GeoDataDocument \
*document = dynamic_cast<GeoDataDocument*>(object);  if ( document ) {
         m_fileManager->closeFile( document );
@@ -135,7 +135,7 @@ void FileViewWidgetPrivate::enableFileViewActions()
     if ( !m_fileViewUi.m_treeView->selectionModel()->selectedRows().isEmpty() ) {
         QModelIndex index = \
m_fileViewUi.m_treeView->selectionModel()->selectedRows().first();  GeoDataObject \
                *object
-            = qVariantValue<GeoDataObject*>( index.model()->data( index, \
MarblePlacemarkModel::ObjectPointerRole ) ); +            = index.model()->data( \
                index, MarblePlacemarkModel::ObjectPointerRole \
                ).value<GeoDataObject*>();
         GeoDataDocument *document = dynamic_cast<GeoDataDocument*>(object);
         if ( document ) {
             tmp = document->documentRole() == Marble::UserDocument;
@@ -151,7 +151,7 @@ void FileViewWidget::mapCenterOnTreeViewModel( const QModelIndex \
&index )  return;
     }
     GeoDataObject *object
-        = qVariantValue<GeoDataObject*>( index.model()->data( index, \
MarblePlacemarkModel::ObjectPointerRole ) ); +        = index.model()->data( index, \
MarblePlacemarkModel::ObjectPointerRole ).value<GeoDataObject*>();  if ( \
dynamic_cast<GeoDataPlacemark*>(object) )  {
         GeoDataPlacemark *placemark = static_cast<GeoDataPlacemark*>(object);
@@ -166,4 +166,5 @@ void FileViewWidget::mapCenterOnTreeViewModel( const QModelIndex \
&index )  
 }
 
-#include "FileViewWidget.moc"
+//FIXME mzanetti+
+//#include "FileViewWidget.moc"
diff --git a/src/lib/FileViewWidget.h b/src/lib/FileViewWidget.h
index 5360c09..bd44e6d 100644
--- a/src/lib/FileViewWidget.h
+++ b/src/lib/FileViewWidget.h
@@ -15,7 +15,7 @@
 #include "marble_export.h"
 
 // Qt
-#include <QtGui/QWidget>
+#include <QWidget>
 
 class QModelIndex;
 
diff --git a/src/lib/GeoDataTreeModel.cpp b/src/lib/GeoDataTreeModel.cpp
index c900bf5..109b2ea 100644
--- a/src/lib/GeoDataTreeModel.cpp
+++ b/src/lib/GeoDataTreeModel.cpp
@@ -676,4 +676,5 @@ GeoDataDocument * GeoDataTreeModel::rootDocument()
     return d->m_rootDocument;
 }
 
-#include "GeoDataTreeModel.moc"
+//FIXME mzanetti
+//#include "GeoDataTreeModel.moc"
diff --git a/src/lib/GeoDataTreeModel.h b/src/lib/GeoDataTreeModel.h
index 25bbe67..2a531b3 100644
--- a/src/lib/GeoDataTreeModel.h
+++ b/src/lib/GeoDataTreeModel.h
@@ -72,7 +72,7 @@ class MARBLE_EXPORT GeoDataTreeModel : public QAbstractItemModel
 
     bool setData ( const QModelIndex & index, const QVariant & value, int role = \
Qt::EditRole );  
-    void reset() { QAbstractItemModel::reset(); }
+    void reset() { beginResetModel(); endResetModel(); }
 
     QItemSelectionModel *selectionModel();
 
diff --git a/src/lib/GeoPolygon.cpp b/src/lib/GeoPolygon.cpp
index 4d15f00..b546b1c 100644
--- a/src/lib/GeoPolygon.cpp
+++ b/src/lib/GeoPolygon.cpp
@@ -389,4 +389,5 @@ void PntMapLoader::run()
     emit pntMapLoaded( true );
 }
 
-#include "GeoPolygon.moc"
+//FIXME mzanetti
+//#include "GeoPolygon.moc"
diff --git a/src/lib/HttpDownloadManager.cpp b/src/lib/HttpDownloadManager.cpp
index 29eef83..a238883 100644
--- a/src/lib/HttpDownloadManager.cpp
+++ b/src/lib/HttpDownloadManager.cpp
@@ -212,4 +212,5 @@ bool HttpDownloadManager::hasDownloadPolicy( const \
DownloadPolicy& policy ) cons  return found;
 }
 
-#include "HttpDownloadManager.moc"
+//FIXME mzanetti
+//#include "HttpDownloadManager.moc"
diff --git a/src/lib/HttpJob.cpp b/src/lib/HttpJob.cpp
index 4c38730..22fa0e4 100644
--- a/src/lib/HttpJob.cpp
+++ b/src/lib/HttpJob.cpp
@@ -198,4 +198,5 @@ void HttpJob::finished()
     d->m_networkReply = 0;
 }
 
-#include "HttpJob.moc"
+//FIXME mzanetti
+//#include "HttpJob.moc"
diff --git a/src/lib/LatLonBoxWidget.cpp b/src/lib/LatLonBoxWidget.cpp
index 2cc4f54..388d38d 100644
--- a/src/lib/LatLonBoxWidget.cpp
+++ b/src/lib/LatLonBoxWidget.cpp
@@ -86,4 +86,5 @@ void LatLonBoxWidget::updateLonSingleStep()
 
 }
 
-#include "LatLonBoxWidget.moc"
+//FIXME mzanetti
+//#include "LatLonBoxWidget.moc"
diff --git a/src/lib/LatLonBoxWidget.h b/src/lib/LatLonBoxWidget.h
index 2091db9..b201d37 100644
--- a/src/lib/LatLonBoxWidget.h
+++ b/src/lib/LatLonBoxWidget.h
@@ -14,7 +14,7 @@
 #ifndef MARBLE_LATLONBOXWIDGET_H
 #define MARBLE_LATLONBOXWIDGET_H
 
-#include <QtGui/QWidget>
+#include <QWidget>
 
 #include "marble_export.h"
 
diff --git a/src/lib/LatLonEdit.cpp b/src/lib/LatLonEdit.cpp
index 36cac59..5fb5b30 100644
--- a/src/lib/LatLonEdit.cpp
+++ b/src/lib/LatLonEdit.cpp
@@ -663,4 +663,5 @@ void LatLonEdit::recalculate()
 }
 
 
-#include "LatLonEdit.moc"
+//FIXME mzanetti
+//#include "LatLonEdit.moc"
diff --git a/src/lib/LatLonEdit.h b/src/lib/LatLonEdit.h
index 82feae0..857eeea 100644
--- a/src/lib/LatLonEdit.h
+++ b/src/lib/LatLonEdit.h
@@ -11,7 +11,7 @@
 #ifndef MARBLE_LATLONEDIT_H
 #define MARBLE_LATLONEDIT_H
 
-#include <QtGui/QWidget>
+#include <QWidget>
 
 #include "GeoDataCoordinates.h"
 #include "MarbleGlobal.h"
diff --git a/src/lib/LayerManager.cpp b/src/lib/LayerManager.cpp
index 0df19d2..0e646fe 100644
--- a/src/lib/LayerManager.cpp
+++ b/src/lib/LayerManager.cpp
@@ -277,4 +277,5 @@ QList<LayerInterface *> LayerManager::internalLayers() const
 
 }
 
-#include "LayerManager.moc"
+//FIXME mzanetti
+//#include "LayerManager.moc"
diff --git a/src/lib/LegendWidget.cpp b/src/lib/LegendWidget.cpp
index 6239269..1c26841 100644
--- a/src/lib/LegendWidget.cpp
+++ b/src/lib/LegendWidget.cpp
@@ -62,4 +62,5 @@ void LegendWidget::setMarbleModel( MarbleModel *model )
 
 }
 
-#include "LegendWidget.moc"
+//FIXME mzanetti
+//#include "LegendWidget.moc"
diff --git a/src/lib/LegendWidget.h b/src/lib/LegendWidget.h
index 0523a0e..e56966a 100644
--- a/src/lib/LegendWidget.h
+++ b/src/lib/LegendWidget.h
@@ -15,7 +15,7 @@
 #include "marble_export.h"
 
 // Qt
-#include <QtGui/QWidget>
+#include <QWidget>
 
 namespace Marble
 {
diff --git a/src/lib/MapThemeManager.cpp b/src/lib/MapThemeManager.cpp
index 722e93b..1251169 100644
--- a/src/lib/MapThemeManager.cpp
+++ b/src/lib/MapThemeManager.cpp
@@ -523,4 +523,5 @@ void MapThemeManager::Private::addMapThemePaths( const QString& \
mapPathName, QSt  
 }
 
-#include "MapThemeManager.moc"
+//FIXME mzanetti
+//#include "MapThemeManager.moc"
diff --git a/src/lib/MapThemeSortFilterProxyModel.cpp \
b/src/lib/MapThemeSortFilterProxyModel.cpp index 23a9e97..862d84b 100644
--- a/src/lib/MapThemeSortFilterProxyModel.cpp
+++ b/src/lib/MapThemeSortFilterProxyModel.cpp
@@ -70,4 +70,5 @@ QDateTime MapThemeSortFilterProxyModel::favoriteDateTime( const \
QModelIndex& ind  
 }
 
-#include "MapThemeSortFilterProxyModel.moc"
+//FIXME mzanetti
+//#include "MapThemeSortFilterProxyModel.moc"
diff --git a/src/lib/MapThemeSortFilterProxyModel.h \
b/src/lib/MapThemeSortFilterProxyModel.h index 65b18cc..e9b0034 100644
--- a/src/lib/MapThemeSortFilterProxyModel.h
+++ b/src/lib/MapThemeSortFilterProxyModel.h
@@ -13,7 +13,7 @@
 #define MARBLE_MAPTHEMESORTFILTERPROXYMODEL_H
 
 #include <QtCore/QDateTime>
-#include <QtGui/QSortFilterProxyModel>
+#include <QSortFilterProxyModel>
 
 namespace Marble
 {
diff --git a/src/lib/MapViewWidget.cpp b/src/lib/MapViewWidget.cpp
index ebe0041..dc7ead8 100644
--- a/src/lib/MapViewWidget.cpp
+++ b/src/lib/MapViewWidget.cpp
@@ -673,7 +673,7 @@ void MapViewItemDelegate::paint( QPainter *painter, const \
QStyleOptionViewItem &  QRect const rect = option.rect;
     QSize const iconSize = option.decorationSize;
     QRect const iconRect( rect.topLeft(), iconSize );
-    QIcon const icon = qVariantValue<QIcon>( index.data( Qt::DecorationRole ) );
+    QIcon const icon = index.data( Qt::DecorationRole ).value<QIcon>();
     painter->drawPixmap( iconRect, icon.pixmap( iconSize ) );
 
     int const padding = 5;
@@ -721,4 +721,5 @@ QString MapViewItemDelegate::text( const QModelIndex &index ) \
const  
 }
 
-#include "MapViewWidget.moc"
+//FIXME mzanetti
+//#include "MapViewWidget.moc"
diff --git a/src/lib/MapViewWidget.h b/src/lib/MapViewWidget.h
index f5531a7..5009063 100644
--- a/src/lib/MapViewWidget.h
+++ b/src/lib/MapViewWidget.h
@@ -19,7 +19,7 @@
 #include "marble_export.h"
 
 // Qt
-#include <QtGui/QWidget>
+#include <QWidget>
 
 class QStandardItemModel;
 
diff --git a/src/lib/MarbleAboutDialog.cpp b/src/lib/MarbleAboutDialog.cpp
index de95fdb..d41a891 100644
--- a/src/lib/MarbleAboutDialog.cpp
+++ b/src/lib/MarbleAboutDialog.cpp
@@ -343,4 +343,5 @@ void MarbleAboutDialog::setInitialTab( MarbleAboutDialog::Tab tab \
)  
 }
 
-#include "MarbleAboutDialog.moc"
+//FIXME mzanetti
+//#include "MarbleAboutDialog.moc"
diff --git a/src/lib/MarbleAboutDialog.h b/src/lib/MarbleAboutDialog.h
index 56a4185..f66569f 100644
--- a/src/lib/MarbleAboutDialog.h
+++ b/src/lib/MarbleAboutDialog.h
@@ -17,7 +17,7 @@
 #define MARBLE_MARBLEABOUTDIALOG_H
 
 
-#include <QtGui/QDialog>
+#include <QDialog>
 
 #include "marble_export.h"
 
diff --git a/src/lib/MarbleCacheSettingsWidget.cpp \
b/src/lib/MarbleCacheSettingsWidget.cpp index 26538e4..d4a0c84 100644
--- a/src/lib/MarbleCacheSettingsWidget.cpp
+++ b/src/lib/MarbleCacheSettingsWidget.cpp
@@ -25,7 +25,8 @@ MarbleCacheSettingsWidget::MarbleCacheSettingsWidget( QWidget \
                *parent ) : QWidge
     connect( kcfg_proxyAuth, SIGNAL(toggled(bool)), kcfg_proxyPass, \
SLOT(setEnabled(bool)) );  }
 
-#include "MarbleCacheSettingsWidget.moc"
+//FIXME mzanetti
+//#include "MarbleCacheSettingsWidget.moc"
 
 
 
diff --git a/src/lib/MarbleCacheSettingsWidget.h \
b/src/lib/MarbleCacheSettingsWidget.h index 54b3b1a..6791df8 100644
--- a/src/lib/MarbleCacheSettingsWidget.h
+++ b/src/lib/MarbleCacheSettingsWidget.h
@@ -20,7 +20,7 @@
  * @author Torsten Rahn  <torsten@kde.org>
  */
 
-#include <QtGui/QWidget>
+#include <QWidget>
 #include "ui_MarbleCacheSettingsWidget.h"
 
 #include "marble_export.h"
diff --git a/src/lib/MarbleClock.cpp b/src/lib/MarbleClock.cpp
index 3e22cee..b245a17 100644
--- a/src/lib/MarbleClock.cpp
+++ b/src/lib/MarbleClock.cpp
@@ -146,4 +146,5 @@ void MarbleClock::setTimezone( int timezoneInSec )
 
 }
 
-#include "MarbleClock.moc"
+//FIXME mzanetti
+//#include "MarbleClock.moc"
diff --git a/src/lib/MarbleControlBox.cpp b/src/lib/MarbleControlBox.cpp
index 0a17634..6080c75 100644
--- a/src/lib/MarbleControlBox.cpp
+++ b/src/lib/MarbleControlBox.cpp
@@ -242,4 +242,5 @@ void MarbleControlBox::search(const QString &searchTerm, \
SearchMode searchMode )  
 }
 
-#include "MarbleControlBox.moc"
+//FIXME mzanetti
+//#include "MarbleControlBox.moc"
diff --git a/src/lib/MarbleControlBox.h b/src/lib/MarbleControlBox.h
index 0a96707..119dcb9 100644
--- a/src/lib/MarbleControlBox.h
+++ b/src/lib/MarbleControlBox.h
@@ -16,7 +16,7 @@
 
 #include "marble_export.h"
 
-#include <QtGui/QToolBox>
+#include <QToolBox>
 
 #include "MarbleGlobal.h"
 
diff --git a/src/lib/MarbleLegendBrowser.cpp b/src/lib/MarbleLegendBrowser.cpp
index 65915e8..e4afa26 100644
--- a/src/lib/MarbleLegendBrowser.cpp
+++ b/src/lib/MarbleLegendBrowser.cpp
@@ -371,4 +371,5 @@ void MarbleLegendBrowser::setCheckedProperty( const QString& \
name, bool checked  
 }
 
-#include "MarbleLegendBrowser.moc"
+//FIXME mzanetti
+//#include "MarbleLegendBrowser.moc"
diff --git a/src/lib/MarbleMap.cpp b/src/lib/MarbleMap.cpp
index 8839ad3..eb01c46 100644
--- a/src/lib/MarbleMap.cpp
+++ b/src/lib/MarbleMap.cpp
@@ -1307,4 +1307,5 @@ const TextureLayer *MarbleMap::textureLayer() const
 
 }
 
-#include "MarbleMap.moc"
+//FIXME mzanetti
+//#include "MarbleMap.moc"
diff --git a/src/lib/MarbleModel.cpp b/src/lib/MarbleModel.cpp
index 96d1b0b..3e9f164 100644
--- a/src/lib/MarbleModel.cpp
+++ b/src/lib/MarbleModel.cpp
@@ -700,4 +700,5 @@ const ElevationModel* MarbleModel::elevationModel() const
 
 }
 
-#include "MarbleModel.moc"
+//FIXME mzanetti
+//#include "MarbleModel.moc"
diff --git a/src/lib/MarbleNavigator.cpp b/src/lib/MarbleNavigator.cpp
index cc80fd3..1fce3ea 100644
--- a/src/lib/MarbleNavigator.cpp
+++ b/src/lib/MarbleNavigator.cpp
@@ -104,4 +104,5 @@ void MarbleNavigator::resizeEvent ( QResizeEvent * )
 
 }
 
-#include "MarbleNavigator.moc"
+//FIXME mzanetti
+//#include "MarbleNavigator.moc"
diff --git a/src/lib/MarbleNavigator.h b/src/lib/MarbleNavigator.h
index 19d36f4..55a8c30 100644
--- a/src/lib/MarbleNavigator.h
+++ b/src/lib/MarbleNavigator.h
@@ -17,7 +17,7 @@
 #define MARBLE_MARBLENAVIGATOR_H
 
 
-#include <QtGui/QWidget>
+#include <QWidget>
 
 #include "marble_export.h"
 
diff --git a/src/lib/MarblePhysics.cpp b/src/lib/MarblePhysics.cpp
index 9c4b112..feb6f9b 100644
--- a/src/lib/MarblePhysics.cpp
+++ b/src/lib/MarblePhysics.cpp
@@ -206,4 +206,5 @@ void MarblePhysics::startStillMode()
 
 }
 
-#include "MarblePhysics.moc"
+//FIXME mzanetti
+//#include "MarblePhysics.moc"
diff --git a/src/lib/MarblePlacemarkModel.cpp b/src/lib/MarblePlacemarkModel.cpp
index 19b0a7e..f3d38d2 100644
--- a/src/lib/MarblePlacemarkModel.cpp
+++ b/src/lib/MarblePlacemarkModel.cpp
@@ -49,11 +49,23 @@ MarblePlacemarkModel::MarblePlacemarkModel( QObject *parent )
     : QAbstractListModel( parent ),
       d( new Private )
 {
+#if QT_VERSION < 0x050000
     QHash<int,QByteArray> roles = roleNames();
     roles[DescriptionRole] = "description";
     roles[LongitudeRole] = "longitude";
     roles[LatitudeRole] = "latitude";
     setRoleNames( roles );
+#else
+}
+
+QHash<int, QByteArray> MarblePlacemarkModel::roleNames() const
+{
+    QHash<int,QByteArray> roles = roleNames();
+    roles[DescriptionRole] = "description";
+    roles[LongitudeRole] = "longitude";
+    roles[LatitudeRole] = "latitude";
+    return roles;
+#endif
 }
 
 MarblePlacemarkModel::~MarblePlacemarkModel()
@@ -185,7 +197,9 @@ void MarblePlacemarkModel::addPlacemarks( int start,
 //    beginInsertRows( QModelIndex(), start, start + length );
     d->m_size += length;
 //    endInsertRows();
-    reset();
+    beginResetModel();
+    endResetModel();
+
     emit countChanged();
     mDebug() << "addPlacemarks: Time elapsed:" << t.elapsed() << "ms for" << length \
<< "Placemarks.";  }
@@ -206,4 +220,5 @@ void  MarblePlacemarkModel::removePlacemarks( const QString \
&containerName,  }
 }
 
-#include "MarblePlacemarkModel.moc"
+//FIXME mzanetti
+//#include "MarblePlacemarkModel.moc"
diff --git a/src/lib/MarblePlacemarkModel.h b/src/lib/MarblePlacemarkModel.h
index dcd1a36..9c75585 100644
--- a/src/lib/MarblePlacemarkModel.h
+++ b/src/lib/MarblePlacemarkModel.h
@@ -66,6 +66,9 @@ class MARBLE_EXPORT MarblePlacemarkModel : public \
                QAbstractListModel
       LongitudeRole,                   ///< The longitude in degree (for use in QML)
       LatitudeRole                     ///< The latitude in degree (for use in QML)
     };
+#if QT_VERSION >= 0x050000
+    QHash<int, QByteArray> roleNames() const;
+#endif
 
     /**
      * Creates a new place mark model.
diff --git a/src/lib/MarblePluginSettingsWidget.cpp \
b/src/lib/MarblePluginSettingsWidget.cpp index 03a4c34..11c7a90 100644
--- a/src/lib/MarblePluginSettingsWidget.cpp
+++ b/src/lib/MarblePluginSettingsWidget.cpp
@@ -124,4 +124,5 @@ void MarblePluginSettingsWidget::setModel( RenderPluginModel* \
pluginModel )  
 } // namespace Marble
 
-#include "MarblePluginSettingsWidget.moc"
+//FIXME mzanetti
+//#include "MarblePluginSettingsWidget.moc"
diff --git a/src/lib/MarblePluginSettingsWidget.h \
b/src/lib/MarblePluginSettingsWidget.h index df6e5c5..0761412 100644
--- a/src/lib/MarblePluginSettingsWidget.h
+++ b/src/lib/MarblePluginSettingsWidget.h
@@ -20,7 +20,7 @@
  * @author Torsten Rahn  <torsten@kde.org>
  */
 
-#include <QtGui/QWidget>
+#include <QWidget>
 
 #include "marble_export.h"
 
diff --git a/src/lib/MarbleWebView.cpp b/src/lib/MarbleWebView.cpp
index 19622b2..3104846 100644
--- a/src/lib/MarbleWebView.cpp
+++ b/src/lib/MarbleWebView.cpp
@@ -55,4 +55,5 @@ void MarbleWebView::keyPressEvent(QKeyEvent *event)
     QWebView::keyPressEvent(event);
 }
 
-#include "MarbleWebView.moc"
+//FIXME mzanetti
+//#include "MarbleWebView.moc"
diff --git a/src/lib/MarbleWebView.h b/src/lib/MarbleWebView.h
index 33d9375..f13a1d9 100644
--- a/src/lib/MarbleWebView.h
+++ b/src/lib/MarbleWebView.h
@@ -11,7 +11,7 @@
 #ifndef MARBLEWEBVIEW_H
 #define MARBLEWEBVIEW_H
 
-#include <QtWebKit/QWebView>
+#include <QWebView>
 
 class MarbleWebView : public QWebView
 {
diff --git a/src/lib/MarbleWidget.cpp b/src/lib/MarbleWidget.cpp
index 026d996..32bc59d 100644
--- a/src/lib/MarbleWidget.cpp
+++ b/src/lib/MarbleWidget.cpp
@@ -24,6 +24,10 @@
 #include <QSizePolicy>
 #include <QNetworkProxy>
 
+#if QT_VERSION >= 0x050000
+#include <QMetaMethod>
+#endif
+
 #ifdef MARBLE_DBUS
 #include <QDBusConnection>
 #endif
@@ -735,18 +739,30 @@ void MarbleWidget::resizeEvent( QResizeEvent *event )
     QWidget::resizeEvent( event );
 }
 
+#if QT_VERSION < 0x050000
 void MarbleWidget::connectNotify( const char * signal )
 {
     if ( QByteArray( signal ) == 
          QMetaObject::normalizedSignature ( SIGNAL(mouseMoveGeoPosition(QString)) ) \
) +#else
+void MarbleWidget::connectNotify( const QMetaMethod &signal )
+{
+    if ( signal == QMetaMethod::fromSignal(&Marble::MarbleWidget::mouseMoveGeoPosition) \
) +#endif
         if ( d->m_inputhandler )
             d->m_inputhandler->setPositionSignalConnected( true );
 }
 
+#if QT_VERSION < 0x050000
 void MarbleWidget::disconnectNotify( const char * signal )
 {
     if ( QByteArray( signal ) == 
          QMetaObject::normalizedSignature ( SIGNAL(mouseMoveGeoPosition(QString)) ) \
) +#else
+void MarbleWidget::disconnectNotify( const QMetaMethod &signal )
+{
+    if ( signal == QMetaMethod::fromSignal(&Marble::MarbleWidget::mouseMoveGeoPosition) \
) +#endif
         if ( d->m_inputhandler )
             d->m_inputhandler->setPositionSignalConnected( false );
 }
@@ -1408,4 +1424,5 @@ PopupLayer *MarbleWidget::popupLayer()
 
 }
 
-#include "MarbleWidget.moc"
+//FIXME mzanetti
+//#include "MarbleWidget.moc"
diff --git a/src/lib/MarbleWidget.h b/src/lib/MarbleWidget.h
index b9fbb7e..9a7a2bf 100644
--- a/src/lib/MarbleWidget.h
+++ b/src/lib/MarbleWidget.h
@@ -21,7 +21,7 @@
  */
 
 #include <QtGui/QPixmap>
-#include <QtGui/QWidget>
+#include <QWidget>
 
 #include "GeoDataCoordinates.h"
 #include "GeoDataLookAt.h"
@@ -1048,8 +1048,13 @@ class MARBLE_EXPORT MarbleWidget : public QWidget
      */
     virtual void resizeEvent( QResizeEvent *event );
 
+#if QT_VERSION < 0x050000
     void connectNotify( const char * signal );
     void disconnectNotify( const char * signal );
+#else
+    void connectNotify( const QMetaMethod &signal );
+    void disconnectNotify( const QMetaMethod &signal );
+#endif
 
     /**
       * @brief Reimplementation of the changeEvent() function in QWidget to
diff --git a/src/lib/MarbleWidgetInputHandler.cpp \
b/src/lib/MarbleWidgetInputHandler.cpp index 5d9628f..6f3fc4e 100644
--- a/src/lib/MarbleWidgetInputHandler.cpp
+++ b/src/lib/MarbleWidgetInputHandler.cpp
@@ -861,5 +861,6 @@ bool MarbleWidgetDefaultInputHandler::keyEvent( MarbleWidget * \
widget, QEvent* e  
 }
 
-#include "MarbleWidgetInputHandler.moc"
+//FIXME mzanetti
+//#include "MarbleWidgetInputHandler.moc"
 
diff --git a/src/lib/MarbleWidgetPopupMenu.cpp b/src/lib/MarbleWidgetPopupMenu.cpp
index 7dd48cb..08f267d 100644
--- a/src/lib/MarbleWidgetPopupMenu.cpp
+++ b/src/lib/MarbleWidgetPopupMenu.cpp
@@ -638,4 +638,5 @@ QPoint MarbleWidgetPopupMenu::mousePosition() const
     return m_mousePosition;
 }
 
-#include "MarbleWidgetPopupMenu.moc"
+//FIXME mzanetti
+//#include "MarbleWidgetPopupMenu.moc"
diff --git a/src/lib/NavigationWidget.cpp b/src/lib/NavigationWidget.cpp
index b4285e9..967c108 100644
--- a/src/lib/NavigationWidget.cpp
+++ b/src/lib/NavigationWidget.cpp
@@ -284,7 +284,7 @@ void NavigationWidgetPrivate::mapCenterOnSignal( const \
QModelIndex &index )  return;
     }
     GeoDataObject *object
-            = qVariantValue<GeoDataObject*>( index.model()->data(index, \
MarblePlacemarkModel::ObjectPointerRole ) ); +            = \
index.model()->data(index, \
                MarblePlacemarkModel::ObjectPointerRole).value<GeoDataObject*>();
     GeoDataPlacemark *placemark = dynamic_cast<GeoDataPlacemark*>( object );
     if ( placemark ) {
         m_widget->centerOn( *placemark, true );
@@ -333,4 +333,5 @@ void NavigationWidget::resizeEvent ( QResizeEvent * )
 
 }
 
-#include "NavigationWidget.moc"
+//FIXME mzanetti
+//#include "NavigationWidget.moc"
diff --git a/src/lib/NavigationWidget.h b/src/lib/NavigationWidget.h
index b176eb5..4e02021 100644
--- a/src/lib/NavigationWidget.h
+++ b/src/lib/NavigationWidget.h
@@ -19,7 +19,7 @@
 #include "MarbleGlobal.h"
 
 // Qt
-#include <QtGui/QWidget>
+#include <QWidget>
 
 class QModelIndex;
 class QAbstractItemModel;
diff --git a/src/lib/PlacemarkLayout.cpp b/src/lib/PlacemarkLayout.cpp
index 491aeb6..3bd1ae2 100644
--- a/src/lib/PlacemarkLayout.cpp
+++ b/src/lib/PlacemarkLayout.cpp
@@ -690,4 +690,5 @@ bool PlacemarkLayout::placemarksOnScreenLimit( const QSize \
&screenSize ) const  
 }
 
-#include "PlacemarkLayout.moc"
+//FIXME mzuanetti
+//#include "PlacemarkLayout.moc"
diff --git a/src/lib/PlacemarkLayout.h b/src/lib/PlacemarkLayout.h
index 6794fb3..e22f122 100644
--- a/src/lib/PlacemarkLayout.h
+++ b/src/lib/PlacemarkLayout.h
@@ -23,7 +23,7 @@
 #include <QtCore/QRect>
 #include <QtCore/QSet>
 #include <QtCore/QVector>
-#include <QtGui/QSortFilterProxyModel>
+#include <QSortFilterProxyModel>
 
 #include "GeoDataFeature.h"
 
diff --git a/src/lib/PluginAboutDialog.cpp b/src/lib/PluginAboutDialog.cpp
index 8649f4b..7d196c1 100644
--- a/src/lib/PluginAboutDialog.cpp
+++ b/src/lib/PluginAboutDialog.cpp
@@ -144,4 +144,5 @@ void PluginAboutDialog::setLicenseAgreementText( const QString& \
license )  
 } // namespace Marble
 
-#include "PluginAboutDialog.moc"
+//FIXME mzanetti
+//#include "PluginAboutDialog.moc"
diff --git a/src/lib/PluginAboutDialog.h b/src/lib/PluginAboutDialog.h
index 065ffc0..7d3097b 100644
--- a/src/lib/PluginAboutDialog.h
+++ b/src/lib/PluginAboutDialog.h
@@ -11,7 +11,7 @@
 #ifndef MARBLE_PLUGINABOUTDIALOG_H
 #define MARBLE_PLUGINABOUTDIALOG_H
 
-#include <QtGui/QDialog>
+#include <QDialog>
 #include <QtCore/QList>
 
 // Marble
diff --git a/src/lib/PluginItemDelegate.cpp b/src/lib/PluginItemDelegate.cpp
index 31cb8ab..7a95919 100644
--- a/src/lib/PluginItemDelegate.cpp
+++ b/src/lib/PluginItemDelegate.cpp
@@ -418,4 +418,5 @@ QRect PluginItemDelegate::alignRect( QRect object,
 }
 
 
-#include "PluginItemDelegate.moc"
+//FIXME mzanetti
+//#include "PluginItemDelegate.moc"
diff --git a/src/lib/PluginItemDelegate.h b/src/lib/PluginItemDelegate.h
index e3e24b2..7af4455 100644
--- a/src/lib/PluginItemDelegate.h
+++ b/src/lib/PluginItemDelegate.h
@@ -11,7 +11,7 @@
 #ifndef MARBLE_PLUGINITEMDELEGATE_H
 #define MARBLE_PLUGINITEMDELEGATE_H
 
-#include <QtGui/QAbstractItemDelegate>
+#include <QAbstractItemDelegate>
 
 #include <QtCore/QModelIndex>
 #include <QtGui/QIcon>
diff --git a/src/lib/PluginManager.cpp b/src/lib/PluginManager.cpp
index e46d8b9..e48d83d 100644
--- a/src/lib/PluginManager.cpp
+++ b/src/lib/PluginManager.cpp
@@ -242,4 +242,5 @@ void PluginManagerPrivate::loadPlugins()
 
 }
 
-#include "PluginManager.moc"
+//FIXME mzanetti
+//#include "PluginManager.moc"
diff --git a/src/lib/PopupItem.cpp b/src/lib/PopupItem.cpp
index c07e083..74374e7 100644
--- a/src/lib/PopupItem.cpp
+++ b/src/lib/PopupItem.cpp
@@ -384,4 +384,5 @@ QPixmap PopupItem::pixmap( const QString &imageId ) const
 
 }
 
-#include "PopupItem.moc"
+//FIXME mzanetti
+//#include "PopupItem.moc"
diff --git a/src/lib/PopupItem.h b/src/lib/PopupItem.h
index 6f8510b..7af4e21 100644
--- a/src/lib/PopupItem.h
+++ b/src/lib/PopupItem.h
@@ -15,7 +15,7 @@
 
 #include <QtCore/QObject>
 #include <QtCore/QUrl>
-#include <QtGui/QLabel>
+#include <QLabel>
 
 #include "BillboardGraphicsItem.h"
 #include "ui_WebPopupWidget.h"
diff --git a/src/lib/PositionProviderPlugin.cpp b/src/lib/PositionProviderPlugin.cpp
index 9e543bd..207122a 100644
--- a/src/lib/PositionProviderPlugin.cpp
+++ b/src/lib/PositionProviderPlugin.cpp
@@ -46,4 +46,5 @@ void PositionProviderPlugin::setMarbleModel( const MarbleModel* \
marbleModel )  
 }
 
-#include "PositionProviderPlugin.moc"
+//FIXME mzanetti
+//#include "PositionProviderPlugin.moc"
diff --git a/src/lib/PositionTracking.cpp b/src/lib/PositionTracking.cpp
index 0141668..cb29b8b 100644
--- a/src/lib/PositionTracking.cpp
+++ b/src/lib/PositionTracking.cpp
@@ -397,4 +397,5 @@ PositionProviderStatus PositionTracking::status() const
 
 }
 
-#include "PositionTracking.moc"
+//FIXME mzanetti
+//#include "PositionTracking.moc"
diff --git a/src/lib/QtMarbleConfigDialog.cpp b/src/lib/QtMarbleConfigDialog.cpp
index 79f05cf..37b89ed 100644
--- a/src/lib/QtMarbleConfigDialog.cpp
+++ b/src/lib/QtMarbleConfigDialog.cpp
@@ -578,4 +578,5 @@ void QtMarbleConfigDialog::initializeCustomTimezone()
 
 }
 
-#include "QtMarbleConfigDialog.moc"
+//FIXME mzanetti
+//#include "QtMarbleConfigDialog.moc"
diff --git a/src/lib/QtMarbleConfigDialog.h b/src/lib/QtMarbleConfigDialog.h
index b9d0ae7..28ebebd 100644
--- a/src/lib/QtMarbleConfigDialog.h
+++ b/src/lib/QtMarbleConfigDialog.h
@@ -11,7 +11,7 @@
 #ifndef MARBLE_QTMARBLECONFIGDIALOG_H
 #define MARBLE_QTMARBLECONFIGDIALOG_H
 
-#include <QtGui/QDialog>
+#include <QDialog>
 #include <QtCore/QLocale>
 
 #include "marble_export.h"
diff --git a/src/lib/RenderPlugin.cpp b/src/lib/RenderPlugin.cpp
index a51b27f..1105668 100644
--- a/src/lib/RenderPlugin.cpp
+++ b/src/lib/RenderPlugin.cpp
@@ -241,4 +241,5 @@ QVariant RenderPlugin::setting( const QString & name )
 
 } // namespace Marble
 
-#include "RenderPlugin.moc"
+//FIXME mzanetti
+//#include "RenderPlugin.moc"
diff --git a/src/lib/RenderPluginModel.cpp b/src/lib/RenderPluginModel.cpp
index e3cfee7..0133e29 100644
--- a/src/lib/RenderPluginModel.cpp
+++ b/src/lib/RenderPluginModel.cpp
@@ -106,4 +106,5 @@ void RenderPluginModel::applyPluginState()
 
 }
 
-#include "RenderPluginModel.moc"
+//FIXME mzanetti
+//#include "RenderPluginModel.moc"
diff --git a/src/lib/RoutingRunnerPlugin.h b/src/lib/RoutingRunnerPlugin.h
index 76e41b1..ba4034f 100644
--- a/src/lib/RoutingRunnerPlugin.h
+++ b/src/lib/RoutingRunnerPlugin.h
@@ -17,7 +17,7 @@
 #include "PluginInterface.h"
 
 #include <QtCore/QHash>
-#include <QtGui/QWidget>
+#include <QWidget>
 
 #include "routing/RoutingProfilesModel.h"
 
diff --git a/src/lib/ServerLayout.cpp b/src/lib/ServerLayout.cpp
index 69dfbf6..8cc80ea 100644
--- a/src/lib/ServerLayout.cpp
+++ b/src/lib/ServerLayout.cpp
@@ -15,6 +15,10 @@
 #include "MarbleGlobal.h"
 #include "TileId.h"
 
+#if QT_VERSION >= 0x050000
+#include <QUrlQuery>
+#endif
+
 #include <math.h>
 
 namespace Marble
@@ -118,30 +122,41 @@ QUrl WmsServerLayout::downloadUrl( const QUrl &prototypeUrl, \
const Marble::TileI  const qreal lonLeft   = ( x - radius ) / radius * 180.0;
     const qreal lonRight  = ( x - radius + 1 ) / radius * 180.0;
 
-    QUrl url = prototypeUrl;
-    url.addQueryItem( "service", "WMS" );
-    url.addQueryItem( "request", "GetMap" );
-    url.addQueryItem( "version", "1.1.1" );
-    if ( !url.hasQueryItem( "styles" ) )
-        url.addQueryItem( "styles", "" );
-    if ( !url.hasQueryItem( "format" ) ) {
+#if QT_VERSION < 0x050000
+    QUrl urlQuery = prototypeUrl;
+#else
+    QUrlQuery urlQuery(prototypeUrl.query());
+#endif
+
+    urlQuery.addQueryItem( "service", "WMS" );
+    urlQuery.addQueryItem( "request", "GetMap" );
+    urlQuery.addQueryItem( "version", "1.1.1" );
+    if ( !urlQuery.hasQueryItem( "styles" ) )
+        urlQuery.addQueryItem( "styles", "" );
+    if ( !urlQuery.hasQueryItem( "format" ) ) {
         if ( m_textureLayer->fileFormat().toLower() == "jpg" )
-            url.addQueryItem( "format", "image/jpeg" );
+            urlQuery.addQueryItem( "format", "image/jpeg" );
         else
-            url.addQueryItem( "format", "image/" + \
m_textureLayer->fileFormat().toLower() ); +            urlQuery.addQueryItem( \
"format", "image/" + m_textureLayer->fileFormat().toLower() );  }
-    if ( !url.hasQueryItem( "srs" ) ) {
-        url.addQueryItem( "srs", epsgCode() );
+    if ( !urlQuery.hasQueryItem( "srs" ) ) {
+        urlQuery.addQueryItem( "srs", epsgCode() );
     }
-    if ( !url.hasQueryItem( "layers" ) )
-        url.addQueryItem( "layers", m_textureLayer->name() );
-    url.addQueryItem( "width", QString::number( m_textureLayer->tileSize().width() ) \
                );
-    url.addQueryItem( "height", QString::number( m_textureLayer->tileSize().height() \
                ) );
-    url.addQueryItem( "bbox", QString( "%1,%2,%3,%4" ).arg( QString::number( \
lonLeft, 'f', 12 ) ) +    if ( !urlQuery.hasQueryItem( "layers" ) )
+        urlQuery.addQueryItem( "layers", m_textureLayer->name() );
+    urlQuery.addQueryItem( "width", QString::number( \
m_textureLayer->tileSize().width() ) ); +    urlQuery.addQueryItem( "height", \
QString::number( m_textureLayer->tileSize().height() ) ); +    urlQuery.addQueryItem( \
                "bbox", QString( "%1,%2,%3,%4" ).arg( QString::number( lonLeft, 'f', \
                12 ) )
                                                       .arg( QString::number( \
                latBottom( tileId ), 'f', 12 ) )
                                                       .arg( QString::number( \
                lonRight, 'f', 12 ) )
                                                       .arg( QString::number( latTop( \
tileId ), 'f', 12 ) ) );  
+#if QT_VERSION < 0x050000
+    QUrl url = urlQuery;
+#else
+    QUrl url = prototypeUrl;
+    url.setQuery(urlQuery);
+#endif
     return url;
 }
 
diff --git a/src/lib/SphericalScanlineTextureMapper.cpp \
b/src/lib/SphericalScanlineTextureMapper.cpp index 6d665ae..ef0b53a 100644
--- a/src/lib/SphericalScanlineTextureMapper.cpp
+++ b/src/lib/SphericalScanlineTextureMapper.cpp
@@ -103,7 +103,11 @@ void SphericalScanlineTextureMapper::mapTexture( GeoPainter \
*painter,  
     QRect rect( viewport->width() / 2 - radius, viewport->height() / 2 - radius,
                 2 * radius, 2 * radius);
+#if QT_VERSION < 0x050000
     rect = rect.intersect( dirtyRect );
+#else
+    rect = rect.intersected( dirtyRect );
+#endif
     painter->drawImage( rect, m_canvasImage, rect );
 }
 
diff --git a/src/lib/StackedTile.cpp b/src/lib/StackedTile.cpp
index f2e0f8a..3e1a996 100644
--- a/src/lib/StackedTile.cpp
+++ b/src/lib/StackedTile.cpp
@@ -214,7 +214,11 @@ uint StackedTile::pixelF( qreal x, qreal y, const QRgb& \
topLeftValue ) const  
 int StackedTile::calcByteCount( const QImage &resultImage, const \
QVector<QSharedPointer<TextureTile> > &tiles )  {
+#if QT_VERSION < 0x050000
     int byteCount = resultImage.numBytes();
+#else
+    int byteCount = resultImage.byteCount();
+#endif
 
     QVector<QSharedPointer<TextureTile> >::const_iterator pos = tiles.constBegin();
     QVector<QSharedPointer<TextureTile> >::const_iterator const end = \
                tiles.constEnd();
diff --git a/src/lib/StackedTileLoader.cpp b/src/lib/StackedTileLoader.cpp
index fc5ec9c..56f0700 100644
--- a/src/lib/StackedTileLoader.cpp
+++ b/src/lib/StackedTileLoader.cpp
@@ -220,4 +220,5 @@ void StackedTileLoader::clear()
 
 }
 
-#include "StackedTileLoader.moc"
+//FIXME mzanetti
+//#include "StackedTileLoader.moc"
diff --git a/src/lib/StoragePolicy.cpp b/src/lib/StoragePolicy.cpp
index f89d0f9..b9cdd2d 100644
--- a/src/lib/StoragePolicy.cpp
+++ b/src/lib/StoragePolicy.cpp
@@ -17,4 +17,5 @@ StoragePolicy::StoragePolicy( QObject *parent )
     : QObject( parent )
 {}
 
-#include "StoragePolicy.moc"
+//FIXME mzanetti
+//#include "StoragePolicy.moc"
diff --git a/src/lib/SunControlWidget.cpp b/src/lib/SunControlWidget.cpp
index b16cd9d..55fd6f6 100644
--- a/src/lib/SunControlWidget.cpp
+++ b/src/lib/SunControlWidget.cpp
@@ -128,4 +128,5 @@ void SunControlWidget::showEvent( QShowEvent* event )
     }
 }
 
-#include "SunControlWidget.moc"
+//FIXME mzanetti
+//#include "SunControlWidget.moc"
diff --git a/src/lib/SunControlWidget.h b/src/lib/SunControlWidget.h
index 8874d19..5ece35e 100644
--- a/src/lib/SunControlWidget.h
+++ b/src/lib/SunControlWidget.h
@@ -15,7 +15,7 @@
 
 #include <QtCore/QDateTime>
 #include <QtCore/QTime>
-#include <QtGui/QDialog>
+#include <QDialog>
 
 #include "marble_export.h"
 
diff --git a/src/lib/SunLocator.cpp b/src/lib/SunLocator.cpp
index 4b4d35f..09d94de 100644
--- a/src/lib/SunLocator.cpp
+++ b/src/lib/SunLocator.cpp
@@ -268,4 +268,5 @@ qreal SunLocator::getLat() const
 
 }
 
-#include "SunLocator.moc"
+//FIXME mzanetti
+//#include "SunLocator.moc"
diff --git a/src/lib/TileCreator.cpp b/src/lib/TileCreator.cpp
index 920a47c..3746feb 100644
--- a/src/lib/TileCreator.cpp
+++ b/src/lib/TileCreator.cpp
@@ -327,7 +327,7 @@ void TileCreator::run()
                                                 Qt::ThresholdDither);
                 }
 
-                bool  ok = tile.save( tileName, d->m_tileFormat.toAscii().data(), \
d->m_tileFormat == "jpg" ? 100 : d->m_tileQuality ); +                bool  ok = \
tile.save( tileName, d->m_tileFormat.toLatin1().data(), d->m_tileFormat == "jpg" ? \
100 : d->m_tileQuality );  if ( !ok )
                     mDebug() << "Error while writing Tile: " << tileName;
 
@@ -511,7 +511,7 @@ void TileCreator::run()
 
                     // Saving at 100% JPEG quality to have a high-quality
                     // version to create the remaining needed tiles from.
-                    bool  ok = tile.save( newTileName, \
d->m_tileFormat.toAscii().data(), d->m_tileFormat == "jpg" ? 100 : d->m_tileQuality \
); +                    bool  ok = tile.save( newTileName, \
d->m_tileFormat.toLatin1().data(), d->m_tileFormat == "jpg" ? 100 : d->m_tileQuality \
);  if ( ! ok )
                         mDebug() << "Error while writing Tile: " << newTileName;
                 }
@@ -554,7 +554,7 @@ void TileCreator::run()
 
                     bool ok;
 
-                    ok = tile.save( tileName, d->m_tileFormat.toAscii().data(), \
d->m_tileQuality ); +                    ok = tile.save( tileName, \
d->m_tileFormat.toLatin1().data(), d->m_tileQuality );  
                     if ( !ok )
                         mDebug() << "Error while writing Tile: " << tileName;
@@ -621,4 +621,5 @@ bool TileCreator::verifyExactResult() const
 
 }
 
-#include "TileCreator.moc"
+//FIXME mzanetti
+//#include "TileCreator.moc"
diff --git a/src/lib/TileCreatorDialog.cpp b/src/lib/TileCreatorDialog.cpp
index eb09b02..c62a349 100644
--- a/src/lib/TileCreatorDialog.cpp
+++ b/src/lib/TileCreatorDialog.cpp
@@ -90,4 +90,5 @@ void TileCreatorDialog::setSummary( const QString& name,
 
 }
 
-#include "TileCreatorDialog.moc"
+//FIXME mzanetti
+//#include "TileCreatorDialog.moc"
diff --git a/src/lib/TileCreatorDialog.h b/src/lib/TileCreatorDialog.h
index 4bc86b5..b373cfb 100644
--- a/src/lib/TileCreatorDialog.h
+++ b/src/lib/TileCreatorDialog.h
@@ -16,7 +16,7 @@
 #ifndef MARBLE_TILECREATORDIALOG_H
 #define MARBLE_TILECREATORDIALOG_H
 
-#include <QtGui/QDialog>
+#include <QDialog>
 
 #include "marble_export.h"
 
diff --git a/src/lib/TileLevelRangeWidget.cpp b/src/lib/TileLevelRangeWidget.cpp
index 4d4b43f..327b82f 100644
--- a/src/lib/TileLevelRangeWidget.cpp
+++ b/src/lib/TileLevelRangeWidget.cpp
@@ -88,4 +88,5 @@ void TileLevelRangeWidget::setMinimumBottomLevel( int const level )
 
 }
 
-#include "TileLevelRangeWidget.moc"
+//FIXME mzanetti
+//#include "TileLevelRangeWidget.moc"
diff --git a/src/lib/TileLevelRangeWidget.h b/src/lib/TileLevelRangeWidget.h
index a24e485..02d87ff 100644
--- a/src/lib/TileLevelRangeWidget.h
+++ b/src/lib/TileLevelRangeWidget.h
@@ -14,7 +14,7 @@
 #ifndef MARBLE_TILELEVELRANGEWIDGET_H
 #define MARBLE_TILELEVELRANGEWIDGET_H
 
-#include <QtGui/QWidget>
+#include <QWidget>
 
 #include "marble_export.h"
 
diff --git a/src/lib/TileLoader.cpp b/src/lib/TileLoader.cpp
index 0f54b75..47271c9 100644
--- a/src/lib/TileLoader.cpp
+++ b/src/lib/TileLoader.cpp
@@ -278,4 +278,5 @@ QImage TileLoader::scaledLowerLevelTile( const \
GeoSceneTextureTile * textureLaye  
 }
 
-#include "TileLoader.moc"
+//FIXME mzanetti
+//#include "TileLoader.moc"
diff --git a/src/lib/TileScalingTextureMapper.cpp \
b/src/lib/TileScalingTextureMapper.cpp index 22c8f1e..0dadbbe 100644
--- a/src/lib/TileScalingTextureMapper.cpp
+++ b/src/lib/TileScalingTextureMapper.cpp
@@ -213,4 +213,5 @@ void TileScalingTextureMapper::clearPixmaps()
     m_cache.clear();
 }
 
-#include "TileScalingTextureMapper.moc"
+//FIXME mzanetti
+//#include "TileScalingTextureMapper.moc"
diff --git a/src/lib/TimeControlWidget.cpp b/src/lib/TimeControlWidget.cpp
index abdd3a3..2f928b3 100644
--- a/src/lib/TimeControlWidget.cpp
+++ b/src/lib/TimeControlWidget.cpp
@@ -93,4 +93,5 @@ void TimeControlWidget::showEvent(QShowEvent* event)
     }
 }
 
-#include "TimeControlWidget.moc"
+//FIXME mzanetti
+//#include "TimeControlWidget.moc"
diff --git a/src/lib/TimeControlWidget.h b/src/lib/TimeControlWidget.h
index 0d5b9fb..61cb82e 100644
--- a/src/lib/TimeControlWidget.h
+++ b/src/lib/TimeControlWidget.h
@@ -13,7 +13,7 @@
 
 // Qt
 #include <QtCore/QDateTime>
-#include <QtGui/QDialog>
+#include <QDialog>
 
 // Marble
 #include "marble_export.h"
diff --git a/src/lib/TinyWebBrowser.cpp b/src/lib/TinyWebBrowser.cpp
index 65ff295..f81c91c 100644
--- a/src/lib/TinyWebBrowser.cpp
+++ b/src/lib/TinyWebBrowser.cpp
@@ -107,10 +107,11 @@ QByteArray TinyWebBrowser::userAgent(const QString &platform, \
const QString &com  {
     QString result( "Mozilla/5.0 (compatible; Marble/%1; %2; %3)" );
     result = result.arg( MARBLE_VERSION_STRING, platform, component);
-    return result.toAscii();
+    return result.toLatin1();
 }
 
 
 } // namespace Marble
 
-#include "TinyWebBrowser.moc"
+//FIXME mzanetti
+//#include "TinyWebBrowser.moc"
diff --git a/src/lib/TinyWebBrowser.h b/src/lib/TinyWebBrowser.h
index 0a7c40a..9761c5d 100644
--- a/src/lib/TinyWebBrowser.h
+++ b/src/lib/TinyWebBrowser.h
@@ -16,7 +16,7 @@
 #include <QtCore/QByteArray>
 #include <QtCore/QString>
 #include <QtCore/QUrl>
-#include <QtWebKit/QWebView>
+#include <QWebView>
 
 // Marble
 #include "marble_export.h"
diff --git a/src/lib/VectorComposer.cpp b/src/lib/VectorComposer.cpp
index f4ac0c7..bab8285 100644
--- a/src/lib/VectorComposer.cpp
+++ b/src/lib/VectorComposer.cpp
@@ -52,7 +52,11 @@ VectorComposer::VectorComposer( QObject * parent )
       m_textureLakeBrush( QBrush( QColor( 0, 0, 0 ) ) ),
       m_dateLineBrush( QBrush( Qt::NoBrush ) )
 {
+#if QT_VERSION < 0x050000
     if ( refCounter == 0 ) {
+#else
+    if ( refCounter.load() == 0 ) {
+#endif
         s_coastLinesLoaded = false;
         s_overlaysLoaded = false;
 
@@ -89,7 +93,11 @@ VectorComposer::~VectorComposer()
     delete m_vectorMap;
 
     refCounter.deref();
+#if QT_VERSION < 0x050000
     if (refCounter == 0) {
+#else
+    if (refCounter.load() == 0) {
+#endif
         delete s_dateLine;
         delete s_usaStates;    // The states of the USA
         delete s_countries;    // The country borders
@@ -436,4 +444,5 @@ void VectorComposer::paintVectorMap( GeoPainter *painter,
     // mDebug() << "M_VectorMap calculated nodes: " << m_vectorMap->nodeCount();
 }
 
-#include "VectorComposer.moc"
+//FIXME mzanetti
+//#include "VectorComposer.moc"
diff --git a/src/lib/VectorTileModel.cpp b/src/lib/VectorTileModel.cpp
index cb14ed5..29ff236 100644
--- a/src/lib/VectorTileModel.cpp
+++ b/src/lib/VectorTileModel.cpp
@@ -200,4 +200,5 @@ unsigned int VectorTileModel::lat2tileY( qreal lat, unsigned int \
                maxTileY )
     return (unsigned int)floor((1.0 - log( tan(lat * M_PI/180.0) + 1.0 / cos(lat * \
M_PI/180.0)) / M_PI) / 2.0 * maxTileY);  }
 
-#include "VectorTileModel.moc"
+//FIXME mzanetti
+//#include "VectorTileModel.moc"
diff --git a/src/lib/WikipediaService.cpp b/src/lib/WikipediaService.cpp
index e791647..c600144 100644
--- a/src/lib/WikipediaService.cpp
+++ b/src/lib/WikipediaService.cpp
@@ -43,4 +43,5 @@ void WikipediaService::handleNetworkReply(QNetworkReply *reply)
 
 } // namespace Marble
 
-#include "WikipediaService.moc"
+//FIXME mzanetti
+//#include "WikipediaService.moc"
diff --git a/src/lib/geodata/data/GeoDataCoordinates.cpp \
b/src/lib/geodata/data/GeoDataCoordinates.cpp index 49490f0..cbe0bf8 100644
--- a/src/lib/geodata/data/GeoDataCoordinates.cpp
+++ b/src/lib/geodata/data/GeoDataCoordinates.cpp
@@ -635,8 +635,8 @@ bool GeoDataCoordinates::isValid() const
  */
 void GeoDataCoordinates::detach()
 {
-    if(d->ref == 1)
-        return;
+//    if(d->ref == 1)
+//        return;
 
     GeoDataCoordinatesPrivate *new_d = new GeoDataCoordinatesPrivate( *d );
 
diff --git a/src/lib/geodata/data/GeoDataFeature.cpp \
b/src/lib/geodata/data/GeoDataFeature.cpp index f2949c1..8a2e7fb 100644
--- a/src/lib/geodata/data/GeoDataFeature.cpp
+++ b/src/lib/geodata/data/GeoDataFeature.cpp
@@ -749,8 +749,8 @@ void GeoDataFeature::resetDefaultStyles()
 
 void GeoDataFeature::detach()
 {
-    if(d->ref == 1)
-        return;
+//    if(d->ref == 1)
+//        return;
 
     GeoDataFeaturePrivate* new_d = d->copy();
 
diff --git a/src/lib/geodata/data/GeoDataGeometry.cpp \
b/src/lib/geodata/data/GeoDataGeometry.cpp index 7f32c89..565cafc 100644
--- a/src/lib/geodata/data/GeoDataGeometry.cpp
+++ b/src/lib/geodata/data/GeoDataGeometry.cpp
@@ -21,7 +21,6 @@
 
 #include "MarbleDebug.h"
 
-
 namespace Marble
 {
 
@@ -53,8 +52,8 @@ GeoDataGeometry::~GeoDataGeometry()
 
 void  GeoDataGeometry::detach()
 {
-    if(d->ref == 1)
-        return;
+//    if(d->ref == 1)
+//        return;
 
      GeoDataGeometryPrivate* new_d = d->copy();
 
diff --git a/src/lib/geodata/data/GeoDataLod.cpp \
b/src/lib/geodata/data/GeoDataLod.cpp index f0ba8f6..a7c8506 100644
--- a/src/lib/geodata/data/GeoDataLod.cpp
+++ b/src/lib/geodata/data/GeoDataLod.cpp
@@ -12,6 +12,7 @@
 #include "GeoDataLod.h"
 #include "GeoDataLod_p.h"
 
+#include <QDataStream>
 
 namespace Marble
 {
diff --git a/src/lib/geodata/data/GeoDataPlacemark.h \
b/src/lib/geodata/data/GeoDataPlacemark.h index 746e972..3935307 100644
--- a/src/lib/geodata/data/GeoDataPlacemark.h
+++ b/src/lib/geodata/data/GeoDataPlacemark.h
@@ -17,7 +17,7 @@
 
 #include <QtCore/QChar>
 #include <QtCore/QDateTime>
-#include <QtXml/QXmlStreamWriter>
+#include <QXmlStreamWriter>
 
 #include "GeoDataPoint.h"
 #include "GeoDataLineString.h"
diff --git a/src/lib/geodata/data/GeoDataPlaylist.h \
b/src/lib/geodata/data/GeoDataPlaylist.h index f3dd5b9..8b0e411 100644
--- a/src/lib/geodata/data/GeoDataPlaylist.h
+++ b/src/lib/geodata/data/GeoDataPlaylist.h
@@ -14,6 +14,8 @@
 #include "GeoDataObject.h"
 #include "GeoDataTourPrimitive.h"
 
+#include <QList>
+
 namespace Marble
 {
 
diff --git a/src/lib/geodata/handlers/dgml/DgmlDownloadUrlTagHandler.cpp \
b/src/lib/geodata/handlers/dgml/DgmlDownloadUrlTagHandler.cpp index 9e3b978..7046b71 \
                100644
--- a/src/lib/geodata/handlers/dgml/DgmlDownloadUrlTagHandler.cpp
+++ b/src/lib/geodata/handlers/dgml/DgmlDownloadUrlTagHandler.cpp
@@ -25,6 +25,10 @@
 // Qt
 #include <QUrl>
 
+#if QT_VERSION >= 0x050000
+    #include <QtCore/QUrlQuery>
+#endif
+
 // Marble
 #include "DgmlAttributeDictionary.h"
 #include "DgmlElementDictionary.h"
@@ -81,8 +85,15 @@ GeoNode* DgmlDownloadUrlTagHandler::parse( GeoParser& parser ) \
const  
     // Attribute query, optional
     const QString queryStr = parser.attribute( dgmlAttr_query ).trimmed();
-    if ( !queryStr.isEmpty() )
+    if ( !queryStr.isEmpty() ) {
+#if QT_VERSION < 0x050000
         url.setEncodedQuery( queryStr.toLatin1() );
+#else
+        QUrlQuery query;
+        query.setQuery( queryStr.toLatin1() );
+        url.setQuery(query);
+#endif
+    }
 
     parentItem.nodeAs<GeoSceneTiled>()->addDownloadUrl( url );
     return 0;
diff --git a/src/lib/geodata/parser/GeoParser.h b/src/lib/geodata/parser/GeoParser.h
index 5ef1375..c5a3ed7 100644
--- a/src/lib/geodata/parser/GeoParser.h
+++ b/src/lib/geodata/parser/GeoParser.h
@@ -24,7 +24,7 @@
 
 #include <QtCore/QPair>
 #include <QtCore/QStack>
-#include <QtXml/QXmlStreamReader>
+#include <QXmlStreamReader>
 
 #include "geodata_export.h"
 
diff --git a/src/lib/geodata/scene/GeoSceneDocument.cpp \
b/src/lib/geodata/scene/GeoSceneDocument.cpp index 6c36b0a..d1aa99c 100644
--- a/src/lib/geodata/scene/GeoSceneDocument.cpp
+++ b/src/lib/geodata/scene/GeoSceneDocument.cpp
@@ -125,4 +125,5 @@ GeoSceneLegend* GeoSceneDocument::legend()
 
 }
 
-#include "GeoSceneDocument.moc"
+// FIXME mzanetti
+//#include "GeoSceneDocument.moc"
diff --git a/src/lib/geodata/scene/GeoSceneGroup.cpp \
b/src/lib/geodata/scene/GeoSceneGroup.cpp index c5ff11d..38ed958 100644
--- a/src/lib/geodata/scene/GeoSceneGroup.cpp
+++ b/src/lib/geodata/scene/GeoSceneGroup.cpp
@@ -158,4 +158,5 @@ QString GeoSceneGroup::name() const
 
 }
 
-#include "GeoSceneGroup.moc"
+//FIXME mzanetti
+//#include "GeoSceneGroup.moc"
diff --git a/src/lib/geodata/scene/GeoSceneProperty.cpp \
b/src/lib/geodata/scene/GeoSceneProperty.cpp index fa44955..61d78e2 100644
--- a/src/lib/geodata/scene/GeoSceneProperty.cpp
+++ b/src/lib/geodata/scene/GeoSceneProperty.cpp
@@ -83,4 +83,5 @@ void GeoSceneProperty::setValue( bool value )
 
 }
 
-#include "GeoSceneProperty.moc"
+// FIXME mzanetti
+//#include "GeoSceneProperty.moc"
diff --git a/src/lib/geodata/scene/GeoSceneSettings.cpp \
b/src/lib/geodata/scene/GeoSceneSettings.cpp index 3d22738..5fe7cf9 100644
--- a/src/lib/geodata/scene/GeoSceneSettings.cpp
+++ b/src/lib/geodata/scene/GeoSceneSettings.cpp
@@ -277,4 +277,5 @@ QVector<GeoSceneProperty*> GeoSceneSettings::rootProperties()
 
 }
 
-#include "GeoSceneSettings.moc"
+//FIXME mzanetti
+//#include "GeoSceneSettings.moc"
diff --git a/src/lib/geodata/writer/GeoWriter.h b/src/lib/geodata/writer/GeoWriter.h
index 9238c7f..bc3859a 100644
--- a/src/lib/geodata/writer/GeoWriter.h
+++ b/src/lib/geodata/writer/GeoWriter.h
@@ -14,7 +14,7 @@
 #include "GeoDataFeature.h"
 #include "marble_export.h"
 
-#include <QtXml/QXmlStreamWriter>
+#include <QXmlStreamWriter>
 
 namespace Marble
 {
diff --git a/src/lib/geodata/writers/dgml/DgmlTextureTagWriter.cpp \
b/src/lib/geodata/writers/dgml/DgmlTextureTagWriter.cpp index eb00c09..81e6c37 100644
--- a/src/lib/geodata/writers/dgml/DgmlTextureTagWriter.cpp
+++ b/src/lib/geodata/writers/dgml/DgmlTextureTagWriter.cpp
@@ -56,7 +56,11 @@ bool DgmlTextureTagWriter::write(const GeoNode *node, GeoWriter& \
                writer) const
             QString protocol = texture->downloadUrls().at(i).toString().left( \
                texture->downloadUrls().at(i).toString().indexOf( ':' ) );
             QString host =  QString( texture->downloadUrls().at(i).host() );
             QString path =  QString( texture->downloadUrls().at(i).path() );
+#if QT_VERSION < 0x050000
             QString query = QUrl::fromEncoded( \
texture->downloadUrls().at(i).encodedQuery() ).toString(); +#else
+            QString query = texture->downloadUrls().at(i).query(QUrl::FullyEncoded);
+#endif
 
             writer.writeStartElement( dgml::dgmlTag_DownloadUrl );
             writer.writeAttribute( "protocol", protocol );
diff --git a/src/lib/geodata/writers/kml/KmlOverlayTagWriter.h \
b/src/lib/geodata/writers/kml/KmlOverlayTagWriter.h index f346e37..272497f 100644
--- a/src/lib/geodata/writers/kml/KmlOverlayTagWriter.h
+++ b/src/lib/geodata/writers/kml/KmlOverlayTagWriter.h
@@ -13,6 +13,8 @@
 
 #include "GeoTagWriter.h"
 
+#include <QString>
+
 namespace Marble
 {
 
diff --git a/src/lib/graphicsview/FrameGraphicsItem.cpp \
b/src/lib/graphicsview/FrameGraphicsItem.cpp index 00b540d..d86b72f 100644
--- a/src/lib/graphicsview/FrameGraphicsItem.cpp
+++ b/src/lib/graphicsview/FrameGraphicsItem.cpp
@@ -19,6 +19,8 @@
 #include <QSizeF>
 #include <QPainter>
 #include <QPixmapCache>
+#include <QMargins>
+#include <qdrawutil.h>
 
 using namespace Marble;
 
diff --git a/src/lib/kbihash_p.h b/src/lib/kbihash_p.h
index bfc1074..0765590 100644
--- a/src/lib/kbihash_p.h
+++ b/src/lib/kbihash_p.h
@@ -61,7 +61,7 @@ class KBiAssociativeContainer
     {
         /* implicit */ _iterator_impl_ctor(const typename QHash<T, U>::iterator it)
             // Using internals here because I was too lazy to write my own iterator.
-          : QHash<T, U>::iterator(reinterpret_cast<void *>(static_cast<QHashNode<T, \
U> *>(it))) +          : QHash<T, U>::iterator(it)
         {
 
         }
@@ -72,7 +72,7 @@ class KBiAssociativeContainer
     {
         /* implicit */ _iterator_impl_ctor(const typename QMap<T, U>::iterator it)
             // Using internals here because I was too lazy to write my own iterator.
-          : QMap<T, U>::iterator(static_cast<QMapData::Node*>(it))
+          : QMap<T, U>::iterator(it)
         {
 
         }
diff --git a/src/lib/kdescendantsproxymodel.cpp b/src/lib/kdescendantsproxymodel.cpp
index 4e04b44..78e349b 100644
--- a/src/lib/kdescendantsproxymodel.cpp
+++ b/src/lib/kdescendantsproxymodel.cpp
@@ -1011,4 +1011,5 @@ Qt::DropActions KDescendantsProxyModel::supportedDropActions() \
const  return sourceModel()->supportedDropActions();
 }
 
-#include "kdescendantsproxymodel.moc"
+//FIXME mzanetti
+//#include "kdescendantsproxymodel.moc"
diff --git a/src/lib/kdescendantsproxymodel.h b/src/lib/kdescendantsproxymodel.h
index c3c2719..bb9bf3f 100644
--- a/src/lib/kdescendantsproxymodel.h
+++ b/src/lib/kdescendantsproxymodel.h
@@ -21,7 +21,7 @@
 #ifndef KDESCENDANTSPROXYMODEL_P_H
 #define KDESCENDANTSPROXYMODEL_P_H
 
-#include <QtGui/QAbstractProxyModel>
+#include <QAbstractProxyModel>
 
 #include "marble_export.h"
 
diff --git a/src/lib/layers/GeometryLayer.cpp b/src/lib/layers/GeometryLayer.cpp
index 1bba353..09c9209 100644
--- a/src/lib/layers/GeometryLayer.cpp
+++ b/src/lib/layers/GeometryLayer.cpp
@@ -436,4 +436,5 @@ void GeometryLayer::resetCacheData()
 
 }
 
-#include "GeometryLayer.moc"
+//FIXME mzanetti
+//#include "GeometryLayer.moc"
diff --git a/src/lib/layers/PlacemarkLayer.cpp b/src/lib/layers/PlacemarkLayer.cpp
index 863fd94..628f38f 100644
--- a/src/lib/layers/PlacemarkLayer.cpp
+++ b/src/lib/layers/PlacemarkLayer.cpp
@@ -187,5 +187,6 @@ bool PlacemarkLayer::testXBug()
     return true;
 }
 
-#include "PlacemarkLayer.moc"
+//FIXME mzanetti
+//#include "PlacemarkLayer.moc"
 
diff --git a/src/lib/layers/PopupLayer.cpp b/src/lib/layers/PopupLayer.cpp
index 0388add..f950ff1 100644
--- a/src/lib/layers/PopupLayer.cpp
+++ b/src/lib/layers/PopupLayer.cpp
@@ -156,4 +156,5 @@ void PopupLayer::hidePopupItem()
 
 }
 
-#include "PopupLayer.moc"
+//FIXME mzanetti
+//#include "PopupLayer.moc"
diff --git a/src/lib/layers/TextureLayer.cpp b/src/lib/layers/TextureLayer.cpp
index 8679fdf..35fd859 100644
--- a/src/lib/layers/TextureLayer.cpp
+++ b/src/lib/layers/TextureLayer.cpp
@@ -434,4 +434,5 @@ int TextureLayer::preferredRadiusFloor( int radius ) const
 
 }
 
-#include "TextureLayer.moc"
+// FIXME mzanetti
+//#include "TextureLayer.moc"
diff --git a/src/lib/layers/VectorTileLayer.cpp b/src/lib/layers/VectorTileLayer.cpp
index 0f63ca4..46bbbe2 100644
--- a/src/lib/layers/VectorTileLayer.cpp
+++ b/src/lib/layers/VectorTileLayer.cpp
@@ -158,4 +158,5 @@ void VectorTileLayer::setMapTheme( const QVector<const \
GeoSceneVectorTile *> &te  
 }
 
-#include "VectorTileLayer.moc"
+//FIXME mzanetti
+//#include "VectorTileLayer.moc"
diff --git a/src/lib/routing/AlternativeRoutesModel.cpp \
b/src/lib/routing/AlternativeRoutesModel.cpp index 72b9c75..10da63d 100644
--- a/src/lib/routing/AlternativeRoutesModel.cpp
+++ b/src/lib/routing/AlternativeRoutesModel.cpp
@@ -459,10 +459,12 @@ void AlternativeRoutesModel::clear()
     QVector<GeoDataDocument*> routes = d->m_routes;
     d->m_currentIndex = -1;
     d->m_routes.clear();
-    reset();
+    beginResetModel();
+    endResetModel();
     qDeleteAll(routes);
 }
 
 } // namespace Marble
 
-#include "AlternativeRoutesModel.moc"
+//FIXME mzanetti
+//#include "AlternativeRoutesModel.moc"
diff --git a/src/lib/routing/RouteRequest.cpp b/src/lib/routing/RouteRequest.cpp
index dcb2cd7..63fb476 100644
--- a/src/lib/routing/RouteRequest.cpp
+++ b/src/lib/routing/RouteRequest.cpp
@@ -335,4 +335,5 @@ const GeoDataPlacemark &RouteRequest::operator [](int index) \
const  
 } // namespace Marble
 
-#include "RouteRequest.moc"
+//FIXME mzanetti
+//#include "RouteRequest.moc"
diff --git a/src/lib/routing/RoutingLayer.h b/src/lib/routing/RoutingLayer.h
index c06e37c..b34132a 100644
--- a/src/lib/routing/RoutingLayer.h
+++ b/src/lib/routing/RoutingLayer.h
@@ -17,7 +17,7 @@
 
 #include <QtCore/QModelIndex>
 #include <QtCore/QRect>
-#include <QtGui/QItemSelection>
+#include <QItemSelection>
 
 class QAbstractProxyModel;
 
diff --git a/src/lib/routing/RoutingModel.cpp b/src/lib/routing/RoutingModel.cpp
index b80f437..5f7ba86 100644
--- a/src/lib/routing/RoutingModel.cpp
+++ b/src/lib/routing/RoutingModel.cpp
@@ -403,4 +403,5 @@ const Route & RoutingModel::route() const
 
 } // namespace Marble
 
-#include "RoutingModel.moc"
+//FIXME mzanetti
+//#include "RoutingModel.moc"
diff --git a/src/lib/routing/RoutingWidget.h b/src/lib/routing/RoutingWidget.h
index fca3cce..c2a547f 100644
--- a/src/lib/routing/RoutingWidget.h
+++ b/src/lib/routing/RoutingWidget.h
@@ -17,7 +17,7 @@
 #include "marble_export.h"
 
 #include <QtCore/QModelIndex>
-#include <QtGui/QWidget>
+#include <QWidget>
 
 namespace Marble
 {
diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt
index 22ec982..0c6b001 100644
--- a/src/plugins/CMakeLists.txt
+++ b/src/plugins/CMakeLists.txt
@@ -1,9 +1,12 @@
-add_subdirectory( designer )
-add_subdirectory( declarative )
-add_subdirectory( render )
-add_subdirectory( runner )
-add_subdirectory( templates )
-add_subdirectory( positionprovider )
+if(NOT QT5BUILD)
+    add_subdirectory( designer )
+    add_subdirectory( declarative )
+    add_subdirectory( render )
+    add_subdirectory( runner )
+    add_subdirectory( templates )
+    add_subdirectory( positionprovider )
+endif(NOT QT5BUILD)
+
 
 if( QT_QTDECLARATIVE_FOUND )
     add_subdirectory( qt-components )
diff --git a/src/routing-instructions/CMakeLists.txt \
b/src/routing-instructions/CMakeLists.txt index c1e6386..1feac86 100644
--- a/src/routing-instructions/CMakeLists.txt
+++ b/src/routing-instructions/CMakeLists.txt
@@ -4,7 +4,9 @@ include_directories(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${QT_INCLUDE_DIR}
 )
-include( ${QT_USE_FILE} )
+if(NOT QT5BUILD)
+  include( ${QT_USE_FILE} )
+endif(NOT QT5BUILD)
 
 set( routing-instructions_SRC
         ../lib/routing/instructions/InstructionTransformation.cpp
@@ -15,7 +17,7 @@ set( routing-instructions_SRC
         ../routing-instructions/main.cpp
 )
 
-qt4_automoc(${routing-instructions_SRC})
+#qt4_automoc(${routing-instructions_SRC})
 
 add_definitions( -DMAKE_MARBLE_LIB )
 add_executable( routing-instructions ${routing-instructions_SRC} )
diff --git a/src/tilecreator/CMakeLists.txt b/src/tilecreator/CMakeLists.txt
index f1eed44..146fdb1 100644
--- a/src/tilecreator/CMakeLists.txt
+++ b/src/tilecreator/CMakeLists.txt
@@ -4,7 +4,12 @@ include_directories(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${QT_INCLUDE_DIR}
 )
-include( ${QT_USE_FILE} )
+
+
+if(NOT QT5BUILD)
+  include( ${QT_USE_FILE} )
+endif(NOT QT5BUILD)
+
 
 set( tilecreator_SRCS
             ../lib/DownloadPolicy.cpp
@@ -25,7 +30,8 @@ set( tilecreator_SRCS
             tccore.cpp
 )
 
-qt4_automoc(${tilecreator_SRCS})
+#qt4_automoc(${tilecreator_SRCS})
+set(CMAKE_AUTOMOC ON)
 
 add_definitions( -DMAKE_MARBLE_LIB -DTILECREATOR )
 add_executable( tilecreator ${tilecreator_SRCS} )


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

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