From 7aefaf4c75f5d6c382fe8378a3290e52afe89c1c Mon Sep 17 00:00:00 2001 From: Alessandro Pasotti Date: Mon, 8 Jun 2020 20:42:09 +0200 Subject: [PATCH] Value map: remove hack and fix double parenthesis Followup #36804 --- src/gui/editorwidgets/qgsvaluemapwidgetwrapper.cpp | 6 ++++-- src/gui/editorwidgets/qgsvaluemapwidgetwrapper.h | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/editorwidgets/qgsvaluemapwidgetwrapper.cpp b/src/gui/editorwidgets/qgsvaluemapwidgetwrapper.cpp index ee445ca01139..e1bb6a7e914b 100644 --- a/src/gui/editorwidgets/qgsvaluemapwidgetwrapper.cpp +++ b/src/gui/editorwidgets/qgsvaluemapwidgetwrapper.cpp @@ -32,7 +32,9 @@ QVariant QgsValueMapWidgetWrapper::value() const QVariant v; if ( mComboBox ) + { v = mComboBox->currentData(); + } if ( v == QgsValueMapFieldFormatter::NULL_VALUE ) v = QVariant( field().type() ); @@ -80,7 +82,7 @@ void QgsValueMapWidgetWrapper::updateValues( const QVariant &value, const QVaria if ( mComboBox ) { - if ( mComboBox->findData( v ) == -1 && !( v.startsWith( '(' ) && v.endsWith( ')' ) ) ) + if ( mComboBox->findData( v ) == -1 ) { if ( value.isNull( ) ) { @@ -88,7 +90,7 @@ void QgsValueMapWidgetWrapper::updateValues( const QVariant &value, const QVaria } else { - mComboBox->addItem( v.prepend( '(' ).append( ')' ), v ); + mComboBox->addItem( QString( v ).prepend( '(' ).append( ')' ), v ); } } mComboBox->setCurrentIndex( mComboBox->findData( v ) ); diff --git a/src/gui/editorwidgets/qgsvaluemapwidgetwrapper.h b/src/gui/editorwidgets/qgsvaluemapwidgetwrapper.h index 5a199e1adda5..616fd0d13597 100644 --- a/src/gui/editorwidgets/qgsvaluemapwidgetwrapper.h +++ b/src/gui/editorwidgets/qgsvaluemapwidgetwrapper.h @@ -68,6 +68,7 @@ class GUI_EXPORT QgsValueMapWidgetWrapper : public QgsEditorWidgetWrapper void updateValues( const QVariant &value, const QVariantList & = QVariantList() ) override; QComboBox *mComboBox = nullptr; + }; #endif // QGSVALUEMAPWIDGETWRAPPER_H