mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-10 00:04:23 -04:00
[processing] Allow temporary folder to be temporarily changed through
the algorithm settings panel
This commit is contained in:
parent
fa22256717
commit
9d44782be4
@ -159,6 +159,7 @@ QgsProcessingAlgorithmDialogBase::QgsProcessingAlgorithmDialogBase( QWidget *par
|
|||||||
mGeometryCheck = mContextOptionsWidget->invalidGeometryCheck();
|
mGeometryCheck = mContextOptionsWidget->invalidGeometryCheck();
|
||||||
mDistanceUnits = mContextOptionsWidget->distanceUnit();
|
mDistanceUnits = mContextOptionsWidget->distanceUnit();
|
||||||
mAreaUnits = mContextOptionsWidget->areaUnit();
|
mAreaUnits = mContextOptionsWidget->areaUnit();
|
||||||
|
mTemporaryFolderOverride = mContextOptionsWidget->temporaryFolder();
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -867,6 +868,7 @@ void QgsProcessingAlgorithmDialogBase::applyContextOverrides( QgsProcessingConte
|
|||||||
context->setInvalidGeometryCheck( mGeometryCheck );
|
context->setInvalidGeometryCheck( mGeometryCheck );
|
||||||
context->setDistanceUnit( mDistanceUnits );
|
context->setDistanceUnit( mDistanceUnits );
|
||||||
context->setAreaUnit( mAreaUnits );
|
context->setAreaUnit( mAreaUnits );
|
||||||
|
context->setTemporaryFolder( mTemporaryFolderOverride );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -946,6 +948,10 @@ QgsProcessingContextOptionsWidget::QgsProcessingContextOptionsWidget( QWidget *p
|
|||||||
mComboInvalidFeatureFiltering->addItem( tr( "Skip (Ignore) Features with Invalid Geometries" ), QgsFeatureRequest::GeometrySkipInvalid );
|
mComboInvalidFeatureFiltering->addItem( tr( "Skip (Ignore) Features with Invalid Geometries" ), QgsFeatureRequest::GeometrySkipInvalid );
|
||||||
mComboInvalidFeatureFiltering->addItem( tr( "Stop Algorithm Execution When a Geometry is Invalid" ), QgsFeatureRequest::GeometryAbortOnInvalid );
|
mComboInvalidFeatureFiltering->addItem( tr( "Stop Algorithm Execution When a Geometry is Invalid" ), QgsFeatureRequest::GeometryAbortOnInvalid );
|
||||||
|
|
||||||
|
mTemporaryFolderWidget->setDialogTitle( tr( "Select Temporary Directory" ) );
|
||||||
|
mTemporaryFolderWidget->setStorageMode( QgsFileWidget::GetDirectory );
|
||||||
|
mTemporaryFolderWidget->lineEdit()->setPlaceholderText( tr( "Default" ) );
|
||||||
|
|
||||||
mDistanceUnitsCombo->addItem( tr( "Default" ), QVariant::fromValue( Qgis::DistanceUnit::Unknown ) );
|
mDistanceUnitsCombo->addItem( tr( "Default" ), QVariant::fromValue( Qgis::DistanceUnit::Unknown ) );
|
||||||
for ( Qgis::DistanceUnit unit :
|
for ( Qgis::DistanceUnit unit :
|
||||||
{
|
{
|
||||||
@ -1005,6 +1011,7 @@ QgsProcessingContextOptionsWidget::QgsProcessingContextOptionsWidget( QWidget *p
|
|||||||
connect( mComboInvalidFeatureFiltering, qOverload< int >( &QComboBox::currentIndexChanged ), this, &QgsPanelWidget::widgetChanged );
|
connect( mComboInvalidFeatureFiltering, qOverload< int >( &QComboBox::currentIndexChanged ), this, &QgsPanelWidget::widgetChanged );
|
||||||
connect( mDistanceUnitsCombo, qOverload< int >( &QComboBox::currentIndexChanged ), this, &QgsPanelWidget::widgetChanged );
|
connect( mDistanceUnitsCombo, qOverload< int >( &QComboBox::currentIndexChanged ), this, &QgsPanelWidget::widgetChanged );
|
||||||
connect( mAreaUnitsCombo, qOverload< int >( &QComboBox::currentIndexChanged ), this, &QgsPanelWidget::widgetChanged );
|
connect( mAreaUnitsCombo, qOverload< int >( &QComboBox::currentIndexChanged ), this, &QgsPanelWidget::widgetChanged );
|
||||||
|
connect( mTemporaryFolderWidget, &QgsFileWidget::fileChanged, this, &QgsPanelWidget::widgetChanged );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QgsProcessingContextOptionsWidget::setFromContext( const QgsProcessingContext *context )
|
void QgsProcessingContextOptionsWidget::setFromContext( const QgsProcessingContext *context )
|
||||||
@ -1012,6 +1019,7 @@ void QgsProcessingContextOptionsWidget::setFromContext( const QgsProcessingConte
|
|||||||
whileBlocking( mComboInvalidFeatureFiltering )->setCurrentIndex( mComboInvalidFeatureFiltering->findData( static_cast< int >( context->invalidGeometryCheck() ) ) );
|
whileBlocking( mComboInvalidFeatureFiltering )->setCurrentIndex( mComboInvalidFeatureFiltering->findData( static_cast< int >( context->invalidGeometryCheck() ) ) );
|
||||||
whileBlocking( mDistanceUnitsCombo )->setCurrentIndex( mDistanceUnitsCombo->findData( QVariant::fromValue( context->distanceUnit() ) ) );
|
whileBlocking( mDistanceUnitsCombo )->setCurrentIndex( mDistanceUnitsCombo->findData( QVariant::fromValue( context->distanceUnit() ) ) );
|
||||||
whileBlocking( mAreaUnitsCombo )->setCurrentIndex( mAreaUnitsCombo->findData( QVariant::fromValue( context->areaUnit() ) ) );
|
whileBlocking( mAreaUnitsCombo )->setCurrentIndex( mAreaUnitsCombo->findData( QVariant::fromValue( context->areaUnit() ) ) );
|
||||||
|
whileBlocking( mTemporaryFolderWidget )->setFilePath( context->temporaryFolder() );
|
||||||
}
|
}
|
||||||
|
|
||||||
QgsFeatureRequest::InvalidGeometryCheck QgsProcessingContextOptionsWidget::invalidGeometryCheck() const
|
QgsFeatureRequest::InvalidGeometryCheck QgsProcessingContextOptionsWidget::invalidGeometryCheck() const
|
||||||
@ -1029,4 +1037,9 @@ Qgis::AreaUnit QgsProcessingContextOptionsWidget::areaUnit() const
|
|||||||
return mAreaUnitsCombo->currentData().value< Qgis::AreaUnit >();
|
return mAreaUnitsCombo->currentData().value< Qgis::AreaUnit >();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString QgsProcessingContextOptionsWidget::temporaryFolder()
|
||||||
|
{
|
||||||
|
return mTemporaryFolderWidget->filePath();
|
||||||
|
}
|
||||||
|
|
||||||
///@endcond
|
///@endcond
|
||||||
|
@ -474,6 +474,7 @@ class GUI_EXPORT QgsProcessingAlgorithmDialogBase : public QDialog, public QgsPr
|
|||||||
QgsFeatureRequest::InvalidGeometryCheck mGeometryCheck = QgsFeatureRequest::InvalidGeometryCheck::GeometryAbortOnInvalid;
|
QgsFeatureRequest::InvalidGeometryCheck mGeometryCheck = QgsFeatureRequest::InvalidGeometryCheck::GeometryAbortOnInvalid;
|
||||||
Qgis::DistanceUnit mDistanceUnits = Qgis::DistanceUnit::Unknown;
|
Qgis::DistanceUnit mDistanceUnits = Qgis::DistanceUnit::Unknown;
|
||||||
Qgis::AreaUnit mAreaUnits = Qgis::AreaUnit::Unknown;
|
Qgis::AreaUnit mAreaUnits = Qgis::AreaUnit::Unknown;
|
||||||
|
QString mTemporaryFolderOverride;
|
||||||
|
|
||||||
QString formatHelp( QgsProcessingAlgorithm *algorithm );
|
QString formatHelp( QgsProcessingAlgorithm *algorithm );
|
||||||
void scrollToBottomOfLog();
|
void scrollToBottomOfLog();
|
||||||
@ -558,6 +559,11 @@ class GUI_EXPORT QgsProcessingContextOptionsWidget : public QgsPanelWidget, priv
|
|||||||
*/
|
*/
|
||||||
Qgis::AreaUnit areaUnit() const;
|
Qgis::AreaUnit areaUnit() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the optional temporary folder override location.
|
||||||
|
*/
|
||||||
|
QString temporaryFolder();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>448</width>
|
<width>448</width>
|
||||||
<height>197</height>
|
<height>328</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -43,7 +43,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>448</width>
|
<width>448</width>
|
||||||
<height>197</height>
|
<height>328</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout" columnstretch="0,0">
|
<layout class="QGridLayout" name="gridLayout" columnstretch="0,0">
|
||||||
@ -54,26 +54,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0">
|
|
||||||
<spacer name="verticalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>40</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Invalid feature filtering</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0" colspan="2">
|
<item row="2" column="0" colspan="2">
|
||||||
<widget class="QGroupBox" name="groupBox">
|
<widget class="QGroupBox" name="groupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
@ -103,6 +83,45 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Invalid feature filtering</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0" colspan="2">
|
||||||
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
|
<property name="title">
|
||||||
|
<string>Environment Settings</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Temporary folder</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QgsFileWidget" name="mTemporaryFolderWidget" native="true"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
@ -122,6 +141,12 @@
|
|||||||
<header>qgspanelwidget.h</header>
|
<header>qgspanelwidget.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>QgsFileWidget</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>qgsfilewidget.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user