Skip to content

Commit 116dfc8

Browse files
author
jef
committed
[FEATURE] optionally add new layers to the selected group
git-svn-id: http://svn.osgeo.org/qgis/trunk@13071 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 80f1e54 commit 116dfc8

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

src/app/legend/qgslegend.cpp

+12-2
Original file line numberDiff line numberDiff line change
@@ -520,7 +520,18 @@ void QgsLegend::addLayer( QgsMapLayer * layer )
520520
}
521521
blockSignals( false );
522522

523-
insertTopLevelItem( 0, llayer );
523+
QgsLegendGroup *lg = dynamic_cast<QgsLegendGroup *>( currentItem() );
524+
QSettings settings;
525+
if ( lg && settings.value( "/qgis/addNewLayersToCurrentGroup", false ).toBool() )
526+
{
527+
lg->insertChild( 0, llayer );
528+
}
529+
else
530+
{
531+
insertTopLevelItem( 0, llayer );
532+
setCurrentItem( llayer );
533+
}
534+
524535
setItemExpanded( llayer, true );
525536

526537
refreshLayerSymbology( layer->getLayerID() );
@@ -533,7 +544,6 @@ void QgsLegend::addLayer( QgsMapLayer * layer )
533544
mMapCanvas->zoomToFullExtent();
534545
mMapCanvas->clearExtentHistory();
535546
}
536-
setCurrentItem( llayer );
537547
//make the QTreeWidget item up-to-date
538548
doItemsLayout();
539549
}

src/app/qgsoptions.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WFlags fl ) :
206206
cbxAttributeTableDocked->setChecked( settings.value( "/qgis/dockAttributeTable", false ).toBool() );
207207
cbxIdentifyResultsDocked->setChecked( settings.value( "/qgis/dockIdentifyResults", false ).toBool() );
208208
cbxAddPostgisDC->setChecked( settings.value( "/qgis/addPostgisDC", false ).toBool() );
209+
cbxAddNewLayersToCurrentGroup->setChecked( settings.value( "/qgis/addNewLayersToCurrentGroup", false ).toBool() );
209210

210211
//set the color for selections
211212
int myRed = settings.value( "/qgis/default_selection_color_red", 255 ).toInt();
@@ -454,6 +455,7 @@ void QgsOptions::saveOptions()
454455
settings.setValue( "/qgis/dockAttributeTable", cbxAttributeTableDocked->isChecked() );
455456
settings.setValue( "/qgis/dockIdentifyResults", cbxIdentifyResultsDocked->isChecked() );
456457
settings.setValue( "/qgis/addPostgisDC", cbxAddPostgisDC->isChecked() );
458+
settings.setValue( "/qgis/addNewLayersToCurrentGroup", cbxAddNewLayersToCurrentGroup->isChecked() );
457459
settings.setValue( "/qgis/new_layers_visible", chkAddedVisibility->isChecked() );
458460
settings.setValue( "/qgis/enable_anti_aliasing", chkAntiAliasing->isChecked() );
459461
settings.setValue( "/qgis/enable_render_caching", chkUseRenderCaching->isChecked() );

src/ui/qgsoptionsbase.ui

+7
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,13 @@
362362
</item>
363363
</widget>
364364
</item>
365+
<item row="8" column="0">
366+
<widget class="QCheckBox" name="cbxAddNewLayersToCurrentGroup">
367+
<property name="text">
368+
<string>Add new layers to selected group</string>
369+
</property>
370+
</widget>
371+
</item>
365372
</layout>
366373
</widget>
367374
</item>

0 commit comments

Comments
 (0)