diff --git a/ui/drivers/qt/ui_qt_window.cpp b/ui/drivers/qt/ui_qt_window.cpp index 0fa3415b3b..548f6c153d 100644 --- a/ui/drivers/qt/ui_qt_window.cpp +++ b/ui/drivers/qt/ui_qt_window.cpp @@ -199,6 +199,11 @@ TableWidget::TableWidget(QWidget *parent) : { } +bool TableWidget::isEditorOpen() +{ + return (state() == QAbstractItemView::EditingState); +} + void TableWidget::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) @@ -1586,8 +1591,13 @@ QTabWidget* MainWindow::browserAndPlaylistTabWidget() void MainWindow::onTableWidgetEnterPressed() { +#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)) /* entry is being renamed, ignore this enter press */ if (m_tableWidget->isPersistentEditorOpen(m_tableWidget->currentIndex())) +#else + /* we can only check if any editor at all is open */ + if (m_tableWidget->isEditorOpen()) +#endif return; onRunClicked(); } diff --git a/ui/drivers/ui_qt.h b/ui/drivers/ui_qt.h index 569b549340..f04961cd3b 100644 --- a/ui/drivers/ui_qt.h +++ b/ui/drivers/ui_qt.h @@ -169,6 +169,7 @@ class TableWidget : public QTableWidget Q_OBJECT public: TableWidget(QWidget *parent = 0); + bool isEditorOpen(); signals: void enterPressed(); void deletePressed();