diff --git a/CMakeLists.txt b/CMakeLists.txt index 0068320503d..8c07672fa3d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,8 +58,6 @@ IF (WITH_POSTGRESQL) SET (POSTGRESQL_PREFIX "" CACHE PATH "Path to POSTGRESQL base directory") ENDIF (WITH_POSTGRESQL) -SET (WITH_QWT TRUE CACHE BOOL "Determines whether QWT support should be included (currently used for GPS widget)") - SET (WITH_SPATIALITE TRUE CACHE BOOL "Determines whether SPATIALITE support should be built") IF (WITH_SPATIALITE) @@ -137,6 +135,7 @@ FIND_PACKAGE(Expat) # GPS importer plugin FIND_PACKAGE(GSL) # Georeferencer FIND_PACKAGE(GEOS) FIND_PACKAGE(GDAL) +FIND_PACKAGE(QWT REQUIRED) IF (NOT WITH_INTERNAL_SPATIALITE) FIND_PACKAGE(Sqlite3) @@ -149,9 +148,6 @@ ENDIF (NOT WITH_INTERNAL_SPATIALITE) IF (WITH_POSTGRESQL) FIND_PACKAGE(Postgres) # PostgreSQL provider, SPIT plugin ENDIF (WITH_POSTGRESQL) -IF (WITH_QWT) - FIND_PACKAGE(QWT) -ENDIF(WITH_QWT) IF (WITH_SPATIALITE AND NOT WITH_INTERNAL_SPATIALITE) FIND_PACKAGE(SPATIALITE) diff --git a/INSTALL b/INSTALL index c6dc3a8111f..d216cfcbe49 100644 --- a/INSTALL +++ b/INSTALL @@ -185,6 +185,7 @@ for the existence of cmake and provides some clues to build QGIS. * GEOS >= 3.0 * Sqlite3 >= 3.0.0 * GDAL/OGR >= 1.4.x +* Qwt >= 5.0 '''Optional dependencies:''' * for GRASS plugin - GRASS >= 6.0.0 (libraries compiled with exceptions support) @@ -193,7 +194,6 @@ for the existence of cmake and provides some clues to build QGIS. * for gps plugin - expat >= 1.95 * for mapserver export and PyQGIS - Python >= 2.3 (2.5+ preferred) * for PyQGIS - SIP >= 4.8, PyQt >= must match Qt version -* for GPS tracking - Qwt >= 5.0 '''Recommended runtime deps:''' * for gps plugin - gpsbabel diff --git a/doc/INSTALL.t2t b/doc/INSTALL.t2t index 35825ce0d8d..8351dfb330e 100644 --- a/doc/INSTALL.t2t +++ b/doc/INSTALL.t2t @@ -101,6 +101,7 @@ for the existence of cmake and provides some clues to build QGIS. * GEOS >= 3.0 * Sqlite3 >= 3.0.0 * GDAL/OGR >= 1.4.x +* Qwt >= 5.0 '''Optional dependencies:''' * for GRASS plugin - GRASS >= 6.0.0 (libraries compiled with exceptions support) @@ -109,7 +110,6 @@ for the existence of cmake and provides some clues to build QGIS. * for gps plugin - expat >= 1.95 * for mapserver export and PyQGIS - Python >= 2.3 (2.5+ preferred) * for PyQGIS - SIP >= 4.8, PyQt >= must match Qt version -* for GPS tracking - Qwt >= 5.0 '''Recommended runtime deps:''' * for gps plugin - gpsbabel diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt index be9089d7081..43ae4481cf0 100644 --- a/src/app/CMakeLists.txt +++ b/src/app/CMakeLists.txt @@ -127,6 +127,22 @@ SET(QGIS_APP_SRCS attributetable/qgsattributetablefiltermodel.cpp attributetable/qgsattributetableidcolumnpair.cpp attributetable/qgsattributetabledelegate.cpp + + gps/qgsgpsinformationwidget.cpp + gps/qgsgpsmarker.cpp + gps/qwtpolar/qwt_polar_canvas.cpp + gps/qwtpolar/qwt_polar_curve.cpp + gps/qwtpolar/qwt_polar_fitter.cpp + gps/qwtpolar/qwt_polar_grid.cpp + gps/qwtpolar/qwt_polar_itemdict.cpp + gps/qwtpolar/qwt_polar_item.cpp + gps/qwtpolar/qwt_polar_layout.cpp + gps/qwtpolar/qwt_polar_magnifier.cpp + gps/qwtpolar/qwt_polar_marker.cpp + gps/qwtpolar/qwt_polar_panner.cpp + gps/qwtpolar/qwt_polar_plot.cpp + gps/qwtpolar/qwt_polar_point.cpp + gps/qwtpolar/qwt_polar_spectrogram.cpp ) @@ -231,40 +247,13 @@ SET (QGIS_APP_MOC_HDRS attributetable/qgsattributetabledialog.h attributetable/qgsattributetabledelegate.h + gps/qgsgpsinformationwidget.h + gps/qwtpolar/qwt_polar_canvas.h + gps/qwtpolar/qwt_polar_magnifier.h + gps/qwtpolar/qwt_polar_panner.h + gps/qwtpolar/qwt_polar_plot.h ) -IF( QWT_FOUND ) - ADD_DEFINITIONS(-DHAVE_QWT) - - SET(QGIS_APP_SRCS - ${QGIS_APP_SRCS} - gps/qgsgpsinformationwidget.cpp - gps/qgsgpsmarker.cpp - gps/qwtpolar/qwt_polar_canvas.cpp - gps/qwtpolar/qwt_polar_curve.cpp - gps/qwtpolar/qwt_polar_fitter.cpp - gps/qwtpolar/qwt_polar_grid.cpp - gps/qwtpolar/qwt_polar_itemdict.cpp - gps/qwtpolar/qwt_polar_item.cpp - gps/qwtpolar/qwt_polar_layout.cpp - gps/qwtpolar/qwt_polar_magnifier.cpp - gps/qwtpolar/qwt_polar_marker.cpp - gps/qwtpolar/qwt_polar_panner.cpp - gps/qwtpolar/qwt_polar_plot.cpp - gps/qwtpolar/qwt_polar_point.cpp - gps/qwtpolar/qwt_polar_spectrogram.cpp - ) - - SET (QGIS_APP_MOC_HDRS - ${QGIS_APP_MOC_HDRS} - gps/qgsgpsinformationwidget.h - gps/qwtpolar/qwt_polar_canvas.h - gps/qwtpolar/qwt_polar_magnifier.h - gps/qwtpolar/qwt_polar_panner.h - gps/qwtpolar/qwt_polar_plot.h - ) -ENDIF( QWT_FOUND ) - IF (POSTGRES_FOUND) IF(HAVE_PGCONFIG) ADD_DEFINITIONS(-DHAVE_PGCONFIG=1) @@ -388,13 +377,11 @@ TARGET_LINK_LIBRARIES(qgis qgis_gui ) -IF( QWT_FOUND ) - IF( WIN32 ) - ADD_DEFINITIONS(-DQWT_DLL) - ENDIF( WIN32 ) - INCLUDE_DIRECTORIES(${QWT_INCLUDE_DIR}) - TARGET_LINK_LIBRARIES(qgis ${QWT_LIBRARY}) -ENDIF( QWT_FOUND ) +IF( WIN32 ) + ADD_DEFINITIONS(-DQWT_DLL) +ENDIF( WIN32 ) +INCLUDE_DIRECTORIES(${QWT_INCLUDE_DIR}) +TARGET_LINK_LIBRARIES(qgis ${QWT_LIBRARY}) IF(NOT WITH_INTERNAL_SPATIALITE) TARGET_LINK_LIBRARIES(qgis ${SQLITE_LIBRARY}) diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 6e0c812bf1e..682ddb54c7f 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -160,10 +160,7 @@ #include "qgstilescalewidget.h" #include "qgsquerybuilder.h" #include "qgsattributeaction.h" - -#ifdef HAVE_QWT #include "qgsgpsinformationwidget.h" -#endif // // Gdal/Ogr includes @@ -372,9 +369,7 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, QWidget * parent, #ifdef Q_OS_WIN , mSkipNextContextMenuEvent( 0 ) #endif -#ifdef HAVE_QWT , mpGpsWidget( NULL ) -#endif { if ( smInstance ) { @@ -643,13 +638,11 @@ void QgisApp::readSettings() { showTileScale(); } -#if HAVE_QWT // Restore state of GPS Tracker if ( settings.value( "/gps/widgetEnabled", false ).toBool() ) { showGpsTool(); } -#endif } @@ -1084,13 +1077,11 @@ void QgisApp::createActions() connect( mActionTileScale, SIGNAL( triggered() ), this, SLOT( showTileScale() ) ); mActionTileScale->setEnabled( true ); -#ifdef HAVE_QWT mActionGpsTool = new QAction( getThemeIcon( "mActionGpsTool.png" ), tr( "Live GPS tracking" ), this ); shortcuts->registerAction( mActionGpsTool, tr( "", "Live GPS tracking" ) ); mActionGpsTool->setStatusTip( tr( "Show GPS tool" ) ); connect( mActionGpsTool, SIGNAL( triggered() ), this, SLOT( showGpsTool() ) ); mActionGpsTool->setEnabled( true ); -#endif mActionLayerProperties = new QAction( tr( "Properties..." ), this ); shortcuts->registerAction( mActionLayerProperties ); @@ -1501,9 +1492,7 @@ void QgisApp::createMenus() mViewMenu->addAction( mActionTileScale ); -#ifdef HAVE_QWT mViewMenu->addAction( mActionGpsTool ); -#endif // Layers Menu @@ -2426,7 +2415,6 @@ void QgisApp::saveWindowState() settings.setValue( "/UI/tileScaleEnabled", false ); } -#if HAVE_QWT // Persist state of GPS Tracker if ( mpGpsWidget ) { @@ -2437,7 +2425,6 @@ void QgisApp::saveWindowState() { settings.setValue( "/gps/widgetEnabled", false ); } -#endif QgsPluginRegistry::instance()->unloadAll(); } @@ -2497,11 +2484,7 @@ void QgisApp::about() versionString += tr( "\nThis copy of QGIS has been built without SpatiaLite support." ); #endif -#ifdef HAVE_QWT - versionString += tr( "\nThis copy of QGIS has been built with QWT support (%1)." ).arg( QWT_VERSION_STR ); -#else - versionString += tr( "\nThis copy of QGIS has been built without QWT support." ); -#endif + versionString += tr( "\nThis copy of QGIS has been built with QWT %1." ).arg( QWT_VERSION_STR ); #ifdef QGISDEBUG versionString += tr( "\nThis copy of QGIS writes debugging output." ); @@ -5021,7 +5004,6 @@ void QgisApp::removeLayer() void QgisApp::showGpsTool() { -#ifdef HAVE_QWT if ( !mpGpsWidget ) { mpGpsWidget = new QgsGPSInformationWidget( mMapCanvas ); @@ -5040,7 +5022,6 @@ void QgisApp::showGpsTool() { mpGpsDock->setVisible( mpGpsDock->isHidden() ); } -#endif } void QgisApp::showTileScale() diff --git a/src/app/qgisapp.h b/src/app/qgisapp.h index 8c8dec0c8f2..623ec445f2d 100644 --- a/src/app/qgisapp.h +++ b/src/app/qgisapp.h @@ -67,9 +67,7 @@ class QNetworkReply; class QNetworkProxy; class QAuthenticator; -#ifdef HAVE_QWT class QgsGPSInformationWidget; -#endif #include #include @@ -285,9 +283,7 @@ class QgisApp : public QMainWindow QAction *actionLayerSelectionSaveAs() { return mActionLayerSelectionSaveAs; } QAction *actionRemoveLayer() { return mActionRemoveLayer; } QAction *actionTileScale() { return mActionTileScale; } -#ifdef HAVE_QWT QAction *actionGpsTool() { return mActionGpsTool; } -#endif QAction *actionLayerProperties() { return mActionLayerProperties; } QAction *actionLayerSubsetString() { return mActionLayerSubsetString; } QAction *actionLayerSeparator2() { return mActionLayerSeparator2; } @@ -944,9 +940,7 @@ class QgisApp : public QMainWindow QAction *mActionLayerSelectionSaveAs; QAction *mActionRemoveLayer; QAction *mActionTileScale; -#ifdef HAVE_QWT QAction *mActionGpsTool; -#endif QAction *mActionLayerProperties; QAction *mActionLayerSubsetString; QAction *mActionLayerSeparator2; @@ -1009,9 +1003,7 @@ class QgisApp : public QMainWindow QDockWidget *mLegendDock; QDockWidget *mOverviewDock; QDockWidget *mpTileScaleDock; -#ifdef HAVE_QWT QDockWidget *mpGpsDock; -#endif #ifdef Q_WS_MAC //! Window menu action to select this window @@ -1172,10 +1164,8 @@ class QgisApp : public QMainWindow int mSkipNextContextMenuEvent; // ugly hack #endif -#ifdef HAVE_QWT //! Persistent GPS toolbox QgsGPSInformationWidget * mpGpsWidget; -#endif QgsPalLabeling* mLBL;