VirtualBox

Ignore:
Timestamp:
Feb 3, 2025 5:30:34 PM (3 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
167306
Message:

FE/Qt: bugref:10814: VBox Manager / Tools pane: Proper way of painting hovering background for tool item in widget mode.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/manager/tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp

    r108009 r108033  
    557557        case ToolsItemData_Margin:  return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 3 * 2;
    558558        case ToolsItemData_Spacing: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 2;
     559        case ToolsItemData_Padding: return 4;
    559560
    560561        /* Default: */
     
    737738        if (isHovered())
    738739        {
     740            /* Prepare variables: */
     741            const int iMargin = data(ToolsItemData_Margin).toInt();
     742            const int iPadding = data(ToolsItemData_Padding).toInt();
     743
    739744            /* Configure painter: */
    740745            pPainter->setRenderHint(QPainter::Antialiasing, true);
     
    744749            /* Prepare icon sub-rect: */
    745750            QRect subRect;
    746             subRect.setHeight(24 + 4 * 2);
     751            subRect.setHeight(m_pixmap.height() / m_pixmap.devicePixelRatio() + iPadding * 2);
    747752            subRect.setWidth(subRect.height());
    748             subRect.moveCenter(rectangle.center());
     753            subRect.moveTopLeft(rectangle.topLeft() + QPoint(2 * iMargin - iPadding, iMargin - iPadding));
    749754
    750755            /* Paint icon frame: */
    751756            QPainterPath painterPath;
    752             painterPath.addRoundedRect(subRect, 4, 4);
     757            painterPath.addRoundedRect(subRect, iPadding, iPadding);
    753758            const QColor backgroundColor1 = uiCommon().isInDarkMode()
    754759                                          ? backgroundColor.lighter(110)
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.h

    r108006 r108033  
    173173        ToolsItemData_Margin,
    174174        ToolsItemData_Spacing,
     175        ToolsItemData_Padding,
    175176    };
    176177
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