106 |
106 |
QSettings myQsettings;
|
107 |
107 |
bool myDockFlag = myQsettings.value( "/qgis/dockSnapping", false ).toBool();
|
108 |
108 |
|
|
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 |
|
109 |
127 |
bool layerIdListOk, enabledListOk, toleranceListOk, toleranceUnitListOk, snapToListOk;
|
110 |
128 |
QStringList layerIdList = QgsProject::instance()->readListEntry( "Digitizing", "/LayerSnappingList", &layerIdListOk );
|
111 |
129 |
QStringList enabledList = QgsProject::instance()->readListEntry( "Digitizing", "/LayerSnappingEnabledList", &enabledListOk );
|
... | ... | |
135 |
153 |
cbxSnapTo->insertItem( 0, tr( "to vertex" ) );
|
136 |
154 |
cbxSnapTo->insertItem( 1, tr( "to segment" ) );
|
137 |
155 |
cbxSnapTo->insertItem( 2, tr( "to vertex and segment" ) );
|
|
156 |
cbxSnapTo->setCurrentIndex( defaultSnappingStringIdx );
|
138 |
157 |
mLayerTreeWidget->setItemWidget( item, 2, cbxSnapTo );
|
139 |
158 |
|
140 |
159 |
//snapping tolerance
|
141 |
160 |
QLineEdit *leTolerance = new QLineEdit( mLayerTreeWidget );
|
142 |
161 |
QDoubleValidator *validator = new QDoubleValidator( leTolerance );
|
143 |
162 |
leTolerance->setValidator( validator );
|
|
163 |
leTolerance->setText( QString::number( defaultSnapppingTolerance, 'f' ) );
|
144 |
164 |
|
145 |
165 |
mLayerTreeWidget->setItemWidget( item, 3, leTolerance );
|
146 |
166 |
|
... | ... | |
148 |
168 |
QComboBox *cbxUnits = new QComboBox( mLayerTreeWidget );
|
149 |
169 |
cbxUnits->insertItem( 0, tr( "map units" ) );
|
150 |
170 |
cbxUnits->insertItem( 1, tr( "pixels" ) );
|
|
171 |
cbxUnits->setCurrentIndex( defaultSnapppingUnit );
|
151 |
172 |
mLayerTreeWidget->setItemWidget( item, 4, cbxUnits );
|
152 |
173 |
|
153 |
174 |
int idx = layerIdList.indexOf( currentVectorLayer->getLayerID() );
|
... | ... | |
158 |
179 |
}
|
159 |
180 |
|
160 |
181 |
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 );
|
162 |
197 |
leTolerance->setText( QString::number( toleranceList[idx].toDouble(), 'f' ) );
|
163 |
198 |
cbxUnits->setCurrentIndex( toleranceUnitList[idx].toInt() );
|
164 |
199 |
}
|