Skip to content

Commit c61daf8

Browse files
committedJun 6, 2016
Don't show scrollbars when embedding a feature form
1 parent bad0d3e commit c61daf8

File tree

4 files changed

+29
-31
lines changed

4 files changed

+29
-31
lines changed
 

‎src/gui/attributetable/qgsdualview.cpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ QgsDualView::QgsDualView( QWidget* parent )
4747
, mLayerCache( nullptr )
4848
, mProgressDlg( nullptr )
4949
, mFeatureSelectionManager( nullptr )
50+
, mAttributeEditorScrollArea( nullptr )
5051
{
5152
setupUi( this );
5253

@@ -83,10 +84,17 @@ void QgsDualView::init( QgsVectorLayer* layer, QgsMapCanvas* mapCanvas, const Qg
8384
mTableView->setModel( mFilterModel );
8485
mFeatureList->setModel( mFeatureListModel );
8586
mAttributeForm = new QgsAttributeForm( layer, QgsFeature(), mEditorContext );
86-
if ( !mAttributeEditorScrollArea->layout() )
87-
mAttributeEditorScrollArea->setLayout( new QGridLayout() );
88-
mAttributeEditorScrollArea->layout()->addWidget( mAttributeForm );
89-
mAttributeEditorScrollArea->setWidget( mAttributeForm );
87+
if ( !context.parentContext() )
88+
{
89+
mAttributeEditorScrollArea = new QScrollArea();
90+
mAttributeEditorScrollArea->setWidgetResizable( true );
91+
mAttributeEditor->layout()->addWidget( mAttributeEditorScrollArea );
92+
mAttributeEditorScrollArea->setWidget( mAttributeForm );
93+
}
94+
else
95+
{
96+
mAttributeEditor->layout()->addWidget( mAttributeForm );
97+
}
9098

9199
mAttributeForm->hideButtonBox();
92100

‎src/gui/attributetable/qgsdualview.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class QgsAttributeForm;
3131
class QgsFeatureRequest;
3232
class QSignalMapper;
3333
class QgsMapLayerAction;
34+
class QScrollArea;
3435

3536
/**
3637
* This widget is used to show the attributes of a set of features of a {@link QgsVectorLayer}.
@@ -333,6 +334,7 @@ class GUI_EXPORT QgsDualView : public QStackedWidget, private Ui::QgsDualViewBas
333334
QgsDistanceArea mDistanceArea;
334335
QString mDisplayExpression;
335336
QgsAttributeTableConfig mConfig;
337+
QScrollArea* mAttributeEditorScrollArea;
336338

337339
friend class TestQgsDualView;
338340
};

‎src/gui/qgsattributeform.cpp

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,15 +1137,21 @@ void QgsAttributeForm::init()
11371137
QGridLayout* gridLayout = new QGridLayout( formWidget );
11381138
formWidget->setLayout( gridLayout );
11391139

1140-
// put the form into a scroll area to nicely handle cases with lots of attributes
1141-
1142-
QScrollArea* scrollArea = new QScrollArea( this );
1143-
scrollArea->setWidget( formWidget );
1144-
scrollArea->setWidgetResizable( true );
1145-
scrollArea->setFrameShape( QFrame::NoFrame );
1146-
scrollArea->setFrameShadow( QFrame::Plain );
1147-
scrollArea->setFocusProxy( this );
1148-
layout->addWidget( scrollArea );
1140+
if ( mContext.formMode() != QgsAttributeEditorContext::Embed )
1141+
{
1142+
// put the form into a scroll area to nicely handle cases with lots of attributes
1143+
QScrollArea* scrollArea = new QScrollArea( this );
1144+
scrollArea->setWidget( formWidget );
1145+
scrollArea->setWidgetResizable( true );
1146+
scrollArea->setFrameShape( QFrame::NoFrame );
1147+
scrollArea->setFrameShadow( QFrame::Plain );
1148+
scrollArea->setFocusProxy( this );
1149+
layout->addWidget( scrollArea );
1150+
}
1151+
else
1152+
{
1153+
layout->addWidget( formWidget );
1154+
}
11491155

11501156
int row = 0;
11511157
Q_FOREACH ( const QgsField& field, mLayer->fields().toList() )

‎src/ui/qgsdualviewbase.ui

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -148,24 +148,6 @@
148148
<property name="bottomMargin">
149149
<number>0</number>
150150
</property>
151-
<item row="0" column="0">
152-
<widget class="QScrollArea" name="mAttributeEditorScrollArea">
153-
<property name="widgetResizable">
154-
<bool>true</bool>
155-
</property>
156-
<widget class="QWidget" name="mAttributeEditorLayout">
157-
<property name="geometry">
158-
<rect>
159-
<x>0</x>
160-
<y>0</y>
161-
<width>229</width>
162-
<height>503</height>
163-
</rect>
164-
</property>
165-
<layout class="QGridLayout" name="gridLayout_4"/>
166-
</widget>
167-
</widget>
168-
</item>
169151
</layout>
170152
</widget>
171153
</widget>

0 commit comments

Comments
 (0)