Skip to content

Commit 63af3e2

Browse files
committed
Merge pull request #2634 from alexbruy/wfs-dialog
option to keep WFS dialog open after adding layer(s)
2 parents 1c3f066 + af30b29 commit 63af3e2

File tree

2 files changed

+89
-69
lines changed

2 files changed

+89
-69
lines changed

src/providers/wfs/qgswfssourceselect.cpp

+7-1
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ QgsWFSSourceSelect::QgsWFSSourceSelect( QWidget* parent, Qt::WindowFlags fl, boo
8181
QgsDebugMsg( "restoring settings" );
8282
restoreGeometry( settings.value( "/Windows/WFSSourceSelect/geometry" ).toByteArray() );
8383
cbxUseTitleLayerName->setChecked( settings.value( "/Windows/WFSSourceSelect/UseTitleLayerName", false ).toBool() );
84+
mHoldDialogOpen->setChecked( settings.value( "/Windows/WFSSourceSelect/HoldDialogOpen", false ).toBool() );
8485

8586
mModel = new QStandardItemModel();
8687
mModel->setHorizontalHeaderItem( 0, new QStandardItem( "Title" ) );
@@ -104,6 +105,7 @@ QgsWFSSourceSelect::~QgsWFSSourceSelect()
104105
QgsDebugMsg( "saving settings" );
105106
settings.setValue( "/Windows/WFSSourceSelect/geometry", saveGeometry() );
106107
settings.setValue( "/Windows/WFSSourceSelect/UseTitleLayerName", cbxUseTitleLayerName->isChecked() );
108+
settings.setValue( "/Windows/WFSSourceSelect/HoldDialogOpen", mHoldDialogOpen->isChecked() );
107109

108110
delete mItemDelegate;
109111
delete mProjectionSelector;
@@ -419,7 +421,11 @@ void QgsWFSSourceSelect::addLayer()
419421
}
420422
emit addWfsLayer( mUri, layerName );
421423
}
422-
accept();
424+
425+
if ( !mHoldDialogOpen->isChecked() )
426+
{
427+
accept();
428+
}
423429
}
424430

425431
void QgsWFSSourceSelect::buildQuery( const QModelIndex& index )

src/ui/qgswfssourceselectbase.ui

