VirtualBox

Changeset 43783 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Oct 31, 2012 11:25:58 AM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
81745
Message:

FE/Qt: VM group UI: Font caching for group-item.

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

Legend:

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

    r43782 r43783  
    327327        case GroupItemData_MajorSpacing: return 10;
    328328        case GroupItemData_MinorSpacing: return 3;
    329         /* Fonts: */
    330         case GroupItemData_NameFont:
    331         {
    332             QFont nameFont = font();
    333             nameFont.setWeight(QFont::Bold);
    334             return nameFont;
    335         }
    336         case GroupItemData_InfoFont:
    337         {
    338             QFont infoFont = font();
    339             return infoFont;
    340         }
    341329        /* Texts: */
    342330        case GroupItemData_Name:
     
    370358            if (isHovered() && !strMachineCountText.isEmpty())
    371359                iMaximumWidth -= (iMachinePixmapWidth + iMachineCountTextWidth);
    372             return compressText(data(GroupItemData_NameFont).value<QFont>(),
    373                                 model()->paintDevice(),
    374                                 m_strName, iMaximumWidth);
     360            return compressText(m_nameFont, model()->paintDevice(), m_strName, iMaximumWidth);
    375361        }
    376362        case GroupItemData_GroupCountText: return m_groupItems.isEmpty() ? QString() : QString::number(m_groupItems.size());
     
    384370            if (isMainRoot())
    385371                return QSize(0, 0);
    386             QFont font = data(GroupItemData_NameFont).value<QFont>();
    387372            QPaintDevice *pPaintDevice = model()->paintDevice();
    388             QFontMetrics fm(font, pPaintDevice);
    389             int iMaximumTextWidth = textWidth(font, pPaintDevice, 20);
    390             QString strCompressedName = compressText(font, pPaintDevice,
    391                                                      m_strName, iMaximumTextWidth);
     373            QFontMetrics fm(m_nameFont, pPaintDevice);
     374            int iMaximumTextWidth = textWidth(m_nameFont, pPaintDevice, 20);
     375            QString strCompressedName = compressText(m_nameFont, pPaintDevice, m_strName, iMaximumTextWidth);
    392376            return QSize(fm.width(strCompressedName), fm.height());
    393377        }
     
    396380            if (isMainRoot())
    397381                return QSize(0, 0);
    398             QFontMetrics fm(data(GroupItemData_NameFont).value<QFont>(), model()->paintDevice());
     382            QFontMetrics fm(m_nameFont, model()->paintDevice());
    399383            return QSize(fm.width(data(GroupItemData_Name).toString()) + 2, fm.height());
    400384        }
     
    407391            if (isMainRoot())
    408392                return QSize(0, 0);
    409             QFontMetrics fm(data(GroupItemData_InfoFont).value<QFont>(), model()->paintDevice());
     393            QFontMetrics fm(m_infoFont, model()->paintDevice());
    410394            return QSize(fm.width(data(GroupItemData_GroupCountText).toString()), fm.height());
    411395        }
     
    414398            if (isMainRoot())
    415399                return QSize(0, 0);
    416             QFontMetrics fm(data(GroupItemData_InfoFont).value<QFont>(), model()->paintDevice());
     400            QFontMetrics fm(m_infoFont, model()->paintDevice());
    417401            return QSize(fm.width(data(GroupItemData_MachineCountText).toString()), fm.height());
    418402        }
     
    489473    m_iCornerRadius = 10;
    490474    m_iBlackoutDarkness = 110;
     475    m_nameFont = font();
     476    m_nameFont.setWeight(QFont::Bold);
     477    m_infoFont = font();
    491478    m_groupsPixmap = QPixmap(":/nw_16px.png");
    492479    m_machinesPixmap = QPixmap(":/machine_16px.png");
     
    508495        /* Setup name-editor: */
    509496        m_pNameEditorWidget = new UIGroupRenameEditor(m_strName, this);
    510         m_pNameEditorWidget->setFont(data(GroupItemData_NameFont).value<QFont>());
     497        m_pNameEditorWidget->setFont(m_nameFont);
    511498        connect(m_pNameEditorWidget, SIGNAL(sigEditingFinished()), this, SLOT(sltNameEditingFinished()));
    512499        m_pNameEditor = new QGraphicsProxyWidget(this);
     
    14871474              QPoint(iNameX, iNameY),
    14881475              /* Font to paint text: */
    1489               data(GroupItemData_NameFont).value<QFont>(),
     1476              m_nameFont,
    14901477              /* Paint device: */
    14911478              model()->paintDevice(),
     
    15081495        QSize groupCountTextSize = data(GroupItemData_GroupCountTextSize).toSize();
    15091496        QSize machineCountTextSize = data(GroupItemData_MachineCountTextSize).toSize();
    1510         QFont infoFont = data(GroupItemData_InfoFont).value<QFont>();
    15111497        QString strGroupCountText = data(GroupItemData_GroupCountText).toString();
    15121498        QString strMachineCountText = data(GroupItemData_MachineCountText).toString();
     
    15291515                      QPoint(iMachineCountTextX, iMachineCountTextY),
    15301516                      /* Font to paint text: */
    1531                       infoFont,
     1517                      m_infoFont,
    15321518                      /* Paint device: */
    15331519                      model()->paintDevice(),
     
    15591545                      QPoint(iGroupCountTextX, iGroupCountTextY),
    15601546                      /* Font to paint text: */
    1561                       infoFont,
     1547                      m_infoFont,
    15621548                      /* Paint device: */
    15631549                      model()->paintDevice(),
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.h

    r43782 r43783  
    105105        GroupItemData_MajorSpacing,
    106106        GroupItemData_MinorSpacing,
    107         /* Fonts: */
    108         GroupItemData_NameFont,
    109         GroupItemData_InfoFont,
    110107        /* Text: */
    111108        GroupItemData_Name,
     
    206203    bool m_fMainRoot;
    207204    int m_iBlackoutDarkness;
     205    /* Cached values: */
     206    QFont m_nameFont;
     207    QFont m_infoFont;
    208208    QPixmap m_groupsPixmap;
    209209    QPixmap m_machinesPixmap;
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