VirtualBox

Ignore:
Timestamp:
Feb 8, 2019 3:20:29 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
128730
Message:

FE/Qt: bugref:9373: A bit of hovering stuff fixes for UIGraphicsScrollBar.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollBar.cpp

    r77222 r77223  
    5353    virtual QSizeF minimumSizeHint() const /* override */;
    5454
     55    /** Returns whether token is hovered. */
     56    bool isHovered() const { return m_fHovered; }
     57
    5558protected:
    5659
     
    6366    virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *pEvent) /* override */;
    6467
     68    /** Handles hover enter @a pEvent. */
     69    virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *pEvent) /* override */;
     70    /** Handles hover leave @a pEvent. */
     71    virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *pEvent) /* override */;
     72
    6573private:
    6674
     
    7280    /** Holds the scroll-bar extent. */
    7381    int  m_iExtent;
     82
     83    /** Holds whether item is hovered. */
     84    bool  m_fHovered;
    7485};
    7586
     
    8192UIGraphicsScrollBarToken::UIGraphicsScrollBarToken(QIGraphicsWidget *pParent /* = 0 */)
    8293    : QIGraphicsWidget(pParent)
     94    , m_fHovered(false)
    8395{
    8496    prepare();
     
    122134    /* Let listeners know about our mouse move events. */
    123135    emit sigMouseMoved(mapToParent(pEvent->pos()));
     136}
     137
     138void UIGraphicsScrollBarToken::hoverMoveEvent(QGraphicsSceneHoverEvent *)
     139{
     140    if (!m_fHovered)
     141        m_fHovered = true;
     142}
     143
     144void UIGraphicsScrollBarToken::hoverLeaveEvent(QGraphicsSceneHoverEvent *)
     145{
     146    if (m_fHovered)
     147        m_fHovered = false;
    124148}
    125149
     
    340364        m_iHoverOffTimerId = 0;
    341365        /* Emit hover-off trigger if not hovered: */
    342         if (!m_fHovered)
     366        if (!m_fHovered && !m_pToken->isHovered())
    343367            emit sigHoverLeave();
    344368        /* Update in any case: */
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette