Skip to content

Commit d8deb8c

Browse files
committedOct 17, 2015
Db_Manager keeps the selected columns for primary key and geometry when running the query or rereading the columns if the selected columns still exist.
1 parent 724a5bd commit d8deb8c

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed
 

‎python/plugins/db_manager/dlg_sql_window.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -309,29 +309,38 @@ def setColumnCombos(self, cols, quotedCols):
309309
colNames = zip(cols, quotedCols)
310310
colNames.sort()
311311
newItems = []
312+
uniqueIsFilled = False
312313
for (col, quotedCol) in colNames:
313314
item = QStandardItem(col)
314315
item.setData(quotedCol)
315316
item.setEnabled(True)
316317
item.setCheckable(True)
317318
item.setSelectable(False)
318-
item.setCheckState(Qt.Unchecked)
319+
matchingItems = self.uniqueModel.findItems(col)
320+
if matchingItems:
321+
item.setCheckState(matchingItems[0].checkState())
322+
uniqueIsFilled = uniqueIsFilled or matchingItems[0].checkState() == Qt.Checked
323+
else:
324+
item.setCheckState(Qt.Unchecked)
319325
newItems.append(item)
320326
self.uniqueModel.clear()
321327
self.uniqueModel.appendColumn(newItems)
322328
self.uniqueChanged()
323329

330+
oldGeometryColumn = self.geomCombo.currentText()
324331
self.geomCombo.clear()
325332
self.geomCombo.addItems(cols)
333+
self.geomCombo.setCurrentIndex(self.geomCombo.findText(oldGeometryColumn, Qt.MatchExactly))
326334

327-
# set sensible default columns
335+
# set sensible default columns if the columns are not already set
328336
try:
329-
self.geomCombo.setCurrentIndex(cols.index(defaultGeomCol))
337+
if self.geomCombo.currentIndex() == -1:
338+
self.geomCombo.setCurrentIndex(cols.index(defaultGeomCol))
330339
except:
331340
pass
332341
try:
333342
items = self.uniqueModel.findItems(defaultUniqueCol)
334-
if items:
343+
if items and not uniqueIsFilled:
335344
items[0].setCheckState(Qt.Checked)
336345
except:
337346
pass

0 commit comments

Comments
 (0)
Please sign in to comment.