[SCM] qgis branch, master, updated. a2ee769957385f4e084c5e8b6ba178a8c877d1db
Juergen E. Fischer
jef at norbit.de
Tue Mar 20 13:43:24 UTC 2012
The following commit has been merged in the master branch:
commit a2b80be89b1d183cfeb69bc019e6fcaddb4bb404
Author: Etienne Tourigny <etourigny.dev at gmail.com>
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
More information about the Pkg-grass-devel
mailing list