Skip to content

Commit a843038

Browse files
committedJun 23, 2014
Merge pull request #1480 from 3nids/fixew
small expression widget changes
2 parents daefe3e + 4c199ff commit a843038

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed
 

‎python/gui/qgsfieldmodel.sip

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,8 @@ class QgsFieldModel : QAbstractItemModel
3636

3737
/**
3838
* @brief setExpression sets a single expression to be added after the fields at the end of the model
39-
* @return the model index of the newly added expression
4039
*/
41-
QModelIndex setExpression( const QString &expression );
40+
void setExpression( const QString &expression );
4241

4342
//! remove expressions from the model
4443
void removeExpression();

‎src/gui/qgsfieldexpressionwidget.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ void QgsFieldExpressionWidget::setField( const QString &fieldName )
152152
if ( !idx.isValid() )
153153
{
154154
// new expression
155-
idx = mFieldProxyModel->sourceFieldModel()->setExpression( fieldName );
155+
mFieldProxyModel->sourceFieldModel()->setExpression( fieldName );
156+
idx = mFieldProxyModel->sourceFieldModel()->indexFromName( fieldName );
156157
}
157158
}
158159
QModelIndex proxyIndex = mFieldProxyModel->mapFromSource( idx );
@@ -189,7 +190,8 @@ void QgsFieldExpressionWidget::expressionEditingFinished()
189190
{
190191
QgsDebugMsg( "Editing finsihed" );
191192
const QString expression = mCombo->lineEdit()->text();
192-
QModelIndex idx = mFieldProxyModel->sourceFieldModel()->setExpression( expression );
193+
mFieldProxyModel->sourceFieldModel()->setExpression( expression );
194+
QModelIndex idx = mFieldProxyModel->sourceFieldModel()->indexFromName( expression );
193195
QModelIndex proxyIndex = mFieldProxyModel->mapFromSource( idx );
194196
mCombo->setCurrentIndex( proxyIndex.row() );
195197
currentFieldChanged();

‎src/gui/qgsfieldmodel.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,20 +110,20 @@ void QgsFieldModel::setAllowExpression( bool allowExpression )
110110
}
111111
}
112112

113-
QModelIndex QgsFieldModel::setExpression( const QString &expression )
113+
void QgsFieldModel::setExpression( const QString &expression )
114114
{
115115
if ( !mAllowExpression )
116-
return QModelIndex();
116+
return;
117117

118118
QModelIndex idx = indexFromName( expression );
119119
if ( idx.isValid() )
120-
return idx;
120+
return;
121121

122122
beginResetModel();
123-
mExpression = QList<QString>() << expression;
123+
mExpression = QList<QString>();
124+
if ( !expression.isEmpty() )
125+
mExpression << expression;
124126
endResetModel();
125-
126-
return index( mFields.count() , 0 );
127127
}
128128

129129
void QgsFieldModel::removeExpression()

‎src/gui/qgsfieldmodel.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,8 @@ class GUI_EXPORT QgsFieldModel : public QAbstractItemModel
5858

5959
/**
6060
* @brief setExpression sets a single expression to be added after the fields at the end of the model
61-
* @return the model index of the newly added expression
6261
*/
63-
QModelIndex setExpression( const QString &expression );
62+
void setExpression( const QString &expression );
6463

6564
//! remove expressions from the model
6665
void removeExpression();

0 commit comments

Comments
 (0)
Please sign in to comment.