From 50b48bc7567ee848513d522c3f04df2a7b39c02f Mon Sep 17 00:00:00 2001 From: Martin Kleusberg Date: Sat, 22 May 2021 09:55:49 +0200 Subject: [PATCH] Avoid multiple error messages when deleting cell values When multiple cells are selected pressing the Delete key tries to set all of them to an empty string. In case of a unique constraint or similar constraints this throws an error. This commit copies the behaviour of the set to NULL menu action in that it aborts at the first error to avoid multiple error messages. See issue #2704. --- src/ExtendedTableWidget.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ExtendedTableWidget.cpp b/src/ExtendedTableWidget.cpp index 16938570..ec58aa08 100644 --- a/src/ExtendedTableWidget.cpp +++ b/src/ExtendedTableWidget.cpp @@ -951,7 +951,10 @@ void ExtendedTableWidget::keyPressEvent(QKeyEvent* event) } else { // When pressing Delete only set the value to empty string for(const QModelIndex& index : selectedIndexes()) - model()->setData(index, ""); + { + if(!model()->setData(index, "")) + return; + } } } } else if(event->modifiers().testFlag(Qt::ControlModifier) && (event->key() == Qt::Key_PageUp || event->key() == Qt::Key_PageDown)) {