From e74645bb1f74395016bfda110dd4d996bb1d5cb1 Mon Sep 17 00:00:00 2001 From: Martin Kleusberg Date: Mon, 14 Dec 2015 21:53:12 +0100 Subject: [PATCH] Browse Data: Add keyboard shortcuts for deleting value Add keyboard shortcut for setting the values of the selected cells to empty string (Delete key) or to NULL (Alt+Delete). See issue #443. --- src/ExtendedTableWidget.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/ExtendedTableWidget.cpp b/src/ExtendedTableWidget.cpp index c180aaca..fe507723 100644 --- a/src/ExtendedTableWidget.cpp +++ b/src/ExtendedTableWidget.cpp @@ -75,6 +75,17 @@ void ExtendedTableWidget::keyPressEvent(QKeyEvent* event) selectedIndexes().at(0).row() == model()->rowCount()-1 && selectedIndexes().at(0).column() == model()->columnCount()-1) { // If the Tab key was pressed while the focus was on the last cell of the last row insert a new row automatically model()->insertRow(model()->rowCount()); + } else if(event->key() == Qt::Key_Delete) { + if(event->modifiers().testFlag(Qt::AltModifier)) + { + // When pressing Alt+Delete set the value to NULL + foreach(const QModelIndex& index, selectedIndexes()) + model()->setData(index, QString()); + } else { + // When pressing Delete only set the value to empty string + foreach(const QModelIndex& index, selectedIndexes()) + model()->setData(index, ""); + } } // This prevents the current selection from being changed when pressing tab to move to the next filter. Note that this is in an 'if' condition,