Skip to content

Commit

Permalink
Store more geometry checker settings
Browse files Browse the repository at this point in the history
  • Loading branch information
uclaros authored and nyalldawson committed Oct 6, 2021
1 parent e4b0c0f commit 7c8e87d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 5 deletions.
8 changes: 6 additions & 2 deletions src/plugins/geometry_checker/qgsgeometrycheckerresulttab.cpp
Expand Up @@ -222,8 +222,10 @@ void QgsGeometryCheckerResultTab::updateError( QgsGeometryCheckError *error, boo

void QgsGeometryCheckerResultTab::exportErrors()
{
QString initialdir;
QDir dir = QFileInfo( mChecker->featurePools().first()->layer()->dataProvider()->dataSourceUri() ).dir();
QString initialdir = QgsSettings().value( "/geometry_checker/previous_values/exportDirectory", "" ).toString();
QDir dir = QDir( initialdir );
if ( !dir.exists() )
dir = QFileInfo( mChecker->featurePools().first()->layer()->dataProvider()->dataSourceUri() ).dir();
if ( dir.exists() )
{
initialdir = dir.absolutePath();
Expand All @@ -236,6 +238,8 @@ void QgsGeometryCheckerResultTab::exportErrors()
return;
}

dir = QFileInfo( file ).dir();
QgsSettings().setValue( "/geometry_checker/previous_values/exportDirectory", dir.absolutePath() );
file = QgsFileUtils::addExtensionFromFilter( file, selectedFilter );
if ( !exportErrorsDo( file ) )
{
Expand Down
17 changes: 14 additions & 3 deletions src/plugins/geometry_checker/qgsgeometrycheckersetuptab.cpp
Expand Up @@ -64,8 +64,6 @@ QgsGeometryCheckerSetupTab::QgsGeometryCheckerSetupTab( QgisInterface *iface, QD
}
ui.listWidgetInputLayers->setIconSize( QSize( 16, 16 ) );

ui.lineEditFilenamePrefix->setText( QSettings().value( "/geometry_checker/previous_values/filename_prefix", tr( "checked_" ) ).toString() );

connect( mRunButton, &QAbstractButton::clicked, this, &QgsGeometryCheckerSetupTab::runChecks );
connect( ui.listWidgetInputLayers, &QListWidget::itemChanged, this, &QgsGeometryCheckerSetupTab::validateInput );
connect( QgsProject::instance(), &QgsProject::layersAdded, this, &QgsGeometryCheckerSetupTab::updateLayers );
Expand All @@ -81,6 +79,17 @@ QgsGeometryCheckerSetupTab::QgsGeometryCheckerSetupTab( QgisInterface *iface, QD
connect( ui.checkLineLayerIntersection, &QAbstractButton::toggled, ui.comboLineLayerIntersection, &QComboBox::setEnabled );
connect( ui.checkBoxFollowBoundaries, &QAbstractButton::toggled, ui.comboBoxFollowBoundaries, &QComboBox::setEnabled );

ui.lineEditFilenamePrefix->setText( QgsSettings().value( "/geometry_checker/previous_values/filename_prefix", tr( "checked_" ) ).toString() );
ui.spinBoxTolerance->setValue( QgsSettings().value( "/geometry_checker/previous_values/toleranceDigits", 8 ).toInt() );
if ( QgsSettings().value( "/geometry_checker/previous_values/createNewLayers", true ).toBool() )
{
ui.radioButtonOutputNew->setChecked( true );
}
else
{
ui.radioButtonOutputModifyInput->setChecked( true );
}

for ( const QgsGeometryCheckFactory *factory : QgsGeometryCheckFactoryRegistry::getCheckFactories() )
{
factory->restorePrevious( ui );
Expand Down Expand Up @@ -260,6 +269,8 @@ void QgsGeometryCheckerSetupTab::selectOutputDirectory()

void QgsGeometryCheckerSetupTab::runChecks()
{
QgsSettings().setValue( "/geometry_checker/previous_values/createNewLayers", ui.radioButtonOutputNew->isChecked() );
QgsSettings().setValue( "/geometry_checker/previous_values/toleranceDigits", ui.spinBoxTolerance->value() );
// Get selected layer
const QList<QgsVectorLayer *> layers = getSelectedLayers();
if ( layers.isEmpty() )
Expand Down Expand Up @@ -320,7 +331,7 @@ void QgsGeometryCheckerSetupTab::runChecks()

// List over input layers, check which existing project layers need to be removed and create output layers
QString filenamePrefix = ui.lineEditFilenamePrefix->text();
QSettings().setValue( "/geometry_checker/previous_values/filename_prefix", filenamePrefix );
QgsSettings().setValue( "/geometry_checker/previous_values/filename_prefix", filenamePrefix );
QStringList toRemove;
QStringList createErrors;
for ( QgsVectorLayer *layer : layers )
Expand Down

0 comments on commit 7c8e87d

Please sign in to comment.