Processed: tagging as pending bugs that are closed by packages in NEW
Processing commands for cont...@bugs.debian.org: > # Tue Mar 20 19:03:21 UTC 2012 > # Tagging as pending bugs that are closed by packages in NEW > # http://ftp-master.debian.org/new.html > # > # Source package in NEW: prayerwheel > tags 636081 + pending Bug #636081 [wnpp] ITP: prayerwheel -- Tibetan prayer wheel Added tag(s) pending. > # Source package in NEW: http://packages.qa.debian.org/qgis";>qgis > tags 617048 + pending Bug #617048 [src:qgis] qgis: deprecation of dh_pycentral, please use dh_python2 Added tag(s) pending. > # Source package in NEW: http://packages.qa.debian.org/qgis";>qgis > tags 600308 + pending Bug #600308 [qgis] qgis: package will be updated to 1.5 'Tethys' ? Added tag(s) pending. > # Source package in NEW: http://packages.qa.debian.org/qgis";>qgis > tags 606304 + pending Bug #606304 [qgis] qgis crashes when I resize the window Added tag(s) pending. > # Source package in NEW: http://packages.qa.debian.org/qgis";>qgis > tags 616182 + pending Bug #616182 [qgis] qgis: FTBFS on multiple architectures Added tag(s) pending. > # Source package in NEW: http://packages.qa.debian.org/qgis";>qgis > tags 661491 + pending Bug #661491 [qgis] qgis: New upstream release (1.7.4) Added tag(s) pending. > # Source package in NEW: http://packages.qa.debian.org/qgis";>qgis > tags 615683 + pending Bug #615683 [qgis] qgis: ftbfs with gcc-4.5 Added tag(s) pending. > # Source package in NEW: qtscrob > tags 467185 + pending Bug #467185 [wnpp] RFP: qtscrob -- tool for submitting .scrobbler.log from portable players to Last.fm Added tag(s) pending. > # Source package in NEW: libpadre-plugin-moose-perl > tags 664750 + pending Bug #664750 [wnpp] ITP: libpadre-plugin-moose-perl -- Moose, Mouse and MooseX::Declare support for Padre Added tag(s) pending. > # Source package in NEW: tabble > tags 582889 + pending Bug #582889 [wnpp] RFP: tabble -- program launcher with tabs for X Added tag(s) pending. > # Source package in NEW: kvpm > tags 661554 + pending Bug #661554 [wnpp] ITP: kvpm -- Logical volume manager and disk partitioning tool Added tag(s) pending. > End of message, stopping processing here. Please contact me if you need assistance. -- 467185: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=467185 582889: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=582889 600308: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=600308 606304: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=606304 615683: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=615683 616182: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=616182 617048: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617048 636081: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=636081 661491: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=661491 661554: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=661554 664750: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=664750 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
qgis_1.7.4+1.7.5~20120320-1_i386.changes is NEW
(new) libqgis-dev_1.7.4+1.7.5~20120320-1_i386.deb extra libdevel Quantum GIS - development files Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This package contains the headers and libraries needed to develop plugins for Quantum GIS. (new) libqgis1.7.5_1.7.4+1.7.5~20120320-1_i386.deb extra science Quantum GIS - shared libraries Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This package contains the shared core and gui library that provide an interface for plugins and stand-alone applications. (new) python-qgis-common_1.7.4+1.7.5~20120320-1_all.deb extra python Python bindings to Quantum GIS - architecture-independent files Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This package contains architecture-independent files for the Quantum GIS Python bindings. (new) python-qgis_1.7.4+1.7.5~20120320-1_i386.deb extra python Python bindings to Quantum GIS Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This package contains the files for the Python support. (new) qgis-api-doc_1.7.4+1.7.5~20120320-1_all.deb extra science Quantum GIS API documentation Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This package contains the Quantum GIS API documentation. (new) qgis-common_1.7.4+1.7.5~20120320-1_all.deb extra science Quantum GIS - architecture-independent data Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This package contains architecture-independent supporting data files for use with Quantum GIS. (new) qgis-mapserver_1.7.4+1.7.5~20120320-1_i386.deb extra science Quantum GIS mapserver Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This package contains the Quantum GIS mapserver. (new) qgis-plugin-grass-common_1.7.4+1.7.5~20120320-1_all.deb extra science GRASS plugin for Quantum GIS - architecture-independent data Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This package contains architecture-independent supporting data files for use with the Quantum GIS GRASS plugin. (new) qgis-plugin-grass_1.7.4+1.7.5~20120320-1_i386.deb extra science GRASS plugin for Quantum GIS Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This plugin enables GRASS data access in the Quantum GIS geographic data viewer. (new) qgis-providers-common_1.7.4+1.7.5~20120320-1_all.deb extra science collection of data providers to Quantum GIS - architecture-independent files Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This package contains architecture-independent files for the Quantum GIS providers. (new) qgis-providers_1.7.4+1.7.5~20120320-1_i386.deb extra science collection of data providers to Quantum GIS Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This package contains the provider plugins for Quantum GIS. (new) qgis-sqlanywhere1.7.5_1.7.4+1.7.5~20120320-1_i386.deb extra science Quantum GIS sql anywhere plugin and provider Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. . This package contains the Quantum GIS sqlanywhere plugin and provider. (new) qgis_1.7.4+1.7.5~20120320-1.debian.tar.gz extra science (new) qgis_1.7.4+1.7.5~20120320-1.dsc extra science (new) qgis_1.7.4+1.7.5~20120320-1_i386.deb extra science Geographic Information System (GIS) A Geographic Information System (GIS) manages, analyzes, and displays databases of geographic information. Quantum GIS (QGIS) supports shape file viewing and editing, spatial data storage with PostgreSQL/PostGIS, projection on-the-fly, map composition, and a number of other features via a plugin interface. QGIS also supports display of various georeferenced raster and Digital Elevation Model (DEM) formats including GeoTIFF, Arc/Info ASCII Grid, and USGS ASCII DEM. (new) qgis_1.7.4+1.7.5~20120320.orig.tar.gz extra science Changes: qgis (1.7.4+1.7.5~20120320-1) unstable; urgency=low . The "Sometimes they come back" release. . * Branching from Qgis tree and adapting to current Debian Policy and standards. The target tree is currently set to release-1.7. (closes: #661491, #606304, #615683, #616182, #600308) * Policy bumped to 3.9.3. * Moving to debhelper com
[SCM] qgis tag, 1.7.5_20120320, created. final-1_7_1-247-gc936d03
The tag, 1.7.5_20120320 has been created at c936d031ec77863c5fdef8feec9cacee4ecd143c (commit) - Shortlog commit c936d031ec77863c5fdef8feec9cacee4ecd143c Author: Alexander Bruy Date: Thu Mar 15 15:15:21 2012 +0200 also count points that intersects polygon bounds (fix #5163) --- -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 6972cfa2b09dcbcd4df1daf43fd9bd01861a957b Author: Juergen E. Fischer Date: Mon Mar 19 08:25:07 2012 +0100 apply #5121 diff --git a/src/app/gps/qgsgpsinformationwidget.cpp b/src/app/gps/qgsgpsinformationwidget.cpp index a01a997..d0ec1ba 100644 --- a/src/app/gps/qgsgpsinformationwidget.cpp +++ b/src/app/gps/qgsgpsinformationwidget.cpp @@ -390,7 +390,7 @@ void QgsGPSInformationWidget::connectGps() if ( mRadUserPath->isChecked() ) { -port = mCboDevices->currentText(); +port = mCboDevices->itemData( mCboDevices->currentIndex() ).toString(); if ( port.isEmpty() ) { -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 9f57650eafec1bfa2d66c76e174d0a6b90a0726a Author: Marco Hugentobler Date: Sun Mar 18 09:13:18 2012 +0100 Fix for zonal statistics (ticket #4972) diff --git a/src/analysis/vector/qgszonalstatistics.cpp b/src/analysis/vector/qgszonalstatistics.cpp index 02734a8..d94c6a0 100644 --- a/src/analysis/vector/qgszonalstatistics.cpp +++ b/src/analysis/vector/qgszonalstatistics.cpp @@ -109,9 +109,9 @@ int QgsZonalStatistics::calculateStatistics( QProgressDialog* p ) //add the new count, sum, mean fields to the provider QList newFieldList; - QgsField countField( mAttributePrefix + "count", QVariant::Double ); - QgsField sumField( mAttributePrefix + "sum", QVariant::Double ); - QgsField meanField( mAttributePrefix + "mean", QVariant::Double ); + QgsField countField( mAttributePrefix + "count", QVariant::Double, "double precision" ); + QgsField sumField( mAttributePrefix + "sum", QVariant::Double, "double precision" ); + QgsField meanField( mAttributePrefix + "mean", QVariant::Double, "double precision" ); newFieldList.push_back( countField ); newFieldList.push_back( sumField ); newFieldList.push_back( meanField ); diff --git a/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp b/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp index 95c6539..db63971 100644 --- a/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp +++ b/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp @@ -68,7 +68,11 @@ void QgsZonalStatisticsDialog::insertAvailableLayers() QgsVectorLayer* vl = dynamic_cast( layer_it.value() ); if ( vl && vl->geometryType() == QGis::Polygon ) { -mPolygonLayerComboBox->addItem( vl->name(), QVariant( vl->id() ) ); +QgsVectorDataProvider* provider = vl->dataProvider(); +if ( provider->capabilities() & QgsVectorDataProvider::AddAttributes ) +{ + mPolygonLayerComboBox->addItem( vl->name(), QVariant( vl->id() ) ); +} } } } -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit c9bbcd8a7bb0b28301126d4ec126d0cce5fbd572 Author: Marco Hugentobler Date: Sun Mar 18 09:37:17 2012 +0100 Restrict input type for zonal statistics to gdal rasters for now (switch to use QgsRasterDataProvider in the mid term) diff --git a/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp b/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp index db63971..779cd7b 100644 --- a/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp +++ b/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp @@ -61,7 +61,11 @@ void QgsZonalStatisticsDialog::insertAvailableLayers() QgsRasterLayer* rl = dynamic_cast( layer_it.value() ); if ( rl ) { - mRasterLayerComboBox->addItem( rl->name(), QVariant( rl->source() ) ); + QgsRasterDataProvider* rp = rl->dataProvider(); + if ( rp && rp->name() == "gdal" ) + { +mRasterLayerComboBox->addItem( rl->name(), QVariant( rl->source() ) ); + } } else { -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit c5769bf3799c785ab90d4f37fa1a0c7fe88cfc3f Author: Giuseppe Sucameli Date: Fri Mar 16 16:50:59 2012 +0100 Append Filter tag to Rule tag when exporting Categorized/Graduated rendererV2 to SLD doc (fix #5191) diff --git a/src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp b/src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp index ea9d014..c55bd76 100644 --- a/src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp +++ b/src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp @@ -73,28 +73,27 @@ void QgsRendererCategoryV2::toSld( QDomDocument &doc, QDomElement &element, QgsS if ( !mSymbol || props.value( "attribute", "" ).isEmpty() ) return; + QString attrName = props[ "attribute" ]; + QDomElement ruleElem = doc.createElement( "se:Rule" ); element.appendChild( ruleElem ); - QString valueStr = QString( "value: %1" ).arg( mValue.toString() ); - QDomElement nameElem = doc.createElement( "se:Name" ); - nameElem.appendChild( doc.createTextNode( !mLabel.isEmpty() ? mLabel : valueStr ) ); + nameElem.appendChild( doc.createTextNode( mLabel ) ); ruleElem.appendChild( nameElem ); - QString descrName = props.value( "version", "1.1" ) < "1.1" ? "Abstract" : "se:Description"; - QString descrValue = QString( "Categorized symbol rendererV2 - %1" ).arg( valueStr ); - - QDomElement descrElem = doc.createElement( descrName ); - descrElem.appendChild( doc.createTextNode( descrValue ) ); + QDomElement descrElem = doc.createElement( "se:Description" ); + QString descrStr = QString( "%1 is '%2'" ).arg( attrName ).arg( mValue.toString() ); + descrElem.appendChild( doc.createTextNode( !mLabel.isEmpty() ? mLabel : descrStr ) ); ruleElem.appendChild( descrElem ); // create the ogc:Filter for the range QDomElement filterElem = doc.createElement( "ogc:Filter" ); - QString filterFunc = QString( "%1 = '%2'" ) - .arg( props[ "attribute" ] ).arg( mValue.toString().replace( "'", "''" ) ); + .arg( attrName.replace( "\"", "\"\"" ) ) + .arg( mValue.toString().replace( "'", "''" ) ); QgsSymbolLayerV2Utils::createFunctionElement( doc, filterElem, filterFunc ); + ruleElem.appendChild( filterElem ); mSymbol->toSld( doc, ruleElem, props ); } diff --git a/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp b/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp index 190c95b..a9b128f 100644 --- a/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp +++ b/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp @@ -103,27 +103,24 @@ void QgsRendererRangeV2::toSld( QDomDocument &doc, QDomElement &element, QgsStri if ( !mSymbol || props.value( "attribute", "" ).isEmpty() ) return; + QString attrName = props[ "attribute" ]; + QDomElement ruleElem = doc.createElement( "se:Rule" ); element.appendChild( ruleElem ); - QString valueStr = QString( "range: %1 - %2" ).arg( mLowerValue ).arg( mUpperValue ); - QDomElement nameElem = doc.createElement( "se:Name" ); - nameElem.appendChild( doc.createTextNode( !mLabel.isEmpty() ? mLabel : valueStr ) ); + nameElem.appendChild( doc.createTextNode( mLabel ) ); ruleElem.appendChild( nameElem ); - QString descrName = props.value( "version", "1.1" ) < "1.1" ? "Abstract" : "se:Description"; - QString descrValue = QString( "Graduated symbol rendererV2 - %1" ).arg( valueStr ); - - QDomElement descrElem = doc.createElement( descrName ); - descrElem.appendChild( doc.createTextNode( descrValue ) ); + QDomElement descrElem = doc.createElement( "se:Description" ); + QString descrStr = QString( "range: %1 - %2" ).arg( mLowerValue ).arg( mUpperValue ); + descrElem.appendChild( doc.createTextNode( !mLabel.isEmpty() ? mLabel : descrStr ) ); ruleElem.appendChild( descrElem ); // create the ogc:Filter for the range QDomElement filterElem = doc.createElement( "ogc:Filter" ); - QString filterFunc = QString( "%1 > %2 AND %1 <= %3" ) - .arg( props[ "attribute" ] ) + .arg( attrName.replace( "\"", "\"\"" ) ) .arg( mLowerValue ).arg( mUpperValue ); QgsSymbolLayerV2Utils::createFunctionElement( doc, filterElem, filterFunc ); -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 949b2f0179f7d4fd1ef61856fd8ed9dc366a87ae Author: Juergen E. Fischer Date: Thu Mar 15 23:59:33 2012 +0100 WMS 1.3: better detection of inverted axis diff --git a/src/core/qgscoordinatereferencesystem.cpp b/src/core/qgscoordinatereferencesystem.cpp index 5fb2631..4a0fbc9 100644 --- a/src/core/qgscoordinatereferencesystem.cpp +++ b/src/core/qgscoordinatereferencesystem.cpp @@ -166,6 +166,7 @@ QgsCoordinateReferenceSystem& QgsCoordinateReferenceSystem::operator=( const Qgs mProjectionAcronym = srs.mProjectionAcronym; mEllipsoidAcronym = srs.mEllipsoidAcronym; mGeoFlag = srs.mGeoFlag; +mAxisInverted = srs.mAxisInverted; mMapUnits = srs.mMapUnits; mSRID = srs.mSRID; mAuthId = srs.mAuthId; @@ -264,6 +265,7 @@ bool QgsCoordinateReferenceSystem::loadFromDb( QString db, QString expression, Q mSRID = QString::fromUtf8(( char * )sqlite3_column_text( myPreparedStatement, 5 ) ).toLong(); mAuthId = QString::fromUtf8(( char * )sqlite3_column_text( myPreparedStatement, 6 ) ); mGeoFlag = QString::fromUtf8(( char * )sqlite3_column_text( myPreparedStatement, 7 ) ).toInt() != 0; +mAxisInverted = -1; if ( mSrsId >= USER_CRS_START_ID && mAuthId.isEmpty() ) { @@ -291,6 +293,21 @@ bool QgsCoordinateReferenceSystem::loadFromDb( QString db, QString expression, Q return mIsValidFlag; } +bool QgsCoordinateReferenceSystem::axisInverted() const +{ + if ( mAxisInverted == -1 ) + { +OGRAxisOrientation orientation; +const char *axis0 = OSRGetAxis( mCRS, mGeoFlag ? "GEOGCS" : "PROJCS", 0, &orientation ); +mAxisInverted = mGeoFlag + ? (orientation == OAO_East || orientation == OAO_West || orientation == OAO_Other ) + : (orientation == OAO_North || orientation == OAO_South ); +QgsDebugMsg( QString( "srid:%1 axis0:%2 orientation:%3 inverted:%4" ).arg( mSRID ).arg( axis0 ).arg( OSRAxisEnumToName( orientation ) ).arg( mAxisInverted ) ); + } + + return mAxisInverted != 0; +} + bool QgsCoordinateReferenceSystem::createFromWkt( QString theWkt ) { mIsValidFlag = false; diff --git a/src/core/qgscoordinatereferencesystem.h b/src/core/qgscoordinatereferencesystem.h index b40e490..91965e1 100644 --- a/src/core/qgscoordinatereferencesystem.h +++ b/src/core/qgscoordinatereferencesystem.h @@ -308,6 +308,12 @@ class CORE_EXPORT QgsCoordinateReferenceSystem */ bool geographicFlag() const; +/*! return if axis is inverted (eg. for WMS 1.3) + * @return bool Whether this is crs axis is inverted + * @note added in 1.9.90 + */ +bool axisInverted() const; + /*! Get the units that the projection is in * @return QGis::UnitType that gives the units for the coordinate system */ @@ -434,6 +440,9 @@ class CORE_EXPORT QgsCoordinateReferenceSystem QString mValidationHint; mutable QString mWkt; +//!Whether this is a coordinate system has inverted axis +mutable int mAxisInverted; + static CUSTOM_CRS_VALIDATION mCustomSrsValidation; }; diff --git a/src/mapserver/qgsconfigparser.cpp b/src/mapserver/qgsconfigparser.cpp index a726210..0d2ec15 100644 --- a/src/mapserver/qgsconfigparser.cpp +++ b/src/mapserver/qgsconfigparser.cpp @@ -444,11 +444,11 @@ QgsComposition* QgsConfigParser::createPrintComposition( const QString& composer c->removeItem( currentMap ); delete currentMap; continue; } -//Change x- and y- of extent for WMS 1.3.0 and geographic coordinate systems +//Change x- and y- of extent for WMS 1.3.0 if axis inverted QString version = parameterMap.value( "VERSION" ); if ( !version.isEmpty() ) { - if ( mapRenderer && version == "1.3.0" && mapRenderer->destinationCrs().geographicFlag() ) + if ( mapRenderer && version == "1.3.0" && mapRenderer->destinationCrs().axisInverted() ) { //switch coordinates of extent double tmp; diff --git a/src/mapserver/qgswmsserver.cpp b/src/mapserver/qgswmsserver.cpp index 637c02a..1de6a91 100644 --- a/src/mapserver/qgswmsserver.cpp +++ b/src/mapserver/qgswmsserver.cpp @@ -1120,9 +1120,9 @@ int QgsWMSServer::configureMapRender( const QPaintDevice* paintDevice ) const } mMapRenderer->setMapUnits( mapUnits ); - // Change x- and y- of BBOX for WMS 1.3.0 and geographic coordinate systems + // Change x- and y- of BBOX for WMS 1.3.0 if axis inverted QString version = mParameterMap.value( "VERSION", "1.3.0" ); - if ( version == "1.3.0" && outputCRS.geographicFlag() ) + if ( version == "1.3.0" && outputCRS.axisInverted() ) { //switch coordinates of extent double tmp; diff --git a/src/providers/wms/qgswmsprovider.cpp b/src/providers/wms/qgswmsprovider.cpp index d50ff57..671f79e 100644 --- a/src/providers/wms/qgswmsprovider.cpp +++ b/src/providers/wms/qgswmsprovider.cpp @@ -415,13 +415,13 @@ QImage *QgsWmsProvider::draw( QgsRectangle const &viewExtent, int
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 9151fd583b5062a4e085bba70364cd3c0a0c4885 Author: Alexander Bruy Date: Thu Mar 15 15:15:21 2012 +0200 also count points that intersects polygon bounds (fix #5163) diff --git a/python/plugins/fTools/tools/doPointsInPolygon.py b/python/plugins/fTools/tools/doPointsInPolygon.py index 3e4ee3a..42e9686 100644 --- a/python/plugins/fTools/tools/doPointsInPolygon.py +++ b/python/plugins/fTools/tools/doPointsInPolygon.py @@ -141,7 +141,7 @@ class Dialog(QDialog, Ui_Dialog): for i in pointList: pointProvider.featureAtId( int( i ), inFeatB , True, allAttrs ) tmpGeom = QgsGeometry( inFeatB.geometry() ) -if inGeom.contains(tmpGeom.asPoint()): +if inGeom.intersects(tmpGeom.asPoint()): count = count + 1 outFeat.setAttributeMap(atMap) outFeat.addAttribute(index, QVariant(count)) -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 2c0fb43986aa00fb954851d4519f9a82a1c10cef Author: Giuseppe Sucameli Date: Wed Mar 14 00:58:26 2012 +0100 fix memory leak instantiating QgsExpression in actions diff --git a/src/core/qgsattributeaction.cpp b/src/core/qgsattributeaction.cpp index b5a8fe5..1fc78f7 100644 --- a/src/core/qgsattributeaction.cpp +++ b/src/core/qgsattributeaction.cpp @@ -206,7 +206,7 @@ QString QgsAttributeAction::expandAction( QString action, QgsFeature &feat, cons index = pos + rx.matchedLength(); QString to_replace = rx.cap( 1 ).trimmed(); -QgsDebugMsg( "Found expression:" + to_replace ); +QgsDebugMsg( "Found expression: " + to_replace ); if ( substitutionMap && substitutionMap->contains( to_replace ) ) { @@ -214,18 +214,18 @@ QString QgsAttributeAction::expandAction( QString action, QgsFeature &feat, cons continue; } -QgsExpression* exp = new QgsExpression( to_replace ); -if ( exp->hasParserError() ) +QgsExpression exp( to_replace ); +if ( exp.hasParserError() ) { - QgsDebugMsg( "Expression parser error:" + exp->parserErrorString() ); + QgsDebugMsg( "Expression parser error: " + exp.parserErrorString() ); expr_action += action.mid( start, index - start ); continue; } -QVariant result = exp->evaluate( &feat, mLayer->pendingFields() ); -if ( exp->hasEvalError() ) +QVariant result = exp.evaluate( &feat, mLayer->pendingFields() ); +if ( exp.hasEvalError() ) { - QgsDebugMsg( "Expression parser eval error:" + exp->evalErrorString() ); + QgsDebugMsg( "Expression parser eval error: " + exp.evalErrorString() ); expr_action += action.mid( start, index - start ); continue; } -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 03f86366cd8b0764377f84f0c6c1dd241bb79294 Author: Giuseppe Sucameli Date: Wed Mar 14 00:54:36 2012 +0100 convert $currfield (was %%) running actions from "Identify actions" tool diff --git a/src/core/qgsattributeaction.cpp b/src/core/qgsattributeaction.cpp index f934d1c..b5a8fe5 100644 --- a/src/core/qgsattributeaction.cpp +++ b/src/core/qgsattributeaction.cpp @@ -77,7 +77,10 @@ void QgsAttributeAction::doAction( int index, QgsFeature &feat, int defaultValue { QMap substitutionMap; if ( defaultValueIndex >= 0 ) -substitutionMap.insert( "$currfield", QVariant( defaultValueIndex ) ); + { +if ( feat.attributeMap().contains( defaultValueIndex ) ) + substitutionMap.insert( "$currfield", feat.attributeMap()[ defaultValueIndex ] ); + } doAction( index, feat, &substitutionMap ); } -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit db1c401dd90e0e7ef6c7dc4e76113427dcfa32f1 Author: Giuseppe Sucameli Date: Mon Mar 12 08:38:41 2012 +0100 "Run feature action" tool does the action for all the matching features (fix #5126) diff --git a/src/app/qgsmaptoolfeatureaction.cpp b/src/app/qgsmaptoolfeatureaction.cpp index 72e3232..7ab3873 100644 --- a/src/app/qgsmaptoolfeatureaction.cpp +++ b/src/app/qgsmaptoolfeatureaction.cpp @@ -72,6 +72,12 @@ void QgsMapToolFeatureAction::canvasReleaseEvent( QMouseEvent *e ) return; } + if ( !mCanvas->layers().contains( layer ) ) + { +// do not run actions on hidden layers +return; + } + QgsVectorLayer *vlayer = qobject_cast( layer ); if ( vlayer->actions()->size() == 0 ) { @@ -110,7 +116,7 @@ bool QgsMapToolFeatureAction::doAction( QgsVectorLayer *layer, int x, int y ) if ( identifyValue <= 0.0 ) identifyValue = QGis::DEFAULT_IDENTIFY_RADIUS; - QgsFeature feat; + QgsFeatureList featList; // toLayerCoordinates will throw an exception for an 'invalid' point. // For example, if you project a world map onto a globe using EPSG 2163 @@ -130,10 +136,8 @@ bool QgsMapToolFeatureAction::doAction( QgsVectorLayer *layer, int x, int y ) layer->select( layer->pendingAllAttributesList(), r, true, true ); QgsFeature f; -if ( layer->nextFeature( f ) ) - feat = QgsFeature( f ); -else - return false; +while ( layer->nextFeature( f ) ) + featList << QgsFeature( f ); } catch ( QgsCsException & cse ) { @@ -142,15 +146,22 @@ bool QgsMapToolFeatureAction::doAction( QgsVectorLayer *layer, int x, int y ) QgsDebugMsg( QString( "Caught CRS exception %1" ).arg( cse.what() ) ); } - int action = layer->actions()->defaultAction(); + if ( featList.size() == 0 ) +return false; - // define custom substitutions: layer id and clicked coords - QMap substitutionMap; - substitutionMap.insert( "$layerid", layer->id() ); - point = toLayerCoordinates( layer, point ); - substitutionMap.insert( "$clickx", point.x() ); - substitutionMap.insert( "$clicky", point.y() ); + foreach ( QgsFeature feat, featList ) + { +int actionIdx = layer->actions()->defaultAction(); + +// define custom substitutions: layer id and clicked coords +QMap substitutionMap; +substitutionMap.insert( "$layerid", layer->id() ); +point = toLayerCoordinates( layer, point ); +substitutionMap.insert( "$clickx", point.x() ); +substitutionMap.insert( "$clicky", point.y() ); + +layer->actions()->doAction( actionIdx, feat, &substitutionMap ); + } - layer->actions()->doAction( action, feat, &substitutionMap ); return true; } -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 533ac4c4ca776e18ff6d1a9154d72391b76c5f7e Author: Juergen E. Fischer Date: Mon Mar 12 22:48:01 2012 +0100 fix crash on quit diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 5c28856..05e18d1 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -1679,6 +1679,7 @@ void QgisApp::createCanvasTools() #else mAdvancedDigitizeToolBar->removeAction( mActionOffsetCurve ); mEditMenu->removeAction( mActionOffsetCurve ); + mMapTools.mOffsetCurve = 0; #endif //GEOS_VERSION mMapTools.mReshapeFeatures = new QgsMapToolReshape( mMapCanvas ); mMapTools.mReshapeFeatures->setAction( mActionReshapeFeatures ); diff --git a/src/gui/qgsexpressionbuilderwidget.cpp b/src/gui/qgsexpressionbuilderwidget.cpp index 28efa28..d3e23a7 100644 --- a/src/gui/qgsexpressionbuilderwidget.cpp +++ b/src/gui/qgsexpressionbuilderwidget.cpp @@ -415,7 +415,7 @@ QString QgsExpressionBuilderWidget::loadFunctionHelp( QgsExpressionItem* functio QString missingError = tr( "Oops! QGIS can't find help for this function." "The help file for %1 was not found." - ).arg( Qt::escape( name ) ); + ).arg( Qt::escape( name ) ); if ( !lang.startsWith( "en_" ) ) { -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 5f771a6ffe0a3d0d133190a9af77e6c5c91a328a Author: Juergen E. Fischer Date: Mon Mar 12 22:47:12 2012 +0100 fix QgsComposerItem API diff --git a/python/core/qgscomposeritem.sip b/python/core/qgscomposeritem.sip index 8e1bea7..ae74cf9 100644 --- a/python/core/qgscomposeritem.sip +++ b/python/core/qgscomposeritem.sip @@ -222,13 +222,13 @@ class QgsComposerItem: QObject, QGraphicsRectItem * @param none * @return void * @note deprecated since 1.8 don't use! - * @see hasFrame + * @see setFrameEnabled */ void setFrame( bool drawFrame ); /** Set whether this item has a frame drawn around it or not. * @param none * @return void - * @note deprecated since 1.8 + * @note introduced in 1.8 * @see hasFrame */ void setFrameEnabled( bool drawFrame ); diff --git a/src/app/composer/qgscomposeritemwidget.cpp b/src/app/composer/qgscomposeritemwidget.cpp index 6b560c3..5cc65cc 100644 --- a/src/app/composer/qgscomposeritemwidget.cpp +++ b/src/app/composer/qgscomposeritemwidget.cpp @@ -130,11 +130,11 @@ void QgsComposerItemWidget::on_mFrameCheckBox_stateChanged( int state ) mItem->beginCommand( tr( "Item frame toggled" ) ); if ( state == Qt::Checked ) { -mItem->setFrame( true ); +mItem->setFrameEnabled( true ); } else { -mItem->setFrame( false ); +mItem->setFrameEnabled( false ); } mItem->update(); mItem->endCommand(); @@ -155,7 +155,7 @@ void QgsComposerItemWidget::setValuesForGuiElements() mOpacitySlider->setValue( mItem->brush().color().alpha() ); mOutlineWidthSpinBox->setValue( mItem->pen().widthF() ); mItemIdLineEdit->setText( mItem->id() ); - if ( mItem->frame() ) + if ( mItem->hasFrame() ) { mFrameCheckBox->setCheckState( Qt::Checked ); } diff --git a/src/core/composer/qgscomposeritem.h b/src/core/composer/qgscomposeritem.h index a79814e..df46466 100644 --- a/src/core/composer/qgscomposeritem.h +++ b/src/core/composer/qgscomposeritem.h @@ -167,22 +167,21 @@ class CORE_EXPORT QgsComposerItem: public QObject, public QGraphicsRectItem /** Whether this item has a frame or not. * @returns true if there is a frame around this item, otherwise false. * @note introduced since 1.8 - * @see hasFrame */ bool hasFrame() const {return mFrame;} /** Set whether this item has a frame drawn around it or not. * @returns void * @note deprecated since 1.8 don't use! - * @see hasFrame + * @see setFrameEnabled */ Q_DECL_DEPRECATED void setFrame( bool drawFrame ) { setFrameEnabled( drawFrame );} /** Set whether this item has a frame drawn around it or not. * @param drawFrame draw frame * @returns nothing - * @note deprecated since 1.8 + * @note introduced in 1.8 * @see hasFrame */ -Q_DECL_DEPRECATED void setFrameEnabled( bool drawFrame ) {mFrame = drawFrame;} +void setFrameEnabled( bool drawFrame ) {mFrame = drawFrame;} /**Composite operations for item groups do nothing per default*/ virtual void addItem( QgsComposerItem* item ) { Q_UNUSED( item ); } diff --git a/src/plugins/georeferencer/qgsgeorefplugingui.cpp b/src/plugins/georeferencer/qgsgeorefplugingui.cpp index b6532bd..992aba2 100644 --- a/src/plugins/georeferencer/qgsgeorefplugingui.cpp +++ b/src/plugins/georeferencer/qgsgeorefplugingui.cpp @@ -1494,7 +1494,7 @@ bool QgsGeorefPluginGui::writePDFReportFile( const QString& fileName, const QgsG titleLabel->setText( rasterFi.fileName() ); composition->addItem( titleLabel ); titleLabel->setSceneRect( QRectF( leftMargin, 5, contentWidth, 8 ) ); - titleLabel->setFrame( false ); + titleLabel->setFrameEnabled( false ); //composer map QgsRectangle canvasExtent = mCanvas->extent(); @@ -1549,7 +1549,7 @@ bool QgsGeorefPluginGui::writePDFReportFile( const QString& fileName, const QgsG parameterLabel->adjustSizeToText(); composition->addItem( parameterLabel ); parameterLabel->setSceneRect( QRectF( leftMargin, composerMap->rect().bottom() + composerMap->transform().dy() + 5, contentWidth, 8 ) ); -parameterLabel->setFrame( false ); +parameterLabel->setFrameEnabled( false ); //calculate mean error double meanError = 0; @@ -1581,7 +1581,7 @@ bool QgsGeorefPluginGui::writePDFReportFile( const QString& fileName, const QgsG residualLabel->setText( tr( "Residuals" ) ); composition->addItem( residualLabel ); residualLabel->setSceneRect( QRectF( leftMargin, previousItem->rect().bottom() + previousItem->transform().dy() + 5, contentWidth, 6 ) ); - residualLabel->setFrame( false ); + residualLabel->setFrameEnabled( false ); //residual plot QgsResidualPlotItem* resPlotItem = new QgsResidualPlotItem( composition ); -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-deve
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 8acbea9d6a9df1c949321bce08cf39fe2a4b07d5 Author: Tim Sutton Date: Mon Mar 12 06:22:55 2012 +0200 [BACKPORT] Formatting changes only for raster color ramp shader class diff --git a/src/core/raster/qgscolorrampshader.cpp b/src/core/raster/qgscolorrampshader.cpp index 7cb18c3..70e773e 100644 --- a/src/core/raster/qgscolorrampshader.cpp +++ b/src/core/raster/qgscolorrampshader.cpp @@ -65,7 +65,8 @@ bool QgsColorRampShader::discreteColor( double theValue, int* theReturnRedValue, myColorRampItem = mColorRampItemList.value( mCurrentColorRampItemIndex ); myTinyDiff = qAbs( theValue - myColorRampItem.value ); //If the previous entry is less, then search closer to the top of the list (assumes mColorRampItemList is sorted) -if ( mCurrentColorRampItemIndex != 0 && theValue <= mColorRampItemList.at( mCurrentColorRampItemIndex - 1 ).value ) +if ( mCurrentColorRampItemIndex != 0 && + theValue <= mColorRampItemList.at( mCurrentColorRampItemIndex - 1 ).value ) { mCurrentColorRampItemIndex--; } @@ -119,7 +120,9 @@ bool QgsColorRampShader::exactColor( double theValue, int* theReturnRedValue, in return true; } //pixel value sits between ramp entries so bail -else if ( mCurrentColorRampItemIndex != myColorRampItemCount - 1 && theValue > myColorRampItem.value && theValue < mColorRampItemList.at( mCurrentColorRampItemIndex + 1 ).value ) +else if ( mCurrentColorRampItemIndex != myColorRampItemCount - 1 && +theValue > myColorRampItem.value && theValue < mColorRampItemList.at( + mCurrentColorRampItemIndex + 1 ).value ) { return false; } @@ -138,7 +141,8 @@ bool QgsColorRampShader::exactColor( double theValue, int* theReturnRedValue, in return false; // value not found } -bool QgsColorRampShader::interpolatedColor( double theValue, int* theReturnRedValue, int* theReturnGreenValue, int* theReturnBlueValue ) +bool QgsColorRampShader::interpolatedColor( double theValue, int* +theReturnRedValue, int* theReturnGreenValue, int* theReturnBlueValue ) { int myColorRampItemCount = mColorRampItemList.count(); if ( myColorRampItemCount <= 0 ) @@ -275,7 +279,9 @@ bool QgsColorRampShader::shade( double theValue, int* theReturnRedValue, int* th return discreteColor( theValue, theReturnRedValue, theReturnGreenValue, theReturnBlueValue ); } -bool QgsColorRampShader::shade( double theRedValue, double theGreenValue, double theBlueValue, int* theReturnRedValue, int* theReturnGreenValue, int* theReturnBlueValue ) +bool QgsColorRampShader::shade( double theRedValue, double theGreenValue, +double theBlueValue, int* theReturnRedValue, int* theReturnGreenValue, int* +theReturnBlueValue ) { Q_UNUSED( theRedValue ); Q_UNUSED( theGreenValue ); diff --git a/src/core/raster/qgscolorrampshader.h b/src/core/raster/qgscolorrampshader.h index 90cb863..d6f30aa 100644 --- a/src/core/raster/qgscolorrampshader.h +++ b/src/core/raster/qgscolorrampshader.h @@ -96,7 +96,11 @@ class CORE_EXPORT QgsColorRampShader : public QgsRasterShaderFunction int mCurrentColorRampItemIndex; //TODO: Consider pulling this out as a separate class and internally storing as a QMap rather than a QList -/** This vector holds the information for classification based on values. Each item holds a value, a label and a color. The member mDiscreteClassification holds if one color is applied for all values between two class breaks (true) or if the item values are (linearly) interpolated for values between the item values (false)*/ +/** This vector holds the information for classification based on values. + * Each item holds a value, a label and a color. The member + * mDiscreteClassification holds if one color is applied for all values + * between two class breaks (true) or if the item values are (linearly) + * interpolated for values between the item values (false)*/ QList mColorRampItemList; /** \brief The color ramp type */ @@ -105,18 +109,23 @@ class CORE_EXPORT QgsColorRampShader : public QgsRasterShaderFunction /** \brief Cache of values that have already been looked up */ QMap mColorCache; -/** Maximum size of the color cache. The color cache could eat a ton of memory if you have 32-bit data */ +/** Maximum size of the color cache. The color cache could eat a ton of + * memory if you have 32-bit data */ int mMaximumColorCacheSize; - - -/** Gets the color for a pixel value from the classification vector mValueClassification. Assigns the color of the lower class for every pixel between two class breaks.*/ +/** Gets the color for a pixel value from the classification vector + * mValueClassification. Assigns the color of the lower class for every + * pixel between two class breaks.*/ bool discreteColor( double, int*, int*, int* ); -/** Gets the color fo
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit d6ea1a037ef3755f7989bbf4c44c320f12eeba43 Author: Giuseppe Sucameli Date: Sat Mar 10 05:39:52 2012 +0100 refresh BuildVRT command when input layers changes, cleanup (follow 9da5d0345) diff --git a/python/plugins/GdalTools/tools/doBuildVRT.py b/python/plugins/GdalTools/tools/doBuildVRT.py index 9dbdca2..d2483a9 100644 --- a/python/plugins/GdalTools/tools/doBuildVRT.py +++ b/python/plugins/GdalTools/tools/doBuildVRT.py @@ -3,7 +3,6 @@ from PyQt4.QtCore import * from PyQt4.QtGui import * from qgis.core import * from qgis.gui import * -from qgis.utils import * from ui_widgetBuildVRT import Ui_GdalToolsWidget as Ui_Widget from widgetPluginBase import GdalToolsBasePluginWidget as BasePluginWidget @@ -22,6 +21,7 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget): self.inSelector.setType( self.inSelector.FILE ) self.outSelector.setType( self.outSelector.FILE ) self.recurseCheck.hide() + self.visibleRasterLayers = QStringList() self.setParamsStatus( [ @@ -32,14 +32,38 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget): (self.inputDirCheck, SIGNAL("stateChanged(int)")), (self.separateCheck, SIGNAL("stateChanged(int)"), None, "1.7.0"), (self.allowProjDiffCheck, SIGNAL("stateChanged(int)"), None, "1.7.0"), - (self.recurseCheck, SIGNAL("stateChanged(int)"), self.inputDirCheck) + (self.recurseCheck, SIGNAL("stateChanged(int)"), self.inputDirCheck), + (self.inputSelLayersCheck, SIGNAL("stateChanged(int)")) ] ) self.connect(self.inSelector, SIGNAL("selectClicked()"), self.fillInputFilesEdit) self.connect(self.outSelector, SIGNAL("selectClicked()"), self.fillOutputFileEdit) self.connect( self.inputDirCheck, SIGNAL( "stateChanged( int )" ), self.switchToolMode ) - self.connect( self.useSelectedLayersCheck, SIGNAL( "stateChanged( int )" ), self.switchLayerMode ) + self.connect( self.inputSelLayersCheck, SIGNAL( "stateChanged( int )" ), self.switchLayerMode ) + self.connect( self.iface.mapCanvas(), SIGNAL( "stateChanged( int )" ), self.switchLayerMode ) + + + def initialize(self): + # connect to mapCanvas.layerChanged() signal + self.connect(self.iface.mapCanvas(), SIGNAL("layersChanged()"), self.onVisibleLayersChanged) + BasePluginWidget.initialize(self) + + def onClosing(self): + # disconnect from mapCanvas.layerChanged() signal + self.disconnect(self.iface.mapCanvas(), SIGNAL("layersChanged()"), self.onVisibleLayersChanged) + BasePluginWidget.onClosing(self) + + + def onVisibleLayersChanged(self): + # refresh list of visible raster layers + self.visibleRasterLayers = QStringList() + for layer in self.iface.mapCanvas().layers(): +if Utils.LayerRegistry.isRaster( layer ): + self.visibleRasterLayers << layer.source() + + # refresh the text in the command viewer + self.someValueChanged() def switchToolMode(self): self.recurseCheck.setVisible( self.inputDirCheck.isChecked() ) @@ -58,7 +82,7 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget): QObject.disconnect(self.inSelector, SIGNAL("selectClicked()"), self.fillInputDir) def switchLayerMode(self): - enableInputFiles = not self.useSelectedLayersCheck.isChecked() + enableInputFiles = not self.inputSelLayersCheck.isChecked() self.inputDirCheck.setEnabled( enableInputFiles ) self.inSelector.setEnabled( enableInputFiles ) self.recurseCheck.setEnabled( enableInputFiles ) @@ -96,13 +120,12 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget): if self.allowProjDiffCheck.isChecked(): arguments << "-allow_projection_difference" arguments << self.getOutputFileName() - if self.useSelectedLayersCheck.isChecked(): -arguments << self.getInputFileNamesFromSelectedLayers() + if self.inputSelLayersCheck.isChecked(): +arguments << self.visibleRasterLayers + elif self.inputDirCheck.isChecked(): +arguments << Utils.getRasterFiles( self.getInputFileName(), self.recurseCheck.isChecked() ) else: -if self.inputDirCheck.isChecked(): - arguments << Utils.getRasterFiles( self.getInputFileName(), self.recurseCheck.isChecked() ) -else: - arguments << self.getInputFileName() +arguments << self.getInputFileName() return arguments def getOutputFileName(self): @@ -113,14 +136,6 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget): return self.inSelector.filename() return self.inSelector.filename().split(",") - def getInputFileNamesFromSelectedLayers(self): - layers = iface.mapCanvas().layers() - files = list() - for layer in layers: -if layer.type() == QgsMapLayer.RasterLayer and layer.providerType() == "gdal": -
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 213138e583321648d32562c74980d6b0f0c974a4 Author: Giuseppe Sucameli Date: Sun Mar 11 02:30:15 2012 +0100 BuildVRT: set input layer list when tool starting (follow d6ea1a03). Thanks Etienne for the patch. diff --git a/python/plugins/GdalTools/tools/doBuildVRT.py b/python/plugins/GdalTools/tools/doBuildVRT.py index d2483a9..d355ffe 100644 --- a/python/plugins/GdalTools/tools/doBuildVRT.py +++ b/python/plugins/GdalTools/tools/doBuildVRT.py @@ -47,6 +47,7 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget): def initialize(self): # connect to mapCanvas.layerChanged() signal self.connect(self.iface.mapCanvas(), SIGNAL("layersChanged()"), self.onVisibleLayersChanged) + self.onVisibleLayersChanged() BasePluginWidget.initialize(self) def onClosing(self): -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 9da5d0345ba165970a4fca5a05bb8b1bf108ad6a Author: Etienne Tourigny Date: Thu Mar 8 23:20:10 2012 -0300 allow to use loaded layers as input files (instead of file selector) for GDALTools Build Virtual Raster diff --git a/python/plugins/GdalTools/tools/doBuildVRT.py b/python/plugins/GdalTools/tools/doBuildVRT.py index 67df116..9dbdca2 100644 --- a/python/plugins/GdalTools/tools/doBuildVRT.py +++ b/python/plugins/GdalTools/tools/doBuildVRT.py @@ -3,6 +3,7 @@ from PyQt4.QtCore import * from PyQt4.QtGui import * from qgis.core import * from qgis.gui import * +from qgis.utils import * from ui_widgetBuildVRT import Ui_GdalToolsWidget as Ui_Widget from widgetPluginBase import GdalToolsBasePluginWidget as BasePluginWidget @@ -38,6 +39,7 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget): self.connect(self.inSelector, SIGNAL("selectClicked()"), self.fillInputFilesEdit) self.connect(self.outSelector, SIGNAL("selectClicked()"), self.fillOutputFileEdit) self.connect( self.inputDirCheck, SIGNAL( "stateChanged( int )" ), self.switchToolMode ) + self.connect( self.useSelectedLayersCheck, SIGNAL( "stateChanged( int )" ), self.switchLayerMode ) def switchToolMode(self): self.recurseCheck.setVisible( self.inputDirCheck.isChecked() ) @@ -55,6 +57,12 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget): QObject.connect(self.inSelector, SIGNAL("selectClicked()"), self.fillInputFilesEdit) QObject.disconnect(self.inSelector, SIGNAL("selectClicked()"), self.fillInputDir) + def switchLayerMode(self): + enableInputFiles = not self.useSelectedLayersCheck.isChecked() + self.inputDirCheck.setEnabled( enableInputFiles ) + self.inSelector.setEnabled( enableInputFiles ) + self.recurseCheck.setEnabled( enableInputFiles ) + def fillInputFilesEdit(self): lastUsedFilter = Utils.FileFilter.lastUsedRasterFilter() files = Utils.FileDialog.getOpenFileNames(self, self.tr( "Select the files for VRT" ), Utils.FileFilter.allRastersFilter(), lastUsedFilter) @@ -88,10 +96,13 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget): if self.allowProjDiffCheck.isChecked(): arguments << "-allow_projection_difference" arguments << self.getOutputFileName() - if self.inputDirCheck.isChecked(): -arguments << Utils.getRasterFiles( self.getInputFileName(), self.recurseCheck.isChecked() ) + if self.useSelectedLayersCheck.isChecked(): +arguments << self.getInputFileNamesFromSelectedLayers() else: -arguments << self.getInputFileName() +if self.inputDirCheck.isChecked(): + arguments << Utils.getRasterFiles( self.getInputFileName(), self.recurseCheck.isChecked() ) +else: + arguments << self.getInputFileName() return arguments def getOutputFileName(self): @@ -102,6 +113,14 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget): return self.inSelector.filename() return self.inSelector.filename().split(",") + def getInputFileNamesFromSelectedLayers(self): + layers = iface.mapCanvas().layers() + files = list() + for layer in layers: +if layer.type() == QgsMapLayer.RasterLayer and layer.providerType() == "gdal": + files.append( str(layer.source()) ) + return files + def addLayerIntoCanvas(self, fileInfo): self.iface.addRasterLayer(fileInfo.filePath()) diff --git a/python/plugins/GdalTools/tools/widgetBuildVRT.ui b/python/plugins/GdalTools/tools/widgetBuildVRT.ui index 2192538..b0df505 100644 --- a/python/plugins/GdalTools/tools/widgetBuildVRT.ui +++ b/python/plugins/GdalTools/tools/widgetBuildVRT.ui @@ -26,13 +26,20 @@ QLayout::SetNoConstraint + + +Use selected layers for input + + + + Choose input directory instead of files - + &Input files @@ -42,14 +49,14 @@ - + Recurse subdirectories - + &Output file @@ -59,14 +66,14 @@ - + &Resolution - + @@ -94,14 +101,14 @@ - + &Source No Data - + -10 @@ -111,20 +118,20 @@ - + Se¶te - + - + - + Allow projection difference -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@list
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 892cc39a8a970539158c8f382a5a4c2ade346eb8 Author: Juergen E. Fischer Date: Fri Mar 9 22:56:06 2012 +0100 remove geoimage austria wms server diff --git a/src/providers/wms/qgswmssourceselect.cpp b/src/providers/wms/qgswmssourceselect.cpp index b5c06e3..08c2fbd 100644 --- a/src/providers/wms/qgswmssourceselect.cpp +++ b/src/providers/wms/qgswmssourceselect.cpp @@ -990,7 +990,6 @@ void QgsWMSSourceSelect::addDefaultServers() QMap exampleServers; exampleServers["DM Solutions GMap"] = "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap";; exampleServers["Lizardtech server"] = "http://wms.lizardtech.com/lizardtech/iserv/ows";; - exampleServers["GEOIMAGE-AUSTRIA"] = "http://wms.geoimage.at/dop-1mfree?";; // Nice to have the qgis users map, but I'm not sure of the URL at the moment. // exampleServers["Qgis users map"] = "http://qgis.org/wms.cgi";; -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit d8c8a6768f43614ac099a9a0dfeb610ed26527e2 Author: Etienne Tourigny Date: Fri Mar 9 10:30:53 2012 -0300 QgisApp::askUserForGDALSublayers : fix order of new layers in the layers dock ; add an option to load all sublayers of a GDAL raster with subdatasets diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index dd6ee6c..5c28856 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -2262,15 +2262,23 @@ bool QgisApp::addVectorLayers( QStringList const & theLayerQStringList, const QS return true; } // QgisApp::addVectorLayer() +// present a dialog to choose GDAL raster sublayers void QgisApp::askUserForGDALSublayers( QgsRasterLayer *layer ) { - if ( !layer ) + if ( !layer || layer->subLayers().size() < 1 ) return; QStringList sublayers = layer->subLayers(); - QgsDebugMsg( "sublayers:\n " + sublayers.join( " \n" ) + "\n" ); + // if promptLayers=Load all, load all sublayers without prompting + QSettings settings; + if ( settings.value( "/qgis/promptForRasterSublayers", 1 ).toInt() == 3 ) + { +loadGDALSublayers( layer->source(), sublayers ); +return; + } + // We initialize a selection dialog and display it. QgsOGRSublayersDialog chooseSublayersDialog( this ); chooseSublayersDialog.setWindowTitle( tr( "Select raster layers to add..." ) ); @@ -2285,19 +2293,11 @@ void QgisApp::askUserForGDALSublayers( QgsRasterLayer *layer ) if ( chooseSublayersDialog.exec() ) { -foreach( QString path, chooseSublayersDialog.getSelection() ) -{ - QString name = path; - name.replace( layer->source(), QFileInfo( layer->source() ).completeBaseName() ); - QgsRasterLayer *rlayer = new QgsRasterLayer( path, name ); - if ( rlayer && rlayer->isValid() ) - { -addRasterLayer( rlayer ); - } -} +loadGDALSublayers( layer->source(), chooseSublayersDialog.getSelection() ); } } +// should the GDAL sublayers dialog should be presented to the user? bool QgisApp::shouldAskUserForGDALSublayers( QgsRasterLayer *layer ) { // return false if layer is empty or raster has no sublayers @@ -2306,13 +2306,35 @@ bool QgisApp::shouldAskUserForGDALSublayers( QgsRasterLayer *layer ) QSettings settings; int promptLayers = settings.value( "/qgis/promptForRasterSublayers", 1 ).toInt(); - // 0 = always -> always ask (if there are existing sublayers) - // 1 = if needed -> ask if layer has no bands, but has sublayers - // 2 = never - return promptLayers == 0 || ( promptLayers == 1 && layer->bandCount() == 0 ); + // return true if promptLayers=Always or if promptLayers!=Never and there are no bands + return promptLayers == 0 || ( promptLayers != 2 && layer->bandCount() == 0 ); } +// This method will load with GDAL the layers in parameter. +// It is normally triggered by the sublayer selection dialog. +void QgisApp::loadGDALSublayers( QString uri, QStringList list ) +{ + QString path, name; + QgsRasterLayer *subLayer = NULL; + + //add layers in reverse order so they appear in the right order in the layer dock + for ( int i = list.size() - 1; i >= 0 ; i-- ) + { +path = list[i]; +// shorten name by replacing complete path with filename +name = path; +name.replace( uri, QFileInfo( uri ).completeBaseName() ); +subLayer = new QgsRasterLayer( path, name ); +if ( subLayer ) +{ + if ( subLayer->isValid() ) +addRasterLayer( subLayer ); + else +delete subLayer; +} + } +} // This method is the method that does the real job. If the layer given in // parameter is NULL, then the method tries to act on the activeLayer. diff --git a/src/app/qgisapp.h b/src/app/qgisapp.h index c56828b..8b54096 100644 --- a/src/app/qgisapp.h +++ b/src/app/qgisapp.h @@ -422,6 +422,7 @@ class QgisApp : public QMainWindow, private Ui::MainWindow void editPaste( QgsMapLayer * destinationLayer = 0 ); void loadOGRSublayers( QString layertype, QString uri, QStringList list ); +void loadGDALSublayers( QString uri, QStringList list ); /**Deletes the selected attributes for the currently selected vector layer*/ void deleteSelected( QgsMapLayer *layer = 0, QWidget* parent = 0 ); diff --git a/src/app/qgsoptions.cpp b/src/app/qgsoptions.cpp index 40234f3..dc49ff8 100644 --- a/src/app/qgsoptions.cpp +++ b/src/app/qgsoptions.cpp @@ -185,10 +185,15 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WFlags fl ) : spinBoxAttrTableRowCache->setValue( settings.value( "/qgis/attributeTableRowCache", 1 ).toInt() ); // set the prompt for raster sublayers + // 0 = Always -> always ask (if there are existing sublayers) + // 1 = If needed -> ask if layer has no bands, but has sublayers + // 2 = Never -> never prompt, will not load anything + // 4 = Load all -> never prompt, but load all sublayers cmbPromptRasterSublayers->clear(); cmbPromptRasterSublayers->addItem( tr( "Always" ) ); c
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 227263928f96e382f96b4abbb6651bf87076a34a Author: Etienne Tourigny Date: Fri Mar 9 15:37:22 2012 -0300 browser dock: add selected layers via context menu and tool button diff --git a/src/app/qgsbrowserdockwidget.cpp b/src/app/qgsbrowserdockwidget.cpp index 681a183..15815df 100644 --- a/src/app/qgsbrowserdockwidget.cpp +++ b/src/app/qgsbrowserdockwidget.cpp @@ -68,16 +68,35 @@ QgsBrowserDockWidget::QgsBrowserDockWidget( QWidget * parent ) : mBrowserView = new QgsBrowserTreeView( this ); - mRefreshButton = new QToolButton( this ); - mRefreshButton->setIcon( QgisApp::instance()->getThemeIcon( "mActionDraw.png" ) ); - mRefreshButton->setText( tr( "Refresh" ) ); - mRefreshButton->setAutoRaise( true ); - connect( mRefreshButton, SIGNAL( clicked() ), this, SLOT( refresh() ) ); + QToolButton* refreshButton = new QToolButton( this ); + refreshButton->setIcon( QgisApp::instance()->getThemeIcon( "mActionDraw.png" ) ); + // remove this to save space + refreshButton->setToolButtonStyle( Qt::ToolButtonTextBesideIcon ); + refreshButton->setText( tr( "Refresh" ) ); + refreshButton->setToolTip( tr( "Refresh" ) ); + refreshButton->setAutoRaise( true ); + connect( refreshButton, SIGNAL( clicked() ), this, SLOT( refresh() ) ); + + QToolButton* addLayersButton = new QToolButton( this ); + addLayersButton->setIcon( QgisApp::instance()->getThemeIcon( "mActionAddLayer.png" ) ); + // remove this to save space + addLayersButton->setToolButtonStyle( Qt::ToolButtonTextBesideIcon ); + addLayersButton->setText( tr( "Add Selection" ) ); + addLayersButton->setToolTip( tr( "Add Selected Layers" ) ); + addLayersButton->setAutoRaise( true ); + connect( addLayersButton, SIGNAL( clicked() ), this, SLOT( addSelectedLayers() ) ); QVBoxLayout* layout = new QVBoxLayout(); + QHBoxLayout* hlayout = new QHBoxLayout(); layout->setContentsMargins( 0, 0, 0, 0 ); layout->setSpacing( 0 ); - layout->addWidget( mRefreshButton ); + hlayout->setContentsMargins( 0, 0, 0, 0 ); + hlayout->setSpacing( 5 ); + hlayout->setAlignment( Qt::AlignLeft ); + + hlayout->addWidget( refreshButton ); + hlayout->addWidget( addLayersButton ); + layout->addLayout( hlayout ); layout->addWidget( mBrowserView ); QWidget* innerWidget = new QWidget( this ); @@ -110,55 +129,13 @@ void QgsBrowserDockWidget::showEvent( QShowEvent * e ) void QgsBrowserDockWidget::itemClicked( const QModelIndex& index ) { - QgsDataItem *item = mModel->dataItem( index ); - if ( !item ) -return; - - QgsLayerItem *layerItem = qobject_cast( mModel->dataItem( index ) ); - if ( layerItem == NULL ) -return; - - QString uri = layerItem->uri(); - if ( uri.isEmpty() ) -return; + QgsDataItem *dataItem = mModel->dataItem( index ); - QgsMapLayer::LayerType type = layerItem->mapLayerType(); - QString providerKey = layerItem->providerKey(); - - QgsDebugMsg( providerKey + " : " + uri ); - if ( type == QgsMapLayer::VectorLayer ) + if ( dataItem != NULL && dataItem->type() == QgsDataItem::Layer ) { -QgisApp::instance()->addVectorLayer( uri, layerItem->name(), providerKey ); - } - if ( type == QgsMapLayer::RasterLayer ) - { -// This should go to WMS provider -QStringList URIParts = uri.split( "|" ); -QString rasterLayerPath = URIParts.at( 0 ); -QStringList layers; -QStringList styles; -QString format; -QString crs; -for ( int i = 1 ; i < URIParts.size(); i++ ) -{ - QString part = URIParts.at( i ); - int pos = part.indexOf( "=" ); - QString field = part.left( pos ); - QString value = part.mid( pos + 1 ); - - if ( field == "layers" ) -layers = value.split( "," ); - if ( field == "styles" ) -styles = value.split( "," ); - if ( field == "format" ) -format = value; - if ( field == "crs" ) -crs = value; -} -QgsDebugMsg( "rasterLayerPath = " + rasterLayerPath ); -QgsDebugMsg( "layers = " + layers.join( " " ) ); - -QgisApp::instance()->addRasterLayer( rasterLayerPath, layerItem->name(), providerKey, layers, styles, format, crs ); +QgsLayerItem *layerItem = qobject_cast( dataItem ); +if ( layerItem != NULL ) + addLayer( layerItem ); } } @@ -189,6 +166,12 @@ void QgsBrowserDockWidget::showContextMenu( const QPoint & pt ) } } + else if ( item->type() == QgsDataItem::Layer ) + { +menu->addAction( tr( "Add Layer" ), this, SLOT( itemClicked( idx ) ) ); +menu->addAction( tr( "Add Selected Layers" ), this, SLOT( addSelectedLayers() ) ); + } + QList actions = item->actions(); if ( !actions.isEmpty() ) { @@ -279,3 +262,76 @@ void QgsBrowserDockWidget::refreshModel( const QModelIndex& index ) } } } + +void QgsBrowserDockWidget::addLayer( QgsLayerItem *layerItem ) +{ + if ( layerItem == NULL ) +return; + + QString uri = layerItem->uri(); + if ( uri.isEmpty() ) +return; + + Qgs
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit a2b80be89b1d183cfeb69bc019e6fcaddb4bb404 Author: Etienne Tourigny Date: Fri Mar 9 12:13:00 2012 -0300 fixes for browser (GDAL rasters) : skip *.aux.xml files ; add suffix to raster file names in browser ; add HDF4 file suffix (.hdf) in buildSupportedRasterFileFilterAndExtensions() diff --git a/src/core/qgsdataitem.cpp b/src/core/qgsdataitem.cpp index f3ac63e..6cd9ed9 100644 --- a/src/core/qgsdataitem.cpp +++ b/src/core/qgsdataitem.cpp @@ -194,7 +194,8 @@ bool QgsDataItem::hasChildren() void QgsDataItem::addChildItem( QgsDataItem * child, bool refresh ) { - QgsDebugMsg( "mName = " + child->mName ); + QgsDebugMsg( QString( "add child #%1 - %2" ).arg( mChildren.size() ).arg( child->mName ) ); + int i; for ( i = 0; i < mChildren.size(); i++ ) { diff --git a/src/providers/gdal/qgsgdaldataitems.cpp b/src/providers/gdal/qgsgdaldataitems.cpp index f2901c6..146f80d 100644 --- a/src/providers/gdal/qgsgdaldataitems.cpp +++ b/src/providers/gdal/qgsgdaldataitems.cpp @@ -79,6 +79,12 @@ QGISEXTERN QgsDataItem * dataItem( QString thePath, QgsDataItem* parentItem ) QgsDebugMsg( "extensions: " + extensions.join( " " ) ); QgsDebugMsg( "wildcards: " + wildcards.join( " " ) ); } +// skip *.aux.xml files (GDAL auxilary metadata files) +// unless that extension is in the list (*.xml might be though) +if ( thePath.right( 8 ) == ".aux.xml" && + extensions.indexOf( "aux.xml" ) < 0 ) + return 0; + if ( extensions.indexOf( info.suffix().toLower() ) < 0 ) { bool matches = false; @@ -107,7 +113,8 @@ QGISEXTERN QgsDataItem * dataItem( QString thePath, QgsDataItem* parentItem ) QgsDebugMsg( "GdalDataset opened " + thePath ); -QString name = info.completeBaseName(); +//extract basename with extension +QString name = info.completeBaseName() + "." + QFileInfo( thePath ).suffix(); QString uri = thePath; QgsLayerItem * item = new QgsGdalLayerItem( parentItem, name, thePath, uri ); @@ -124,11 +131,10 @@ QGISEXTERN QgsDataItem * dataItem( QString thePath, QgsDataItem* parentItem ) if ( hChildDS ) { GDALClose( hChildDS ); - QgsDebugMsg( QString( "add child #%1 - %2" ).arg( i ).arg( sublayers[i] ) ); QString name = sublayers[i]; - name.replace( thePath, QFileInfo( thePath ).completeBaseName() ); - + //replace full path with basename+extension + name.replace( thePath, QFileInfo( thePath ).completeBaseName() + "." + QFileInfo( thePath ).suffix() ); childItem = new QgsGdalLayerItem( item, name, thePath + "/" + name, sublayers[i] ); if ( childItem ) item->addChildItem( childItem ); diff --git a/src/providers/gdal/qgsgdalprovider.cpp b/src/providers/gdal/qgsgdalprovider.cpp index a23b82f..d8f3b24 100644 --- a/src/providers/gdal/qgsgdalprovider.cpp +++ b/src/providers/gdal/qgsgdalprovider.cpp @@ -1267,7 +1267,10 @@ QStringList QgsGdalProvider::subLayers( GDALDatasetH dataset ) } } - QgsDebugMsg( "sublayers:\n " + subLayers.join( "\n " ) ); + if ( subLayers.size() > 0 ) + { +QgsDebugMsg( "sublayers:\n " + subLayers.join( "\n " ) ); + } return subLayers; } @@ -1801,6 +1804,13 @@ void buildSupportedRasterFileFilterAndExtensions( QString & theFileFiltersString theFileFiltersString += ";;[GDAL] " + myGdalDriverLongName + " (" + glob.toLower() + " " + glob.toUpper() + ")"; theWildcards << "hdr.adf"; } + else if ( myGdalDriverDescription == "HDF4" ) + { +// HDF4 extension missing in driver metadata +QString glob = "*.hdf"; +theFileFiltersString += ";;[GDAL] " + myGdalDriverLongName + " (" + glob.toLower() + " " + glob.toUpper() + ")"; +theExtensions << "hdf"; + } else { catchallFilter << QString( GDALGetDescription( myGdalDriver ) ); -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 2f135c1d630f0f96422547c31a05c38d41997470 Author: Juergen E. Fischer Date: Fri Mar 9 17:28:06 2012 +0100 use GDAL_FIX_ESRI_WKT in QgsOgrProvider::crs (fixes #5066 with GDAL 1.9) diff --git a/src/providers/ogr/qgsogrprovider.cpp b/src/providers/ogr/qgsogrprovider.cpp index e428cae..b1054a0 100644 --- a/src/providers/ogr/qgsogrprovider.cpp +++ b/src/providers/ogr/qgsogrprovider.cpp @@ -2100,6 +2100,8 @@ QgsCoordinateReferenceSystem QgsOgrProvider::crs() } } + CPLSetConfigOption( "GDAL_FIX_ESRI_WKT", "TOWGS84" ); // add towgs84 parameter + OGRSpatialReferenceH mySpatialRefSys = OGR_L_GetSpatialRef( ogrLayer ); if ( mySpatialRefSys ) { -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 3e0fb86ccea4669865696f8ab0ea527b9334db95 Author: Marco Hugentobler Date: Fri Mar 9 21:24:34 2012 +0100 Fix for crash when quiting QGIS (ticket #5145) diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 49c62ef..dd6ee6c 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -673,6 +673,7 @@ QgisApp::~QgisApp() delete mMapTools.mMoveLabel; delete mMapTools.mRotateLabel; delete mMapTools.mChangeLabelProperties; + delete mMapTools.mOffsetCurve; delete mPythonUtils; -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit ab859598e2e9dcfb5d816e7f7b34841a5cf329d1 Author: Juergen E. Fischer Date: Fri Mar 9 16:42:53 2012 +0100 fix windows build diff --git a/src/core/symbology-ng/qgsrendererv2registry.h b/src/core/symbology-ng/qgsrendererv2registry.h index ed274c9..8b304d7 100644 --- a/src/core/symbology-ng/qgsrendererv2registry.h +++ b/src/core/symbology-ng/qgsrendererv2registry.h @@ -4,11 +4,11 @@ #include #include #include +#include #include "qgis.h" class QgsFeatureRendererV2; -class QDomElement; class QgsVectorLayer; class QgsStyleV2; class QgsRendererV2Widget; -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit c6b99909dbe89c98e9557c6bbf9447e98e549f6d Author: Juergen E. Fischer Date: Fri Mar 9 17:09:50 2012 +0100 fix typos diff --git a/python/core/qgscomposeritem.sip b/python/core/qgscomposeritem.sip index 06e746d..8e1bea7 100644 --- a/python/core/qgscomposeritem.sip +++ b/python/core/qgscomposeritem.sip @@ -207,7 +207,7 @@ class QgsComposerItem: QObject, QGraphicsRectItem /** Whether this item has a frame or not. * @param none * @return boolean - true if there is a frame around this item, otherwise false. - * @note deprecated since 1.8 dont use! + * @note deprecated since 1.8 don't use! * @see hasFrame */ bool frame(); @@ -221,7 +221,7 @@ class QgsComposerItem: QObject, QGraphicsRectItem /** Set whether this item has a frame drawn around it or not. * @param none * @return void - * @note deprecated since 1.8 dont use! + * @note deprecated since 1.8 don't use! * @see hasFrame */ void setFrame( bool drawFrame ); @@ -243,7 +243,7 @@ class QgsComposerItem: QObject, QGraphicsRectItem //painter down by the same factor for drawing /**Draws Text. Takes care about all the composer specific issues (calculation to pixel, scaling of font and painter - to work arount the Qt font bug)*/ + to work around the Qt font bug)*/ void drawText( QPainter* p, int x, int y, const QString& text, const QFont& font ) const; /**Like the above, but with a rectangle for multiline text*/ diff --git a/scripts/spelling.dat b/scripts/spelling.dat index c442eaa..b554b09 100644 --- a/scripts/spelling.dat +++ b/scripts/spelling.dat @@ -454,3 +454,5 @@ intersectons:intersections secific:specific writeable:writable vaild:valid +opps:oops +arount:around diff --git a/src/core/composer/qgscomposeritem.h b/src/core/composer/qgscomposeritem.h index 015ad96..a79814e 100644 --- a/src/core/composer/qgscomposeritem.h +++ b/src/core/composer/qgscomposeritem.h @@ -160,7 +160,7 @@ class CORE_EXPORT QgsComposerItem: public QObject, public QGraphicsRectItem /** Whether this item has a frame or not. * @return boolean - true if there is a frame around this item, otherwise false. - * @note deprecated since 1.8 dont use! + * @note deprecated since 1.8 don't use! * @see hasFrame */ Q_DECL_DEPRECATED bool frame() const {return hasFrame();} @@ -172,7 +172,7 @@ class CORE_EXPORT QgsComposerItem: public QObject, public QGraphicsRectItem bool hasFrame() const {return mFrame;} /** Set whether this item has a frame drawn around it or not. * @returns void - * @note deprecated since 1.8 dont use! + * @note deprecated since 1.8 don't use! * @see hasFrame */ Q_DECL_DEPRECATED void setFrame( bool drawFrame ) { setFrameEnabled( drawFrame );} @@ -202,7 +202,7 @@ class CORE_EXPORT QgsComposerItem: public QObject, public QGraphicsRectItem //painter down by the same factor for drawing /**Draws Text. Takes care about all the composer specific issues (calculation to pixel, scaling of font and painter - to work arount the Qt font bug)*/ + to work around the Qt font bug)*/ void drawText( QPainter* p, double x, double y, const QString& text, const QFont& font ) const; /**Like the above, but with a rectangle for multiline text*/ -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit f700c01e33ea030bb56e49e6a2d41f7fc6710db6 Author: Juergen E. Fischer Date: Fri Mar 9 13:30:55 2012 +0100 debian packaging update diff --git a/debian/control.precise b/debian/control.precise index 1d69bd7..a39647a 100644 --- a/debian/control.precise +++ b/debian/control.precise @@ -16,11 +16,12 @@ Build-Depends: libpq-dev, libproj-dev, libqt4-dev (>=4.4.0), + libqt4-opengl-dev, libqtwebkit-dev, libqwt5-qt4-dev, libspatialite-dev, - libspatialindex-dev, libsqlite3-dev, + libspatialindex-dev, pkg-config, pyqt4-dev-tools, python, diff --git a/debian/rules b/debian/rules index 4b8cfd2..8c22725 100755 --- a/debian/rules +++ b/debian/rules @@ -165,7 +165,7 @@ binary-arch: build install install -o root -g root -m 755 $(CURDIR)/debian/qgis.sh $(CURDIR)/debian/qgis-plugin-grass/usr/bin/qgis install -o root -g root -m 755 $(CURDIR)/debian/qgis.sh $(CURDIR)/debian/qgis-plugin-grass/usr/bin/qbrowser -ifneq (,$(findstring $(DISTRIBUTION),"sid")) +ifneq (,$(findstring $(DISTRIBUTION),"wheezy sid")) dh_python2 --no-guessing-versions else dh_pycentral -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 91da6af5acf4ea09218a495a1ea85dc0ccae267e Author: Alexander Bruy Date: Fri Mar 9 10:39:42 2012 +0200 fix #5097 diff --git a/python/plugins/fTools/tools/doMergeShapes.py b/python/plugins/fTools/tools/doMergeShapes.py index fe600e0..a5a3b52 100644 --- a/python/plugins/fTools/tools/doMergeShapes.py +++ b/python/plugins/fTools/tools/doMergeShapes.py @@ -30,9 +30,11 @@ class Dialog( QDialog, Ui_Dialog ): QObject.connect( self.leOutShape, SIGNAL( "editingFinished()" ), self.updateOutFile ) def inputDir( self ): +settings = QSettings() +lastDir = settings.value( "/fTools/lastShapeDir", "." ).toString() inDir = QFileDialog.getExistingDirectory( self, self.tr( "Select directory with shapefiles to merge" ), - "." ) + lastDir ) if inDir.isEmpty(): return @@ -48,6 +50,8 @@ class Dialog( QDialog, Ui_Dialog ): self.inputFiles = None return +settings.setValue( "/fTools/lastShapeDir", inDir ) + self.progressFiles.setRange( 0, self.inputFiles.count() ) self.leInputDir.setText( inDir ) -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit a8731244eeef5bed909db16b6fa386e84e50d333 Author: Juergen E. Fischer Date: Thu Mar 8 16:10:13 2012 +0100 debian packageing update: add globe plugin to ubuntu precise diff --git a/debian/changelog b/debian/changelog index 62a8ac8..2eab0bb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,7 +10,7 @@ qgis (1.9.90) UNRELEASED; urgency=low * build package with internal libspatialite where libspatialite not available * drop support for Ubuntu hardy, intrepid, jaunty and karmic - -- Jürgen E. Fischer Wed, 07 Mar 2012 06:52:29 +0100 + -- Jürgen E. Fischer Thu, 08 Mar 2012 16:08:09 +0100 qgis (1.8.0) UNRELEASED; urgency=low diff --git a/debian/control.precise b/debian/control.precise index 5e992e6..1d69bd7 100644 --- a/debian/control.precise +++ b/debian/control.precise @@ -30,6 +30,8 @@ Build-Depends: python-qt4-dev (>=4.1.0), python-sip (>= 4.5.0), python-sip-dev (>= 4.5.0), + libosgearth-dev, + libopenscenegraph-dev, git, doxygen, graphviz, @@ -42,7 +44,7 @@ Homepage: http://qgis.org/ Package: qgis Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, qgis-providers (= ${binary:Version}), qgis-common (= ${source:Version}) -Recommends: qgis-plugin-grass, python-qgis +Recommends: qgis-plugin-globe, qgis-plugin-grass, python-qgis Suggests: gpsbabel Conflicts: uim-qt3 Description: Geographic Information System (GIS) @@ -197,3 +199,21 @@ Description: Quantum GIS API documentation . This package contains the Quantum GIS API documentation. +Package: qgis-plugin-globe +Architecture: any +Depends: qgis (= ${binary:Version}), qgis-plugin-globe-common (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: OSG globe plugin for Quantum GIS + Quantum GIS is a Geographic Information System (GIS) which manages, analyzes + and display databases of geographic information. + . + This plugin enables 3D viewing using OSG globe in the Quantum GIS. + +Package: qgis-plugin-globe-common +Architecture: all +Description: OSG GLOBE plugin for Quantum GIS - architecture-independent data + Quantum GIS is a Geographic Information System (GIS) which manages, analyzes + and display databases of geographic information. + . + This package contains architecture-independent supporting data files for use + with the Quantum GIS GLOBE plugin. + -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit dabd59b134dfced4aa21671cdc9ab50e7e60d3ba Author: Juergen E. Fischer Date: Thu Mar 8 15:55:37 2012 +0100 also build pyspatialite with system spatialite diff --git a/CMakeLists.txt b/CMakeLists.txt index ae7a34c..ec4b979 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,6 +61,7 @@ SET (WITH_SPATIALITE TRUE CACHE BOOL "Determines whether SPATIALITE support shou IF (WITH_SPATIALITE) SET (WITH_INTERNAL_SPATIALITE TRUE CACHE BOOL "Determines whether SPATIALITE support should be built internally") + SET (WITH_PYSPATIALITE TRUE CACHE BOOL "Determines whether PYSPATIALITE should be built") IF(WITH_INTERNAL_SPATIALITE) SET(SPATIALITE_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/core/spatialite/headers) SET(HAVE_SPATIALITE TRUE) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 89987c3..d0513d3 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -3,16 +3,17 @@ ADD_SUBDIRECTORY(plugins) SET (PYTHON_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/python) SET (QGIS_PYTHON_OUTPUT_DIRECTORY ${PYTHON_OUTPUT_DIRECTORY}/qgis) -IF (WITH_INTERNAL_SPATIALITE) +IF (WITH_PYSPATIALITE) ADD_SUBDIRECTORY(pyspatialite) +ENDIF (WITH_PYSPATIALITE) +IF (WITH_INTERNAL_SPATIALITE) INCLUDE_DIRECTORIES( ../src/core/spatialite/headers ../src/core/spatialite/headers/spatialite ) ENDIF (WITH_INTERNAL_SPATIALITE) - SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${QGIS_PYTHON_OUTPUT_DIRECTORY}) SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${QGIS_PYTHON_OUTPUT_DIRECTORY}) diff --git a/python/pyspatialite/CMakeLists.txt b/python/pyspatialite/CMakeLists.txt index 0d283ee..86a52bd 100644 --- a/python/pyspatialite/CMakeLists.txt +++ b/python/pyspatialite/CMakeLists.txt @@ -1,11 +1,14 @@ SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PYTHON_OUTPUT_DIRECTORY}/pyspatialite) SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PYTHON_OUTPUT_DIRECTORY}/pyspatialite) +IF(WITH_INTERNAL_SPATIALITE) + INCLUDE_DIRECTORIES( +../../src/core/spatialite/headers +../../src/core/spatialite/headers/spatialite + ) +ENDIF(WITH_INTERNAL_SPATIALITE) INCLUDE_DIRECTORIES( - ../../src/core/spatialite/headers - ../../src/core/spatialite/headers/spatialite - ${PYTHON_INCLUDE_PATH} ${GEOS_INCLUDE_DIR} ${PROJ_INCLUDE_DIR} -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 7dc309621829e39fe616c6ebddd85e5a8bd6f8b8 Author: Juergen E. Fischer Date: Wed Mar 7 20:20:42 2012 +0100 fix #5132 diff --git a/src/core/qgsexpression.cpp b/src/core/qgsexpression.cpp index d960b3f..5bb7959 100644 --- a/src/core/qgsexpression.cpp +++ b/src/core/qgsexpression.cpp @@ -104,7 +104,7 @@ inline bool isNull( const QVariant& v ) { return v.isNull(); } const char* QgsExpression::BinaryOperatorText[] = { "OR", "AND", - "=", "<>", "<=", ">=", "<", ">", "~", "LIKE", "ILIKE", "IS", "IS NOT", + "=", "<>", "<=", ">=", "<", ">", "~", "LIKE", "NOT LIKE", "ILIKE", "NOT ILIKE", "IS", "IS NOT", "+", "-", "*", "/", "%", "^", "||" }; @@ -722,7 +722,9 @@ QVariant QgsExpression::NodeBinaryOperator::eval( QgsExpression* parent, QgsFeat case boRegexp: case boLike: +case boNotLike: case boILike: +case boNotILike: if ( isNull( vL ) || isNull( vR ) ) return TVL_Unknown; else @@ -731,17 +733,23 @@ QVariant QgsExpression::NodeBinaryOperator::eval( QgsExpression* parent, QgsFeat QString regexp = getStringValue( vR, parent ); ENSURE_NO_EVAL_ERROR; // TODO: cache QRegExp in case that regexp is a literal string (i.e. it will stay constant) bool matches; -if ( mOp == boLike || mOp == boILike ) // change from LIKE syntax to regexp +if ( mOp == boLike || mOp == boILike || mOp == boNotLike || mOp == boNotILike ) // change from LIKE syntax to regexp { // XXX escape % and _ ??? regexp.replace( "%", ".*" ); regexp.replace( "_", "." ); - matches = QRegExp( regexp, mOp == boLike ? Qt::CaseSensitive : Qt::CaseInsensitive ).exactMatch( str ); + matches = QRegExp( regexp, mOp == boLike || mOp == boNotLike ? Qt::CaseSensitive : Qt::CaseInsensitive ).exactMatch( str ); } else { matches = QRegExp( regexp ).indexIn( str ) != -1; } + + if( mOp == boNotLike || mOp == boNotILike ) + { + matches = !matches; + } + return matches ? TVL_True : TVL_False; } diff --git a/src/core/qgsexpression.h b/src/core/qgsexpression.h index cdd0e6e..4f64f82 100644 --- a/src/core/qgsexpression.h +++ b/src/core/qgsexpression.h @@ -149,7 +149,9 @@ class CORE_EXPORT QgsExpression boGT, // > boRegexp, boLike, + boNotLike, boILike, + boNotILike, boIs, boIsNot, diff --git a/src/core/qgsexpressionlexer.ll b/src/core/qgsexpressionlexer.ll index 758c49c..78f1989 100644 --- a/src/core/qgsexpressionlexer.ll +++ b/src/core/qgsexpressionlexer.ll @@ -124,12 +124,14 @@ string "'"{str_char}*"'" "<" { B_OP(boLT); return LT; } ">" { B_OP(boGT); return GT; } -"~" { B_OP(boRegexp); return REGEXP; } -"LIKE" { B_OP(boLike); return LIKE; } -"ILIKE" { B_OP(boILike); return ILIKE; } -"IS" { B_OP(boIs); return IS; } -"IS NOT" { B_OP(boIsNot); return ISNOT; } -"||" { B_OP(boConcat); return CONCAT; } +"~" { B_OP(boRegexp); return REGEXP; } +"LIKE" { B_OP(boLike); return LIKE; } +"NOT LIKE" { B_OP(boNotLike); return LIKE; } +"ILIKE" { B_OP(boILike); return LIKE; } +"NOT ILIKE" { B_OP(boNotILike); return LIKE; } +"IS"{ B_OP(boIs); return IS; } +"IS NOT"{ B_OP(boIsNot); return IS; } +"||"{ B_OP(boConcat); return CONCAT; } "+" { B_OP(boPlus); return PLUS; } "-" { B_OP(boMinus); return MINUS; } diff --git a/src/core/qgsexpressionparser.yy b/src/core/qgsexpressionparser.yy index 75fa6e6..f96810e 100644 --- a/src/core/qgsexpressionparser.yy +++ b/src/core/qgsexpressionparser.yy @@ -74,7 +74,7 @@ QgsExpression::Node* gExpParserRootNode; // // operator tokens -%token OR AND EQ NE LE GE LT GT REGEXP LIKE ILIKE IS ISNOT PLUS MINUS MUL DIV MOD CONCAT POW +%token OR AND EQ NE LE GE LT GT REGEXP LIKE IS PLUS MINUS MUL DIV MOD CONCAT POW %token NOT %token IN @@ -114,7 +114,7 @@ QgsExpression::Node* gExpParserRootNode; %left OR %left AND %right NOT -%left EQ NE LE GE LT GT REGEXP LIKE ILIKE IS ISNOT IN +%left EQ NE LE GE LT GT REGEXP LIKE IS IN %left PLUS MINUS %left MUL DIV MOD %right POW @@ -134,28 +134,26 @@ root: expression { gExpParserRootNode = $1; } ; expression: - expression AND expression{ $$ = BINOP($2, $1, $3); } -| expression OR expression { $$ = BINOP($2, $1, $3); } -| expression EQ expression { $$ = BINOP($2, $1, $3); } -| expression NE expression { $$ = BINOP($2, $1, $3); } -| expression LE expression { $$ = BINOP($2, $1, $3); } -| expression GE expression { $$ = BINOP($2, $1, $3); } -| expression LT expression { $$ = BINOP($2, $1, $3); } -| expression GT expression { $$ = BINOP($2, $1, $3); } -| expression REGEXP expression { $$ = BINOP($2, $1, $3); } -| expression LIKE expression { $$ = BINOP($2, $1, $3); } -| expression IL
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 7a0c6d5b10fe6d24c2876e39955fbff4da917480 Author: Juergen E. Fischer Date: Wed Mar 7 07:48:36 2012 +0100 debian packaging update: drop hardy, intrepid, jaunty and karmic diff --git a/debian/changelog b/debian/changelog index a596437..62a8ac8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,8 +8,9 @@ qgis (1.9.90) UNRELEASED; urgency=low * add browser desktop entry * add support for Debian wheezy and Ubuntu precise * build package with internal libspatialite where libspatialite not available + * drop support for Ubuntu hardy, intrepid, jaunty and karmic - -- Jürgen E. Fischer Tue, 06 Mar 2012 20:33:08 +0100 + -- Jürgen E. Fischer Wed, 07 Mar 2012 06:52:29 +0100 qgis (1.8.0) UNRELEASED; urgency=low diff --git a/debian/compat.hardy b/debian/compat.hardy deleted file mode 100644 index 7ed6ff8..000 --- a/debian/compat.hardy +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/debian/compat.intrepid b/debian/compat.intrepid deleted file mode 100644 index 7ed6ff8..000 --- a/debian/compat.intrepid +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/debian/compat.jaunty b/debian/compat.jaunty deleted file mode 100644 index 7ed6ff8..000 --- a/debian/compat.jaunty +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/debian/compat.karmic b/debian/compat.karmic deleted file mode 100644 index 7ed6ff8..000 --- a/debian/compat.karmic +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/debian/control.hardy b/debian/control.hardy deleted file mode 100644 index 8d86e3a..000 --- a/debian/control.hardy +++ /dev/null @@ -1,147 +0,0 @@ -Source: qgis -Section: science -Priority: extra -Maintainer: Quantum GIS developers -Build-Depends: debhelper (>= 5.0.51~), libgdal1-dev, libpq-dev, - libgeos-dev (>= 3.0.0), grass-dev, libsqlite3-dev, libgsl0-dev, proj, - libexpat1-dev, flex, bison, python-dev, cmake (>=2.4.3), - python-sip4 (>= 4.5.0), python-central (>=0.5), python, sip4 (>= 4.5), - libqt4-core (>=4.2.0), libqt4-dev (>=4.2.0), libqt4-gui (>=4.2.0), - libqt4-sql (>=4.2.0), python-qt4 (>=4.1.0), python-qt4-dev (>=4.1.0), - python-sip4-dev (>= 4.5.0), pyqt4-dev-tools, fcgi-dev, git-core -Build-Conflicts: libqgis-dev, qgis-dev -Standards-Version: 3.8.0 -XS-Python-Version: current -Homepage: http://qgis.org/ - -Package: qgis -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, qgis-providers (= ${binary:Version}), qgis-common (= ${source:Version}) -Recommends: qgis-plugin-grass, python-qgis -Suggests: gpsbabel -Conflicts: uim-qt3 -Description: Geographic Information System (GIS) - A Geographic Information System (GIS) manages, analyzes, and displays - databases of geographic information. Quantum GIS (QGIS) supports shape file - viewing and editing, spatial data storage with PostgreSQL/PostGIS, projection - on-the-fly, map composition, and a number of other features via a plugin - interface. QGIS also supports display of various georeferenced raster and - Digital Elevation Model (DEM) formats including GeoTIFF, Arc/Info ASCII Grid, - and USGS ASCII DEM. - -Package: qgis-common -Architecture: all -Description: Quantum GIS - architecture-independent data - Quantum GIS is a Geographic Information System (GIS) which manages, analyzes - and display databases of geographic information. - . - This package contains architecture-independent supporting data files for use - with Quantum GIS. - -Package: libqgis{QGIS_ABI} -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Replaces: qgis (<=0.9.2rc1), libqgis-core1, libqgis-gui1, libqgis0, libqgis1 -Description: Quantum GIS - shared libraries - Quantum GIS is a Geographic Information System (GIS) which manages, analyzes - and display databases of geographic information. - . - This package contains the shared core and gui library that provide an - interface for plugins and stand-alone applications. - -Package: libqgis-dev -Architecture: any -Section: libdevel -Depends: libqgis{QGIS_ABI} (= ${binary:Version}), libgdal1-dev, - libpq-dev, libgeos-dev (>= 3.0.0), grass-dev, - libsqlite3-dev, libgsl0-dev, proj, libexpat1-dev, libqt4-core (>=4.2.0), - libqt4-dev (>=4.2.0), libqt4-gui (>=4.2.0), libqt4-qt3support (>=4.2.0), - libqt4-sql (>=4.2.0), python-qt4 (>=4.1.0), python-qt4-dev (>=4.1.0), - qt4-designer (>=4.2.0) -Provides: qgis-dev -Replaces: qgis-dev, libqgis1-dev -Description: Quantum GIS - development files - Quantum GIS is a Geographic Information System (GIS) which manages, analyzes - and display databases of geographic information. - . - This package contains the headers and libraries needed to develop plugins for - Quantum GIS. - -Package: qgis-plugin-grass -Architecture: any -Depends: qgis (= ${binary:Version}), qgis-plugin-grass-common (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends} -Description: GRASS plugin for Quantum GIS - Quantum GIS is a Geographic Information System (GIS) which manages, analyzes - and display databases of geographic information. - . -
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit e71494a5607b5c9792415e3652c5b8797d1f5e73 Author: Marco Hugentobler Date: Wed Mar 7 14:03:31 2012 +0100 Fix wrong extent after loading project files with embedded groups diff --git a/src/app/legend/qgslegend.cpp b/src/app/legend/qgslegend.cpp index 7cf17c9..7d7895f 100644 --- a/src/app/legend/qgslegend.cpp +++ b/src/app/legend/qgslegend.cpp @@ -1319,6 +1319,12 @@ bool QgsLegend::writeXML( QList items, QDomNode &node, QDomDo bool QgsLegend::readXML( QgsLegendGroup *parent, const QDomNode &node ) { + QgsRectangle bkMapExtent; + if ( mMapCanvas ) + { +bkMapExtent = mMapCanvas->extent(); + } + const QDomNodeList &l = node.childNodes(); for ( int i = 0; i < l.count(); i++ ) { @@ -1444,6 +1450,11 @@ bool QgsLegend::readXML( QgsLegendGroup *parent, const QDomNode &node ) } } + //restore canvas extent (could be changed by addLayer calls) + if ( !bkMapExtent.isEmpty() ) + { +mMapCanvas->setExtent( bkMapExtent ); + } return true; } -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 6e20c54077baa8b6e5d0bbcc998bbdf279016e3f Author: Juergen E. Fischer Date: Wed Mar 7 07:50:44 2012 +0100 catch transformation exceptions in QgsGrassRegionEdit::transform diff --git a/src/plugins/grass/qgsgrassregion.cpp b/src/plugins/grass/qgsgrassregion.cpp index fe3934a..047a27e 100644 --- a/src/plugins/grass/qgsgrassregion.cpp +++ b/src/plugins/grass/qgsgrassregion.cpp @@ -132,14 +132,23 @@ void QgsGrassRegionEdit::setTransform() void QgsGrassRegionEdit::transform( QgsMapCanvas *canvas, QVector &points, QgsCoordinateTransform *coordinateTransform, QgsCoordinateTransform::TransformDirection direction ) { QgsDebugMsg( "Entered" ); + /** Coordinate transform */ if ( canvas->mapRenderer()->hasCrsTransformEnabled() ) { //QgsDebugMsg ( "srcCrs = " + coordinateTransform->sourceCrs().toWkt() ); //QgsDebugMsg ( "destCrs = " + coordinateTransform->destCRS().toWkt() ); -for ( int i = 0; i < points.size(); i++ ) +try +{ + for ( int i = 0; i < points.size(); i++ ) + { +points[i] = coordinateTransform->transform( points[i], direction ); + } +} +catch ( QgsCsException &cse ) { - points[i] = coordinateTransform->transform( points[i], direction ); + Q_UNUSED( cse ); + QgsDebugMsg( QString( "transformation failed: %1" ).arg( cse.what() ) ); } } } -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 3bb9496c99c2415c03c18c2f84d5c96b0a157693 Author: Juergen E. Fischer Date: Wed Mar 7 07:50:18 2012 +0100 composer api doxygen fixes diff --git a/src/core/composer/qgscomposeritem.h b/src/core/composer/qgscomposeritem.h index 9f03760..015ad96 100644 --- a/src/core/composer/qgscomposeritem.h +++ b/src/core/composer/qgscomposeritem.h @@ -159,33 +159,30 @@ class CORE_EXPORT QgsComposerItem: public QObject, public QGraphicsRectItem bool _readXML( const QDomElement& itemElem, const QDomDocument& doc ); /** Whether this item has a frame or not. - * @param none * @return boolean - true if there is a frame around this item, otherwise false. * @note deprecated since 1.8 dont use! * @see hasFrame */ -bool frame() const {return hasFrame();} +Q_DECL_DEPRECATED bool frame() const {return hasFrame();} /** Whether this item has a frame or not. - * @param none - * @return boolean - true if there is a frame around this item, otherwise false. + * @returns true if there is a frame around this item, otherwise false. * @note introduced since 1.8 * @see hasFrame */ bool hasFrame() const {return mFrame;} /** Set whether this item has a frame drawn around it or not. - * @param none - * @return void + * @returns void * @note deprecated since 1.8 dont use! * @see hasFrame */ -void setFrame( bool drawFrame ) { setFrameEnabled( drawFrame );} +Q_DECL_DEPRECATED void setFrame( bool drawFrame ) { setFrameEnabled( drawFrame );} /** Set whether this item has a frame drawn around it or not. - * @param none - * @return void + * @param drawFrame draw frame + * @returns nothing * @note deprecated since 1.8 * @see hasFrame */ -void setFrameEnabled( bool drawFrame ) {mFrame = drawFrame;} +Q_DECL_DEPRECATED void setFrameEnabled( bool drawFrame ) {mFrame = drawFrame;} /**Composite operations for item groups do nothing per default*/ virtual void addItem( QgsComposerItem* item ) { Q_UNUSED( item ); } diff --git a/src/core/composer/qgscomposerlabel.h b/src/core/composer/qgscomposerlabel.h index 2978633..fe1b0b6 100644 --- a/src/core/composer/qgscomposerlabel.h +++ b/src/core/composer/qgscomposerlabel.h @@ -47,22 +47,20 @@ class CORE_EXPORT QgsComposerLabel: public QgsComposerItem QFont font() const; void setFont( const QFont& f ); /** Accessor for the vertical alignment of the label - * @param none * @returns Qt::AlignmentFlag */ Qt::AlignmentFlag vAlign() const { return mVAlignment; } /** Accessor for the horizontal alignment of the label - * @param none * @returns Qt::AlignmentFlag */ Qt::AlignmentFlag hAlign() const { return mHAlignment; } /** Mutator for the horizontal alignment of the label - * @param Qt::AlignmentFlag + * @param a alignment * @returns void */ void setHAlign( Qt::AlignmentFlag a ) {mHAlignment = a;} /** Mutator for the vertical alignment of the label - * @param QQt::AlignmentFlag + * @param a alignment * @returns void */ void setVAlign( Qt::AlignmentFlag a ) {mVAlignment = a;} -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 2e6bf626beb64a6ff4d344505507226bd7db13db Author: Juergen E. Fischer Date: Tue Mar 6 20:38:31 2012 +0100 debian packaging update: add wheezy and use internal spatialite where libspatialite3 not available diff --git a/debian/changelog b/debian/changelog index d474299..a596437 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,10 +6,10 @@ qgis (1.9.90) UNRELEASED; urgency=low * drop extra include path for QtWebkit on oneiric and natty * add translations for desktop link * add browser desktop entry - * add support for Ubuntu precise - * build package with libspatialite where available + * add support for Debian wheezy and Ubuntu precise + * build package with internal libspatialite where libspatialite not available - -- Jürgen E. Fischer Mon, 05 Mar 2012 20:21:48 +0100 + -- Jürgen E. Fischer Tue, 06 Mar 2012 20:33:08 +0100 qgis (1.8.0) UNRELEASED; urgency=low diff --git a/debian/control.sid b/debian/control.wheezy similarity index 100% copy from debian/control.sid copy to debian/control.wheezy diff --git a/debian/rules b/debian/rules index 500f509..5b461d4 100755 --- a/debian/rules +++ b/debian/rules @@ -10,7 +10,7 @@ DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) DISTRIBUTION := $(shell dpkg-parsechangelog --format rfc822 | sed -ne "s/^Distribution: //p") -ifneq ($(DISTRIBUTION),$(findstring $(DISTRIBUTION),"squeeze hardy intrepid jaunty karmic lucid maverick natty oneiric precise")) +ifneq ($(DISTRIBUTION),$(findstring $(DISTRIBUTION),"squeeze wheezy hardy intrepid jaunty karmic lucid maverick natty oneiric precise")) DISTRIBUTION := sid endif @@ -32,10 +32,10 @@ CMAKE_OPTS := \ -D QGIS_CGIBIN_SUBDIR=/usr/lib/cgi-bin \ -D WITH_APIDOC=TRUE -ifeq (,$(findstring $(DISTRIBUTION),"squeeze lucid maverick natty oneiric precise sid")) - CMAKE_OPTS += -D WITH_INTERNAL_SPATIALITE=TRUE -else +ifeq ($(DISTRIBUTION),$(findstring $(DISTRIBUTION),"hardy intrepid jaunty karmic lucid maverick natty oneiric lenny squeeze")) CMAKE_OPTS += -D WITH_INTERNAL_SPATIALITE=FALSE +else + CMAKE_OPTS += -D WITH_INTERNAL_SPATIALITE=TRUE endif ifneq (,$(findstring $(DISTRIBUTION),"sid")) -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit c89fec8e755ac262fb8c465b653419706440987c Author: Alexander Bruy Date: Tue Mar 6 20:33:46 2012 +0200 [FEATURE] fTools: allow to calculate extent not only for whole layer but for individual features too diff --git a/python/plugins/fTools/tools/doGeometry.py b/python/plugins/fTools/tools/doGeometry.py index 978d786..d4d3e72 100644 --- a/python/plugins/fTools/tools/doGeometry.py +++ b/python/plugins/fTools/tools/doGeometry.py @@ -81,7 +81,8 @@ class GeometryDialog( QDialog, Ui_Dialog ): self.tr( "Please specify valid UID field" ) ) else: self.outShape.clear() - self.geometry( self.inShape.currentText(), self.lineEdit.value(), self.cmbField.currentText() ) + self.geometry( self.inShape.currentText(), self.lineEdit.value(), +self.cmbField.currentText() ) def outFile( self ): self.outShape.clear() @@ -97,6 +98,9 @@ class GeometryDialog( QDialog, Ui_Dialog ): self.lblCalcType.setVisible( False ) self.cmbCalcType.setVisible( False ) +self.chkUseSelection.setVisible( False ) +self.chkByFeatures.setVisible( False ) + self.chkWriteShapefile.setVisible( False ) if self.myFunction == 1: # Singleparts to multipart self.setWindowTitle( self.tr( "Singleparts to multipart" ) ) @@ -167,6 +171,8 @@ class GeometryDialog( QDialog, Ui_Dialog ): self.label_3.setText( self.tr( "Input layer" ) ) self.label.setVisible( False ) self.lineEdit.setVisible( False ) +self.chkByFeatures.setVisible( True ) +self.chkUseSelection.setVisible( True ) self.lblOutputShapefile.setText( self.tr( "Output polygon shapefile" ) ) self.resize( 381, 100 ) self.populateLayers() @@ -229,7 +235,8 @@ class GeometryDialog( QDialog, Ui_Dialog ): self.buttonOk.setEnabled( False ) self.testThread = geometryThread( self.iface.mainWindow(), self, self.myFunction, vlayer, myParam, myField, self.shapefileName, self.encoding, - self.cmbCalcType.currentIndex(), self.chkWriteShapefile.isChecked() ) + self.cmbCalcType.currentIndex(), self.chkWriteShapefile.isChecked(), + self.chkByFeatures.isChecked(), self.chkUseSelection.isChecked() ) QObject.connect( self.testThread, SIGNAL( "runFinished( PyQt_PyObject )" ), self.runFinishedFromThread ) QObject.connect( self.testThread, SIGNAL( "runStatus( PyQt_PyObject )" ), self.runStatusFromThread ) QObject.connect( self.testThread, SIGNAL( "runRange( PyQt_PyObject )" ), self.runRangeFromThread ) @@ -288,7 +295,8 @@ class GeometryDialog( QDialog, Ui_Dialog ): class geometryThread( QThread ): def __init__( self, parentThread, parentObject, function, vlayer, myParam, -myField, myName, myEncoding, myCalcType, myNewShape ): +myField, myName, myEncoding, myCalcType, myNewShape, myByFeatures, +myUseSelection ): QThread.__init__( self, parentThread ) self.parent = parentObject self.running = False @@ -300,6 +308,8 @@ class geometryThread( QThread ): self.myEncoding = myEncoding self.myCalcType = myCalcType self.writeShape = myNewShape +self.byFeatures = myByFeatures +self.useSelection = myUseSelection def run( self ): self.running = True @@ -319,7 +329,10 @@ class geometryThread( QThread ): elif self.myFunction == 8: # Delaunay triangulation success = self.delaunay_triangulation() elif self.myFunction == 9: # Polygon from layer extent - success = self.layer_extent() + if self.byFeatures: +success = self.feature_extent() + else: +success = self.layer_extent() elif self.myFunction == 10: # Voronoi Polygons success = self.voronoi_polygons() elif self.myFunction == 11: # Lines to polygons @@ -860,6 +873,105 @@ class geometryThread( QThread ): return True + def feature_extent( self, ): +vprovider = self.vlayer.dataProvider() +vprovider.select( [] ) + +self.emit( SIGNAL( "runStatus( PyQt_PyObject )" ), 0 ) + +fields = { 0 : QgsField( "MINX", QVariant.Double ), + 1 : QgsField( "MINY", QVariant.Double ), + 2 : QgsField( "MAXX", QVariant.Double ), + 3 : QgsField( "MAXY", QVariant.Double ), + 4 : QgsField( "CNTX", QVariant.Double ), + 5 : QgsField( "CNTY", QVariant.Double ), + 6 : QgsField( "AREA", QVariant.Double ), + 7 : QgsField( "PERIM", QVariant.Double ), + 8 : QgsField( "HEIGHT", QVariant.Double ), + 9 : QgsField( "WIDTH", QVariant.Double ) } + +writer = QgsVectorFileWriter( self.myName, self.myEncoding, fields, + QGis.WKBPolygon, self.vlayer.crs() ) +
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 24a1fb90a75653a9232094bf63a6a8911670db50 Author: Juergen E. Fischer Date: Tue Mar 6 13:53:37 2012 +0100 fix warning diff --git a/src/providers/postgres/qgspostgresconn.cpp b/src/providers/postgres/qgspostgresconn.cpp index 47de53e..bb57984 100644 --- a/src/providers/postgres/qgspostgresconn.cpp +++ b/src/providers/postgres/qgspostgresconn.cpp @@ -364,11 +364,11 @@ bool QgsPostgresConn::getTableInfo( bool searchGeometryColumnsOnly, bool searchP QString relkind = result.PQgetvalue( idx, 5 ); QgsDebugMsg( QString( "%1 : %2.%3.%4: %5 %6 %7" ) - .arg( gtableName ) - .arg( schemaName ).arg( tableName ).arg( column ) - .arg( type ) - .arg( srid ) - .arg( relkind ) ); + .arg( gtableName ) + .arg( schemaName ).arg( tableName ).arg( column ) + .arg( type ) + .arg( srid ) + .arg( relkind ) ); layerProperty.type = type; layerProperty.schemaName = schemaName; @@ -498,7 +498,7 @@ bool QgsPostgresConn::getTableInfo( bool searchGeometryColumnsOnly, bool searchP QgsMessageLog::logMessage( tr( "Database connection was successful, but the accessible tables could not be determined.\nThe error message from the database was:\n%1" ) .arg( result.PQresultErrorMessage() ), tr( "PostGIS" ) ); - return -1; + return false; } for ( int i = 0; i < result.PQntuples(); i++ ) -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 407832a9c72f6e6e1ef155c74ac6108d1ac61bd6 Author: Juergen E. Fischer Date: Tue Mar 6 13:53:26 2012 +0100 expression builder: only fetch geometry when required (and available) diff --git a/src/gui/qgsexpressionbuilderwidget.cpp b/src/gui/qgsexpressionbuilderwidget.cpp index 9164f81..450770a 100644 --- a/src/gui/qgsexpressionbuilderwidget.cpp +++ b/src/gui/qgsexpressionbuilderwidget.cpp @@ -249,7 +249,7 @@ void QgsExpressionBuilderWidget::on_txtExpressionString_textChanged() { if ( !mFeature.isValid() ) { - mLayer->select( mLayer->pendingAllAttributesList() ); + mLayer->select( mLayer->pendingAllAttributesList(), QgsRectangle(), mLayer->geometryType() != QGis::NoGeometry && exp.needsGeometry() ); mLayer->nextFeature( mFeature ); } -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 9843384a765e56a11a3bd81e11ac9bd49cd2c95d Author: Juergen E. Fischer Date: Tue Mar 6 13:52:31 2012 +0100 fix #2766 diff --git a/src/gui/qgsquerybuilder.cpp b/src/gui/qgsquerybuilder.cpp index 3fa16ab..8094c4b 100644 --- a/src/gui/qgsquerybuilder.cpp +++ b/src/gui/qgsquerybuilder.cpp @@ -285,7 +285,7 @@ void QgsQueryBuilder::on_lstValues_doubleClicked( const QModelIndex &index ) else if ( value.type() == QVariant::Int || value.type() == QVariant::Double || value.type() == QVariant::LongLong ) txtSQL->insertPlainText( value.toString() ); else -txtSQL->insertPlainText( "'" + value.toString() + "'" ); +txtSQL->insertPlainText( "'" + value.toString().replace( "'", "''" ) + "'" ); } void QgsQueryBuilder::on_btnLessEqual_clicked() -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit c58debc638f2c87933dd371710bd107d3c7a5092 Author: Juergen E. Fischer Date: Mon Mar 5 20:23:47 2012 +0100 postgresql provider: don't require access to geometry_columns diff --git a/src/providers/postgres/qgspostgresconn.cpp b/src/providers/postgres/qgspostgresconn.cpp index d47a339..47de53e 100644 --- a/src/providers/postgres/qgspostgresconn.cpp +++ b/src/providers/postgres/qgspostgresconn.cpp @@ -349,44 +349,38 @@ bool QgsPostgresConn::getTableInfo( bool searchGeometryColumnsOnly, bool searchP if ( result.PQresultStatus() != PGRES_TUPLES_OK ) { PQexecNR( "COMMIT" ); - - if ( i == 0 ) -return false; - continue; } -else + +nGTables++; + +for ( int idx = 0; idx < result.PQntuples(); idx++ ) { - nGTables++; + QString tableName = result.PQgetvalue( idx, 0 ); + QString schemaName = result.PQgetvalue( idx, 1 ); + QString column = result.PQgetvalue( idx, 2 ); + QString type = result.PQgetvalue( idx, 3 ); + QString srid = result.PQgetvalue( idx, 4 ); + QString relkind = result.PQgetvalue( idx, 5 ); + + QgsDebugMsg( QString( "%1 : %2.%3.%4: %5 %6 %7" ) + .arg( gtableName ) + .arg( schemaName ).arg( tableName ).arg( column ) + .arg( type ) + .arg( srid ) + .arg( relkind ) ); + + layerProperty.type = type; + layerProperty.schemaName = schemaName; + layerProperty.tableName = tableName; + layerProperty.geometryColName = column; + layerProperty.pkCols = relkind == "v" ? pkCandidates( schemaName, tableName ) : QStringList(); + layerProperty.srid = srid; + layerProperty.sql = ""; + layerProperty.isGeography = i == 1; - for ( int idx = 0; idx < result.PQntuples(); idx++ ) - { -QString tableName = result.PQgetvalue( idx, 0 ); -QString schemaName = result.PQgetvalue( idx, 1 ); -QString column = result.PQgetvalue( idx, 2 ); -QString type = result.PQgetvalue( idx, 3 ); -QString srid = result.PQgetvalue( idx, 4 ); -QString relkind = result.PQgetvalue( idx, 5 ); - -QgsDebugMsg( QString( "%1 : %2.%3.%4: %5 %6 %7" ) - .arg( gtableName ) - .arg( schemaName ).arg( tableName ).arg( column ) - .arg( type ) - .arg( srid ) - .arg( relkind ) ); - -layerProperty.type = type; -layerProperty.schemaName = schemaName; -layerProperty.tableName = tableName; -layerProperty.geometryColName = column; -layerProperty.pkCols = relkind == "v" ? pkCandidates( schemaName, tableName ) : QStringList(); -layerProperty.srid = srid; -layerProperty.sql = ""; -layerProperty.isGeography = i == 1; - -mLayersSupported << layerProperty; -nColumns++; - } + mLayersSupported << layerProperty; + nColumns++; } } diff --git a/src/providers/postgres/qgspostgresprovider.cpp b/src/providers/postgres/qgspostgresprovider.cpp index edfba5c..5060e29 100644 --- a/src/providers/postgres/qgspostgresprovider.cpp +++ b/src/providers/postgres/qgspostgresprovider.cpp @@ -2682,10 +2682,14 @@ bool QgsPostgresProvider::getGeometryDetails() detectedType = result.PQgetvalue( 0, 0 ); detectedSrid = result.PQgetvalue( 0, 1 ); } +else +{ + mConnectionRO->PQexecNR( "COMMIT" ); +} -if ( !detectedType.isEmpty() ) +if ( detectedType.isEmpty() ) { - // check geometry columns + // check geography columns sql = QString( "SELECT upper(type),srid FROM geography_columns WHERE f_table_name=%1 AND f_geography_column=%2 AND f_table_schema=%3" ) .arg( quotedValue( tableName ) ) .arg( quotedValue( geomCol ) ) @@ -2695,18 +2699,15 @@ bool QgsPostgresProvider::getGeometryDetails() result = mConnectionRO->PQexec( sql, false ); QgsDebugMsg( QString( "Geography column query returned %1" ).arg( result.PQntuples() ) ); - if ( result.PQresultStatus() == PGRES_TUPLES_OK ) + if ( result.PQntuples() == 1 ) { -if ( result.PQntuples() == 1 ) -{ - detectedType = result.PQgetvalue( 0, 0 ); - detectedSrid = result.PQgetvalue( 0, 1 ); - mIsGeography = true; -} +detectedType = result.PQgetvalue( 0, 0 ); +detectedSrid = result.PQgetvalue( 0, 1 ); +mIsGeography = true; } else { -mConnectionRO->PQexecNR( "ROLLBACK" ); +mConnectionRO->PQexecNR( "COMMIT" ); } } } -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit dde9ed7373731bc4f3e953a8a44fde3611640e0b Author: Juergen E. Fischer Date: Mon Mar 5 20:22:46 2012 +0100 debian packaging update diff --git a/debian/changelog b/debian/changelog index 1a4c468..d474299 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,8 +6,10 @@ qgis (1.9.90) UNRELEASED; urgency=low * drop extra include path for QtWebkit on oneiric and natty * add translations for desktop link * add browser desktop entry + * add support for Ubuntu precise + * build package with libspatialite where available - -- Jürgen E. Fischer Thu, 23 Feb 2012 09:36:48 +0100 + -- Jürgen E. Fischer Mon, 05 Mar 2012 20:21:48 +0100 qgis (1.8.0) UNRELEASED; urgency=low diff --git a/debian/compat.lucid b/debian/compat.precise similarity index 100% copy from debian/compat.lucid copy to debian/compat.precise diff --git a/debian/control.natty b/debian/control.precise similarity index 100% copy from debian/control.natty copy to debian/control.precise diff --git a/debian/rules b/debian/rules index 74ce5ef..500f509 100755 --- a/debian/rules +++ b/debian/rules @@ -10,7 +10,7 @@ DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) DISTRIBUTION := $(shell dpkg-parsechangelog --format rfc822 | sed -ne "s/^Distribution: //p") -ifneq ($(DISTRIBUTION),$(findstring $(DISTRIBUTION),"squeeze hardy intrepid jaunty karmic lucid maverick natty oneiric")) +ifneq ($(DISTRIBUTION),$(findstring $(DISTRIBUTION),"squeeze hardy intrepid jaunty karmic lucid maverick natty oneiric precise")) DISTRIBUTION := sid endif @@ -32,17 +32,17 @@ CMAKE_OPTS := \ -D QGIS_CGIBIN_SUBDIR=/usr/lib/cgi-bin \ -D WITH_APIDOC=TRUE -#ifeq (,$(findstring $(DISTRIBUTION),"squeeze lucid maverick natty oneiric sid")) +ifeq (,$(findstring $(DISTRIBUTION),"squeeze lucid maverick natty oneiric precise sid")) CMAKE_OPTS += -D WITH_INTERNAL_SPATIALITE=TRUE -#else -# CMAKE_OPTS += -D WITH_INTERNAL_SPATIALITE=FALSE -#endif +else + CMAKE_OPTS += -D WITH_INTERNAL_SPATIALITE=FALSE +endif ifneq (,$(findstring $(DISTRIBUTION),"sid")) CMAKE_OPTS += -D WITH_GLOBE=TRUE endif -ifneq (,$(findstring $(DISTRIBUTION),"squeeze lucid maverick natty oneiric sid")) +ifneq (,$(findstring $(DISTRIBUTION),"squeeze lucid maverick natty oneiric precise sid")) CMAKE_OPTS += -D WITH_INTERNAL_SPATIALINDEX=FALSE endif -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 9aba757410f491731008c60d9b8e77a3a0a3b321 Author: Marco Hugentobler Date: Mon Mar 5 16:39:09 2012 +0100 Add more analysis header to install diff --git a/src/analysis/CMakeLists.txt b/src/analysis/CMakeLists.txt index 4d51d15..fc93927 100644 --- a/src/analysis/CMakeLists.txt +++ b/src/analysis/CMakeLists.txt @@ -61,6 +61,14 @@ QT4_WRAP_CPP(QGIS_ANALYSIS_MOC_SRCS ${QGIS_ANALYSIS_MOC_HDRS}) # install headers SET(QGIS_ANALYSIS_HDRS + raster/qgsaspectfilter.h + raster/qgsderivativefilter.h + raster/qgshillshadefilter.h + raster/qgsninecellfilter.h + raster/qgsrastercalculator.h + raster/qgsrelief.h + raster/qgsruggednessfilter.h + raster/qgsslopefilter.h vector/qgsgeometryanalyzer.h vector/qgszonalstatistics.h interpolation/qgsinterpolator.h -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 3a2c0e9872270fbd62d6bfcd9149d9d2a16c09cf Author: Marco Hugentobler Date: Sun Mar 4 22:17:20 2012 +0100 [FEATURE]: support PNG 8Bit for GetMap in QGIS server diff --git a/src/mapserver/qgshttprequesthandler.cpp b/src/mapserver/qgshttprequesthandler.cpp index 4fd4777..caa9fe9 100644 --- a/src/mapserver/qgshttprequesthandler.cpp +++ b/src/mapserver/qgshttprequesthandler.cpp @@ -97,7 +97,8 @@ void QgsHttpRequestHandler::sendGetMapResponse( const QString& service, QImage* QgsDebugMsg( "Sending getmap response..." ); if ( img ) { -if ( mFormat != "PNG" && mFormat != "JPG" ) +bool png8Bit = ( mFormat.compare( "image/png; mode=8bit", Qt::CaseInsensitive ) == 0 ); +if ( mFormat != "PNG" && mFormat != "JPG" && !png8Bit ) { QgsDebugMsg( "service exception - incorrect image format requested..." ); sendServiceException( QgsMapServiceException( "InvalidFormat", "Output format '" + mFormat + "' is not supported in the GetMap request" ) ); @@ -108,7 +109,17 @@ void QgsHttpRequestHandler::sendGetMapResponse( const QString& service, QImage* QByteArray ba; QBuffer buffer( &ba ); buffer.open( QIODevice::WriteOnly ); -img->save( &buffer, mFormat.toLocal8Bit().data(), -1 ); + +if ( png8Bit ) +{ + QImage palettedImg = img->convertToFormat( QImage::Format_Indexed8, Qt::ColorOnly | Qt::ThresholdDither | + Qt::ThresholdAlphaDither | Qt::NoOpaqueDetection ); + palettedImg.save( &buffer, "PNG", -1 ); +} +else +{ + img->save( &buffer, mFormat.toLocal8Bit().data(), -1 ); +} sendHttpResponse( &ba, formatToMimeType( mFormat ) ); } diff --git a/src/mapserver/qgswmsserver.cpp b/src/mapserver/qgswmsserver.cpp index 61ca3d7..637c02a 100644 --- a/src/mapserver/qgswmsserver.cpp +++ b/src/mapserver/qgswmsserver.cpp @@ -217,7 +217,7 @@ QDomDocument QgsWMSServer::getCapabilities( QString version ) //wms:GetMap elem = doc.createElement( "GetMap"/*wms:GetMap*/ ); - appendFormats( doc, elem, QStringList() << "image/jpeg" << "image/png" ); + appendFormats( doc, elem, QStringList() << "image/jpeg" << "image/png" << "image/png; mode=8bit" ); elem.appendChild( dcpTypeElement.cloneNode().toElement() ); //this is the same as for 'GetCapabilities' requestElement.appendChild( elem ); -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit fa4ec86ccddcd8a7d4a496e9937923c9123bbf5e Author: Gary Sherman Date: Fri Mar 2 14:16:54 2012 -0900 Make the capitalization of menu items and tools consistent in the main window and layer popup UI. diff --git a/src/app/legend/qgslegend.cpp b/src/app/legend/qgslegend.cpp index 68e4bf9..7cf17c9 100644 --- a/src/app/legend/qgslegend.cpp +++ b/src/app/legend/qgslegend.cpp @@ -609,19 +609,19 @@ void QgsLegend::handleRightClickEvent( QTreeWidgetItem* item, const QPoint& posi if ( li->parent() && !parentGroupEmbedded( li ) ) { -theMenu.addAction( tr( "&Make to toplevel item" ), this, SLOT( makeToTopLevelItem() ) ); +theMenu.addAction( tr( "&Make to Toplevel Item" ), this, SLOT( makeToTopLevelItem() ) ); } } else if ( li->type() == QgsLegendItem::LEGEND_GROUP ) { theMenu.addAction( QgisApp::getThemeIcon( "/mActionZoomToLayer.png" ), - tr( "Zoom to group" ), this, SLOT( legendLayerZoom() ) ); + tr( "Zoom to Group" ), this, SLOT( legendLayerZoom() ) ); theMenu.addAction( QgisApp::getThemeIcon( "/mActionRemoveLayer.png" ), tr( "&Remove" ), this, SLOT( legendGroupRemove() ) ); theMenu.addAction( QgisApp::getThemeIcon( "/mActionSetCRS.png" ), - tr( "&Set group CRS" ), this, SLOT( legendGroupSetCRS() ) ); + tr( "&Set Group CRS" ), this, SLOT( legendGroupSetCRS() ) ); } if (( li->type() == QgsLegendItem::LEGEND_LAYER || li->type() == QgsLegendItem::LEGEND_GROUP ) && !groupEmbedded( li ) && !parentGroupEmbedded( li ) ) @@ -633,16 +633,16 @@ void QgsLegend::handleRightClickEvent( QTreeWidgetItem* item, const QPoint& posi // if ( selectedLayers().length() > 1 ) { - theMenu.addAction( tr( "&Group selected" ), this, SLOT( groupSelectedLayers() ) ); + theMenu.addAction( tr( "&Group Selected" ), this, SLOT( groupSelectedLayers() ) ); } // ends here } - theMenu.addAction( QgisApp::getThemeIcon( "/folder_new.png" ), tr( "&Add new group" ), this, SLOT( addGroupToCurrentItem() ) ); - theMenu.addAction( QgisApp::getThemeIcon( "/mActionExpandTree.png" ), tr( "&Expand all" ), this, SLOT( expandAll() ) ); - theMenu.addAction( QgisApp::getThemeIcon( "/mActionCollapseTree.png" ), tr( "&Collapse all" ), this, SLOT( collapseAll() ) ); + theMenu.addAction( QgisApp::getThemeIcon( "/folder_new.png" ), tr( "&Add New Group" ), this, SLOT( addGroupToCurrentItem() ) ); + theMenu.addAction( QgisApp::getThemeIcon( "/mActionExpandTree.png" ), tr( "&Expand All" ), this, SLOT( expandAll() ) ); + theMenu.addAction( QgisApp::getThemeIcon( "/mActionCollapseTree.png" ), tr( "&Collapse All" ), this, SLOT( collapseAll() ) ); - QAction *updateDrawingOrderAction = theMenu.addAction( QgisApp::getThemeIcon( "/mUpdateDrawingOrder.png" ), tr( "&Update drawing order" ), this, SLOT( toggleDrawingOrderUpdate() ) ); + QAction *updateDrawingOrderAction = theMenu.addAction( QgisApp::getThemeIcon( "/mUpdateDrawingOrder.png" ), tr( "&Update Drawing Order" ), this, SLOT( toggleDrawingOrderUpdate() ) ); updateDrawingOrderAction->setCheckable( true ); updateDrawingOrderAction->setChecked( mUpdateDrawingOrder ); diff --git a/src/app/legend/qgslegendlayer.cpp b/src/app/legend/qgslegendlayer.cpp index 8bc32fe..e8cad35 100644 --- a/src/app/legend/qgslegendlayer.cpp +++ b/src/app/legend/qgslegendlayer.cpp @@ -416,20 +416,20 @@ void QgsLegendLayer::addToPopupMenu( QMenu& theMenu ) // zoom to layer extent theMenu.addAction( QgisApp::getThemeIcon( "/mActionZoomToLayer.png" ), - tr( "&Zoom to layer extent" ), legend(), SLOT( legendLayerZoom() ) ); + tr( "&Zoom to Layer Extent" ), legend(), SLOT( legendLayerZoom() ) ); if ( lyr->type() == QgsMapLayer::RasterLayer ) { -theMenu.addAction( tr( "&Zoom to best scale (100%)" ), legend(), SLOT( legendLayerZoomNative() ) ); +theMenu.addAction( tr( "&Zoom to Best Scale (100%)" ), legend(), SLOT( legendLayerZoomNative() ) ); QgsRasterLayer *rasterLayer = qobject_cast( lyr ); if ( rasterLayer && rasterLayer->rasterType() != QgsRasterLayer::Palette ) { - theMenu.addAction( tr( "&Stretch using current extent" ), legend(), SLOT( legendLayerStretchUsingCurrentExtent() ) ); + theMenu.addAction( tr( "&Stretch Using Current Extent" ), legend(), SLOT( legendLayerStretchUsingCurrentExtent() ) ); } } // show in overview - QAction* showInOverviewAction = theMenu.addAction( tr( "&Show in overview" ), this, SLOT( showInOverview() ) ); + QAction* showInOverviewAction = theMenu.addAction( tr( "&Show in Overview" ), this, SLOT( showInOverview() ) ); showInOverviewAction->setCheckable( true ); showInOverviewAction->blockSignals( true ); showInOverviewAction->setChecked( mLyr.is
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 203cb9b75d63990a0da5195dd2ea20b6a7ecb8fd Author: Marco Hugentobler Date: Fri Mar 2 13:52:52 2012 +0100 WMS server: create rendercontext to find out visible features diff --git a/src/mapserver/qgswmsserver.cpp b/src/mapserver/qgswmsserver.cpp index b9ca981..61ca3d7 100644 --- a/src/mapserver/qgswmsserver.cpp +++ b/src/mapserver/qgswmsserver.cpp @@ -810,6 +810,18 @@ int QgsWMSServer::getFeatureInfo( QDomDocument& result, QString version ) QMap< QString, QMap< int, QString > > aliasInfo = mConfigParser->layerAliasInfo(); QMap< QString, QSet > hiddenAttributes = mConfigParser->hiddenAttributes(); + //Render context is needed to determine feature visibility for vector layers + QgsRenderContext renderContext; + if ( mMapRenderer ) + { +renderContext.setExtent( mMapRenderer->extent() ); +renderContext.setRasterScaleFactor( 1.0 ); +renderContext.setMapToPixel( *( mMapRenderer->coordinateTransform() ) ); +renderContext.setRendererScale( mMapRenderer->scale() ); +renderContext.setScaleFactor( mMapRenderer->outputDpi() / 25.4 ); +renderContext.setPainter( 0 ); + } + QList layerList; QgsMapLayer* currentLayer = 0; QStringList::const_iterator layerIt; @@ -861,7 +873,8 @@ int QgsWMSServer::getFeatureInfo( QDomDocument& result, QString version ) layerHiddenAttributes = hiddenIt.value(); } -if ( featureInfoFromVectorLayer( vectorLayer, infoPoint, featureCount, result, layerElement, mMapRenderer, layerAliasInfo, layerHiddenAttributes, version, featuresRect ) != 0 ) +if ( featureInfoFromVectorLayer( vectorLayer, infoPoint, featureCount, result, layerElement, mMapRenderer, renderContext, + layerAliasInfo, layerHiddenAttributes, version, featuresRect ) != 0 ) { continue; } @@ -1207,6 +1220,7 @@ int QgsWMSServer::featureInfoFromVectorLayer( QgsVectorLayer* layer, QDomDocument& infoDocument, QDomElement& layerElement, QgsMapRenderer* mapRender, +QgsRenderContext& renderContext, QMap& aliasMap, QSet& hiddenAttributes, QString version, @@ -1226,7 +1240,7 @@ int QgsWMSServer::featureInfoFromVectorLayer( QgsVectorLayer* layer, //info point could be 0 in case there is only an attribute filter if ( infoPoint ) { -double searchRadius = ( layerRect.xMaximum() - layerRect.xMinimum() ) / 200; +double searchRadius = ( layerRect.xMaximum() - layerRect.xMinimum() ) / 100; searchRect.set( infoPoint->x() - searchRadius, infoPoint->y() - searchRadius, infoPoint->x() + searchRadius, infoPoint->y() + searchRadius ); } @@ -1262,10 +1276,9 @@ int QgsWMSServer::featureInfoFromVectorLayer( QgsVectorLayer* layer, continue; } - QgsRenderContext c; - r2->startRender( c, layer ); + r2->startRender( renderContext, layer ); bool renderV2 = r2->willRenderFeature( feature ); - r2->stopRender( c ); + r2->stopRender( renderContext ); if ( !renderV2 ) { continue; diff --git a/src/mapserver/qgswmsserver.h b/src/mapserver/qgswmsserver.h index f89b1ba..79ef589 100644 --- a/src/mapserver/qgswmsserver.h +++ b/src/mapserver/qgswmsserver.h @@ -33,6 +33,7 @@ class QgsMapRenderer; class QgsPoint; class QgsRasterLayer; class QgsRectangle; +class QgsRenderContext; class QgsVectorLayer; class QgsSymbol; class QColor; @@ -114,7 +115,7 @@ class QgsWMSServer @param featureBBox the bounding box of the selected features in output CRS @return 0 in case of success*/ int featureInfoFromVectorLayer( QgsVectorLayer* layer, const QgsPoint* infoPoint, int nFeatures, QDomDocument& infoDocument, QDomElement& layerElement, QgsMapRenderer* mapRender, -QMap& aliasMap, QSet& hiddenAttributes, QString version, QgsRectangle* featureBBox = 0 ) const; +QgsRenderContext& renderContext, QMap& aliasMap, QSet& hiddenAttributes, QString version, QgsRectangle* featureBBox = 0 ) const; /**Appends feature info xml for the layer to the layer element of the dom document*/ int featureInfoFromRasterLayer( QgsRasterLayer* layer, const QgsPoint* infoPoint, QDomDocument& infoDocument, QDomElement& layerElement, QString version ) const; -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 337eec35fafbfc1b58a450a221bfeaa1d852da21 Author: Marco Hugentobler Date: Fri Mar 2 20:12:43 2012 +0100 Fix compile error diff --git a/src/app/qgsmaptooloffsetcurve.cpp b/src/app/qgsmaptooloffsetcurve.cpp index f2ebcc0..0b1880a 100644 --- a/src/app/qgsmaptooloffsetcurve.cpp +++ b/src/app/qgsmaptooloffsetcurve.cpp @@ -357,7 +357,7 @@ void QgsMapToolOffsetCurve::setOffsetForRubberBand( double offset, bool leftSide //need at least geos 3.3 for OffsetCurve tool #if defined(GEOS_VERSION_MAJOR) && defined(GEOS_VERSION_MINOR) && \ ((GEOS_VERSION_MAJOR>3) || ((GEOS_VERSION_MAJOR==3) && (GEOS_VERSION_MINOR>=3))) -GEOSGeometry* offsetGeom = GEOSOffsetCurve( geosGeom, ( leftSide > 0 ) ? offset : -offset, quadSegments, joinStyle, mitreLimit ); +offsetGeom = GEOSOffsetCurve( geosGeom, ( leftSide > 0 ) ? offset : -offset, quadSegments, joinStyle, mitreLimit ); #else return; #endif //GEOS_VERSION -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 92a58944db6ff0e9fff0ea26e5f8ff80ce739813 Author: Marco Hugentobler Date: Fri Mar 2 14:46:09 2012 +0100 Avoid multiple redraws when loading projects diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 4a90561..49c62ef 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -2763,7 +2763,11 @@ void QgisApp::fileOpen() deletePrintComposers(); removeAnnotationItems(); // clear out any stuff from previous project -mMapCanvas->freeze( true ); + +//avoid multiple canvas redraws during loading of project files +bool bkRenderFlag = mMapCanvas->renderFlag(); +mMapCanvas->setRenderFlag( false ); + removeAllLayers(); QgsProject::instance()->setFileName( fullPath ); @@ -2773,8 +2777,7 @@ void QgisApp::fileOpen() QMessageBox::critical( this, tr( "QGIS Project Read Error" ), QgsProject::instance()->error() ); - mMapCanvas->freeze( false ); - mMapCanvas->refresh(); + mMapCanvas->setRenderFlag( bkRenderFlag ); return; } @@ -2786,8 +2789,7 @@ void QgisApp::fileOpen() // add this to the list of recently used project files saveRecentProjectPath( fullPath, settings ); -mMapCanvas->freeze( false ); -mMapCanvas->refresh(); +mMapCanvas->setRenderFlag( bkRenderFlag ); } } // QgisApp::fileOpen @@ -2799,7 +2801,8 @@ void QgisApp::fileOpen() */ bool QgisApp::addProject( QString projectFile ) { - mMapCanvas->freeze( true ); + bool bkRenderFlag = mMapCanvas->renderFlag(); + mMapCanvas->setRenderFlag( false ); QApplication::setOverrideCursor( Qt::WaitCursor ); @@ -2817,8 +2820,7 @@ bool QgisApp::addProject( QString projectFile ) QApplication::restoreOverrideCursor(); -mMapCanvas->freeze( false ); -mMapCanvas->refresh(); +mMapCanvas->setRenderFlag( bkRenderFlag ); return false; } @@ -2854,8 +2856,7 @@ bool QgisApp::addProject( QString projectFile ) QApplication::restoreOverrideCursor(); - mMapCanvas->freeze( false ); - mMapCanvas->refresh(); + mMapCanvas->setRenderFlag( bkRenderFlag ); return true; } // QgisApp::addProject(QString projectFile) -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 0b198ba03bfbaad0a11a0cc057db72df3370d4a9 Author: Marco Hugentobler Date: Fri Mar 2 09:25:17 2012 +0100 WMS featureinfo: use willRenderFeature instead of symbolForFeature diff --git a/src/mapserver/qgswmsserver.cpp b/src/mapserver/qgswmsserver.cpp index 7d6f825..b9ca981 100644 --- a/src/mapserver/qgswmsserver.cpp +++ b/src/mapserver/qgswmsserver.cpp @@ -1257,7 +1257,16 @@ int QgsWMSServer::featureInfoFromVectorLayer( QgsVectorLayer* layer, if ( layer->isUsingRendererV2() ) { QgsFeatureRendererV2* r2 = layer->rendererV2(); - if ( !r2 || !r2->symbolForFeature( feature ) ) + if ( !r2 ) + { +continue; + } + + QgsRenderContext c; + r2->startRender( c, layer ); + bool renderV2 = r2->willRenderFeature( feature ); + r2->stopRender( c ); + if ( !renderV2 ) { continue; } -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit eaed6703c9d12e265d8f4c47175cc1801eb51175 Author: Marco Hugentobler Date: Fri Mar 2 10:59:01 2012 +0100 Use symbolsForFeature in point displacement renderer diff --git a/src/core/symbology-ng/qgspointdisplacementrenderer.cpp b/src/core/symbology-ng/qgspointdisplacementrenderer.cpp index 6eebd42..a822770 100644 --- a/src/core/symbology-ng/qgspointdisplacementrenderer.cpp +++ b/src/core/symbology-ng/qgspointdisplacementrenderer.cpp @@ -105,14 +105,14 @@ bool QgsPointDisplacementRenderer::renderFeature( QgsFeature& feature, QgsRender { labelAttributeList << QString(); } - symbolList << dynamic_cast( mRenderer->symbolForFeature( attIt.value() ) ); + symbolList << dynamic_cast( firstSymbolForFeature( mRenderer, attIt.value() ) ); } } } } else //only one feature { -symbolList << dynamic_cast( mRenderer->symbolForFeature( feature ) ); +symbolList << dynamic_cast( firstSymbolForFeature( mRenderer, feature ) ); if ( mDrawLabels ) { labelAttributeList << getLabel( feature ); @@ -574,3 +574,19 @@ void QgsPointDisplacementRenderer::drawLabels( const QPointF& centerPoint, QgsSy p->restore(); } } + +QgsSymbolV2* QgsPointDisplacementRenderer::firstSymbolForFeature( QgsFeatureRendererV2* r, QgsFeature& f ) +{ + if ( !r ) + { +return 0; + } + + QgsSymbolV2List symbolList = r->symbolsForFeature( f ); + if ( symbolList.size() < 1 ) + { +return 0; + } + + return symbolList.at( 0 ); +} diff --git a/src/core/symbology-ng/qgspointdisplacementrenderer.h b/src/core/symbology-ng/qgspointdisplacementrenderer.h index a6cf4ca..a8f9270 100644 --- a/src/core/symbology-ng/qgspointdisplacementrenderer.h +++ b/src/core/symbology-ng/qgspointdisplacementrenderer.h @@ -145,6 +145,8 @@ class CORE_EXPORT QgsPointDisplacementRenderer: public QgsFeatureRendererV2 void drawCircle( double radiusPainterUnits, QgsSymbolV2RenderContext& context, const QPointF& centerPoint, int nSymbols ); void drawSymbols( QgsFeature& f, QgsRenderContext& context, const QList& symbolList, const QList& symbolPositions, bool selected = false ); void drawLabels( const QPointF& centerPoint, QgsSymbolV2RenderContext& context, const QList& labelShifts, const QStringList& labelList ); +/**Returns first symbol for feature or 0 if none*/ +QgsSymbolV2* firstSymbolForFeature( QgsFeatureRendererV2* r, QgsFeature& f ); }; #endif // QGSPOINTDISPLACEMENTRENDERER_H -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit ad955e26bf9fe7281c286c18b3b41fde6846b3bd Author: Martin Dobias Date: Fri Mar 2 00:06:02 2012 +0100 Added willRenderFeature() and symbolsForFeature() utility methods. diff --git a/python/core/symbology-ng-core.sip b/python/core/symbology-ng-core.sip index 6e3784e..a1b25e8 100644 --- a/python/core/symbology-ng-core.sip +++ b/python/core/symbology-ng-core.sip @@ -77,6 +77,17 @@ public: virtual QString dump(); + enum Capabilities + { +SymbolLevels = 1, // rendering with symbol levels (i.e. implements symbols(), symbolForFeature()) +RotationField = 2,// rotate symbols by attribute value +MoreSymbolsPerFeature = 4 // may use more than one symbol to render a feature: symbolsForFeature() will return them + }; + + //! returns bitwise OR-ed capabilities of the renderer + //! \note added in 2.0 + virtual int capabilities(); + virtual QgsFeatureRendererV2* clone()=0 /Factory/; virtual QgsSymbolV2List symbols()=0; @@ -105,6 +116,18 @@ public: //! @note added in 1.9 virtual void setRotationField( QString fieldName ); + //! return whether the renderer will render a feature or not. + //! Must be called between startRender() and stopRender() calls. + //! Default implementation uses symbolForFeature(). + //! @note added in 1.9 + virtual bool willRenderFeature( QgsFeature& feat ); + + //! return list of symbols used for rendering the feature. + //! For renderers that do not support MoreSymbolsPerFeature it is more efficient + //! to use symbolForFeature() + //! @note added in 1.9 + virtual QgsSymbolV2List symbolsForFeature( QgsFeature& feat ); + protected: QgsFeatureRendererV2(QString type); @@ -154,6 +177,10 @@ public: virtual QString dump(); + //! returns bitwise OR-ed capabilities of the renderer + //! \note added in 2.0 + virtual int capabilities(); + virtual QgsFeatureRendererV2* clone() /Factory/; virtual QgsSymbolV2List symbols(); @@ -221,6 +248,10 @@ public: virtual QString dump(); + //! returns bitwise OR-ed capabilities of the renderer + //! \note added in 2.0 + virtual int capabilities(); + virtual QgsFeatureRendererV2* clone() /Factory/; virtual QgsSymbolV2List symbols(); @@ -320,6 +351,10 @@ public: virtual QString dump(); + //! returns bitwise OR-ed capabilities of the renderer + //! \note added in 2.0 + virtual int capabilities(); + virtual QgsFeatureRendererV2* clone() /Factory/; virtual QgsSymbolV2List symbols(); @@ -410,27 +445,76 @@ class QgsRuleBasedRendererV2 : QgsFeatureRendererV2 class Rule { public: -//! Constructor takes ownership of the symbol -Rule( QgsSymbolV2* symbol /Transfer/, int scaleMinDenom = 0, int scaleMaxDenom = 0, QString filterExp = QString() ); -//Rule( const QgsRuleBasedRendererV2::Rule& other ); + +Rule( QgsSymbolV2* symbol /Transfer/, int scaleMinDenom = 0, int scaleMaxDenom = 0, QString filterExp = QString(), + QString label = QString(), QString description = QString() ); ~Rule(); -QString dump() const; -//QStringList needsFields() const; +QString dump( int offset = 0 ) const; +QSet usedAttributes(); +QgsSymbolV2List symbols(); +// TODO QgsLegendSymbolList legendSymbolItems(); bool isFilterOK( QgsFeature& f ) const; bool isScaleOK( double scale ) const; QgsSymbolV2* symbol(); +QString label() const; bool dependsOnScale() const; int scaleMinDenom() const; int scaleMaxDenom() const; -QString filterExpression() const; QgsExpression* filter() const; +QString filterExpression() const; +QString description() const; +//! set a new symbol (or NULL). Deletes old symbol. +void setSymbol( QgsSymbolV2* sym /Transfer/ ); +void setLabel( QString label ); void setScaleMinDenom( int scaleMinDenom ); void setScaleMaxDenom( int scaleMaxDenom ); void setFilterExpression( QString filterExp ); +void setDescription( QString description ); + +//! clone this rule, return new instance +QgsRuleBasedRendererV2::Rule* clone() const /Factory/; + +QDomElement save( QDomDocument& doc, QgsSymbolV2Map& symbolMap ); + +//! prepare the rule for rendering and its children (build active children array) +bool startRender( QgsRenderContext& context, const QgsVectorLayer *vlayer ); +//! get all used z-levels from this rule and children +QSet collectZLevels(); +//! assign normalized z-levels [0..N-1] for this rule's symbol for quick access during rendering +// TODO void setNormZLevels( const QMap& zLevelsToNormLevels ); + +// TODO bool renderFeature( FeatureToRender& featToRender, QgsRenderContext& context, RenderQueue& renderQueue ); + +//! only tell whether a
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 1a78f0b15a1c343009b015b009a21374b1c1482b Author: Tim Sutton Date: Fri Mar 2 08:14:26 2012 +0200 [BACKPORT] added more missing python bindings for composer api diff --git a/python/core/qgscomposershape.sip b/python/core/qgscomposershape.sip index 9accd99..35ce8fb 100644 --- a/python/core/qgscomposershape.sip +++ b/python/core/qgscomposershape.sip @@ -43,4 +43,13 @@ class QgsComposerShape: QgsComposerItem QColor fillColor() const; QgsComposerShape::Shape shapeType() const; void setShapeType( QgsComposerShape::Shape s ); +bool transparentFill() const; +void setTransparentFill( bool transparent ); + +/**Sets this items bound in scene coordinates such that 1 item size units + corresponds to 1 scene size unit. Also, the shape is scaled*/ +void setSceneRect( const QRectF& rectangle ); + public slots: +/**Sets item rotation and resizes item bounds such that the shape always has the same size*/ +virtual void setRotation( double r ); }; -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit fd7e03d7b3881b8a8e7eb4515b317b2be2d24301 Merge: 32be114f7606556b83b7c4a2b69b230baf0ab3fa ad955e26bf9fe7281c286c18b3b41fde6846b3bd Author: Tim Sutton Date: Fri Mar 2 02:57:37 2012 +0200 Merge branch 'master' of github.com:qgis/Quantum-GIS -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit ccb5ed067f977e02bb8470c657139f9d0c295590 Author: Marco Hugentobler Date: Thu Mar 1 17:55:30 2012 +0100 Disable offset curve if geos version < 3.3 diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 6cec2d6..4a90561 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -1018,7 +1018,10 @@ void QgisApp::createActionGroups() mMapToolGroup->addAction( mActionMeasureAngle ); mMapToolGroup->addAction( mActionAddFeature ); mMapToolGroup->addAction( mActionMoveFeature ); +#if defined(GEOS_VERSION_MAJOR) && defined(GEOS_VERSION_MINOR) && \ +((GEOS_VERSION_MAJOR>3) || ((GEOS_VERSION_MAJOR==3) && (GEOS_VERSION_MINOR>=3))) mMapToolGroup->addAction( mActionOffsetCurve ); +#endif mMapToolGroup->addAction( mActionReshapeFeatures ); mMapToolGroup->addAction( mActionSplitFeatures ); mMapToolGroup->addAction( mActionDeleteSelected ); @@ -1667,8 +1670,15 @@ void QgisApp::createCanvasTools() mMapTools.mAddFeature->setAction( mActionAddFeature ); mMapTools.mMoveFeature = new QgsMapToolMoveFeature( mMapCanvas ); mMapTools.mMoveFeature->setAction( mActionMoveFeature ); + //need at least geos 3.3 for OffsetCurve tool +#if defined(GEOS_VERSION_MAJOR) && defined(GEOS_VERSION_MINOR) && \ + ((GEOS_VERSION_MAJOR>3) || ((GEOS_VERSION_MAJOR==3) && (GEOS_VERSION_MINOR>=3))) mMapTools.mOffsetCurve = new QgsMapToolOffsetCurve( mMapCanvas ); mMapTools.mOffsetCurve->setAction( mActionOffsetCurve ); +#else + mAdvancedDigitizeToolBar->removeAction( mActionOffsetCurve ); + mEditMenu->removeAction( mActionOffsetCurve ); +#endif //GEOS_VERSION mMapTools.mReshapeFeatures = new QgsMapToolReshape( mMapCanvas ); mMapTools.mReshapeFeatures->setAction( mActionReshapeFeatures ); mMapTools.mSplitFeatures = new QgsMapToolSplitFeatures( mMapCanvas ); diff --git a/src/app/qgsmaptooloffsetcurve.cpp b/src/app/qgsmaptooloffsetcurve.cpp index 689f132..f2ebcc0 100644 --- a/src/app/qgsmaptooloffsetcurve.cpp +++ b/src/app/qgsmaptooloffsetcurve.cpp @@ -352,7 +352,16 @@ void QgsMapToolOffsetCurve::setOffsetForRubberBand( double offset, bool leftSide int joinStyle = s.value( "/qgis/digitizing/offset_join_style", 0 ).toInt(); int quadSegments = s.value( "/qgis/digitizing/offset_quad_seg", 8 ).toInt(); double mitreLimit = s.value( "/qgis/digitizine/offset_miter_limit", 5.0 ).toDouble(); -GEOSGeometry* offsetGeom = GEOSSingleSidedBuffer( geosGeom, offset, quadSegments, joinStyle, mitreLimit, leftSide ? 1 : 0 ); + +GEOSGeometry* offsetGeom = 0; +//need at least geos 3.3 for OffsetCurve tool +#if defined(GEOS_VERSION_MAJOR) && defined(GEOS_VERSION_MINOR) && \ + ((GEOS_VERSION_MAJOR>3) || ((GEOS_VERSION_MAJOR==3) && (GEOS_VERSION_MINOR>=3))) +GEOSGeometry* offsetGeom = GEOSOffsetCurve( geosGeom, ( leftSide > 0 ) ? offset : -offset, quadSegments, joinStyle, mitreLimit ); +#else +return; +#endif //GEOS_VERSION + if ( !offsetGeom ) { deleteRubberBandAndGeometry(); @@ -365,9 +374,6 @@ void QgsMapToolOffsetCurve::setOffsetForRubberBand( double offset, bool leftSide return; } -//GEOS >= 3.3 -//GEOSGeometry* offsetGeom = GEOSOffsetCurve( geosGeom, (leftSide > 0) ? offset : -offset, quadSegments, joinStyle, mitreLimit ); - if ( offsetGeom ) { mModifiedGeometry.fromGeos( offsetGeom ); -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 3c7354e3d897bd9136a4312455bccd5b3b88ffc3 Author: Alexander Bruy Date: Thu Mar 1 13:02:00 2012 +0200 fix geometry column export when used calculation on ellipsoid diff --git a/python/plugins/fTools/tools/doGeometry.py b/python/plugins/fTools/tools/doGeometry.py index 560e6bf..978d786 100644 --- a/python/plugins/fTools/tools/doGeometry.py +++ b/python/plugins/fTools/tools/doGeometry.py @@ -508,37 +508,40 @@ class geometryThread( QThread ): return True def export_geometry_info( self ): +ellips = None +crs = None +coordTransform = None + +# calculate with: +# 0 - layer CRS +# 1 - project CRS +# 2 - ellipsoidal +if self.myCalcType == 2: + settings = QSettings() + ellips = settings.value( "/qgis/measure/ellipsoid", "WGS84" ).toString() + crs = self.vlayer.crs().srsid() +elif self.myCalcType == 1: + mapCRS = self.parent.iface.mapCanvas().mapRenderer().destinationCrs() + layCRS = self.vlayer.crs() + coordTransform = QgsCoordinateTransform( layCRS, mapCRS ) + +inFeat = QgsFeature() +outFeat = QgsFeature() +inGeom = QgsGeometry() +nElement = 0 + +vprovider = self.vlayer.dataProvider() + +self.emit( SIGNAL( "runStatus( PyQt_PyObject )" ), 0) +self.emit( SIGNAL( "runRange( PyQt_PyObject )" ), ( 0, vprovider.featureCount() ) ) + if self.writeShape: - vprovider = self.vlayer.dataProvider() allAttrs = vprovider.attributeIndexes() vprovider.select( allAttrs ) ( fields, index1, index2 ) = self.checkGeometryFields( self.vlayer ) writer = QgsVectorFileWriter( self.myName, self.myEncoding, fields, vprovider.geometryType(), vprovider.crs() ) - inFeat = QgsFeature() - outFeat = QgsFeature() - inGeom = QgsGeometry() - nFeat = vprovider.featureCount() - nElement = 0 - - # calculate with: - # 0 - layer CRS - # 1 - project CRS - # 2 - ellipsoidal - ellips = None - crs = None - coordTransform = None - if self.myCalcType == 2: -settings = QSettings() -ellips = settings.value( "/qgis/measure/ellipsoid", "WGS84" ).toString() -crs = self.parent.iface.mapCanvas().mapRenderer().destinationCrs().srsid() - elif self.myCalcType == 1: -mapCRS = self.parent.iface.mapCanvas().mapRenderer().destinationCrs() -layCRS = self.vlayer.crs() -coordTransform = QgsCoordinateTransform( layCRS, mapCRS ) - - self.emit( SIGNAL( "runStatus( PyQt_PyObject )" ), 0) - self.emit( SIGNAL( "runRange( PyQt_PyObject )" ), ( 0, nFeat ) ) + while vprovider.nextFeature(inFeat): self.emit( SIGNAL( "runStatus( PyQt_PyObject )" ), nElement ) nElement += 1 @@ -546,6 +549,7 @@ class geometryThread( QThread ): if self.myCalcType == 1: inGeom.transform( coordTransform ) + ( attr1, attr2 ) = self.simpleMeasure( inGeom, self.myCalcType, ellips, crs ) outFeat.setGeometry( inGeom ) @@ -558,34 +562,9 @@ class geometryThread( QThread ): return True else: # update existing file newFields = [] - vprovider = self.vlayer.dataProvider() geomType = self.vlayer.geometryType() ( index1, index2 ) = self.findOrCreateFields() - inFeat = QgsFeature() - inGeom = QgsGeometry() - nFeat = vprovider.featureCount() - nElement = 0 - - # calculate with: - # 0 - layer CRS - # 1 - project CRS - # 2 - ellipsoidal - ellips = None - crs = None - coordTransform = None - if self.myCalcType == 2: -settings = QSettings() -ellips = settings.value( "/qgis/measure/ellipsoid", "WGS84" ).toString() -crs = self.parent.iface.mapCanvas().mapRenderer().destinationCrs().srsid() - elif self.myCalcType == 1: -mapCRS = self.parent.iface.mapCanvas().mapRenderer().destinationCrs() -layCRS = self.vlayer.crs() -coordTransform = QgsCoordinateTransform( layCRS, mapCRS ) - - self.emit( SIGNAL( "runStatus( PyQt_PyObject )" ), 0) - self.emit( SIGNAL( "runRange( PyQt_PyObject )" ), ( 0, nFeat ) ) - while vprovider.nextFeature(inFeat): self.emit( SIGNAL( "runStatus( PyQt_PyObject )" ), nElement ) nElement += 1 -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 32be114f7606556b83b7c4a2b69b230baf0ab3fa Merge: 643db0e328566e95a90035cc92d9a5f6c287d77c 8459b5834f9100f3adf9375f04cbe3428a186c8b Author: Tim Sutton Date: Thu Mar 1 12:08:54 2012 +0200 Merge branch 'master' of github.com:qgis/Quantum-GIS -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit ea80d59f9fdd19bbb128caf7b136fcd3eac87c35 Author: Juergen E. Fischer Date: Wed Feb 29 21:22:15 2012 +0100 fix warnings diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 6eff2d5..6cec2d6 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -628,7 +628,7 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, QWidget * parent, #ifdef ANDROID //add reacting to long click in android - grabGesture(Qt::TapAndHoldGesture); + grabGesture( Qt::TapAndHoldGesture ); #endif // update windows @@ -741,9 +741,9 @@ bool QgisApp::event( QEvent * event ) done = true; } #ifdef ANDROID - else if (event->type() == QEvent::Gesture ) + else if ( event->type() == QEvent::Gesture ) { -done = gestureEvent(static_cast(event)); +done = gestureEvent( static_cast( event ) ); } #endif else @@ -7293,18 +7293,19 @@ QMenu* QgisApp::createPopupMenu() } #ifdef ANDROID -bool QgisApp::gestureEvent(QGestureEvent *event) +bool QgisApp::gestureEvent( QGestureEvent *event ) { - if (QGesture *tapAndHold = event->gesture(Qt::TapAndHoldGesture)) + if ( QGesture *tapAndHold = event->gesture( Qt::TapAndHoldGesture ) ) { -tapAndHoldTriggered(static_cast(tapAndHold)); +tapAndHoldTriggered( static_cast( tapAndHold ) ); } return true; } -void QgisApp::tapAndHoldTriggered(QTapAndHoldGesture *gesture) +void QgisApp::tapAndHoldTriggered( QTapAndHoldGesture *gesture ) { - if (gesture->state() == Qt::GestureFinished) { + if ( gesture->state() == Qt::GestureFinished ) + { QPoint pos = gesture->position().toPoint(); QWidget * receiver = QApplication::widgetAt( pos ); qDebug() << "tapAndHoldTriggered: LONG CLICK gesture happened at " << pos; diff --git a/src/app/qgisapp.h b/src/app/qgisapp.h index 03dd077..c56828b 100644 --- a/src/app/qgisapp.h +++ b/src/app/qgisapp.h @@ -1165,8 +1165,8 @@ class QgisApp : public QMainWindow, private Ui::MainWindow QString mOldScale; #ifdef ANDROID -bool gestureEvent(QGestureEvent *event); -void tapAndHoldTriggered(QTapAndHoldGesture *gesture); +bool gestureEvent( QGestureEvent *event ); +void tapAndHoldTriggered( QTapAndHoldGesture *gesture ); #endif }; diff --git a/src/app/qgsmaptooloffsetcurve.cpp b/src/app/qgsmaptooloffsetcurve.cpp index f125b78..689f132 100644 --- a/src/app/qgsmaptooloffsetcurve.cpp +++ b/src/app/qgsmaptooloffsetcurve.cpp @@ -484,5 +484,6 @@ QgsGeometry* QgsMapToolOffsetCurve::convertToSingleLine( QgsGeometry* geom, int QgsGeometry* QgsMapToolOffsetCurve::convertToMultiLine( QgsGeometry* geom ) { + Q_UNUSED( geom ); return 0; } diff --git a/src/core/qgsgeometry.cpp b/src/core/qgsgeometry.cpp index b3890d3..a83b5dc 100644 --- a/src/core/qgsgeometry.cpp +++ b/src/core/qgsgeometry.cpp @@ -6156,8 +6156,6 @@ QgsGeometry* QgsGeometry::combine( QgsGeometry* geometry ) try { GEOSGeometry* unionGeom = GEOSUnion( mGeos, geometry->mGeos ); -QGis::WkbType thisGeomType = wkbType(); -QGis::WkbType otherGeomType = geometry->wkbType(); if ( type() == QGis::Line ) { GEOSGeometry* mergedGeom = GEOSLineMerge( unionGeom ); diff --git a/src/core/qgslabel.cpp b/src/core/qgslabel.cpp index 4f02498..054f688 100644 --- a/src/core/qgslabel.cpp +++ b/src/core/qgslabel.cpp @@ -593,6 +593,8 @@ unsigned char* QgsLabel::labelPoint( labelpoint& point, unsigned char *geom, siz QGis::WkbType wkbType; #ifndef QT_NO_DEBUG unsigned char *geomend = geom + geomlen; +#else + Q_UNUSED( geomlen ); #endif Q_ASSERT( geom + 1 + sizeof( wkbType ) <= geomend ); diff --git a/src/providers/wms/qgswmsprovider.cpp b/src/providers/wms/qgswmsprovider.cpp index b3687ea..d50ff57 100644 --- a/src/providers/wms/qgswmsprovider.cpp +++ b/src/providers/wms/qgswmsprovider.cpp @@ -2959,7 +2959,7 @@ QStringList QgsWmsProvider::identifyAs( const QgsPoint& point, QString format ) setQueryItem( requestUrl, "X", QString::number( point.x() ) ); setQueryItem( requestUrl, "Y", QString::number( point.y() ) ); -if( mFeatureCount > 0 ) +if ( mFeatureCount > 0 ) { setQueryItem( requestUrl, "FEATURE_COUNT", QString::number( mFeatureCount ) ); } diff --git a/src/providers/wms/qgswmssourceselect.cpp b/src/providers/wms/qgswmssourceselect.cpp index d29a2a1..b5c06e3 100644 --- a/src/providers/wms/qgswmssourceselect.cpp +++ b/src/providers/wms/qgswmssourceselect.cpp @@ -473,7 +473,7 @@ void QgsWMSSourceSelect::addClicked() if ( mFeatureCount->text().toInt() > 0 ) { -if( !connArgs.isEmpty() ) +if ( !connArgs.isEmpty() ) connArgs += ","; connArgs += QString( "featureCount=%1" ).arg( mFeatureCount->text().toInt() ); } -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mail
[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
The following commit has been merged in the master branch: commit 643db0e328566e95a90035cc92d9a5f6c287d77c Author: Tim Sutton Date: Tue Feb 28 09:30:44 2012 +0200 Added missing composer label alignment bindings to python api and better api docs. diff --git a/python/core/qgscomposerlabel.sip b/python/core/qgscomposerlabel.sip index 6aeb1ef..d0d0c49 100644 --- a/python/core/qgscomposerlabel.sip +++ b/python/core/qgscomposerlabel.sip @@ -25,12 +25,38 @@ class QgsComposerLabel: QgsComposerItem /**Returns the text as it appears on screen (with replaced data field) @note this function was added in version 1.2*/ QString displayText() const; + +/** Accessor for the vertical alignment of the label + * @param none + * @returns Qt::AlignmentFlag + */ +Qt::AlignmentFlag vAlign() const; +/** Accessor for the horizontal alignment of the label + * @param none + * @returns Qt::AlignmentFlag + */ +Qt::AlignmentFlag hAlign() const; +/** Mutator for the horizontal alignment of the label + * @param Qt::AlignmentFlag + * @returns void + */ +void setHAlign( Qt::AlignmentFlag a ); +/** Mutator for the vertical alignment of the label + * @param QQt::AlignmentFlag + * @returns void + */ +void setVAlign( Qt::AlignmentFlag a ); + +//!brief Accessor for the margin of the label +double margin(); +//!brief Mutator for the margin of the label +void setMargin( double m ); + + /**Get font color @note: this function was added in version 1.4*/ QFont font() const; void setFont( const QFont& f ); -double margin(); -void setMargin( double m ); /**Sets text color @note: this function was added in version 1.4*/ diff --git a/src/core/composer/qgscomposerlabel.h b/src/core/composer/qgscomposerlabel.h index 13c4496..2978633 100644 --- a/src/core/composer/qgscomposerlabel.h +++ b/src/core/composer/qgscomposerlabel.h @@ -46,11 +46,29 @@ class CORE_EXPORT QgsComposerLabel: public QgsComposerItem QFont font() const; void setFont( const QFont& f ); +/** Accessor for the vertical alignment of the label + * @param none + * @returns Qt::AlignmentFlag + */ Qt::AlignmentFlag vAlign() const { return mVAlignment; } +/** Accessor for the horizontal alignment of the label + * @param none + * @returns Qt::AlignmentFlag + */ Qt::AlignmentFlag hAlign() const { return mHAlignment; } +/** Mutator for the horizontal alignment of the label + * @param Qt::AlignmentFlag + * @returns void + */ void setHAlign( Qt::AlignmentFlag a ) {mHAlignment = a;} +/** Mutator for the vertical alignment of the label + * @param QQt::AlignmentFlag + * @returns void + */ void setVAlign( Qt::AlignmentFlag a ) {mVAlignment = a;} +//!brief Accessor for the margin of the label double margin() {return mMargin;} +//!brief Mutator for the margin of the label void setMargin( double m ) {mMargin = m;} /**Sets text color -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, debian, updated. final-1_7_1-256-g2a42395
The following commit has been merged in the debian branch: commit 2a42395adb30b028a79d08a39a5cee058fb060c4 Author: Francesco Paolo Lovergine Date: Tue Mar 20 14:14:09 2012 +0100 Fixed a blocking error in lintian for embedded sqlite. diff --git a/debian/changelog b/debian/changelog index 5a079e7..9528d3c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,8 +12,11 @@ qgis (1.7.4+1.7.5~20120320-1) unstable; urgency=low * Migrated to dh_python2 instead of python-central. (closes: #617048) * Snapshot in qgis.org release-1.7: c936d031 + * Added an automagic creation of a lintian override for sqlite embedding. +This is required for uploading currently. + * Added missing ${misc:Depends} to make lintian happy. - -- Francesco Paolo Lovergine Wed, 07 Mar 2012 15:50:28 +0100 + -- Francesco Paolo Lovergine Tue, 20 Mar 2012 14:12:55 +0100 qgis (1.7.4-1) UNRELEASED; urgency=low diff --git a/debian/control b/debian/control index d9e8702..7eb7e50 100644 --- a/debian/control +++ b/debian/control @@ -57,6 +57,7 @@ Description: Geographic Information System (GIS) Package: qgis-common Architecture: all +Depends: ${misc:Depends} Description: Quantum GIS - architecture-independent data Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. @@ -91,7 +92,7 @@ Depends: libsqlite3-dev, python-qt4 (>=4.1.0), python-qt4-dev (>=4.1.0), - qt4-designer (>=4.4.0) + qt4-designer (>=4.4.0), ${misc:Depends} Provides: qgis-dev Replaces: qgis-dev, libqgis1-dev, libqgis1.4.0-dev Description: Quantum GIS - development files @@ -103,7 +104,11 @@ Description: Quantum GIS - development files Package: qgis-plugin-grass Architecture: any -Depends: qgis (= ${binary:Version}), qgis-plugin-grass-common (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}, grass641 +Depends: + qgis (= ${binary:Version}), + qgis-plugin-grass-common (= ${source:Version}), + ${shlibs:Depends}, ${misc:Depends}, + grass641 Description: GRASS plugin for Quantum GIS Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. @@ -113,7 +118,7 @@ Description: GRASS plugin for Quantum GIS Package: qgis-plugin-grass-common Architecture: all -Depends: python +Depends: python, ${misc:Depends} Replaces: qgis-common (<< 1.5) Breaks: qgis-common (<< 1.5) Description: GRASS plugin for Quantum GIS - architecture-independent data @@ -126,7 +131,8 @@ Description: GRASS plugin for Quantum GIS - architecture-independent data Package: python-qgis Section: python Architecture: any -Depends: python-qt4 (>=4.1.0), python-sip (>= 4.5.0), python-qgis-common (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}, ${python:Depends} +Depends: python-qt4 (>=4.1.0), python-sip (>= 4.5.0), python-qgis-common (= ${source:Version}), + ${shlibs:Depends}, ${misc:Depends}, ${python:Depends} Provides: ${python:Provides} Description: Python bindings to Quantum GIS Quantum GIS is a Geographic Information System (GIS) which manages, analyzes @@ -138,7 +144,7 @@ Package: python-qgis-common Section: python Architecture: all Provides: ${python:Provides} -Depends: gdal-bin, python-gdal +Depends: gdal-bin, python-gdal, ${misc:Depends} Description: Python bindings to Quantum GIS - architecture-independent files Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. @@ -148,7 +154,8 @@ Description: Python bindings to Quantum GIS - architecture-independent files Package: qgis-providers Architecture: any -Depends: qgis-providers-common (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends} +Depends: qgis-providers-common (= ${source:Version}), ${shlibs:Depends}, + ${misc:Depends} Replaces: qgis (<= 1.6) Breaks: qgis (<= 1.6) Description: collection of data providers to Quantum GIS @@ -161,6 +168,7 @@ Package: qgis-providers-common Architecture: all Replaces: qgis-common (<= 1.6) Breaks: qgis-common (<= 1.6) +Depends: ${misc:Depends} Description: collection of data providers to Quantum GIS - architecture-independent files Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. @@ -170,7 +178,8 @@ Description: collection of data providers to Quantum GIS - architecture-independ Package: qgis-mapserver Architecture: any -Depends: qgis-providers (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Depends: qgis-providers (= ${binary:Version}), ${shlibs:Depends}, + ${misc:Depends} Description: Quantum GIS mapserver Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. @@ -188,6 +197,7 @@ Description: Quantum GIS sql anywhere plugin and provider Package: qgis-api-doc Architec
[SCM] qgis branch, debian, updated. final-1_7_1-256-g2a42395
The following commit has been merged in the debian branch: commit 70ad9002d8b0085efecb5ddd70865d4c2e3cfda4 Author: Francesco Paolo Lovergine Date: Tue Mar 20 10:41:23 2012 +0100 Annotated reference ID for snapshot used. diff --git a/debian/changelog b/debian/changelog index 6f150ab..5a079e7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -qgis (1.7.4+1.7.5~20120305-1) unstable; urgency=low +qgis (1.7.4+1.7.5~20120320-1) unstable; urgency=low The "Sometimes they come back" release. @@ -11,6 +11,7 @@ qgis (1.7.4+1.7.5~20120305-1) unstable; urgency=low * Merged with 2bf42287 upstream git snapshot. * Migrated to dh_python2 instead of python-central. (closes: #617048) + * Snapshot in qgis.org release-1.7: c936d031 -- Francesco Paolo Lovergine Wed, 07 Mar 2012 15:50:28 +0100 -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, debian, updated. final-1_7_1-256-g2a42395
The following commit has been merged in the debian branch: commit d5fea8342e4022b17ae7a46ccc8b1d8adbcb43eb Merge: 110db4e65b525b8d42ba734d844fe289db0d053c c936d031ec77863c5fdef8feec9cacee4ecd143c Author: Francesco Paolo Lovergine Date: Tue Mar 20 10:32:16 2012 +0100 Merge branch 'qgis.org-1.7' into debian Conflicts: src/plugins/grass/modules/r.slope.qgm -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
[SCM] qgis branch, debian, updated. final-1_7_1-256-g2a42395
The following commit has been merged in the debian branch: commit 110db4e65b525b8d42ba734d844fe289db0d053c Author: Francesco Paolo Lovergine Date: Tue Mar 20 10:26:00 2012 +0100 Annotated changelog for closed bugs. Debhelper level bumped to 9. diff --git a/debian/changelog b/debian/changelog index 8964d56..6f150ab 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,12 +1,16 @@ qgis (1.7.4+1.7.5~20120305-1) unstable; urgency=low + The "Sometimes they come back" release. + * Branching from Qgis tree and adapting to current Debian Policy and standards. The target tree is currently set to release-1.7. +(closes: #661491, #606304, #615683, #616182, #600308) * Policy bumped to 3.9.3. - * Moving to debhelper compatibility level 3. + * Moving to debhelper compatibility level 9. * Source format is now 3.0 with quilt support. * Merged with 2bf42287 upstream git snapshot. * Migrated to dh_python2 instead of python-central. +(closes: #617048) -- Francesco Paolo Lovergine Wed, 07 Mar 2012 15:50:28 +0100 diff --git a/debian/compat b/debian/compat index 45a4fb7..ec63514 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -8 +9 diff --git a/debian/compat.debiangis b/debian/compat.debiangis index 45a4fb7..ec63514 100644 --- a/debian/compat.debiangis +++ b/debian/compat.debiangis @@ -1 +1 @@ -8 +9 diff --git a/debian/control b/debian/control index 5dd226d..d9e8702 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,7 @@ Uploaders: Francesco Paolo Lovergine Build-Depends: bison, cmake (>= 2.6), - debhelper (>= 8), + debhelper (>= 9), flex, grass-dev, libexpat1-dev, @@ -103,7 +103,7 @@ Description: Quantum GIS - development files Package: qgis-plugin-grass Architecture: any -Depends: qgis (= ${binary:Version}), qgis-plugin-grass-common (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}, grass +Depends: qgis (= ${binary:Version}), qgis-plugin-grass-common (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}, grass641 Description: GRASS plugin for Quantum GIS Quantum GIS is a Geographic Information System (GIS) which manages, analyzes and display databases of geographic information. diff --git a/debian/control.debiangis b/debian/control.debiangis index 1299805..45e22cb 100644 --- a/debian/control.debiangis +++ b/debian/control.debiangis @@ -6,7 +6,7 @@ Uploaders: Francesco Paolo Lovergine Build-Depends: bison, cmake (>= 2.6), - debhelper (>= 8), + debhelper (>= 9), flex, grass-dev, libexpat1-dev, -- The Quantum GIS in Debian project ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
Processing of qgis_1.7.4+1.7.5~20120320-1_i386.changes
qgis_1.7.4+1.7.5~20120320-1_i386.changes uploaded successfully to localhost along with the files: qgis_1.7.4+1.7.5~20120320-1.dsc qgis_1.7.4+1.7.5~20120320.orig.tar.gz qgis_1.7.4+1.7.5~20120320-1.debian.tar.gz qgis_1.7.4+1.7.5~20120320-1_i386.deb qgis-common_1.7.4+1.7.5~20120320-1_all.deb libqgis1.7.5_1.7.4+1.7.5~20120320-1_i386.deb libqgis-dev_1.7.4+1.7.5~20120320-1_i386.deb qgis-plugin-grass_1.7.4+1.7.5~20120320-1_i386.deb qgis-plugin-grass-common_1.7.4+1.7.5~20120320-1_all.deb python-qgis_1.7.4+1.7.5~20120320-1_i386.deb python-qgis-common_1.7.4+1.7.5~20120320-1_all.deb qgis-providers_1.7.4+1.7.5~20120320-1_i386.deb qgis-providers-common_1.7.4+1.7.5~20120320-1_all.deb qgis-mapserver_1.7.4+1.7.5~20120320-1_i386.deb qgis-sqlanywhere1.7.5_1.7.4+1.7.5~20120320-1_i386.deb qgis-api-doc_1.7.4+1.7.5~20120320-1_all.deb Greetings, Your Debian queue daemon (running on host franck.debian.org) ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel