From 534541367c1913da16497705f734461bc909e9c1 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Tue, 19 Oct 2021 16:33:00 +0400 Subject: [PATCH] Make enterEventHook accept a QEnterEvent --- ui/abstract_button.cpp | 2 +- ui/abstract_button.h | 2 +- ui/rp_widget.h | 14 ++++++++++++-- ui/widgets/inner_dropdown.cpp | 2 +- ui/widgets/inner_dropdown.h | 2 +- ui/widgets/labels.cpp | 2 +- ui/widgets/labels.h | 2 +- ui/widgets/scroll_area.cpp | 4 ++-- ui/widgets/scroll_area.h | 4 ++-- 9 files changed, 22 insertions(+), 12 deletions(-) diff --git a/ui/abstract_button.cpp b/ui/abstract_button.cpp index e9a37d0..ec0dee0 100644 --- a/ui/abstract_button.cpp +++ b/ui/abstract_button.cpp @@ -32,7 +32,7 @@ void AbstractButton::leaveEventHook(QEvent *e) { return TWidget::leaveEventHook(e); } -void AbstractButton::enterEventHook(QEvent *e) { +void AbstractButton::enterEventHook(QEnterEvent *e) { checkIfOver(mapFromGlobal(QCursor::pos())); return TWidget::enterEventHook(e); } diff --git a/ui/abstract_button.h b/ui/abstract_button.h index 1b04bbb..820224a 100644 --- a/ui/abstract_button.h +++ b/ui/abstract_button.h @@ -54,7 +54,7 @@ public: void clicked(Qt::KeyboardModifiers modifiers, Qt::MouseButton button); protected: - void enterEventHook(QEvent *e) override; + void enterEventHook(QEnterEvent *e) override; void leaveEventHook(QEvent *e) override; void mousePressEvent(QMouseEvent *e) override; void mouseMoveEvent(QMouseEvent *e) override; diff --git a/ui/rp_widget.h b/ui/rp_widget.h index 5c67939..263c59e 100644 --- a/ui/rp_widget.h +++ b/ui/rp_widget.h @@ -16,6 +16,7 @@ #include #include +#include class TWidget; @@ -104,13 +105,22 @@ public: } protected: - void enterEvent(QEvent *e) final override { +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + void enterEvent(QEnterEvent *e) final override { if (auto parent = tparent()) { parent->leaveToChildEvent(e, this); } return enterEventHook(e); } - virtual void enterEventHook(QEvent *e) { +#else // Qt >= 6.0.0 + void enterEvent(QEvent *e) final override { + if (auto parent = tparent()) { + parent->leaveToChildEvent(e, this); + } + return enterEventHook(static_cast(e)); + } +#endif // Qt < 6.0.0 + virtual void enterEventHook(QEnterEvent *e) { return Base::enterEvent(e); } diff --git a/ui/widgets/inner_dropdown.cpp b/ui/widgets/inner_dropdown.cpp index dc7cc9a..c9e2cee 100644 --- a/ui/widgets/inner_dropdown.cpp +++ b/ui/widgets/inner_dropdown.cpp @@ -129,7 +129,7 @@ void InnerDropdown::paintEvent(QPaintEvent *e) { } } -void InnerDropdown::enterEventHook(QEvent *e) { +void InnerDropdown::enterEventHook(QEnterEvent *e) { if (_autoHiding) { showAnimated(_origin); } diff --git a/ui/widgets/inner_dropdown.h b/ui/widgets/inner_dropdown.h index 1ed1080..d3bbcbb 100644 --- a/ui/widgets/inner_dropdown.h +++ b/ui/widgets/inner_dropdown.h @@ -73,7 +73,7 @@ public: protected: void resizeEvent(QResizeEvent *e) override; void paintEvent(QPaintEvent *e) override; - void enterEventHook(QEvent *e) override; + void enterEventHook(QEnterEvent *e) override; void leaveEventHook(QEvent *e) override; bool eventFilter(QObject *obj, QEvent *e) override; diff --git a/ui/widgets/labels.cpp b/ui/widgets/labels.cpp index dbeb2fc..b2c678a 100644 --- a/ui/widgets/labels.cpp +++ b/ui/widgets/labels.cpp @@ -491,7 +491,7 @@ void FlatLabel::mouseDoubleClickEvent(QMouseEvent *e) { } } -void FlatLabel::enterEventHook(QEvent *e) { +void FlatLabel::enterEventHook(QEnterEvent *e) { _lastMousePos = QCursor::pos(); dragActionUpdate(); } diff --git a/ui/widgets/labels.h b/ui/widgets/labels.h index ddc2edf..d14a4db 100644 --- a/ui/widgets/labels.h +++ b/ui/widgets/labels.h @@ -154,7 +154,7 @@ protected: void mousePressEvent(QMouseEvent *e) override; void mouseReleaseEvent(QMouseEvent *e) override; void mouseDoubleClickEvent(QMouseEvent *e) override; - void enterEventHook(QEvent *e) override; + void enterEventHook(QEnterEvent *e) override; void leaveEventHook(QEvent *e) override; void focusOutEvent(QFocusEvent *e) override; void focusInEvent(QFocusEvent *e) override; diff --git a/ui/widgets/scroll_area.cpp b/ui/widgets/scroll_area.cpp index 7b36310..27691f0 100644 --- a/ui/widgets/scroll_area.cpp +++ b/ui/widgets/scroll_area.cpp @@ -220,7 +220,7 @@ void ScrollBar::hideTimeout(crl::time dt) { } } -void ScrollBar::enterEventHook(QEvent *e) { +void ScrollBar::enterEventHook(QEnterEvent *e) { _hideTimer.cancel(); setMouseTracking(true); setOver(true); @@ -639,7 +639,7 @@ void ScrollArea::keyPressEvent(QKeyEvent *e) { } } -void ScrollArea::enterEventHook(QEvent *e) { +void ScrollArea::enterEventHook(QEnterEvent *e) { if (_disabled) return; if (_st.hiding) { _horizontalBar->hideTimeout(_st.hiding); diff --git a/ui/widgets/scroll_area.h b/ui/widgets/scroll_area.h index 55392ea..e7143d9 100644 --- a/ui/widgets/scroll_area.h +++ b/ui/widgets/scroll_area.h @@ -82,7 +82,7 @@ public: protected: void paintEvent(QPaintEvent *e) override; - void enterEventHook(QEvent *e) override; + void enterEventHook(QEnterEvent *e) override; void leaveEventHook(QEvent *e) override; void mouseMoveEvent(QMouseEvent *e) override; void mousePressEvent(QMouseEvent *e) override; @@ -185,7 +185,7 @@ protected: void moveEvent(QMoveEvent *e) override; void touchEvent(QTouchEvent *e); - void enterEventHook(QEvent *e) override; + void enterEventHook(QEnterEvent *e) override; void leaveEventHook(QEvent *e) override; protected: