@@ -1729,53 +1729,6 @@ void QgsOptions::on_mOptionsStackedWidget_currentChanged( int theIndx )
1729
1729
}
1730
1730
}
1731
1731
1732
- #if 0
1733
- void QgsOptions::loadGdalDriverList()
1734
- {
1735
- QStringList mySkippedDrivers = QgsApplication::skippedGdalDrivers();
1736
- GDALDriverH myGdalDriver; // current driver
1737
- QString myGdalDriverDescription;
1738
- QStringList myDrivers;
1739
- for ( int i = 0; i < GDALGetDriverCount(); ++i )
1740
- {
1741
- myGdalDriver = GDALGetDriver( i );
1742
-
1743
- Q_CHECK_PTR( myGdalDriver );
1744
-
1745
- if ( !myGdalDriver )
1746
- {
1747
- QgsLogger::warning( "unable to get driver " + QString::number( i ) );
1748
- continue;
1749
- }
1750
- myGdalDriverDescription = GDALGetDescription( myGdalDriver );
1751
- myDrivers << myGdalDriverDescription;
1752
- }
1753
- // add the skipped drivers to the list too in case their drivers are
1754
- // already unloaded...may result in false positive if underlying
1755
- // sys config has changed and that driver no longer exists...
1756
- myDrivers.append( mySkippedDrivers );
1757
- myDrivers.removeDuplicates();
1758
- myDrivers.sort();
1759
-
1760
- QStringListIterator myIterator( myDrivers );
1761
-
1762
- while ( myIterator.hasNext() )
1763
- {
1764
- QString myName = myIterator.next();
1765
- QListWidgetItem * mypItem = new QListWidgetItem( myName );
1766
- if ( mySkippedDrivers.contains( myName ) )
1767
- {
1768
- mypItem->setCheckState( Qt::Unchecked );
1769
- }
1770
- else
1771
- {
1772
- mypItem->setCheckState( Qt::Checked );
1773
- }
1774
- lstGdalDrivers->addItem( mypItem );
1775
- }
1776
- }
1777
- #endif
1778
-
1779
1732
void QgsOptions::loadGdalDriverList ()
1780
1733
{
1781
1734
QStringList mySkippedDrivers = QgsApplication::skippedGdalDrivers ();
@@ -1804,6 +1757,16 @@ void QgsOptions::loadGdalDriverList()
1804
1757
QgsLogger::warning ( " unable to get driver " + QString::number ( i ) );
1805
1758
continue ;
1806
1759
}
1760
+
1761
+ // in GDAL 2.0 vector and mixed drivers are returned by GDALGetDriver, so filter out non-raster drivers
1762
+ // TODO add same UI for vector drivers
1763
+ #ifdef GDAL_COMPUTE_VERSION
1764
+ #if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION(2,0,0)
1765
+ if ( QString ( GDALGetMetadataItem ( myGdalDriver, GDAL_DCAP_RASTER, NULL ) ) != " YES" )
1766
+ continue ;
1767
+ #endif
1768
+ #endif
1769
+
1807
1770
myGdalDriverDescription = GDALGetDescription ( myGdalDriver );
1808
1771
myDrivers << myGdalDriverDescription;
1809
1772
0 commit comments