@@ -68,6 +68,9 @@ def __init__(self, table, parent=None):
68
68
self .btnAddSpatialIndex .clicked .connect (self .createSpatialIndex )
69
69
self .btnDeleteIndex .clicked .connect (self .deleteIndex )
70
70
71
+ self .refresh ()
72
+
73
+ def refresh (self ):
71
74
self .populateViews ()
72
75
self .checkSupports ()
73
76
@@ -76,9 +79,8 @@ def checkSupports(self):
76
79
self .btnEditColumn .setEnabled (allowEditColumns )
77
80
self .btnDeleteColumn .setEnabled (allowEditColumns )
78
81
79
- allowSpatial = self .db .connector .hasSpatialSupport ()
80
- self .btnAddGeometryColumn .setEnabled (allowSpatial )
81
- self .btnAddSpatialIndex .setEnabled (allowSpatial )
82
+ self .btnAddGeometryColumn .setEnabled (self .db .connector .canAddGeometryColumn ((self .table .schemaName (), self .table .name )))
83
+ self .btnAddSpatialIndex .setEnabled (self .db .connector .canAddSpatialIndex ((self .table .schemaName (), self .table .name )))
82
84
83
85
def populateViews (self ):
84
86
self .populateFields ()
@@ -118,7 +120,7 @@ def addColumn(self):
118
120
try :
119
121
# add column to table
120
122
self .table .addField (fld )
121
- self .populateViews ()
123
+ self .refresh ()
122
124
except BaseError as e :
123
125
DlgDbError .showError (e , self )
124
126
return
@@ -130,7 +132,7 @@ def addGeometryColumn(self):
130
132
dlg = DlgAddGeometryColumn (self , self .table )
131
133
if not dlg .exec_ ():
132
134
return
133
- self .populateViews ()
135
+ self .refresh ()
134
136
135
137
def editColumn (self ):
136
138
""" open dialog to change column info and alter table appropriately """
@@ -152,7 +154,7 @@ def editColumn(self):
152
154
self .aboutToChangeTable .emit ()
153
155
try :
154
156
fld .update (new_fld .name , new_fld .type2String (), new_fld .notNull , new_fld .default2String ())
155
- self .populateViews ()
157
+ self .refresh ()
156
158
except BaseError as e :
157
159
DlgDbError .showError (e , self )
158
160
return
@@ -177,7 +179,7 @@ def deleteColumn(self):
177
179
self .aboutToChangeTable .emit ()
178
180
try :
179
181
fld .delete ()
180
- self .populateViews ()
182
+ self .refresh ()
181
183
except BaseError as e :
182
184
DlgDbError .showError (e , self )
183
185
return
@@ -210,7 +212,7 @@ def addConstraint(self):
210
212
dlg = DlgCreateConstraint (self , self .table )
211
213
if not dlg .exec_ ():
212
214
return
213
- self .populateViews ()
215
+ self .refresh ()
214
216
215
217
def deleteConstraint (self ):
216
218
""" delete a constraint """
@@ -232,7 +234,7 @@ def deleteConstraint(self):
232
234
self .aboutToChangeTable .emit ()
233
235
try :
234
236
constr .delete ()
235
- self .populateViews ()
237
+ self .refresh ()
236
238
except BaseError as e :
237
239
DlgDbError .showError (e , self )
238
240
return
@@ -273,7 +275,7 @@ def createIndex(self):
273
275
dlg = DlgCreateIndex (self , self .table )
274
276
if not dlg .exec_ ():
275
277
return
276
- self .populateViews ()
278
+ self .refresh ()
277
279
278
280
def createSpatialIndex (self ):
279
281
""" create spatial index for the geometry column """
@@ -293,7 +295,7 @@ def createSpatialIndex(self):
293
295
294
296
try :
295
297
self .table .createSpatialIndex ()
296
- self .populateViews ()
298
+ self .refresh ()
297
299
except BaseError as e :
298
300
DlgDbError .showError (e , self )
299
301
return
@@ -327,7 +329,7 @@ def deleteIndex(self):
327
329
self .aboutToChangeTable .emit ()
328
330
try :
329
331
idx .delete ()
330
- self .populateViews ()
332
+ self .refresh ()
331
333
except BaseError as e :
332
334
DlgDbError .showError (e , self )
333
335
return
0 commit comments