17 #include <QPushButton> 
   22   , mExistingLabels( existingLabels )
 
   27   connect( buttonBox, &QDialogButtonBox::accepted, 
this, &QgsExpressionStoreDialog::accept );
 
   28   connect( buttonBox, &QDialogButtonBox::rejected, 
this, &QgsExpressionStoreDialog::reject );
 
   29   mValidationError->hide();
 
   30   mValidationError->setStyleSheet( QStringLiteral( 
"QLabel { color : red; }" ) );
 
   31   QPushButton *saveBtn { buttonBox->button( QDialogButtonBox::StandardButton::Save ) };
 
   32   saveBtn->setEnabled( 
false );
 
   33   connect( mLabel, &QLineEdit::textChanged, 
this, [ = ]( 
const QString & text )
 
   36     if ( mExistingLabels.contains( text ) )
 
   38       errorMessage = tr( 
"A stored expression with this name already exists" );
 
   40     else if ( text.contains( 
'/' ) || text.contains( 
'\\' ) )
 
   42       errorMessage = tr( 
"Labels cannot contain slashes (/ or \\)" );
 
   44     if ( ! errorMessage.isEmpty() )
 
   46       mValidationError->show();
 
   47       mValidationError->setText( errorMessage );
 
   48       saveBtn->setEnabled( false );
 
   52       mValidationError->hide();
 
   53       saveBtn->setEnabled( true );
 
   57   QString labelFixed { 
label };
 
   58   labelFixed.remove( 
'/' ).remove( 
'\\' );
 
   59   mLabel->setText( labelFixed );
 
   67   return mHelpText->toHtml().replace( 
"<meta name=\"qrichtext\" content=\"1\" />", QString() );
 
QString label()
Returns the label text.
QString expression()
Returns the expression text.
QgsExpressionStoreDialog(const QString &label, const QString &expression, const QString &helpText, const QStringList &existingLabels=QStringList(), QWidget *parent=nullptr)
Creates a QgsExpressionStoreDialog with given label, expression and helpText.
QString helpText() const
Returns the help text.