40 self.trUtf8("No database drivers found"), |
42 self.trUtf8("No database drivers found"), |
41 self.trUtf8("""This tool requires at least one Qt database driver. """ |
43 self.trUtf8("""This tool requires at least one Qt database driver. """ |
42 """Please check the Qt documentation how to build the """ |
44 """Please check the Qt documentation how to build the """ |
43 """Qt SQL plugins.""")) |
45 """Qt SQL plugins.""")) |
44 |
46 |
45 self.connect(self.connections, SIGNAL("tableActivated(QString)"), |
47 self.connections.tableActivated.connect(self.on_connections_tableActivated) |
46 self.on_connections_tableActivated) |
48 self.connections.schemaRequested.connect(self.on_connections_schemaRequested) |
47 self.connect(self.connections, SIGNAL("schemaRequested(QString)"), |
49 self.connections.cleared.connect(self.on_connections_cleared) |
48 self.on_connections_schemaRequested) |
50 |
49 self.connect(self.connections, SIGNAL("cleared()"), |
51 self.statusMessage.emit(self.trUtf8("Ready")) |
50 self.on_connections_cleared) |
|
51 |
|
52 self.emit(SIGNAL("statusMessage(QString)"), self.trUtf8("Ready")) |
|
53 |
52 |
54 @pyqtSlot() |
53 @pyqtSlot() |
55 def on_clearButton_clicked(self): |
54 def on_clearButton_clicked(self): |
56 """ |
55 """ |
57 Private slot to clear the SQL entry widget. |
56 Private slot to clear the SQL entry widget. |
161 model = QSqlTableModel(self.table, self.connections.currentDatabase()) |
160 model = QSqlTableModel(self.table, self.connections.currentDatabase()) |
162 model.setEditStrategy(QSqlTableModel.OnRowChange) |
161 model.setEditStrategy(QSqlTableModel.OnRowChange) |
163 model.setTable(table) |
162 model.setTable(table) |
164 model.select() |
163 model.select() |
165 if model.lastError().type() != QSqlError.NoError: |
164 if model.lastError().type() != QSqlError.NoError: |
166 self.emit(SIGNAL("statusMessage(QString)"), model.lastError().text()) |
165 self.statusMessage.emit(model.lastError().text()) |
167 self.table.setModel(model) |
166 self.table.setModel(model) |
168 self.table.setEditTriggers( |
167 self.table.setEditTriggers( |
169 QAbstractItemView.DoubleClicked | QAbstractItemView.EditKeyPressed) |
168 QAbstractItemView.DoubleClicked | QAbstractItemView.EditKeyPressed) |
170 |
169 |
171 self.table.resizeColumnsToContents() |
170 self.table.resizeColumnsToContents() |
172 |
171 |
173 self.connect(self.table.selectionModel(), |
172 self.table.selectionModel().currentRowChanged.connect(self.updateActions) |
174 SIGNAL("currentRowChanged(QModelIndex, QModelIndex)"), |
|
175 self.updateActions) |
|
176 |
173 |
177 self.updateActions() |
174 self.updateActions() |
178 |
175 |
179 def showSchema(self, table): |
176 def showSchema(self, table): |
180 """ |
177 """ |
285 model.setQuery( |
282 model.setQuery( |
286 QSqlQuery(self.sqlEdit.toPlainText(), self.connections.currentDatabase())) |
283 QSqlQuery(self.sqlEdit.toPlainText(), self.connections.currentDatabase())) |
287 self.table.setModel(model) |
284 self.table.setModel(model) |
288 |
285 |
289 if model.lastError().type() != QSqlError.NoError: |
286 if model.lastError().type() != QSqlError.NoError: |
290 self.emit(SIGNAL("statusMessage(QString)"), model.lastError().text()) |
287 self.statusMessage.emit(model.lastError().text()) |
291 elif model.query().isSelect(): |
288 elif model.query().isSelect(): |
292 self.emit(SIGNAL("statusMessage(QString)"), self.trUtf8("Query OK.")) |
289 self.statusMessage.emit(self.trUtf8("Query OK.")) |
293 else: |
290 else: |
294 self.emit(SIGNAL("statusMessage(QString)"), |
291 self.statusMessage.emit( |
295 self.trUtf8("Query OK, number of affected rows: {0}")\ |
292 self.trUtf8("Query OK, number of affected rows: {0}")\ |
296 .format(model.query().numRowsAffected())) |
293 .format(model.query().numRowsAffected())) |
297 |
294 |
298 self.table.resizeColumnsToContents() |
295 self.table.resizeColumnsToContents() |
299 |
296 |