[QGIS Commit] r15094 - trunk/qgis/src/app
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Fri Jan 28 10:01:13 EST 2011
Author: timlinux
Date: 2011-01-28 07:01:13 -0800 (Fri, 28 Jan 2011)
New Revision: 15094
Modified:
trunk/qgis/src/app/qgisapp.cpp
Log:
Applied patch from #3447. Button group for add layer
Modified: trunk/qgis/src/app/qgisapp.cpp
===================================================================
--- trunk/qgis/src/app/qgisapp.cpp 2011-01-28 10:50:34 UTC (rev 15093)
+++ trunk/qgis/src/app/qgisapp.cpp 2011-01-28 15:01:13 UTC (rev 15094)
@@ -1682,15 +1682,47 @@
mLayerToolBar = addToolBar( tr( "Manage Layers" ) );
mLayerToolBar->setIconSize( myIconSize );
mLayerToolBar->setObjectName( "LayerToolBar" );
- mLayerToolBar->addAction( mActionAddOgrLayer );
- mLayerToolBar->addAction( mActionAddRasterLayer );
+
+ QToolButton *bt = new QToolButton( mLayerToolBar );
+ bt->setObjectName( "AddLayer" );
+ bt->setPopupMode( QToolButton::MenuButtonPopup );
+ bt->addAction( mActionAddOgrLayer );
+ bt->addAction( mActionAddRasterLayer );
#ifdef HAVE_POSTGRESQL
- mLayerToolBar->addAction( mActionAddPgLayer );
+ bt->addAction( mActionAddPgLayer );
#endif
#ifdef HAVE_SPATIALITE
- mLayerToolBar->addAction( mActionAddSpatiaLiteLayer );
+ bt->addAction( mActionAddSpatiaLiteLayer );
#endif
- mLayerToolBar->addAction( mActionAddWmsLayer );
+ bt->addAction( mActionAddWmsLayer );
+
+ QSettings settings;
+ switch ( settings.value( "/UI/addLayer", 0 ).toInt() )
+ {
+ default:
+ case 0:
+ bt->setDefaultAction( mActionAddOgrLayer );
+ break;
+
+ case 1:
+ bt->setDefaultAction( mActionAddRasterLayer );
+ break;
+
+ case 2:
+ bt->setDefaultAction( mActionAddPgLayer );
+ break;
+
+ case 3:
+ bt->setDefaultAction( mActionAddSpatiaLiteLayer );
+ break;
+
+ case 4:
+ bt->setDefaultAction( mActionAddWmsLayer );
+ break;
+ }
+ mLayerToolBar->addWidget( bt );
+ connect( bt, SIGNAL( triggered( QAction * ) ), this, SLOT( toolButtonActionTriggered( QAction * ) ) );
+
mLayerToolBar->addAction( mActionNewVectorLayer );
mLayerToolBar->addAction( mActionRemoveLayer );
//commented out for QGIS 1.4 by Tim
@@ -1762,7 +1794,7 @@
mAttributesToolBar->setObjectName( "Attributes" );
mAttributesToolBar->addAction( mActionIdentify );
- QToolButton *bt = new QToolButton( mAttributesToolBar );
+ bt = new QToolButton( mAttributesToolBar );
bt->setObjectName( "SelectTool" );
bt->setPopupMode( QToolButton::MenuButtonPopup );
bt->addAction( mActionSelect );
@@ -1771,7 +1803,6 @@
bt->addAction( mActionSelectFreehand );
bt->addAction( mActionSelectRadius );
- QSettings settings;
switch ( settings.value( "/UI/selectTool", 0 ).toInt() )
{
default:
@@ -7337,6 +7368,16 @@
settings.setValue( "/UI/annotationTool", 1 );
else if ( action == mActionAnnotation )
settings.setValue( "/UI/annotationTool", 2 );
+ else if ( action == mActionAddOgrLayer )
+ settings.setValue( "/UI/addLayer", 0 );
+ else if ( action == mActionAddRasterLayer )
+ settings.setValue( "/UI/addLayer", 1 );
+ else if ( action == mActionAddPgLayer )
+ settings.setValue( "/UI/addLayer", 2 );
+ else if ( action == mActionAddSpatiaLiteLayer )
+ settings.setValue( "/UI/addLayer", 3 );
+ else if ( action == mActionAddWmsLayer )
+ settings.setValue( "/UI/addLayer", 4 );
bt->setDefaultAction( action );
}
More information about the QGIS-commit
mailing list