VirtualBox

Changeset 69639 in vbox


Ignore:
Timestamp:
Nov 10, 2017 12:25:43 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
119003
Message:

FE/Qt: bugref:8694: Selector UI: HiDPI support for graphics code (chooser/details).

Location:
trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp

    r69500 r69639  
    382382    {
    383383        /* Layout hints: */
    384         case GroupItemData_HorizonalMargin: return 5;
    385         case GroupItemData_VerticalMargin: return 5;
    386         case GroupItemData_MajorSpacing: return 10;
    387         case GroupItemData_MinorSpacing: return 3;
    388         case GroupItemData_RootIndent: return 2;
     384        case GroupItemData_HorizonalMargin: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4;
     385        case GroupItemData_VerticalMargin: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4;
     386        case GroupItemData_MajorSpacing: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 2;
     387        case GroupItemData_MinorSpacing: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 5;
     388        case GroupItemData_RootIndent: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 6;
    389389
    390390        /* Default: */
     
    410410    m_nameFont.setWeight(QFont::Bold);
    411411    m_infoFont = font();
    412     m_groupsPixmap = QPixmap(":/group_abstract_16px.png");
    413     m_machinesPixmap = QPixmap(":/machine_abstract_16px.png");
     412    const int iIconMetric = QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize);
     413    m_groupsPixmap = UIIconPool::iconSet(":/group_abstract_16px.png").pixmap(iIconMetric, iIconMetric);
     414    m_machinesPixmap = UIIconPool::iconSet(":/machine_abstract_16px.png").pixmap(iIconMetric, iIconMetric);
    414415    m_pixmapSizeGroups = m_groupsPixmap.size();
    415416    m_pixmapSizeMachines = m_machinesPixmap.size();
     
    15601561    QColor bodyColor = pal.color(QPalette::Active, QPalette::Base);
    15611562
     1563    /* Invent pixel metric: */
     1564    const int iMetric = QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 2;
     1565
    15621566    /* Root-item: */
    15631567    if (isRoot())
     
    15821586            QPainterPath path;
    15831587            path.moveTo(iRootIndent, 0);
    1584             path.lineTo(path.currentPosition().x(), iFullHeaderHeight - 10);
    1585             path.arcTo(QRectF(path.currentPosition(), QSizeF(20, 20)).translated(0, -10), 180, 90);
    1586             path.lineTo(rect.width() - 10 - iRootIndent, path.currentPosition().y());
    1587             path.arcTo(QRectF(path.currentPosition(), QSizeF(20, 20)).translated(-10, -20), 270, 90);
     1588            path.lineTo(path.currentPosition().x(), iFullHeaderHeight - iMetric);
     1589            path.arcTo(QRectF(path.currentPosition(), QSizeF(2 * iMetric, 2 * iMetric)).translated(0, -iMetric), 180, 90);
     1590            path.lineTo(rect.width() - iMetric - iRootIndent, path.currentPosition().y());
     1591            path.arcTo(QRectF(path.currentPosition(), QSizeF(2 * iMetric, 2 * iMetric)).translated(-iMetric, -2 * iMetric), 270, 90);
    15881592            path.lineTo(path.currentPosition().x(), 0);
    15891593            path.closeSubpath();
     
    16121616        /* Add clipping: */
    16131617        QPainterPath path;
    1614         path.moveTo(10, 0);
    1615         path.arcTo(QRectF(path.currentPosition(), QSizeF(20, 20)).translated(-10, 0), 90, 90);
    1616         path.lineTo(path.currentPosition().x(), iFullHeight - 10);
    1617         path.arcTo(QRectF(path.currentPosition(), QSizeF(20, 20)).translated(0, -10), 180, 90);
    1618         path.lineTo(rect.width() - 10, path.currentPosition().y());
    1619         path.arcTo(QRectF(path.currentPosition(), QSizeF(20, 20)).translated(-10, -20), 270, 90);
    1620         path.lineTo(path.currentPosition().x(), 10);
    1621         path.arcTo(QRectF(path.currentPosition(), QSizeF(20, 20)).translated(-20, -10), 0, 90);
     1618        path.moveTo(iMetric, 0);
     1619        path.arcTo(QRectF(path.currentPosition(), QSizeF(2 * iMetric, 2 * iMetric)).translated(-iMetric, 0), 90, 90);
     1620        path.lineTo(path.currentPosition().x(), iFullHeight - iMetric);
     1621        path.arcTo(QRectF(path.currentPosition(), QSizeF(2 * iMetric, 2 * iMetric)).translated(0, -iMetric), 180, 90);
     1622        path.lineTo(rect.width() - iMetric, path.currentPosition().y());
     1623        path.arcTo(QRectF(path.currentPosition(), QSizeF(2 * iMetric, 2 * iMetric)).translated(-iMetric, -2 * iMetric), 270, 90);
     1624        path.lineTo(path.currentPosition().x(), iMetric);
     1625        path.arcTo(QRectF(path.currentPosition(), QSizeF(2 * iMetric, 2 * iMetric)).translated(-2 * iMetric, -iMetric), 0, 90);
    16221626        path.closeSubpath();
    16231627        pPainter->setClipPath(path);
     
    17531757                      m_strInfoMachines);
    17541758
    1755             iHorizontalIndent -= m_pixmapSizeMachines.width();
     1759            iHorizontalIndent -= (m_pixmapSizeMachines.width() + iMinorSpacing);
    17561760            int iMachinePixmapX = iHorizontalIndent;
    17571761            int iMachinePixmapY = m_pixmapSizeMachines.height() == iFullHeaderHeight ?
     
    17631767                        /* Pixmap to paint: */
    17641768                        m_machinesPixmap);
     1769
     1770            /* Indent between machines and groups: */
     1771            iHorizontalIndent -= iMinorSpacing;
    17651772        }
    17661773
     
    17831790                      m_strInfoGroups);
    17841791
    1785             iHorizontalIndent -= m_pixmapSizeGroups.width();
     1792            iHorizontalIndent -= (m_pixmapSizeGroups.width() + iMinorSpacing);
    17861793            int iGroupPixmapX = iHorizontalIndent;
    17871794            int iGroupPixmapY = m_pixmapSizeGroups.height() == iFullHeaderHeight ?
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp

    r69500 r69639  
    197197    {
    198198        /* Layout hints: */
    199         case MachineItemData_Margin: return 5;
    200         case MachineItemData_MajorSpacing: return 10;
    201         case MachineItemData_MinorSpacing: return 4;
     199        case MachineItemData_Margin: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4;
     200        case MachineItemData_MajorSpacing: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 2;
     201        case MachineItemData_MinorSpacing: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4;
    202202        case MachineItemData_TextSpacing: return 0;
    203203
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElement.cpp

    r69500 r69639  
    4646    , m_pSet(pParent)
    4747    , m_type(type)
    48     , m_iCornerRadius(10)
     48    , m_iCornerRadius(QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 2)
    4949    , m_iMinimumHeaderWidth(0)
    5050    , m_iMinimumHeaderHeight(0)
     
    216216    {
    217217        /* Hints: */
    218         case ElementData_Margin: return 5;
    219         case ElementData_Spacing: return 10;
    220         case ElementData_MinimumTextColumnWidth: return 100;
     218        case ElementData_Margin: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4;
     219        case ElementData_Spacing: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 2;
    221220        /* Default: */
    222221        default: break;
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElement.h

    r69500 r69639  
    114114        /* Hints: */
    115115        ElementData_Margin,
    116         ElementData_Spacing,
    117         ElementData_MinimumTextColumnWidth
     116        ElementData_Spacing
    118117    };
    119118
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsGroup.cpp

    r69500 r69639  
    128128    {
    129129        /* Layout hints: */
    130         case GroupData_Margin: return 2;
    131         case GroupData_Spacing: return 10;
     130        case GroupData_Margin: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 6;
     131        case GroupData_Spacing: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 2;
    132132        /* Default: */
    133133        default: break;
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsSet.cpp

    r69500 r69639  
    233233        /* Layout hints: */
    234234        case SetData_Margin: return 0;
    235         case SetData_Spacing: return 3;
     235        case SetData_Spacing: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 5;
    236236        /* Default: */
    237237        default: break;
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