diff --git a/src/CreateIndexDialog.cpp b/src/CreateIndexDialog.cpp index 7805d46f..7a38d3fc 100644 --- a/src/CreateIndexDialog.cpp +++ b/src/CreateIndexDialog.cpp @@ -28,7 +28,7 @@ CreateIndexDialog::~CreateIndexDialog() void CreateIndexDialog::tableChanged(const QString& new_table) { // And fill the table again - QStringList fields = pdb->getTableFields(new_table); + QStringList fields = pdb->getObjectByName(new_table).table.fieldNames(); ui->tableIndexColumns->setRowCount(fields.size()); for(int i=0; i < fields.size(); ++i) { diff --git a/src/sqlitedb.cpp b/src/sqlitedb.cpp index aaac7553..a1cf397f 100644 --- a/src/sqlitedb.cpp +++ b/src/sqlitedb.cpp @@ -755,28 +755,9 @@ objectMap DBBrowserDB::getBrowsableObjects() const return res; } -QStringList DBBrowserDB::getTableFields(const QString & tablename) const -{ - objectMap::ConstIterator it; - QStringList res; - - for ( it = objMap.begin(); it != objMap.end(); ++it ) - { - if((*it).getname() == tablename) - { - for(int i=0;i<(*it).table.fields().size();i++) - res.append((*it).table.fields().at(i)->name()); - } - } - return res; -} - DBBrowserObject DBBrowserDB::getObjectByName(const QString& name) const { - objectMap::ConstIterator it; - QStringList res; - - for ( it = objMap.begin(); it != objMap.end(); ++it ) + for (objectMap::ConstIterator it = objMap.begin(); it != objMap.end(); ++it ) { if((*it).getname() == name) return *it; diff --git a/src/sqlitedb.h b/src/sqlitedb.h index 18401143..38cf147a 100644 --- a/src/sqlitedb.h +++ b/src/sqlitedb.h @@ -29,14 +29,6 @@ public: QString getsql() const { return sql; } QString gettype() const { return type; } QString getTableName() const { return table_name; } - sqlb::FieldPtr getField(const QString& name) - { - int id = table.findField(name); - if(id == -1) - return sqlb::FieldPtr(); - else - return table.fields().at(id); - } sqlb::Table table; private: QString name; @@ -93,7 +85,6 @@ public: */ bool renameColumn(const QString& tablename, const QString& name, sqlb::FieldPtr to, int move = 0); - QStringList getTableFields(const QString & tablename) const; QStringList getBrowsableObjectNames() const; objectMap getBrowsableObjects() const; DBBrowserObject getObjectByName(const QString& name) const; diff --git a/src/sqlitetablemodel.cpp b/src/sqlitetablemodel.cpp index ab597d25..70d32eae 100644 --- a/src/sqlitetablemodel.cpp +++ b/src/sqlitetablemodel.cpp @@ -42,7 +42,7 @@ void SqliteTableModel::setTable(const QString& table) if(t.name() != "") // parsing was OK { m_headers.push_back(t.rowidColumn()); - m_headers.append(m_db->getTableFields(table)); + m_headers.append(m_db->getObjectByName(table).table.fieldNames()); } else { diff --git a/src/sqlitetypes.cpp b/src/sqlitetypes.cpp index e3ae856f..8534996d 100644 --- a/src/sqlitetypes.cpp +++ b/src/sqlitetypes.cpp @@ -118,6 +118,16 @@ QStringList Table::fieldList() const return sl; } +QStringList Table::fieldNames() const +{ + QStringList sl; + + foreach(FieldPtr f, m_fields) + sl << f->name(); + + return sl; +} + bool Table::hasAutoIncrement() const { foreach(FieldPtr f, m_fields) { diff --git a/src/sqlitetypes.h b/src/sqlitetypes.h index 59c3bdbe..24b9c8f6 100644 --- a/src/sqlitetypes.h +++ b/src/sqlitetypes.h @@ -97,6 +97,7 @@ public: bool removeField(const QString& sFieldName); void setFields(const FieldVector& fields); void setField(int index, FieldPtr f) { m_fields[index] = f; } + QStringList fieldNames() const; void setRowidColumn(const QString& rowid) { m_rowidColumn = rowid; } const QString& rowidColumn() const { return m_rowidColumn; } bool isWithoutRowidTable() const { return m_rowidColumn != "_rowid_"; }