Skip to content

Commit 3992721

Browse files
author
jef
committed
apply #3220
git-svn-id: http://svn.osgeo.org/qgis/trunk@14690 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent fa59f3c commit 3992721

File tree

1 file changed

+37
-2
lines changed

1 file changed

+37
-2
lines changed

src/app/qgssnappingdialog.cpp

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,24 @@ void QgsSnappingDialog::update()
106106
QSettings myQsettings;
107107
bool myDockFlag = myQsettings.value( "/qgis/dockSnapping", false ).toBool();
108108

109+
double defaultSnapppingTolerance = myQsettings.value( "/qgis/digitizing/default_snapping_tolerance", 0 ).toDouble();
110+
int defaultSnapppingUnit = myQsettings.value( "/qgis/digitizing/default_snapping_tolerance_unit", 0 ).toInt();
111+
QString defaultSnappingString = myQsettings.value( "/qgis/digitizing/default_snap_mode", "to vertex" ).toString();
112+
113+
int defaultSnappingStringIdx = 0;
114+
if ( defaultSnappingString == "to vertex" )
115+
{
116+
defaultSnappingStringIdx = 0;
117+
}
118+
else if ( defaultSnappingString == "to segment" )
119+
{
120+
defaultSnappingStringIdx = 1;
121+
}
122+
else //to vertex and segment
123+
{
124+
defaultSnappingStringIdx = 2;
125+
}
126+
109127
bool layerIdListOk, enabledListOk, toleranceListOk, toleranceUnitListOk, snapToListOk;
110128
QStringList layerIdList = QgsProject::instance()->readListEntry( "Digitizing", "/LayerSnappingList", &layerIdListOk );
111129
QStringList enabledList = QgsProject::instance()->readListEntry( "Digitizing", "/LayerSnappingEnabledList", &enabledListOk );
@@ -135,19 +153,22 @@ void QgsSnappingDialog::update()
135153
cbxSnapTo->insertItem( 0, tr( "to vertex" ) );
136154
cbxSnapTo->insertItem( 1, tr( "to segment" ) );
137155
cbxSnapTo->insertItem( 2, tr( "to vertex and segment" ) );
156+
cbxSnapTo->setCurrentIndex( defaultSnappingStringIdx );
138157
mLayerTreeWidget->setItemWidget( item, 2, cbxSnapTo );
139158

140159
//snapping tolerance
141160
QLineEdit *leTolerance = new QLineEdit( mLayerTreeWidget );
142161
QDoubleValidator *validator = new QDoubleValidator( leTolerance );
143162
leTolerance->setValidator( validator );
163+
leTolerance->setText( QString::number( defaultSnapppingTolerance, 'f' ) );
144164

145165
mLayerTreeWidget->setItemWidget( item, 3, leTolerance );
146166

147167
//snap to vertex/ snap to segment
148168
QComboBox *cbxUnits = new QComboBox( mLayerTreeWidget );
149169
cbxUnits->insertItem( 0, tr( "map units" ) );
150170
cbxUnits->insertItem( 1, tr( "pixels" ) );
171+
cbxUnits->setCurrentIndex( defaultSnapppingUnit );
151172
mLayerTreeWidget->setItemWidget( item, 4, cbxUnits );
152173

153174
int idx = layerIdList.indexOf( currentVectorLayer->getLayerID() );
@@ -158,7 +179,21 @@ void QgsSnappingDialog::update()
158179
}
159180

160181
cbxEnable->setChecked( enabledList[ idx ] == "enabled" );
161-
cbxSnapTo->setCurrentIndex( snapToList[idx].toInt() );
182+
183+
int snappingStringIdx = 0;
184+
if ( snapToList[idx] == "to_vertex" )
185+
{
186+
snappingStringIdx = 0;
187+
}
188+
else if ( snapToList[idx] == "to_segment" )
189+
{
190+
snappingStringIdx = 1;
191+
}
192+
else //to vertex and segment
193+
{
194+
snappingStringIdx = 2;
195+
}
196+
cbxSnapTo->setCurrentIndex( snappingStringIdx );
162197
leTolerance->setText( QString::number( toleranceList[idx].toDouble(), 'f' ) );
163198
cbxUnits->setCurrentIndex( toleranceUnitList[idx].toInt() );
164199
}
@@ -222,7 +257,7 @@ void QgsSnappingDialog::apply()
222257

223258
void QgsSnappingDialog::show()
224259
{
225-
if( mDock )
260+
if ( mDock )
226261
mDock->setVisible( true );
227262
else
228263
QDialog::show();

0 commit comments

Comments
 (0)