Skip to content

Commit 58bd7ac

Browse files
author
timlinux
committedJan 28, 2011
Applied patch from #3447. Button group for add layer
git-svn-id: http://svn.osgeo.org/qgis/trunk@15094 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent afa78c1 commit 58bd7ac

File tree

1 file changed

+48
-7
lines changed

1 file changed

+48
-7
lines changed
 

‎src/app/qgisapp.cpp

Lines changed: 48 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1682,15 +1682,47 @@ void QgisApp::createToolBars()
16821682
mLayerToolBar = addToolBar( tr( "Manage Layers" ) );
16831683
mLayerToolBar->setIconSize( myIconSize );
16841684
mLayerToolBar->setObjectName( "LayerToolBar" );
1685-
mLayerToolBar->addAction( mActionAddOgrLayer );
1686-
mLayerToolBar->addAction( mActionAddRasterLayer );
1685+
1686+
QToolButton *bt = new QToolButton( mLayerToolBar );
1687+
bt->setObjectName( "AddLayer" );
1688+
bt->setPopupMode( QToolButton::MenuButtonPopup );
1689+
bt->addAction( mActionAddOgrLayer );
1690+
bt->addAction( mActionAddRasterLayer );
16871691
#ifdef HAVE_POSTGRESQL
1688-
mLayerToolBar->addAction( mActionAddPgLayer );
1692+
bt->addAction( mActionAddPgLayer );
16891693
#endif
16901694
#ifdef HAVE_SPATIALITE
1691-
mLayerToolBar->addAction( mActionAddSpatiaLiteLayer );
1695+
bt->addAction( mActionAddSpatiaLiteLayer );
16921696
#endif
1693-
mLayerToolBar->addAction( mActionAddWmsLayer );
1697+
bt->addAction( mActionAddWmsLayer );
1698+
1699+
QSettings settings;
1700+
switch ( settings.value( "/UI/addLayer", 0 ).toInt() )
1701+
{
1702+
default:
1703+
case 0:
1704+
bt->setDefaultAction( mActionAddOgrLayer );
1705+
break;
1706+
1707+
case 1:
1708+
bt->setDefaultAction( mActionAddRasterLayer );
1709+
break;
1710+
1711+
case 2:
1712+
bt->setDefaultAction( mActionAddPgLayer );
1713+
break;
1714+
1715+
case 3:
1716+
bt->setDefaultAction( mActionAddSpatiaLiteLayer );
1717+
break;
1718+
1719+
case 4:
1720+
bt->setDefaultAction( mActionAddWmsLayer );
1721+
break;
1722+
}
1723+
mLayerToolBar->addWidget( bt );
1724+
connect( bt, SIGNAL( triggered( QAction * ) ), this, SLOT( toolButtonActionTriggered( QAction * ) ) );
1725+
16941726
mLayerToolBar->addAction( mActionNewVectorLayer );
16951727
mLayerToolBar->addAction( mActionRemoveLayer );
16961728
//commented out for QGIS 1.4 by Tim
@@ -1762,7 +1794,7 @@ void QgisApp::createToolBars()
17621794
mAttributesToolBar->setObjectName( "Attributes" );
17631795
mAttributesToolBar->addAction( mActionIdentify );
17641796

1765-
QToolButton *bt = new QToolButton( mAttributesToolBar );
1797+
bt = new QToolButton( mAttributesToolBar );
17661798
bt->setObjectName( "SelectTool" );
17671799
bt->setPopupMode( QToolButton::MenuButtonPopup );
17681800
bt->addAction( mActionSelect );
@@ -1771,7 +1803,6 @@ void QgisApp::createToolBars()
17711803
bt->addAction( mActionSelectFreehand );
17721804
bt->addAction( mActionSelectRadius );
17731805

1774-
QSettings settings;
17751806
switch ( settings.value( "/UI/selectTool", 0 ).toInt() )
17761807
{
17771808
default:
@@ -7337,6 +7368,16 @@ void QgisApp::toolButtonActionTriggered( QAction *action )
73377368
settings.setValue( "/UI/annotationTool", 1 );
73387369
else if ( action == mActionAnnotation )
73397370
settings.setValue( "/UI/annotationTool", 2 );
7371+
else if ( action == mActionAddOgrLayer )
7372+
settings.setValue( "/UI/addLayer", 0 );
7373+
else if ( action == mActionAddRasterLayer )
7374+
settings.setValue( "/UI/addLayer", 1 );
7375+
else if ( action == mActionAddPgLayer )
7376+
settings.setValue( "/UI/addLayer", 2 );
7377+
else if ( action == mActionAddSpatiaLiteLayer )
7378+
settings.setValue( "/UI/addLayer", 3 );
7379+
else if ( action == mActionAddWmsLayer )
7380+
settings.setValue( "/UI/addLayer", 4 );
73407381

73417382
bt->setDefaultAction( action );
73427383
}

0 commit comments

Comments
 (0)
Please sign in to comment.