@@ -161,9 +161,6 @@ def executeSql(self):
161
161
if old_model :
162
162
old_model .deleteLater ()
163
163
164
- self .uniqueCombo .clear ()
165
- self .geomCombo .clear ()
166
-
167
164
try :
168
165
# set the new model
169
166
model = self .db .sqlResultModel (sql , self )
@@ -173,11 +170,12 @@ def executeSql(self):
173
170
except BaseError as e :
174
171
QApplication .restoreOverrideCursor ()
175
172
DlgDbError .showError (e , self )
173
+ self .uniqueCombo .clear ()
174
+ self .geomCombo .clear ()
176
175
return
177
176
178
- cols = sorted (self .viewResult .model ().columnNames ())
179
- self .uniqueCombo .addItems (cols )
180
- self .geomCombo .addItems (cols )
177
+ cols = self .viewResult .model ().columnNames ()
178
+ self .setColumnCombos (cols )
181
179
182
180
self .update ()
183
181
QApplication .restoreOverrideCursor ()
@@ -236,8 +234,6 @@ def fillColumnCombos(self):
236
234
return
237
235
238
236
QApplication .setOverrideCursor (QCursor (Qt .WaitCursor ))
239
- self .uniqueCombo .clear ()
240
- self .geomCombo .clear ()
241
237
242
238
# get a new alias
243
239
aliasIndex = 0
@@ -265,13 +261,20 @@ def fillColumnCombos(self):
265
261
except BaseError as e :
266
262
QApplication .restoreOverrideCursor ()
267
263
DlgDbError .showError (e , self )
264
+ self .uniqueCombo .clear ()
265
+ self .geomCombo .clear ()
268
266
return
269
267
270
268
finally :
271
269
if c :
272
270
c .close ()
273
271
del c
274
272
273
+ self .setColumnCombos (cols )
274
+
275
+ QApplication .restoreOverrideCursor ()
276
+
277
+ def setColumnCombos (self , cols ):
275
278
# get sensible default columns. do this before sorting in case there's hints in the column order (eg, id is more likely to be first)
276
279
try :
277
280
defaultGeomCol = next (col for col in cols if col in ['geom' , 'geometry' , 'the_geom' , 'way' ])
@@ -283,6 +286,8 @@ def fillColumnCombos(self):
283
286
defaultUniqueCol = None
284
287
285
288
cols .sort ()
289
+ self .uniqueCombo .clear ()
290
+ self .geomCombo .clear ()
286
291
self .uniqueCombo .addItems (cols )
287
292
self .geomCombo .addItems (cols )
288
293
@@ -296,8 +301,6 @@ def fillColumnCombos(self):
296
301
except :
297
302
pass
298
303
299
- QApplication .restoreOverrideCursor ()
300
-
301
304
def copySelectedResults (self ):
302
305
if len (self .viewResult .selectedIndexes ()) <= 0 :
303
306
return
0 commit comments