File tree Expand file tree Collapse file tree 2 files changed +18
-6
lines changed
python/plugins/db_manager Expand file tree Collapse file tree 2 files changed +18
-6
lines changed Original file line number Diff line number Diff line change @@ -57,11 +57,16 @@ def columnCount(self, parent=None):
57
57
return len (self ._header )
58
58
59
59
def data (self , index , role ):
60
- if role != Qt .DisplayRole and role != Qt .FontRole :
60
+ if role not in [Qt .DisplayRole ,
61
+ Qt .EditRole ,
62
+ Qt .FontRole ]:
61
63
return None
62
64
63
65
val = self .getData (index .row (), index .column ())
64
66
67
+ if role == Qt .EditRole :
68
+ return val
69
+
65
70
if role == Qt .FontRole : # draw NULL in italic
66
71
if val is not None :
67
72
return None
Original file line number Diff line number Diff line change 21
21
Query builder dialog, based on the QSpatialite plugin (GPLv2+) by Romain Riviere
22
22
"""
23
23
24
- from qgis .PyQt .QtCore import QObject , QEvent
24
+ from qgis .PyQt .QtCore import Qt , QObject , QEvent
25
25
from qgis .PyQt .QtWidgets import QDialog , QMessageBox , QTextEdit
26
26
27
27
from .ui .ui_DlgQueryBuilder import Ui_DbManagerQueryBuilderDlg as Ui_Dialog
@@ -287,10 +287,17 @@ def list_values(self):
287
287
self .ui .values .setModel (model )
288
288
289
289
def query_item (self , index ):
290
- queryWord = index .data ()
291
- queryWord = ' "%s"' % queryWord
292
- if queryWord != '' :
293
- self .ui .where .insertPlainText (queryWord )
290
+ value = index .data (Qt .EditRole )
291
+
292
+ if value is None :
293
+ queryWord = u'NULL'
294
+ elif isinstance (value , (int , float )):
295
+ queryWord = unicode (value )
296
+ else :
297
+ queryWord = self .db .connector .quoteString (value )
298
+
299
+ if queryWord .strip () != '' :
300
+ self .ui .where .insertPlainText (u' ' + queryWord )
294
301
self .ui .where .setFocus ()
295
302
296
303
def use_rtree (self ):
You can’t perform that action at this time.
0 commit comments