Skip to content

Commit eca9640

Browse files
committedApr 2, 2012
add option to bypass dataset scanning in browser dock
1 parent 90108d8 commit eca9640

File tree

4 files changed

+55
-0
lines changed

4 files changed

+55
-0
lines changed
 

‎src/app/qgsoptions.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,12 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WFlags fl ) :
196196
cmbPromptRasterSublayers->addItem( tr( "Load all" ) );
197197
cmbPromptRasterSublayers->setCurrentIndex( settings.value( "/qgis/promptForRasterSublayers", 0 ).toInt() );
198198

199+
// Scan for valid items in the browser dock
200+
cmbScanItemsInBrowser->clear();
201+
cmbScanItemsInBrowser->addItem( tr( "Check file contents" ) ); // 0
202+
cmbScanItemsInBrowser->addItem( tr( "Check extension" ) ); // 1
203+
cmbScanItemsInBrowser->setCurrentIndex( settings.value( "/qgis/scanItemsInBrowser", 1 ).toInt() );
204+
199205
// Scan for contents of compressed files (.zip) in browser dock
200206
cmbScanZipInBrowser->clear();
201207
cmbScanZipInBrowser->addItem( tr( "No" ) ); // 0
@@ -636,6 +642,7 @@ void QgsOptions::saveOptions()
636642
settings.setValue( "/qgis/attributeTableBehaviour", cmbAttrTableBehaviour->currentIndex() );
637643
settings.setValue( "/qgis/attributeTableRowCache", spinBoxAttrTableRowCache->value() );
638644
settings.setValue( "/qgis/promptForRasterSublayers", cmbPromptRasterSublayers->currentIndex() );
645+
settings.setValue( "/qgis/scanItemsInBrowser", cmbScanItemsInBrowser->currentIndex() );
639646
settings.setValue( "/qgis/scanZipInBrowser", cmbScanZipInBrowser->currentIndex() );
640647
settings.setValue( "/qgis/dockIdentifyResults", cbxIdentifyResultsDocked->isChecked() );
641648
settings.setValue( "/qgis/dockSnapping", cbxSnappingOptionsDocked->isChecked() );

‎src/providers/gdal/qgsgdaldataitems.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ QGISEXTERN QgsDataItem * dataItem( QString thePath, QgsDataItem* parentItem )
112112
QSettings settings;
113113
//extract basename with extension
114114
QString name = info.fileName();
115+
int scanItemsSetting = settings.value( "/qgis/scanItemsInBrowser", 0 ).toInt();
115116
int scanZipSetting = settings.value( "/qgis/scanZipInBrowser", 1 ).toInt();
116117

117118
// allow normal files or VSIFILE items to pass
@@ -176,6 +177,17 @@ QGISEXTERN QgsDataItem * dataItem( QString thePath, QgsDataItem* parentItem )
176177
}
177178
}
178179

180+
// if scan items == "Check extension", add item here without trying to open
181+
if ( scanItemsSetting == 1 )
182+
{
183+
QStringList sublayers;
184+
QgsDebugMsg( QString( "adding item name=%1 thePath=%2 uri=%3" ).arg( name ).arg( thePath ).arg( uri ) );
185+
QgsLayerItem * item = new QgsGdalLayerItem( parentItem, name, thePath, thePath, &sublayers );
186+
if ( item )
187+
return item;
188+
}
189+
190+
179191
// try to open using VSIFileHandler
180192
if ( thePath.right( 4 ) == ".zip" )
181193
{

‎src/providers/ogr/qgsogrdataitems.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ QGISEXTERN QgsDataItem * dataItem( QString thePath, QgsDataItem* parentItem )
231231
QFileInfo info( thePath );
232232
QString name = info.fileName();
233233
QSettings settings;
234+
int scanItemsSetting = settings.value( "/qgis/scanItemsInBrowser", 0 ).toInt();
234235
int scanZipSetting = settings.value( "/qgis/scanZipInBrowser", 1 ).toInt();
235236

236237
// allow normal files or VSIFILE items to pass
@@ -291,6 +292,14 @@ QGISEXTERN QgsDataItem * dataItem( QString thePath, QgsDataItem* parentItem )
291292
}
292293
}
293294

295+
// if scan items == "Check extension", add item here without trying to open
296+
if ( scanItemsSetting == 1 )
297+
{
298+
QgsLayerItem * item = new QgsOgrLayerItem( parentItem, name, thePath, thePath, QgsLayerItem::Vector );
299+
if ( item )
300+
return item;
301+
}
302+
294303
// try to open using VSIFileHandler
295304
if ( thePath.right( 4 ) == ".zip" )
296305
{

‎src/ui/qgsoptionsbase.ui

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,33 @@
602602
</item>
603603
</layout>
604604
</item>
605+
<item>
606+
<layout class="QHBoxLayout" name="horizontalLayout_14">
607+
<item>
608+
<widget class="QLabel" name="label_25">
609+
<property name="text">
610+
<string>Scan for valid items in the browser dock</string>
611+
</property>
612+
</widget>
613+
</item>
614+
<item>
615+
<spacer name="horizontalSpacer_12">
616+
<property name="orientation">
617+
<enum>Qt::Horizontal</enum>
618+
</property>
619+
<property name="sizeHint" stdset="0">
620+
<size>
621+
<width>40</width>
622+
<height>20</height>
623+
</size>
624+
</property>
625+
</spacer>
626+
</item>
627+
<item>
628+
<widget class="QComboBox" name="cmbScanItemsInBrowser"/>
629+
</item>
630+
</layout>
631+
</item>
605632
<item>
606633
<layout class="QHBoxLayout" name="horizontalLayout_13">
607634
<item>

0 commit comments

Comments
 (0)
Please sign in to comment.