Skip to content

Commit

Permalink
Resize source select dialogs according to container
Browse files Browse the repository at this point in the history
Fixes #32615

This was tricky and I don't really know what was causing the issue,
but looks like the patch doesn't break the other dialogs (mainly
vector layer properties) that were affected by #31449.

Fixes also an unreported issue with OGR source select inner dialog
not being painted when opening the source manager dialog.
  • Loading branch information
elpaso committed Nov 4, 2019
1 parent 696c407 commit f1e20f2
Show file tree
Hide file tree
Showing 4 changed files with 338 additions and 306 deletions.
2 changes: 2 additions & 0 deletions src/gui/qgsdatasourcemanagerdialog.cpp
Expand Up @@ -200,4 +200,6 @@ void QgsDataSourceManagerDialog::showEvent( QShowEvent *e )
{
ui->mOptionsStackedWidget->currentWidget()->show();
QgsOptionsDialogBase::showEvent( e );
resizeAlltabs( ui->mOptionsStackedWidget->currentIndex() );
}

11 changes: 9 additions & 2 deletions src/gui/qgsoptionsdialogbase.cpp
Expand Up @@ -207,17 +207,24 @@ void QgsOptionsDialogBase::restoreOptionsBaseUi( const QString &title )

void QgsOptionsDialogBase::resizeAlltabs( int index )
{
// Adjust size (GH issue #31449)
// Adjust size (GH issue #31449 and #32615)
// make the stacked widget size to the current page only
for ( int i = 0; i < mOptStackedWidget->count(); ++i )
{
// determine the vertical size policy
// Set the size policy
QSizePolicy::Policy policy = QSizePolicy::Ignored;
if ( i == index )
{
policy = QSizePolicy::MinimumExpanding;
}

// update the size policy
mOptStackedWidget->widget( i )->setSizePolicy( policy, policy );

if ( i == index )
{
mOptStackedWidget->layout()->update();
}
}
mOptStackedWidget->adjustSize();
}
Expand Down
35 changes: 27 additions & 8 deletions src/ui/qgsdatasourcemanagerdialog.ui
Expand Up @@ -51,13 +51,22 @@
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout" stretch="0">
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QListWidget" name="mOptionsListWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<sizepolicy hsizetype="Ignored" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
Expand Down Expand Up @@ -103,7 +112,7 @@
<string>Browser</string>
</property>
<property name="icon">
<iconset resource="../../images/images.qrc">
<iconset>
<normaloff>:/images/themes/default/mActionFileOpen.svg</normaloff>:/images/themes/default/mActionFileOpen.svg</iconset>
</property>
</item>
Expand All @@ -113,7 +122,7 @@
</widget>
<widget class="QFrame" name="mOptionsFrame">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<sizepolicy hsizetype="Ignored" vsizetype="Preferred">
<horstretch>10</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
Expand All @@ -134,7 +143,16 @@
<property name="spacing">
<number>6</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
Expand All @@ -145,6 +163,9 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="currentIndex">
<number>-1</number>
</property>
Expand All @@ -156,8 +177,6 @@
</item>
</layout>
</widget>
<resources>
<include location="../../images/images.qrc"/>
</resources>
<resources/>
<connections/>
</ui>

0 comments on commit f1e20f2

Please sign in to comment.