Skip to content

Commit c74ce88

Browse files
committedNov 8, 2018
Disable "Change data source..." action if layer is editable
1 parent 85f8ba3 commit c74ce88

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed
 

‎src/app/qgsapplayertreeviewmenuprovider.cpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,15 +200,23 @@ QMenu *QgsAppLayerTreeViewMenuProvider::createContextMenu()
200200
menu->addSeparator();
201201

202202
// change data source is only supported for vectors and rasters
203-
if ( vlayer || rlayer )
203+
if ( ( vlayer || rlayer ) )
204204
{
205205

206206
QAction *a = new QAction( tr( "Change data source…" ), menu );
207-
connect( a, &QAction::triggered, [ = ]
207+
if ( layer->isEditable() )
208208
{
209-
QgisApp::instance()->changeDataSource( layer );
210-
} );
209+
a->setEnabled( false );
210+
}
211+
else
212+
{
213+
connect( a, &QAction::triggered, [ = ]
214+
{
215+
QgisApp::instance()->changeDataSource( layer );
216+
} );
217+
}
211218
menu->addAction( a );
219+
// Disable when layer is editable
212220
}
213221

214222
if ( vlayer )
0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)
Please sign in to comment.