mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-16 00:05:45 -04:00
Fixes #54141 : increase expression widget text size for long expressions
This commit is contained in:
parent
8b4b87f639
commit
044809cd46
@ -190,6 +190,11 @@ void QgsFieldExpressionWidget::setField( const QString &fieldName )
|
||||
return;
|
||||
}
|
||||
|
||||
if ( fieldName.size() > mCombo->lineEdit()->maxLength() )
|
||||
{
|
||||
mCombo->lineEdit()->setMaxLength( fieldName.size() );
|
||||
}
|
||||
|
||||
QModelIndex idx = mFieldProxyModel->sourceFieldModel()->indexFromName( fieldName );
|
||||
if ( !idx.isValid() )
|
||||
{
|
||||
|
@ -49,6 +49,7 @@ class TestQgsFieldExpressionWidget : public QObject
|
||||
void testIsValid();
|
||||
void testFilters();
|
||||
void setNull();
|
||||
void testVeryLongExpression();
|
||||
|
||||
private:
|
||||
QgsFieldExpressionWidget *mWidget = nullptr;
|
||||
@ -372,5 +373,19 @@ void TestQgsFieldExpressionWidget::setNull()
|
||||
QgsProject::instance()->removeMapLayer( layer );
|
||||
}
|
||||
|
||||
void TestQgsFieldExpressionWidget::testVeryLongExpression()
|
||||
{
|
||||
QString veryLongExpression;
|
||||
for ( int i = 0; i < 32770; i++ )
|
||||
{
|
||||
veryLongExpression += "a";
|
||||
}
|
||||
|
||||
mWidget->setExpression( veryLongExpression );
|
||||
QCOMPARE( veryLongExpression.size(), mWidget->currentText().size() );
|
||||
};
|
||||
|
||||
|
||||
|
||||
QGSTEST_MAIN( TestQgsFieldExpressionWidget )
|
||||
#include "testqgsfieldexpressionwidget.moc"
|
||||
|
Loading…
x
Reference in New Issue
Block a user