qgssnappingdialog.diff

cmoe -, 2010-11-16 06:13 AM

Download (2.94 KB)

View differences:

src/app/qgssnappingdialog.cpp (Arbeitskopie)
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
  }