Skip to content

Commit 408d227

Browse files
author
jef
committedOct 18, 2010
disable query change while editing
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@14393 c8812cc2-4d05-0410-92ff-de0c093fc19c

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed
 

‎src/app/qgisapp.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5867,7 +5867,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
58675867
if ( layer->type() == QgsMapLayer::VectorLayer )
58685868
{
58695869
QgsVectorLayer* vlayer = qobject_cast<QgsVectorLayer *>( layer );
5870-
const QgsVectorDataProvider* dprovider = vlayer->dataProvider();
5870+
QgsVectorDataProvider* dprovider = vlayer->dataProvider();
58715871
bool layerHasSelection = vlayer->selectedFeatureCount() != 0;
58725872

58735873
mActionSelect->setEnabled( true );
@@ -5881,7 +5881,6 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
58815881
mActionLayerSaveAs->setEnabled( true );
58825882
mActionLayerSelectionSaveAs->setEnabled( true );
58835883
mActionCopyFeatures->setEnabled( layerHasSelection );
5884-
mActionLayerSubsetString->setEnabled( true );
58855884

58865885
if ( !vlayer->isEditable() && mMapCanvas->mapTool() && mMapCanvas->mapTool()->isEditTool() )
58875886
{
@@ -5890,6 +5889,8 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
58905889

58915890
if ( dprovider )
58925891
{
5892+
mActionLayerSubsetString->setEnabled( dprovider->supportsSubsetString() && !vlayer->isEditable() );
5893+
58935894
//start editing/stop editing
58945895
if ( dprovider->capabilities() & QgsVectorDataProvider::EditingCapabilities )
58955896
{
@@ -6088,6 +6089,8 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
60886089
}
60896090
return;
60906091
}
6092+
6093+
mActionLayerSubsetString->setEnabled( false );
60916094
}
60926095
/*************Raster layers*************/
60936096
else if ( layer->type() == QgsMapLayer::RasterLayer )

‎src/app/qgsquerybuilder.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,7 @@ void QgsQueryBuilder::on_btnOr_clicked()
284284
void QgsQueryBuilder::clear()
285285
{
286286
txtSQL->clear();
287+
mLayer->setSubsetString( "" );
287288
}
288289

289290
void QgsQueryBuilder::on_btnILike_clicked()

‎src/app/qgsvectorlayerproperties.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,12 @@ void QgsVectorLayerProperties::attributeTypeDialog( )
289289
void QgsVectorLayerProperties::toggleEditing()
290290
{
291291
emit toggleEditing( layer );
292+
293+
pbnQueryBuilder->setEnabled( layer && layer->dataProvider() && layer->dataProvider()->supportsSubsetString() && !layer->isEditable() );
294+
if ( layer->isEditable() )
295+
{
296+
pbnQueryBuilder->setToolTip( tr( "Stop editing mode to enable this." ) );
297+
}
292298
}
293299

294300
void QgsVectorLayerProperties::attributeAdded( int idx )
@@ -462,7 +468,11 @@ void QgsVectorLayerProperties::reset( void )
462468
// on the builder. If the ability to enter a query directly into the box is required,
463469
// a mechanism to check it must be implemented.
464470
txtSubsetSQL->setEnabled( false );
465-
pbnQueryBuilder->setEnabled( layer && layer->dataProvider() && layer->dataProvider()->supportsSubsetString() );
471+
pbnQueryBuilder->setEnabled( layer && layer->dataProvider() && layer->dataProvider()->supportsSubsetString() && !layer->isEditable() );
472+
if ( layer->isEditable() )
473+
{
474+
pbnQueryBuilder->setToolTip( tr( "Stop editing mode to enable this." ) );
475+
}
466476

467477
//get field list for display field combo
468478
const QgsFieldMap& myFields = layer->pendingFields();

0 commit comments

Comments
 (0)
Please sign in to comment.