From c80bae57bef38dc47e6cdedd88ddc56f9125ad04 Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Mon, 23 Jun 2014 08:58:28 +0200 Subject: [PATCH] setExpression returns void --- python/gui/qgsfieldmodel.sip | 3 +-- src/gui/qgsfieldexpressionwidget.cpp | 6 ++++-- src/gui/qgsfieldmodel.cpp | 8 +++----- src/gui/qgsfieldmodel.h | 3 +-- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/python/gui/qgsfieldmodel.sip b/python/gui/qgsfieldmodel.sip index 6c09f66bd39..3d8a721af44 100644 --- a/python/gui/qgsfieldmodel.sip +++ b/python/gui/qgsfieldmodel.sip @@ -36,9 +36,8 @@ class QgsFieldModel : QAbstractItemModel /** * @brief setExpression sets a single expression to be added after the fields at the end of the model - * @return the model index of the newly added expression */ - QModelIndex setExpression( const QString &expression ); + void setExpression( const QString &expression ); //! remove expressions from the model void removeExpression(); diff --git a/src/gui/qgsfieldexpressionwidget.cpp b/src/gui/qgsfieldexpressionwidget.cpp index 6587ba96b30..4c5f8ca5d95 100644 --- a/src/gui/qgsfieldexpressionwidget.cpp +++ b/src/gui/qgsfieldexpressionwidget.cpp @@ -152,7 +152,8 @@ void QgsFieldExpressionWidget::setField( const QString &fieldName ) if ( !idx.isValid() ) { // new expression - idx = mFieldProxyModel->sourceFieldModel()->setExpression( fieldName ); + mFieldProxyModel->sourceFieldModel()->setExpression( fieldName ); + idx = mFieldProxyModel->sourceFieldModel()->indexFromName( fieldName ); } } QModelIndex proxyIndex = mFieldProxyModel->mapFromSource( idx ); @@ -189,7 +190,8 @@ void QgsFieldExpressionWidget::expressionEditingFinished() { QgsDebugMsg( "Editing finsihed" ); const QString expression = mCombo->lineEdit()->text(); - QModelIndex idx = mFieldProxyModel->sourceFieldModel()->setExpression( expression ); + mFieldProxyModel->sourceFieldModel()->setExpression( expression ); + QModelIndex idx = mFieldProxyModel->sourceFieldModel()->indexFromName( expression ); QModelIndex proxyIndex = mFieldProxyModel->mapFromSource( idx ); mCombo->setCurrentIndex( proxyIndex.row() ); currentFieldChanged(); diff --git a/src/gui/qgsfieldmodel.cpp b/src/gui/qgsfieldmodel.cpp index 4f702e2d4e5..2c33ba7d962 100644 --- a/src/gui/qgsfieldmodel.cpp +++ b/src/gui/qgsfieldmodel.cpp @@ -110,20 +110,18 @@ void QgsFieldModel::setAllowExpression( bool allowExpression ) } } -QModelIndex QgsFieldModel::setExpression( const QString &expression ) +void QgsFieldModel::setExpression( const QString &expression ) { if ( !mAllowExpression ) - return QModelIndex(); + return; QModelIndex idx = indexFromName( expression ); if ( idx.isValid() ) - return idx; + return; beginResetModel(); mExpression = QList() << expression; endResetModel(); - - return index( mFields.count() , 0 ); } void QgsFieldModel::removeExpression() diff --git a/src/gui/qgsfieldmodel.h b/src/gui/qgsfieldmodel.h index cc26f189a9c..2e5aa9dccbb 100644 --- a/src/gui/qgsfieldmodel.h +++ b/src/gui/qgsfieldmodel.h @@ -58,9 +58,8 @@ class GUI_EXPORT QgsFieldModel : public QAbstractItemModel /** * @brief setExpression sets a single expression to be added after the fields at the end of the model - * @return the model index of the newly added expression */ - QModelIndex setExpression( const QString &expression ); + void setExpression( const QString &expression ); //! remove expressions from the model void removeExpression();