From 8f37bba3964570fe64f4e0322052dc175134598f Mon Sep 17 00:00:00 2001 From: Harrissou Sant-anna Date: Thu, 14 Oct 2021 17:19:55 +0200 Subject: [PATCH] Use a checkbox to create virtual mesh in mesh calculator (#45492) --- src/app/mesh/qgsmeshcalculatordialog.cpp | 16 +++++---- src/app/mesh/qgsmeshcalculatordialog.h | 4 +-- src/ui/mesh/qgsmeshcalculatordialogbase.ui | 42 ++++++++-------------- 3 files changed, 26 insertions(+), 36 deletions(-) diff --git a/src/app/mesh/qgsmeshcalculatordialog.cpp b/src/app/mesh/qgsmeshcalculatordialog.cpp index 19dc7be8718d..94b360b8b98d 100644 --- a/src/app/mesh/qgsmeshcalculatordialog.cpp +++ b/src/app/mesh/qgsmeshcalculatordialog.cpp @@ -116,8 +116,8 @@ QgsMeshCalculatorDialog::QgsMeshCalculatorDialog( QgsMeshLayer *meshLayer, QWidg onOutputFormatChange(); connect( mOutputDatasetFileWidget, &QgsFileWidget::fileChanged, this, &QgsMeshCalculatorDialog::updateInfoMessage ); - connect( mOutputOnFileRadioButton, &QRadioButton::toggled, this, &QgsMeshCalculatorDialog::onOutputRadioButtonChange ); - onOutputRadioButtonChange(); + connect( mUseVirtualProviderCheckBox, &QCheckBox::clicked, this, &QgsMeshCalculatorDialog::onVirtualCheckboxChange ); + onVirtualCheckboxChange(); } QgsMeshCalculatorDialog::~QgsMeshCalculatorDialog() = default; @@ -204,7 +204,7 @@ std::unique_ptr QgsMeshCalculatorDialog::calculator() const std::unique_ptr calc; QgsMeshDatasetGroup::Type destination = QgsMeshDatasetGroup::Persistent; - if ( mOutputVirtualRadioButton->isChecked() ) + if ( mUseVirtualProviderCheckBox->isChecked() ) destination = QgsMeshDatasetGroup::Virtual; switch ( destination ) @@ -304,7 +304,7 @@ void QgsMeshCalculatorDialog::updateInfoMessage() const bool expressionValid = result == QgsMeshCalculator::Success; // selected driver is appropriate - const bool notInFile = !mOutputOnFileRadioButton->isChecked(); + const bool notInFile = mUseVirtualProviderCheckBox->isChecked(); bool driverValid = false; if ( expressionValid ) { @@ -354,10 +354,12 @@ void QgsMeshCalculatorDialog::updateInfoMessage() } } -void QgsMeshCalculatorDialog::onOutputRadioButtonChange() +void QgsMeshCalculatorDialog::onVirtualCheckboxChange() { - mOutputDatasetFileWidget->setEnabled( mOutputOnFileRadioButton->isChecked() ); - mOutputFormatComboBox->setEnabled( mOutputOnFileRadioButton->isChecked() ); + mOutputDatasetFileWidget->setVisible( !mUseVirtualProviderCheckBox->isChecked() ); + mOutputDatasetFileLabel->setVisible( !mUseVirtualProviderCheckBox->isChecked() ); + mOutputFormatComboBox->setVisible( !mUseVirtualProviderCheckBox->isChecked() ); + mOutputFormatLabel->setVisible( !mUseVirtualProviderCheckBox->isChecked() ); updateInfoMessage(); } diff --git a/src/app/mesh/qgsmeshcalculatordialog.h b/src/app/mesh/qgsmeshcalculatordialog.h index 829cad0c4c2b..c26e9a66a781 100644 --- a/src/app/mesh/qgsmeshcalculatordialog.h +++ b/src/app/mesh/qgsmeshcalculatordialog.h @@ -20,7 +20,6 @@ #include "ui_qgsmeshcalculatordialogbase.h" #include "qgsmeshcalculator.h" -#include "qgshelp.h" #include "qgis_app.h" //! A dialog to enter a mesh calculation expression @@ -47,7 +46,8 @@ class APP_EXPORT QgsMeshCalculatorDialog: public QDialog, private Ui::QgsMeshCal void mAllTimesButton_clicked(); void toggleExtendMask(); void updateInfoMessage(); - void onOutputRadioButtonChange(); + //! Disables some options that are not required if using Virtual Provider + void onVirtualCheckboxChange(); void onOutputFormatChange(); //calculator buttons diff --git a/src/ui/mesh/qgsmeshcalculatordialogbase.ui b/src/ui/mesh/qgsmeshcalculatordialogbase.ui index 6939822e9722..d34ce7051df6 100644 --- a/src/ui/mesh/qgsmeshcalculatordialogbase.ui +++ b/src/ui/mesh/qgsmeshcalculatordialogbase.ui @@ -40,6 +40,19 @@ + + + + Qt::LeftToRight + + + Create on-the-fly mesh instead of writing layer to disk + + + false + + + @@ -54,41 +67,17 @@ - - - - On file - - - true - - - - - - - Output dataset - - - - - - - Virtual - - - - + Output file @@ -685,8 +674,7 @@ mDatasetsListWidget - mOutputOnFileRadioButton - mOutputVirtualRadioButton + mUseVirtualProviderCheckBox mOutputFormatComboBox mOutputGroupNameLineEdit useExtentCb