+82-68
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,29 @@
1414
<string>Add WFS Layer from a Server</string>
1515
</property>
1616
<layout class="QGridLayout" name="gridLayout">
17-
<item row="6" column="0">
18-
<widget class="QDialogButtonBox" name="buttonBox">
19-
<property name="orientation">
20-
<enum>Qt::Horizontal</enum>
17+
<item row="2" column="0">
18+
<widget class="QTreeView" name="treeView">
19+
<property name="editTriggers">
20+
<set>QAbstractItemView::NoEditTriggers</set>
2121
</property>
22-
<property name="standardButtons">
23-
<set>QDialogButtonBox::Close|QDialogButtonBox::Help</set>
22+
<property name="alternatingRowColors">
23+
<bool>true</bool>
24+
</property>
25+
<property name="selectionMode">
26+
<enum>QAbstractItemView::ExtendedSelection</enum>
27+
</property>
28+
<property name="sortingEnabled">
29+
<bool>true</bool>
30+
</property>
31+
<attribute name="headerVisible">
32+
<bool>true</bool>
33+
</attribute>
34+
</widget>
35+
</item>
36+
<item row="5" column="0">
37+
<widget class="QCheckBox" name="cbxFeatureCurrentViewExtent">
38+
<property name="text">
39+
<string>Only request features overlapping the current view extent</string>
2440
</property>
2541
</widget>
2642
</item>
@@ -113,7 +129,47 @@
113129
</layout>
114130
</widget>
115131
</item>
116-
<item row="5" column="0">
132+
<item row="1" column="0">
133+
<layout class="QHBoxLayout" name="horizontalLayoutFilter">
134+
<item>
135+
<widget class="QLabel" name="labelFilter">
136+
<property name="enabled">
137+
<bool>true</bool>
138+
</property>
139+
<property name="text">
140+
<string>Filter:</string>
141+
</property>
142+
<property name="buddy">
143+
<cstring>lineFilter</cstring>
144+
</property>
145+
</widget>
146+
</item>
147+
<item>
148+
<widget class="QLineEdit" name="lineFilter">
149+
<property name="enabled">
150+
<bool>true</bool>
151+
</property>
152+
<property name="toolTip">
153+
<string>Display WFS FeatureTypes containing this word in the title, name or abstract</string>
154+
</property>
155+
<property name="whatsThis">
156+
<string>Display WFS FeatureTypes containing this word in the title, name or abstract</string>
157+
</property>
158+
</widget>
159+
</item>
160+
</layout>
161+
</item>
162+
<item row="7" column="0">
163+
<widget class="QDialogButtonBox" name="buttonBox">
164+
<property name="orientation">
165+
<enum>Qt::Horizontal</enum>
166+
</property>
167+
<property name="standardButtons">
168+
<set>QDialogButtonBox::Close|QDialogButtonBox::Help</set>
169+
</property>
170+
</widget>
171+
</item>
172+
<item row="6" column="0">
117173
<widget class="QGroupBox" name="gbCRS">
118174
<property name="title">
119175
<string>Coordinate reference system</string>
@@ -122,16 +178,7 @@
122178
<property name="spacing">
123179
<number>6</number>
124180
</property>
125-
<property name="leftMargin">
126-
<number>9</number>
127-
</property>
128-
<property name="topMargin">
129-
<number>9</number>
130-
</property>
131-
<property name="rightMargin">
132-
<number>9</number>
133-
</property>
134-
<property name="bottomMargin">
181+
<property name="margin">
135182
<number>9</number>
136183
</property>
137184
<item>
@@ -170,69 +217,37 @@
170217
</layout>
171218
</widget>
172219
</item>
173-
<item row="3" column="0">
174-
<widget class="QCheckBox" name="cbxUseTitleLayerName">
175-
<property name="text">
176-
<string>Use title for layer name</string>
177-
</property>
178-
</widget>
179-
</item>
180-
<item row="2" column="0">
181-
<widget class="QTreeView" name="treeView">
182-
<property name="editTriggers">
183-
<set>QAbstractItemView::NoEditTriggers</set>
184-
</property>
185-
<property name="alternatingRowColors">
186-
<bool>true</bool>
187-
</property>
188-
<property name="selectionMode">
189-
<enum>QAbstractItemView::ExtendedSelection</enum>
190-
</property>
191-
<property name="sortingEnabled">
192-
<bool>true</bool>
193-
</property>
194-
<attribute name="headerVisible">
195-
<bool>true</bool>
196-
</attribute>
197-
</widget>
198-
</item>
199-
<item row="1" column="0">
200-
<layout class="QHBoxLayout" name="horizontalLayoutFilter">
220+
<item row="4" column="0">
221+
<layout class="QHBoxLayout" name="horizontalLayout_4">
201222
<item>
202-
<widget class="QLabel" name="labelFilter">
203-
<property name="enabled">
204-
<bool>true</bool>
205-
</property>
223+
<widget class="QCheckBox" name="cbxUseTitleLayerName">
206224
<property name="text">
207-
<string>Filter:</string>
208-
</property>
209-
<property name="buddy">
210-
<cstring>lineFilter</cstring>
225+
<string>Use title for layer name</string>
211226
</property>
212227
</widget>
213228
</item>
214229
<item>
215-
<widget class="QLineEdit" name="lineFilter">
216-
<property name="enabled">
217-
<bool>true</bool>
230+
<spacer name="horizontalSpacer">
231+
<property name="orientation">
232+
<enum>Qt::Horizontal</enum>
218233
</property>
219-
<property name="toolTip">
220-
<string>Display WFS FeatureTypes containing this word in the title, name or abstract</string>
234+
<property name="sizeHint" stdset="0">
235+
<size>
236+
<width>40</width>
237+
<height>20</height>
238+
</size>
221239
</property>
222-
<property name="whatsThis">
223-
<string>Display WFS FeatureTypes containing this word in the title, name or abstract</string>
240+
</spacer>
241+
</item>
242+
<item>
243+
<widget class="QCheckBox" name="mHoldDialogOpen">
244+
<property name="text">
245+
<string>Keep dialog open</string>
224246
</property>
225247
</widget>
226248
</item>
227249
</layout>
228250
</item>
229-
<item row="4" column="0">
230-
<widget class="QCheckBox" name="cbxFeatureCurrentViewExtent">
231-
<property name="text">
232-
<string>Only request features overlapping the current view extent</string>
233-
</property>
234-
</widget>
235-
</item>
236251
</layout>
237252
</widget>
238253
<tabstops>
@@ -245,7 +260,6 @@
245260
<tabstop>btnSave</tabstop>
246261
<tabstop>lineFilter</tabstop>
247262
<tabstop>treeView</tabstop>
248-
<tabstop>cbxUseTitleLayerName</tabstop>
249263
<tabstop>cbxFeatureCurrentViewExtent</tabstop>
250264
<tabstop>btnChangeSpatialRefSys</tabstop>
251265
</tabstops>

0 commit comments

Comments
 (0)