@@ -1737,13 +1737,12 @@ void QgisApp::createToolBars()
17371737 mAttributesToolBar ->addAction ( mActionIdentify );
17381738
17391739 QToolButton *bt = new QToolButton ( mAttributesToolBar );
1740- QMenu *menu = new QMenu ( bt );
1741- bt->setMenu ( menu );
1742- menu->addAction ( mActionSelect );
1743- menu->addAction ( mActionSelectRectangle );
1744- menu->addAction ( mActionSelectPolygon );
1745- menu->addAction ( mActionSelectFreehand );
1746- menu->addAction ( mActionSelectRadius );
1740+ bt->setPopupMode ( QToolButton::MenuButtonPopup );
1741+ bt->addAction ( mActionSelect );
1742+ bt->addAction ( mActionSelectRectangle );
1743+ bt->addAction ( mActionSelectPolygon );
1744+ bt->addAction ( mActionSelectFreehand );
1745+ bt->addAction ( mActionSelectRadius );
17471746
17481747 QSettings settings;
17491748 switch ( settings.value ( " /UI/selectTool" , 0 ).toInt () )
@@ -1776,12 +1775,25 @@ void QgisApp::createToolBars()
17761775 mAttributesToolBar ->addAction ( mActionOpenTable );
17771776
17781777 bt = new QToolButton ( mAttributesToolBar );
1779- menu = new QMenu ( bt );
1780- bt->setMenu ( menu );
1781- menu->addAction ( mActionMeasure );
1782- menu->addAction ( mActionMeasureArea );
1783- menu->addAction ( mActionMeasureAngle );
1784- bt->setDefaultAction ( mActionMeasure );
1778+ bt->setPopupMode ( QToolButton::MenuButtonPopup );
1779+ bt->addAction ( mActionMeasure );
1780+ bt->addAction ( mActionMeasureArea );
1781+ bt->addAction ( mActionMeasureAngle );
1782+ switch ( settings.value ( " /UI/measureTool" , 0 ).toInt () )
1783+ {
1784+ default :
1785+ case 0 :
1786+ bt->setDefaultAction ( mActionMeasure );
1787+ break ;
1788+
1789+ case 1 :
1790+ bt->setDefaultAction ( mActionMeasureArea );
1791+ break ;
1792+
1793+ case 2 :
1794+ bt->setDefaultAction ( mActionMeasureAngle );
1795+ break ;
1796+ }
17851797 mAttributesToolBar ->addWidget ( bt );
17861798 connect ( bt, SIGNAL ( triggered ( QAction * ) ), this , SLOT ( toolButtonActionTriggered ( QAction * ) ) );
17871799
@@ -1791,19 +1803,31 @@ void QgisApp::createToolBars()
17911803 mAttributesToolBar ->addAction ( mActionLabeling );
17921804
17931805 // Annotation tools
1794- QToolButton *annotationToolButton = new QToolButton ();
1795- annotationToolButton->setPopupMode ( QToolButton::InstantPopup );
1796- annotationToolButton->setAutoRaise ( true );
1797- annotationToolButton->setToolButtonStyle ( Qt::ToolButtonIconOnly );
1798- annotationToolButton->setCheckable ( true );
1799- annotationToolButton->addAction ( mActionTextAnnotation );
1800- annotationToolButton->addAction ( mActionFormAnnotation );
1801- annotationToolButton->addAction ( mActionAnnotation );
1802- annotationToolButton->setDefaultAction ( mActionTextAnnotation );
1803- connect ( annotationToolButton, SIGNAL ( triggered ( QAction* ) ),
1804- annotationToolButton, SLOT ( setDefaultAction ( QAction* ) ) );
1805- mAttributesToolBar ->addWidget ( annotationToolButton );
1806+ bt = new QToolButton ();
1807+ bt->setPopupMode ( QToolButton::MenuButtonPopup );
1808+ bt->addAction ( mActionTextAnnotation );
1809+ bt->addAction ( mActionFormAnnotation );
1810+ bt->addAction ( mActionAnnotation );
1811+ switch ( settings.value ( " /UI/annotationTool" , 0 ).toInt () )
1812+ {
1813+ default :
1814+ case 0 :
1815+ bt->setDefaultAction ( mActionTextAnnotation );
1816+ break ;
1817+
1818+ case 1 :
1819+ bt->setDefaultAction ( mActionFormAnnotation );
1820+ break ;
1821+
1822+ case 2 :
1823+ bt->setDefaultAction ( mActionAnnotation );
1824+ break ;
1825+ }
1826+ mAttributesToolBar ->addWidget ( bt );
1827+ connect ( bt, SIGNAL ( triggered ( QAction * ) ), this , SLOT ( toolButtonActionTriggered ( QAction * ) ) );
1828+
18061829 mToolbarMenu ->addAction ( mAttributesToolBar ->toggleViewAction () );
1830+
18071831 //
18081832 // Plugins Toolbar
18091833 mPluginToolBar = addToolBar ( tr ( " Plugins" ) );
@@ -7188,6 +7212,18 @@ void QgisApp::toolButtonActionTriggered( QAction *action )
71887212 settings.setValue ( " /UI/selectTool" , 3 );
71897213 else if ( action == mActionSelectRadius )
71907214 settings.setValue ( " /UI/selectTool" , 4 );
7215+ else if ( action == mActionMeasure )
7216+ settings.setValue ( " /UI/measureTool" , 0 );
7217+ else if ( action == mActionMeasureArea )
7218+ settings.setValue ( " /UI/measureTool" , 1 );
7219+ else if ( action == mActionMeasureAngle )
7220+ settings.setValue ( " /UI/measureTool" , 2 );
7221+ else if ( action == mActionTextAnnotation )
7222+ settings.setValue ( " /UI/annotationTool" , 0 );
7223+ else if ( action == mActionFormAnnotation )
7224+ settings.setValue ( " /UI/annotationTool" , 1 );
7225+ else if ( action == mActionAnnotation )
7226+ settings.setValue ( " /UI/annotationTool" , 2 );
71917227
71927228 bt->setDefaultAction ( action );
71937229}
0 commit comments