@@ -581,17 +581,17 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
581581 mSimplifyDrawingAtProvider ->setChecked ( !mSettings ->value ( QStringLiteral ( " /qgis/simplifyLocal" ), true ).toBool () );
582582
583583 // segmentation tolerance type
584- mToleranceTypeComboBox ->addItem ( tr ( " Maximum angle" ), 0 );
585- mToleranceTypeComboBox ->addItem ( tr ( " Maximum difference" ), 1 );
586- int toleranceType = mSettings ->value ( QStringLiteral ( " /qgis/segmentationToleranceType" ), " 0 " ). toInt ( );
584+ mToleranceTypeComboBox ->addItem ( tr ( " Maximum angle" ), QgsAbstractGeometry::MaximumAngle );
585+ mToleranceTypeComboBox ->addItem ( tr ( " Maximum difference" ), QgsAbstractGeometry::MaximumDifference );
586+ QgsAbstractGeometry::SegmentationToleranceType toleranceType = mSettings ->enumValue ( QStringLiteral ( " /qgis/segmentationToleranceType" ), QgsAbstractGeometry::MaximumAngle );
587587 int toleranceTypeIndex = mToleranceTypeComboBox ->findData ( toleranceType );
588588 if ( toleranceTypeIndex != -1 )
589589 {
590590 mToleranceTypeComboBox ->setCurrentIndex ( toleranceTypeIndex );
591591 }
592592
593593 double tolerance = mSettings ->value ( QStringLiteral ( " /qgis/segmentationTolerance" ), " 0.01745" ).toDouble ();
594- if ( toleranceType == 0 )
594+ if ( toleranceType == QgsAbstractGeometry::MaximumAngle )
595595 {
596596 tolerance = tolerance * 180.0 / M_PI; // value shown to the user is degree, not rad
597597 }
@@ -616,7 +616,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
616616 mSimplifyAlgorithmComboBox ->addItem ( tr ( " Distance" ), ( int )QgsVectorSimplifyMethod::Distance );
617617 mSimplifyAlgorithmComboBox ->addItem ( tr ( " SnapToGrid" ), ( int )QgsVectorSimplifyMethod::SnapToGrid );
618618 mSimplifyAlgorithmComboBox ->addItem ( tr ( " Visvalingam" ), ( int )QgsVectorSimplifyMethod::Visvalingam );
619- mSimplifyAlgorithmComboBox ->setCurrentIndex ( mSimplifyAlgorithmComboBox ->findData ( mSettings ->value ( QStringLiteral ( " /qgis/simplifyAlgorithm" ), 0 ). toInt ( ) ) );
619+ mSimplifyAlgorithmComboBox ->setCurrentIndex ( mSimplifyAlgorithmComboBox ->findData ( mSettings ->enumValue ( QStringLiteral ( " /qgis/simplifyAlgorithm" ), QgsVectorSimplifyMethod::NoSimplification ) ) );
620620
621621 // Slightly awkard here at the settings value is true to use QImage,
622622 // but the checkbox is true to use QPixmap
@@ -633,7 +633,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
633633 mComboCopyFeatureFormat ->addItem ( tr ( " Plain text, no geometry" ), QgsClipboard::AttributesOnly );
634634 mComboCopyFeatureFormat ->addItem ( tr ( " Plain text, WKT geometry" ), QgsClipboard::AttributesWithWKT );
635635 mComboCopyFeatureFormat ->addItem ( tr ( " GeoJSON" ), QgsClipboard::GeoJSON );
636- mComboCopyFeatureFormat ->setCurrentIndex ( mComboCopyFeatureFormat ->findData ( mSettings ->value ( QStringLiteral ( " /qgis/copyFeatureFormat" ), QgsClipboard::AttributesWithWKT ) ) );
636+ mComboCopyFeatureFormat ->setCurrentIndex ( mComboCopyFeatureFormat ->findData ( mSettings ->enumValue ( QStringLiteral ( " /qgis/copyFeatureFormat" ), QgsClipboard::AttributesWithWKT ) ) );
637637 leNullValue->setText ( QgsApplication::nullRepresentation () );
638638 cbxIgnoreShapeEncoding->setChecked ( mSettings ->value ( QStringLiteral ( " /qgis/ignoreShapeEncoding" ), true ).toBool () );
639639
@@ -948,7 +948,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
948948 mDefaultSnapModeComboBox ->addItem ( tr ( " Vertex" ), QgsSnappingConfig::Vertex );
949949 mDefaultSnapModeComboBox ->addItem ( tr ( " Vertex and segment" ), QgsSnappingConfig::VertexAndSegment );
950950 mDefaultSnapModeComboBox ->addItem ( tr ( " Segment" ), QgsSnappingConfig::Segment );
951- mDefaultSnapModeComboBox ->setCurrentIndex ( mDefaultSnapModeComboBox ->findData ( mSettings ->value ( QStringLiteral ( " /qgis/digitizing/default_snap_type" ), QgsSnappingConfig::Vertex ). toInt ( ) ) );
951+ mDefaultSnapModeComboBox ->setCurrentIndex ( mDefaultSnapModeComboBox ->findData ( mSettings ->enumValue ( QStringLiteral ( " /qgis/digitizing/default_snap_type" ), QgsSnappingConfig::Vertex ) ) );
952952 mDefaultSnappingToleranceSpinBox ->setValue ( mSettings ->value ( QStringLiteral ( " /qgis/digitizing/default_snapping_tolerance" ), Qgis::DEFAULT_SNAP_TOLERANCE ).toDouble () );
953953 mSearchRadiusVertexEditSpinBox ->setValue ( mSettings ->value ( QStringLiteral ( " /qgis/digitizing/search_radius_vertex_edit" ), 10 ).toDouble () );
954954 QgsTolerance::UnitType defSnapUnits = mSettings ->enumValue ( QStringLiteral ( " /qgis/digitizing/default_snapping_tolerance_unit" ), Qgis::DEFAULT_SNAP_UNITS );
@@ -961,7 +961,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
961961 index = mDefaultSnappingToleranceComboBox ->findText ( tr ( " pixels" ) );
962962 }
963963 mDefaultSnappingToleranceComboBox ->setCurrentIndex ( index );
964- int defRadiusUnits = mSettings ->value ( QStringLiteral ( " /qgis/digitizing/search_radius_vertex_edit_unit" ), QgsTolerance::Pixels ). toInt ( );
964+ QgsTolerance::UnitType defRadiusUnits = mSettings ->enumValue ( QStringLiteral ( " /qgis/digitizing/search_radius_vertex_edit_unit" ), QgsTolerance::Pixels );
965965 if ( defRadiusUnits == QgsTolerance::ProjectUnits || defRadiusUnits == QgsTolerance::LayerUnits )
966966 {
967967 index = mSearchRadiusVertexEditComboBox ->findText ( tr ( " map units" ) );
@@ -974,7 +974,6 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
974974
975975 mSnappingMarkerColorButton ->setColor ( mSettings ->value ( QStringLiteral ( " /qgis/digitizing/snap_color" ), QColor ( Qt::magenta ) ).value <QColor>() );
976976 mSnappingTooltipsCheckbox ->setChecked ( mSettings ->value ( QStringLiteral ( " /qgis/digitizing/snap_tooltip" ), false ).toBool () );
977- mEnableSnappingOnInvisibleFeatureCheckbox ->setChecked ( mSettings ->value ( QStringLiteral ( " /qgis/digitizing/snap_invisible_feature" ), false ).toBool () );
978977
979978 // vertex marker
980979 mMarkersOnlyForSelectedCheckBox ->setChecked ( mSettings ->value ( QStringLiteral ( " /qgis/digitizing/marker_only_for_selected" ), true ).toBool () );
@@ -1012,10 +1011,10 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
10121011 mSnappingMainDialogComboBox ->addItem ( tr ( " Dock" ), " dock" );
10131012 mSnappingMainDialogComboBox ->setCurrentIndex ( mSnappingMainDialogComboBox ->findData ( mSettings ->value ( QStringLiteral ( " /qgis/mainSnappingWidgetMode" ), " dialog" ).toString () ) );
10141013
1015- mOffsetJoinStyleComboBox ->addItem ( tr ( " Round" ), 0 );
1016- mOffsetJoinStyleComboBox ->addItem ( tr ( " Miter" ), 1 );
1017- mOffsetJoinStyleComboBox ->addItem ( tr ( " Bevel" ), 2 );
1018- mOffsetJoinStyleComboBox ->setCurrentIndex ( mSettings ->value ( QStringLiteral ( " /qgis/digitizing/offset_join_style" ), QgsGeometry::JoinStyleRound ). toInt ( ) );
1014+ mOffsetJoinStyleComboBox ->addItem ( tr ( " Round" ), QgsGeometry::JoinStyleRound );
1015+ mOffsetJoinStyleComboBox ->addItem ( tr ( " Miter" ), QgsGeometry::JoinStyleMiter );
1016+ mOffsetJoinStyleComboBox ->addItem ( tr ( " Bevel" ), QgsGeometry::JoinStyleBevel );
1017+ mOffsetJoinStyleComboBox ->setCurrentIndex ( ( int ) mSettings ->enumValue ( QStringLiteral ( " /qgis/digitizing/offset_join_style" ), QgsGeometry::JoinStyleRound ) );
10191018 mOffsetQuadSegSpinBox ->setValue ( mSettings ->value ( QStringLiteral ( " /qgis/digitizing/offset_quad_seg" ), 8 ).toInt () );
10201019 mCurveOffsetMiterLimitComboBox ->setValue ( mSettings ->value ( QStringLiteral ( " /qgis/digitizing/offset_miter_limit" ), 5.0 ).toDouble () );
10211020
@@ -1314,7 +1313,7 @@ void QgsOptions::saveOptions()
13141313 mSettings ->setValue ( QStringLiteral ( " /qgis/dataSourceManagerNonModal" ), mDataSourceManagerNonModal ->isChecked () );
13151314 mSettings ->setValue ( QStringLiteral ( " /qgis/checkVersion" ), cbxCheckVersion->isChecked () );
13161315 mSettings ->setValue ( QStringLiteral ( " /qgis/dockAttributeTable" ), cbxAttributeTableDocked->isChecked () );
1317- mSettings ->setValue ( QStringLiteral ( " /qgis/attributeTableBehavior" ), cmbAttrTableBehavior->currentData () );
1316+ mSettings ->setEnumValue ( QStringLiteral ( " /qgis/attributeTableBehavior" ), ( QgsAttributeTableFilterModel::FilterMode ) cmbAttrTableBehavior->currentData (). toInt () );
13181317 mSettings ->setValue ( QStringLiteral ( " /qgis/attributeTableView" ), mAttrTableViewComboBox ->currentData () );
13191318 mSettings ->setValue ( QStringLiteral ( " /qgis/attributeTableRowCache" ), spinBoxAttrTableRowCache->value () );
13201319 mSettings ->setValue ( QStringLiteral ( " /qgis/promptForRasterSublayers" ), cmbPromptRasterSublayers->currentIndex () );
@@ -1330,7 +1329,7 @@ void QgsOptions::saveOptions()
13301329 mSettings ->setValue ( QStringLiteral ( " /qgis/compileExpressions" ), cbxCompileExpressions->isChecked () );
13311330 mSettings ->setValue ( QStringLiteral ( " /qgis/defaultLegendGraphicResolution" ), mLegendGraphicResolutionSpinBox ->value () );
13321331 mSettings ->setValue ( QStringLiteral ( " /qgis/mapTipsDelay" ), mMapTipsDelaySpinBox ->value () );
1333- mSettings ->setValue ( QStringLiteral ( " /qgis/copyFeatureFormat" ), mComboCopyFeatureFormat ->currentData ().toInt () );
1332+ mSettings ->setEnumValue ( QStringLiteral ( " /qgis/copyFeatureFormat" ), ( QgsClipboard::CopyFormat ) mComboCopyFeatureFormat ->currentData ().toInt () );
13341333 QgisApp::instance ()->setMapTipsDelay ( mMapTipsDelaySpinBox ->value () );
13351334
13361335 mSettings ->setValue ( QStringLiteral ( " /qgis/new_layers_visible" ), chkAddedVisibility->isChecked () );
@@ -1351,8 +1350,8 @@ void QgsOptions::saveOptions()
13511350 simplifyHints |= QgsVectorSimplifyMethod::GeometrySimplification;
13521351 if ( mSimplifyDrawingSpinBox ->value () > 1 ) simplifyHints |= QgsVectorSimplifyMethod::AntialiasingSimplification;
13531352 }
1354- mSettings ->setValue ( QStringLiteral ( " /qgis/simplifyDrawingHints" ), ( int ) simplifyHints );
1355- mSettings ->setValue ( QStringLiteral ( " /qgis/simplifyAlgorithm" ), mSimplifyAlgorithmComboBox ->currentData ().toInt () );
1353+ mSettings ->setEnumValue ( QStringLiteral ( " /qgis/simplifyDrawingHints" ), simplifyHints );
1354+ mSettings ->setEnumValue ( QStringLiteral ( " /qgis/simplifyAlgorithm" ), ( QgsVectorSimplifyMethod::SimplifyHints ) mSimplifyAlgorithmComboBox ->currentData ().toInt () );
13561355 mSettings ->setValue ( QStringLiteral ( " /qgis/simplifyDrawingTol" ), mSimplifyDrawingSpinBox ->value () );
13571356 mSettings ->setValue ( QStringLiteral ( " /qgis/simplifyLocal" ), !mSimplifyDrawingAtProvider ->isChecked () );
13581357 mSettings ->setValue ( QStringLiteral ( " /qgis/simplifyMaxScale" ), mSimplifyMaximumScaleComboBox ->scale () );
@@ -1361,10 +1360,10 @@ void QgsOptions::saveOptions()
13611360 mSettings ->setValue ( QStringLiteral ( " /qgis/magnifier_factor_default" ), doubleSpinBoxMagnifierDefault->value () / 100 );
13621361
13631362 // curve segmentation
1364- int segmentationType = mToleranceTypeComboBox ->currentData ().toInt ();
1365- mSettings ->setValue ( QStringLiteral ( " /qgis/segmentationToleranceType" ), segmentationType );
1363+ QgsAbstractGeometry::SegmentationToleranceType segmentationType = ( QgsAbstractGeometry::SegmentationToleranceType ) mToleranceTypeComboBox ->currentData ().toInt ();
1364+ mSettings ->setEnumValue ( QStringLiteral ( " /qgis/segmentationToleranceType" ), segmentationType );
13661365 double segmentationTolerance = mSegmentationToleranceSpinBox ->value ();
1367- if ( segmentationType == 0 )
1366+ if ( segmentationType == QgsAbstractGeometry::MaximumAngle )
13681367 {
13691368 segmentationTolerance = segmentationTolerance / 180.0 * M_PI; // user sets angle tolerance in degrees, internal classes need value in rad
13701369 }
@@ -1493,13 +1492,13 @@ void QgsOptions::saveOptions()
14931492
14941493 // default snap mode
14951494 mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/default_snap_enabled" ), mSnappingEnabledDefault ->isChecked () );
1496- mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/default_snap_type" ), mDefaultSnapModeComboBox ->currentData ().toInt () );
1495+ mSettings ->setEnumValue ( QStringLiteral ( " /qgis/digitizing/default_snap_type" ), ( QgsSnappingConfig::SnappingType ) mDefaultSnapModeComboBox ->currentData ().toInt () );
14971496 mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/default_snapping_tolerance" ), mDefaultSnappingToleranceSpinBox ->value () );
14981497 mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/search_radius_vertex_edit" ), mSearchRadiusVertexEditSpinBox ->value () );
1499- mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/default_snapping_tolerance_unit" ),
1500- ( mDefaultSnappingToleranceComboBox ->currentIndex () == 0 ? QgsTolerance::ProjectUnits : QgsTolerance::Pixels ) );
1501- mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/search_radius_vertex_edit_unit" ),
1502- ( mSearchRadiusVertexEditComboBox ->currentIndex () == 0 ? QgsTolerance::ProjectUnits : QgsTolerance::Pixels ) );
1498+ mSettings ->setEnumValue ( QStringLiteral ( " /qgis/digitizing/default_snapping_tolerance_unit" ),
1499+ ( mDefaultSnappingToleranceComboBox ->currentIndex () == 0 ? QgsTolerance::ProjectUnits : QgsTolerance::Pixels ) );
1500+ mSettings ->setEnumValue ( QStringLiteral ( " /qgis/digitizing/search_radius_vertex_edit_unit" ),
1501+ ( mSearchRadiusVertexEditComboBox ->currentIndex () == 0 ? QgsTolerance::ProjectUnits : QgsTolerance::Pixels ) );
15031502
15041503 mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/snap_color" ), mSnappingMarkerColorButton ->color () );
15051504 mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/snap_tooltip" ), mSnappingTooltipsCheckbox ->isChecked () );
@@ -1526,7 +1525,7 @@ void QgsOptions::saveOptions()
15261525 mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/disable_enter_attribute_values_dialog" ), chkDisableAttributeValuesDlg->isChecked () );
15271526 mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/validate_geometries" ), mValidateGeometries ->currentIndex () );
15281527
1529- mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/offset_join_style" ), mOffsetJoinStyleComboBox ->currentData ().toInt () );
1528+ mSettings ->setEnumValue ( QStringLiteral ( " /qgis/digitizing/offset_join_style" ), ( QgsGeometry::JoinStyle ) mOffsetJoinStyleComboBox ->currentData ().toInt () );
15301529 mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/offset_quad_seg" ), mOffsetQuadSegSpinBox ->value () );
15311530 mSettings ->setValue ( QStringLiteral ( " /qgis/digitizing/offset_miter_limit" ), mCurveOffsetMiterLimitComboBox ->value () );
15321531
0 commit comments