VirtualBox

Changeset 102709 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Dec 27, 2023 11:00:35 AM (14 months ago)
Author:
vboxsync
Message:

FE/Qt: bugref:10513: UIAdvancedSettingsDialog: Fixes for UIFilterEditor stuff added in r160877; We wish to specify frame radius as well.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/UIAdvancedSettingsDialog.cpp

    r102708 r102709  
    177177
    178178    /** Returns painter path for the passed @a pathRect. */
    179     QPainterPath cookPainterPath(const QRect &pathRect);
     179    static QPainterPath cookPainterPath(const QRect &pathRect, int iRadius);
    180180
    181181    /** Adjusts editor geometry. */
     
    473473    const QRegion totalRegion = QRegion(m_pLineEdit->geometry()) + QRegion(m_pToolButton->geometry());
    474474    QRect widgetRect = totalRegion.boundingRect();
    475     const QPainterPath widgetPath = cookPainterPath(widgetRect);
     475    const QPainterPath widgetPath = cookPainterPath(widgetRect, m_iRadius);
    476476
    477477    /* Draw base/frame: */
     
    546546}
    547547
    548 QPainterPath UIFilterEditor::cookPainterPath(const QRect &pathRect)
     548/* static */
     549QPainterPath UIFilterEditor::cookPainterPath(const QRect &pathRect, int iRadius)
    549550{
    550551    QPainterPath path;
    551     const QSizeF arcSize(2 * m_iRadius, 2 * m_iRadius);
    552     path.moveTo(pathRect.x() + m_iRadius, pathRect.y());
    553     path.arcTo(QRectF(path.currentPosition(), arcSize).translated(-m_iRadius, 0), 90, 90);
    554     path.lineTo(path.currentPosition().x(), path.currentPosition().y() + pathRect.height() - 2 * m_iRadius);
    555     path.arcTo(QRectF(path.currentPosition(), arcSize).translated(0, -m_iRadius), 180, 90);
    556     path.lineTo(path.currentPosition().x() + pathRect.width() - 2 * m_iRadius, path.currentPosition().y());
    557     path.arcTo(QRectF(path.currentPosition(), arcSize).translated(-m_iRadius, -2 * m_iRadius), 270, 90);
    558     path.lineTo(path.currentPosition().x(), path.currentPosition().y() - pathRect.height() + 2 * m_iRadius);
    559     path.arcTo(QRectF(path.currentPosition(), arcSize).translated(-2 * m_iRadius, -m_iRadius), 0, 90);
     552    const QSizeF arcSize(2 * iRadius, 2 * iRadius);
     553    path.moveTo(pathRect.x() + iRadius, pathRect.y());
     554    path.arcTo(QRectF(path.currentPosition(), arcSize).translated(-iRadius, 0), 90, 90);
     555    path.lineTo(path.currentPosition().x(), path.currentPosition().y() + pathRect.height() - 2 * iRadius);
     556    path.arcTo(QRectF(path.currentPosition(), arcSize).translated(0, -iRadius), 180, 90);
     557    path.lineTo(path.currentPosition().x() + pathRect.width() - 2 * iRadius, path.currentPosition().y());
     558    path.arcTo(QRectF(path.currentPosition(), arcSize).translated(-iRadius, -2 * iRadius), 270, 90);
     559    path.lineTo(path.currentPosition().x(), path.currentPosition().y() - pathRect.height() + 2 * iRadius);
     560    path.arcTo(QRectF(path.currentPosition(), arcSize).translated(-2 * iRadius, -iRadius), 0, 90);
    560561    path.closeSubpath();
    561562    return path;
Note: See TracChangeset for help on using the changeset viewer.

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