From 8063502defcbd2ce7a1dbeee81a7dd281714af0e Mon Sep 17 00:00:00 2001 From: Martin Kleusberg Date: Thu, 30 May 2013 15:35:25 +0200 Subject: [PATCH] EditTableDialog: Allow renaming columns of existing tables Make it possible to rename the columns of already existing tables using the EditTableDialog. This is a feature we lost somewhere around commit b36800ea02213f13c3e8b325935d84533d9fa11e. --- src/EditTableDialog.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/EditTableDialog.cpp b/src/EditTableDialog.cpp index ec67f2cf..072508bc 100644 --- a/src/EditTableDialog.cpp +++ b/src/EditTableDialog.cpp @@ -70,9 +70,7 @@ void EditTableDialog::populateFields() foreach(sqlb::FieldPtr f, fields) { QTreeWidgetItem *tbitem = new QTreeWidgetItem(ui->treeWidget); - //currently we don't support editing of field data - if(m_bNewTable) - tbitem->setFlags(tbitem->flags() | Qt::ItemIsEditable); + tbitem->setFlags(tbitem->flags() | Qt::ItemIsEditable); tbitem->setText(kName, f->name()); QComboBox* typeBox = new QComboBox(ui->treeWidget); QObject::connect(typeBox, SIGNAL(activated(int)), this, SLOT(updateTypes())); @@ -220,7 +218,10 @@ void EditTableDialog::itemChanged(QTreeWidgetItem *item, int column) sqlb::FieldPtr field = m_table.fields().at(index); switch(column) { - case kName: field->setName(item->text(column)); break; + case kName: + if(curTable == "" || pdb->renameColumn(curTable, field->name(), item->text(column), field->type())) + field->setName(item->text(column)); + break; case kType: { // we don't know which combobox got the update