Skip to content

Commit 443fa8c

Browse files
committedSep 23, 2014
add invalid label inly once
1 parent 0f8fef1 commit 443fa8c

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed
 

‎src/gui/editorwidgets/qgsrelationreferencewidget.cpp

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,16 @@ QgsRelationReferenceWidget::QgsRelationReferenceWidget( QWidget* parent )
127127
mAttributeEditorFrame->setSizePolicy( mAttributeEditorFrame->sizePolicy().horizontalPolicy(), QSizePolicy::Expanding );
128128
mTopLayout->addWidget( mAttributeEditorFrame );
129129

130+
// invalid label
131+
mInvalidLabel = new QLabel( tr( "The relation is not valid. Please make sure your relation definitions are ok." ) );
132+
mInvalidLabel->setWordWrap( true );
133+
QFont font = mInvalidLabel->font();
134+
font.setItalic( true );
135+
mInvalidLabel->setStyleSheet( "QLabel { color: red; } " );
136+
mInvalidLabel->setFont( font );
137+
mTopLayout->addWidget( mInvalidLabel, 1, 0 );
138+
mInvalidLabel->hide();
139+
130140
// default mode is combobox, no geometric relation and no embed form
131141
mLineEdit->hide();
132142
mMapIdentificationButton->hide();
@@ -149,13 +159,14 @@ void QgsRelationReferenceWidget::setRelation( QgsRelation relation, bool allowNu
149159

150160
if ( relation.isValid() )
151161
{
162+
mInvalidLabel->hide();
163+
152164
mRelation = relation;
153165
mReferencingLayer = relation.referencingLayer();
154166
mRelationName = relation.name();
155167
mReferencedLayer = relation.referencedLayer();
156168
mFkeyFieldIdx = mReferencedLayer->fieldNameIndex( relation.fieldPairs().first().second );
157169

158-
159170
QgsAttributeEditorContext context( mEditorContext, relation, QgsAttributeEditorContext::Single, QgsAttributeEditorContext::Embed );
160171

161172
if ( mEmbedForm )
@@ -168,13 +179,7 @@ void QgsRelationReferenceWidget::setRelation( QgsRelation relation, bool allowNu
168179
}
169180
else
170181
{
171-
QLabel* lbl = new QLabel( tr( "The relation is not valid. Please make sure your relation definitions are ok." ) );
172-
lbl->setWordWrap( true );
173-
QFont font = lbl->font();
174-
font.setItalic( true );
175-
lbl->setStyleSheet( "QLabel { color: red; } " );
176-
lbl->setFont( font );
177-
mTopLayout->addWidget( lbl, 1, 0 );
182+
mInvalidLabel->show();
178183
}
179184

180185
if ( mShown && isVisible() )

‎src/gui/editorwidgets/qgsrelationreferencewidget.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ class GUI_EXPORT QgsRelationReferenceWidget : public QWidget
152152
QgsCollapsibleGroupBox* mAttributeEditorFrame;
153153
QVBoxLayout* mAttributeEditorLayout;
154154
QLineEdit* mLineEdit;
155+
QLabel* mInvalidLabel;
155156
};
156157

157158
#endif // QGSRELATIONREFERENCEWIDGET_H

0 commit comments

Comments
 (0)
Please sign in to comment.