[QGIS Commit] r14393 - trunk/qgis/src/app
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Sun Oct 17 20:12:04 EDT 2010
Author: jef
Date: 2010-10-17 17:12:03 -0700 (Sun, 17 Oct 2010)
New Revision: 14393
Modified:
trunk/qgis/src/app/qgisapp.cpp
trunk/qgis/src/app/qgsquerybuilder.cpp
trunk/qgis/src/app/qgsvectorlayerproperties.cpp
Log:
disable query change while editing
Modified: trunk/qgis/src/app/qgisapp.cpp
===================================================================
--- trunk/qgis/src/app/qgisapp.cpp 2010-10-18 00:05:19 UTC (rev 14392)
+++ trunk/qgis/src/app/qgisapp.cpp 2010-10-18 00:12:03 UTC (rev 14393)
@@ -5867,7 +5867,7 @@
if ( layer->type() == QgsMapLayer::VectorLayer )
{
QgsVectorLayer* vlayer = qobject_cast<QgsVectorLayer *>( layer );
- const QgsVectorDataProvider* dprovider = vlayer->dataProvider();
+ QgsVectorDataProvider* dprovider = vlayer->dataProvider();
bool layerHasSelection = vlayer->selectedFeatureCount() != 0;
mActionSelect->setEnabled( true );
@@ -5881,7 +5881,6 @@
mActionLayerSaveAs->setEnabled( true );
mActionLayerSelectionSaveAs->setEnabled( true );
mActionCopyFeatures->setEnabled( layerHasSelection );
- mActionLayerSubsetString->setEnabled( true );
if ( !vlayer->isEditable() && mMapCanvas->mapTool() && mMapCanvas->mapTool()->isEditTool() )
{
@@ -5890,6 +5889,8 @@
if ( dprovider )
{
+ mActionLayerSubsetString->setEnabled( dprovider->supportsSubsetString() && !vlayer->isEditable() );
+
//start editing/stop editing
if ( dprovider->capabilities() & QgsVectorDataProvider::EditingCapabilities )
{
@@ -6088,6 +6089,8 @@
}
return;
}
+
+ mActionLayerSubsetString->setEnabled( false );
}
/*************Raster layers*************/
else if ( layer->type() == QgsMapLayer::RasterLayer )
Modified: trunk/qgis/src/app/qgsquerybuilder.cpp
===================================================================
--- trunk/qgis/src/app/qgsquerybuilder.cpp 2010-10-18 00:05:19 UTC (rev 14392)
+++ trunk/qgis/src/app/qgsquerybuilder.cpp 2010-10-18 00:12:03 UTC (rev 14393)
@@ -284,6 +284,7 @@
void QgsQueryBuilder::clear()
{
txtSQL->clear();
+ mLayer->setSubsetString( "" );
}
void QgsQueryBuilder::on_btnILike_clicked()
Modified: trunk/qgis/src/app/qgsvectorlayerproperties.cpp
===================================================================
--- trunk/qgis/src/app/qgsvectorlayerproperties.cpp 2010-10-18 00:05:19 UTC (rev 14392)
+++ trunk/qgis/src/app/qgsvectorlayerproperties.cpp 2010-10-18 00:12:03 UTC (rev 14393)
@@ -289,6 +289,12 @@
void QgsVectorLayerProperties::toggleEditing()
{
emit toggleEditing( layer );
+
+ pbnQueryBuilder->setEnabled( layer && layer->dataProvider() && layer->dataProvider()->supportsSubsetString() && !layer->isEditable() );
+ if ( layer->isEditable() )
+ {
+ pbnQueryBuilder->setToolTip( tr( "Stop editing mode to enable this." ) );
+ }
}
void QgsVectorLayerProperties::attributeAdded( int idx )
@@ -462,7 +468,11 @@
// on the builder. If the ability to enter a query directly into the box is required,
// a mechanism to check it must be implemented.
txtSubsetSQL->setEnabled( false );
- pbnQueryBuilder->setEnabled( layer && layer->dataProvider() && layer->dataProvider()->supportsSubsetString() );
+ pbnQueryBuilder->setEnabled( layer && layer->dataProvider() && layer->dataProvider()->supportsSubsetString() && !layer->isEditable() );
+ if ( layer->isEditable() )
+ {
+ pbnQueryBuilder->setToolTip( tr( "Stop editing mode to enable this." ) );
+ }
//get field list for display field combo
const QgsFieldMap& myFields = layer->pendingFields();
More information about the QGIS-commit
mailing list