From 5078f898257a53295167f22c67005ad1b30d4bf8 Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周二, 12 12月 2023 02:53:57 +0800 Subject: [PATCH] Tested MinGW 13.2.0 --- src/widgets/widgetitemdelegate.cpp | 25 ++++++++++++++----------- 1 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/widgets/widgetitemdelegate.cpp b/src/widgets/widgetitemdelegate.cpp index 6378f36..4814653 100644 --- a/src/widgets/widgetitemdelegate.cpp +++ b/src/widgets/widgetitemdelegate.cpp @@ -56,18 +56,21 @@ return false; } - bool WidgetItemDelegate::resetQtGrabbedControl() const { - if (qt_button_down) { - static constexpr const auto invalidPos = QPoint{std::numeric_limits<int>::lowest(), std::numeric_limits<int>::lowest()}; - const auto event = - new QMouseEvent(QEvent::MouseButtonRelease, invalidPos, invalidPos, invalidPos, - Qt::LeftButton, QGuiApplication::mouseButtons() ^ Qt::LeftButton, - QGuiApplication::keyboardModifiers()); - QApplication::postEvent(qt_button_down, event); - qt_button_down = nullptr; - return true; + bool WidgetItemDelegate::isWindowActive(const QObject *host) const { + return static_cast<const QWidget *>(host)->isActiveWindow(); + } + + void WidgetItemDelegate::resetQtGrabbedControl() const { + if (!qt_button_down) { + return; } - return false; + static constexpr const auto invalidPos = QPoint{std::numeric_limits<int>::lowest(), std::numeric_limits<int>::lowest()}; + const auto event = + new QMouseEvent(QEvent::MouseButtonRelease, invalidPos, invalidPos, invalidPos, + Qt::LeftButton, QGuiApplication::mouseButtons() ^ Qt::LeftButton, + QGuiApplication::keyboardModifiers()); + QApplication::postEvent(qt_button_down, event); + qt_button_down = nullptr; } } \ No newline at end of file -- Gitblit v1.9.1