@@ -2029,8 +2029,12 @@ void QgisApp::setupConnections()
20292029 this , SLOT ( legendLayerSelectionChanged () ) );
20302030 connect ( mLayerTreeView ->layerTreeModel ()->rootGroup (), SIGNAL ( addedChildren ( QgsLayerTreeNode*, int , int ) ),
20312031 this , SLOT ( markDirty () ) );
2032+ connect ( mLayerTreeView ->layerTreeModel ()->rootGroup (), SIGNAL ( addedChildren ( QgsLayerTreeNode*, int , int ) ),
2033+ this , SLOT ( updateNewLayerInsertionPoint () ) );
20322034 connect ( mLayerTreeView ->layerTreeModel ()->rootGroup (), SIGNAL ( removedChildren ( QgsLayerTreeNode*, int , int ) ),
20332035 this , SLOT ( markDirty () ) );
2036+ connect ( mLayerTreeView ->layerTreeModel ()->rootGroup (), SIGNAL ( removedChildren ( QgsLayerTreeNode*, int , int ) ),
2037+ this , SLOT ( updateNewLayerInsertionPoint () ) );
20342038 connect ( mLayerTreeView ->layerTreeModel ()->rootGroup (), SIGNAL ( visibilityChanged ( QgsLayerTreeNode*, Qt::CheckState ) ),
20352039 this , SLOT ( markDirty () ) );
20362040 connect ( mLayerTreeView ->layerTreeModel ()->rootGroup (), SIGNAL ( customPropertyChanged ( QgsLayerTreeNode*, QString ) ),
@@ -2303,7 +2307,7 @@ void QgisApp::initLayerTreeView()
23032307
23042308 connect ( mLayerTreeView , SIGNAL ( doubleClicked ( QModelIndex ) ), this , SLOT ( layerTreeViewDoubleClicked ( QModelIndex ) ) );
23052309 connect ( mLayerTreeView , SIGNAL ( currentLayerChanged ( QgsMapLayer* ) ), this , SLOT ( activeLayerChanged ( QgsMapLayer* ) ) );
2306- connect ( mLayerTreeView ->selectionModel (), SIGNAL ( currentChanged ( QModelIndex, QModelIndex ) ), this , SLOT ( layerTreeViewCurrentChanged ( QModelIndex, QModelIndex ) ) );
2310+ connect ( mLayerTreeView ->selectionModel (), SIGNAL ( currentChanged ( QModelIndex, QModelIndex ) ), this , SLOT ( updateNewLayerInsertionPoint ( ) ) );
23072311
23082312 mLayerTreeDock ->setWidget ( mLayerTreeView );
23092313 addDockWidget ( Qt::LeftDockWidgetArea, mLayerTreeDock );
@@ -2326,13 +2330,12 @@ void QgisApp::initLayerTreeView()
23262330}
23272331
23282332
2329- void QgisApp::layerTreeViewCurrentChanged ( const QModelIndex& current, const QModelIndex& previous )
2333+ void QgisApp::updateNewLayerInsertionPoint ( )
23302334{
2331- Q_UNUSED ( previous );
2332-
23332335 // defaults
23342336 QgsLayerTreeGroup* parentGroup = mLayerTreeView ->layerTreeModel ()->rootGroup ();
23352337 int index = 0 ;
2338+ QModelIndex current = mLayerTreeView ->currentIndex ();
23362339
23372340 if ( current.isValid () )
23382341 {
0 commit comments