Allow inline editing in browse data tab

Make it possible to edit records directly in the table view without
having to open the edit dialog.
This commit is contained in:
Martin Kleusberg
2013-05-02 17:36:16 +02:00
parent b3465546bb
commit 909d435ec6
2 changed files with 3 additions and 3 deletions

View File

@@ -303,7 +303,7 @@ void MainWindow::populateTable( const QString & tablename)
bool is_table = db.getObjectByName(tablename).gettype() == "table";
ui->buttonNewRecord->setEnabled(is_table);
ui->buttonDeleteRecord->setEnabled(is_table);
ui->dataTable->setEditTriggers(is_table ? QAbstractItemView::DoubleClicked | QAbstractItemView::AnyKeyPressed | QAbstractItemView::EditKeyPressed : QAbstractItemView::NoEditTriggers);
ui->dataTable->setEditTriggers(is_table ? QAbstractItemView::SelectedClicked | QAbstractItemView::AnyKeyPressed | QAbstractItemView::EditKeyPressed : QAbstractItemView::NoEditTriggers);
// Set the recordset label
setRecordsetLabel();

View File

@@ -135,7 +135,7 @@ QVariant SqliteTableModel::data(const QModelIndex &index, int role) const
if (index.row() >= m_rowCount)
return QVariant();
if (role == Qt::DisplayRole)
if(role == Qt::DisplayRole || role == Qt::EditRole)
{
// If this row is not in the cache yet get it first
while(index.row() >= m_data.size() && canFetchMore())
@@ -183,7 +183,7 @@ Qt::ItemFlags SqliteTableModel::flags(const QModelIndex& index) const
if(!index.isValid())
return Qt::ItemIsEnabled;
return QAbstractTableModel::flags(index)/* | Qt::ItemIsEditable*/;
return QAbstractTableModel::flags(index) | Qt::ItemIsEditable;
}
void SqliteTableModel::sort(int column, Qt::SortOrder order)