Skip to content

Commit

Permalink
migrate setting qgis/simplifyDrawingTol to class (Double, core)
Browse files Browse the repository at this point in the history
  • Loading branch information
3nids committed Jan 26, 2023
1 parent 073b606 commit e7ef4d0
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 11 deletions.
2 changes: 1 addition & 1 deletion python/core/auto_generated/vector/qgsvectorlayer.sip.in
Expand Up @@ -14,6 +14,7 @@




typedef QList<int> QgsAttributeList;
typedef QSet<int> QgsAttributeIds;

Expand Down Expand Up @@ -340,7 +341,6 @@ Provider to display vector data in a GRASS GIS layer.
public:



struct LayerOptions
{

Expand Down
6 changes: 3 additions & 3 deletions src/app/options/qgsvectorrenderingoptions.cpp
Expand Up @@ -35,7 +35,7 @@ QgsVectorRenderingOptionsWidget::QgsVectorRenderingOptionsWidget( QWidget *paren

// Default simplify drawing configuration
mSimplifyDrawingGroupBox->setChecked( settings.enumValue( QStringLiteral( "/qgis/simplifyDrawingHints" ), QgsVectorSimplifyMethod::GeometrySimplification ) != QgsVectorSimplifyMethod::NoSimplification );
mSimplifyDrawingSpinBox->setValue( settings.value( QStringLiteral( "/qgis/simplifyDrawingTol" ), Qgis::DEFAULT_MAPTOPIXEL_THRESHOLD ).toFloat() );
mSimplifyDrawingSpinBox->setValue( QgsVectorLayer::settingsSimplifyDrawingTol.value() );
mSimplifyDrawingAtProvider->setChecked( !settings.value( QStringLiteral( "/qgis/simplifyLocal" ), true ).toBool() );

//segmentation tolerance type
Expand Down Expand Up @@ -65,7 +65,7 @@ QgsVectorRenderingOptionsWidget::QgsVectorRenderingOptionsWidget( QWidget *paren
mSimplifyAlgorithmComboBox->addItem( tr( "Distance" ), static_cast<int>( QgsVectorSimplifyMethod::Distance ) );
mSimplifyAlgorithmComboBox->addItem( tr( "SnapToGrid" ), static_cast<int>( QgsVectorSimplifyMethod::SnapToGrid ) );
mSimplifyAlgorithmComboBox->addItem( tr( "Visvalingam" ), static_cast<int>( QgsVectorSimplifyMethod::Visvalingam ) );
mSimplifyAlgorithmComboBox->setCurrentIndex( mSimplifyAlgorithmComboBox->findData( QgsVectorLayer::settingsSimplifyAlgorithm.valueWithDefaultOverride(mSimplifyMethod.simplifyAlgorithm()) ) );
mSimplifyAlgorithmComboBox->setCurrentIndex( mSimplifyAlgorithmComboBox->findData( QgsVectorLayer::settingsSimplifyAlgorithm.valueWithDefaultOverride( mSimplifyMethod.simplifyAlgorithm() ) ) );

}

Expand All @@ -82,7 +82,7 @@ void QgsVectorRenderingOptionsWidget::apply()
}
settings.setEnumValue( QStringLiteral( "/qgis/simplifyDrawingHints" ), simplifyHints );
settings.setEnumValue( QStringLiteral( "/qgis/simplifyAlgorithm" ), ( QgsVectorSimplifyMethod::SimplifyHints )mSimplifyAlgorithmComboBox->currentData().toInt() );
settings.setValue( QStringLiteral( "/qgis/simplifyDrawingTol" ), mSimplifyDrawingSpinBox->value() );
QgsVectorLayer::settingsSimplifyDrawingTol.setValue( mSimplifyDrawingSpinBox->value() );
settings.setValue( QStringLiteral( "/qgis/simplifyLocal" ), !mSimplifyDrawingAtProvider->isChecked() );
settings.setValue( QStringLiteral( "/qgis/simplifyMaxScale" ), mSimplifyMaximumScaleComboBox->scale() );

Expand Down
12 changes: 7 additions & 5 deletions src/core/vector/qgsvectorlayer.cpp
Expand Up @@ -108,9 +108,11 @@
#include <optional>

#include "qgssettingsentryenumflag.h"
#include "qgssettingsentryimpl.h"

const QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyHint> *class QgsVectorLayerJoinInfo; ::settingsSimplifyDrawingHints = QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyHint>( QStringLiteral( "simplifyDrawingHints" ), QgsSettings::sTreeQgis, QgsVectorSimplifyMethod::SimplifyHint::NoSimplification );
const QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyAlgorithm> *class QgsVectorLayerJoinInfo; ::settingsSimplifyAlgorithm = QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyAlgorithm>( QStringLiteral( "simplifyAlgorithm" ), QgsSettings::sTreeQgis, QgsVectorSimplifyMethod::SimplifyAlgorithm::Distance );
const QgsSettingsEntryDouble *QgsVectorLayer::settingsSimplifyDrawingTol = new QgsSettingsEntryDouble( QStringLiteral( "simplifyDrawingTol" ), QgsSettings::sTreeQgis, Qgis::DEFAULT_MAPTOPIXEL_THRESHOLD );
const QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyHints> *QgsVectorLayer::settingsSimplifyDrawingHints = new QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyHints>( QStringLiteral( "simplifyDrawingHints" ), QgsSettings::sTreeQgis, QgsVectorSimplifyMethod::SimplifyHint::NoSimplification );
const QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyAlgorithm> *QgsVectorLayer::settingsSimplifyAlgorithm = new QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyAlgorithm>( QStringLiteral( "simplifyAlgorithm" ), QgsSettings::sTreeQgis, QgsVectorSimplifyMethod::SimplifyAlgorithm::Distance );


#ifdef TESTPROVIDERLIB
Expand Down Expand Up @@ -231,9 +233,9 @@ QgsVectorLayer::QgsVectorLayer( const QString &vectorLayerPath,

// Default simplify drawing settings
QgsSettings settings;
mSimplifyMethod.setSimplifyHints( QgsVectorLayer::settingsSimplifyDrawingHints.valueWithDefaultOverride( mSimplifyMethod.simplifyHints() ) );
mSimplifyMethod.setSimplifyAlgorithm( QgsVectorLayer::settingsSimplifyAlgorithm.valueWithDefaultOverride( mSimplifyMethod.simplifyAlgorithm() ) );
mSimplifyMethod.setThreshold( settings.value( QStringLiteral( "qgis/simplifyDrawingTol" ), mSimplifyMethod.threshold() ).toFloat() );
mSimplifyMethod.setSimplifyHints( QgsVectorLayer::settingsSimplifyDrawingHints->valueWithDefaultOverride( mSimplifyMethod.simplifyHints() ) );
mSimplifyMethod.setSimplifyAlgorithm( QgsVectorLayer::settingsSimplifyAlgorithm->valueWithDefaultOverride( mSimplifyMethod.simplifyAlgorithm() ) );
mSimplifyMethod.setThreshold( QgsVectorLayer::settingsSimplifyDrawingTol->valueWithDefaultOverride( mSimplifyMethod.threshold() ) );
mSimplifyMethod.setForceLocalOptimization( settings.value( QStringLiteral( "qgis/simplifyLocal" ), mSimplifyMethod.forceLocalOptimization() ).toBool() );
mSimplifyMethod.setMaximumScale( settings.value( QStringLiteral( "qgis/simplifyMaxScale" ), mSimplifyMethod.maximumScale() ).toFloat() );

Expand Down
6 changes: 4 additions & 2 deletions src/core/vector/qgsvectorlayer.h
Expand Up @@ -86,6 +86,8 @@ class QgsVectorLayerElevationProperties;
template<class T>
class QgsSettingsEntryEnumFlag<T>;
#endif
class QgsSettingsEntryDouble;


typedef QList<int> QgsAttributeList;
typedef QSet<int> QgsAttributeIds;
Expand Down Expand Up @@ -404,9 +406,9 @@ class CORE_EXPORT QgsVectorLayer : public QgsMapLayer, public QgsExpressionConte

public:

static const QgsSettingsEntryDouble *settingsSimplifyDrawingTol SIP_SKIP;
static const QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyAlgorithm> *settingsSimplifyAlgorithm SIP_SKIP;

static const QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyHint> *settingsSimplifyDrawingHints SIP_SKIP;
static const QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyHints> *settingsSimplifyDrawingHints SIP_SKIP;

/**
* Setting options for loading vector layers.
Expand Down

0 comments on commit e7ef4d0

Please sign in to comment.