@@ -1737,13 +1737,12 @@ void QgisApp::createToolBars()
1737
1737
mAttributesToolBar ->addAction ( mActionIdentify );
1738
1738
1739
1739
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 );
1747
1746
1748
1747
QSettings settings;
1749
1748
switch ( settings.value ( " /UI/selectTool" , 0 ).toInt () )
@@ -1776,12 +1775,25 @@ void QgisApp::createToolBars()
1776
1775
mAttributesToolBar ->addAction ( mActionOpenTable );
1777
1776
1778
1777
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
+ }
1785
1797
mAttributesToolBar ->addWidget ( bt );
1786
1798
connect ( bt, SIGNAL ( triggered ( QAction * ) ), this , SLOT ( toolButtonActionTriggered ( QAction * ) ) );
1787
1799
@@ -1791,19 +1803,31 @@ void QgisApp::createToolBars()
1791
1803
mAttributesToolBar ->addAction ( mActionLabeling );
1792
1804
1793
1805
// 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
+
1806
1829
mToolbarMenu ->addAction ( mAttributesToolBar ->toggleViewAction () );
1830
+
1807
1831
//
1808
1832
// Plugins Toolbar
1809
1833
mPluginToolBar = addToolBar ( tr ( " Plugins" ) );
@@ -7188,6 +7212,18 @@ void QgisApp::toolButtonActionTriggered( QAction *action )
7188
7212
settings.setValue ( " /UI/selectTool" , 3 );
7189
7213
else if ( action == mActionSelectRadius )
7190
7214
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 );
7191
7227
7192
7228
bt->setDefaultAction ( action );
7193
7229
}
0 commit comments