Skip to content

Commit 8c5938a

Browse files
committedAug 22, 2018
[layouts] Add search filter box to 'add layer to legend' dialog
Helps with finding specific layers in large projects
1 parent 16b58b9 commit 8c5938a

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed
 

‎src/app/layout/qgslayoutlegendlayersdialog.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,17 @@ QgsLayoutLegendLayersDialog::QgsLayoutLegendLayersDialog( QWidget *parent )
2727
QgsSettings settings;
2828
restoreGeometry( settings.value( QStringLiteral( "Windows/LayoutLegendLayers/geometry" ) ).toByteArray() );
2929

30+
mFilterLineEdit->setShowClearButton( true );
31+
mFilterLineEdit->setShowSearchIcon( true );
32+
3033
mModel = new QgsMapLayerProxyModel( listMapLayers );
3134
listMapLayers->setModel( mModel );
3235
QModelIndex firstLayer = mModel->index( 0, 0 );
3336
listMapLayers->selectionModel()->select( firstLayer, QItemSelectionModel::Select );
3437

3538
connect( listMapLayers, &QListView::doubleClicked, this, &QgsLayoutLegendLayersDialog::accept );
39+
40+
connect( mFilterLineEdit, &QLineEdit::textChanged, mModel, &QgsMapLayerProxyModel::setFilterString );
3641
}
3742

3843
QgsLayoutLegendLayersDialog::~QgsLayoutLegendLayersDialog()

‎src/ui/layout/qgslayoutlegendlayersdialogbase.ui

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
<string>Add Layer to Legend</string>
1515
</property>
1616
<layout class="QGridLayout" name="gridLayout">
17-
<item row="1" column="0">
17+
<property name="spacing">
18+
<number>6</number>
19+
</property>
20+
<item row="2" column="0">
1821
<widget class="QDialogButtonBox" name="buttonBox">
1922
<property name="orientation">
2023
<enum>Qt::Horizontal</enum>
@@ -24,15 +27,33 @@
2427
</property>
2528
</widget>
2629
</item>
27-
<item row="0" column="0">
30+
<item row="1" column="0">
2831
<widget class="QListView" name="listMapLayers">
2932
<property name="selectionMode">
3033
<enum>QAbstractItemView::ExtendedSelection</enum>
3134
</property>
3235
</widget>
3336
</item>
37+
<item row="0" column="0">
38+
<widget class="QgsFilterLineEdit" name="mFilterLineEdit">
39+
<property name="placeholderText">
40+
<string>Search</string>
41+
</property>
42+
</widget>
43+
</item>
3444
</layout>
3545
</widget>
46+
<customwidgets>
47+
<customwidget>
48+
<class>QgsFilterLineEdit</class>
49+
<extends>QLineEdit</extends>
50+
<header>qgsfilterlineedit.h</header>
51+
</customwidget>
52+
</customwidgets>
53+
<tabstops>
54+
<tabstop>mFilterLineEdit</tabstop>
55+
<tabstop>listMapLayers</tabstop>
56+
</tabstops>
3657
<resources/>
3758
<connections>
3859
<connection>

0 commit comments

Comments
 (0)
Please sign in to comment.