Changeset 43846 in vbox for trunk/src/VBox/Frontends
- Timestamp:
- Nov 9, 2012 11:10:49 AM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 81971
- 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
r43841 r43846 54 54 retranslateUi(); 55 55 56 /* Calculate minimum header size: */ 57 updateHeaderSize(); 56 /* Init: */ 57 updateVisibleName(); 58 updateItemCountInfo(); 59 updateToolTip(); 58 60 } 59 61 … … 79 81 retranslateUi(); 80 82 81 /* Calculate minimum header size: */ 82 updateHeaderSize(); 83 /* Init: */ 84 updateVisibleName(); 85 updateItemCountInfo(); 86 updateToolTip(); 83 87 } 84 88 … … 105 109 retranslateUi(); 106 110 107 /* Calculate minimum header size: */ 108 updateHeaderSize(); 111 /* Init: */ 112 updateVisibleName(); 113 updateItemCountInfo(); 114 updateToolTip(); 109 115 } 110 116 … … 133 139 retranslateUi(); 134 140 135 /* Calculate minimum header size: */ 136 updateHeaderSize(); 141 /* Init: */ 142 updateVisibleName(); 143 updateItemCountInfo(); 144 updateToolTip(); 137 145 } 138 146 … … 371 379 case GroupItemData_MinorSpacing: return 3; 372 380 case GroupItemData_RootIndent: return 2; 373 /* Texts: */374 case GroupItemData_Name: return m_strVisibleName;375 case GroupItemData_GroupCountText: return m_groupItems.isEmpty() ? QString() : QString::number(m_groupItems.size());376 case GroupItemData_MachineCountText: return m_machineItems.isEmpty() ? QString() : QString::number(m_machineItems.size());377 381 /* Sizes: */ 378 382 case GroupItemData_ToggleButtonSize: return m_pToggleButton ? m_pToggleButton->minimumSizeHint().toSize() : QSize(0, 0); 379 383 case GroupItemData_EnterButtonSize: return m_pEnterButton ? m_pEnterButton->minimumSizeHint().toSize() : QSize(0, 0); 380 384 case GroupItemData_ExitButtonSize: return m_pExitButton ? m_pExitButton->minimumSizeHint().toSize() : QSize(0, 0); 381 case GroupItemData_NameSize: return isMainRoot() ? QSize(0, 0) : textSize(m_nameFont, model()->paintDevice(),382 data(GroupItemData_Name).toString());383 385 case GroupItemData_GroupPixmapSize: return isMainRoot() ? QSize(0, 0) : m_groupsPixmap.size(); 384 386 case GroupItemData_MachinePixmapSize: return isMainRoot() ? QSize(0, 0) : m_machinesPixmap.size(); 385 case GroupItemData_GroupCountTextSize: return isMainRoot() ? QSize(0, 0) : textSize(m_infoFont, model()->paintDevice(),386 data(GroupItemData_GroupCountText).toString());387 case GroupItemData_MachineCountTextSize: return isMainRoot() ? QSize(0, 0) : textSize(m_infoFont, model()->paintDevice(),388 data(GroupItemData_MachineCountText).toString());389 387 case GroupItemData_FullHeaderSize: return m_headerSize; 390 388 /* Default: */ … … 483 481 int iGroupPixmapWidth = data(GroupItemData_GroupPixmapSize).toSize().width(); 484 482 int iMachinePixmapWidth = data(GroupItemData_MachinePixmapSize).toSize().width(); 485 int iGroupCountTextWidth = data(GroupItemData_GroupCountTextSize).toSize().width();486 int iMachineCountTextWidth = data(GroupItemData_MachineCountTextSize).toSize().width();483 int iGroupCountTextWidth = m_infoSizeGroups.width(); 484 int iMachineCountTextWidth = m_infoSizeMachines.width(); 487 485 int iMaximumWidth = geometry().width(); 488 486 … … 518 516 519 517 /* Recache visible name: */ 520 m_strVisibleName = compressText(m_nameFont, model()->paintDevice(), name(), iMaximumWidth); 518 QPaintDevice *pPaintDevice = model()->paintDevice(); 519 m_strVisibleName = isMainRoot() ? QString() : compressText(m_nameFont, pPaintDevice, name(), iMaximumWidth); 520 m_visibleNameSize = isMainRoot() ? QSize(0, 0) : textSize(m_nameFont, pPaintDevice, m_strVisibleName); 521 521 522 522 /* Repaint item: */ 523 523 update(); 524 } 525 526 void UIGChooserItemGroup::updateItemCountInfo() 527 { 528 /* Update item info attributes: */ 529 QPaintDevice *pPaintDevice = model()->paintDevice(); 530 m_strInfoGroups = isMainRoot() || m_groupItems.isEmpty() ? QString() : QString::number(m_groupItems.size()); 531 m_strInfoMachines = isMainRoot() || m_machineItems.isEmpty() ? QString() : QString::number(m_machineItems.size()); 532 m_infoSizeGroups = isMainRoot() ? QSize(0, 0) : textSize(m_infoFont, pPaintDevice, m_strInfoGroups); 533 m_infoSizeMachines = isMainRoot() ? QSize(0, 0) : textSize(m_infoFont, pPaintDevice, m_strInfoMachines); 534 535 /* Update linked values: */ 536 updateHeaderSize(); 524 537 } 525 538 … … 536 549 QSize toggleButtonSize = data(GroupItemData_ToggleButtonSize).toSize(); 537 550 QSize groupPixmapSize = data(GroupItemData_GroupPixmapSize).toSize(); 538 QSize groupCountTextSize = data(GroupItemData_GroupCountTextSize).toSize();539 551 QSize machinePixmapSize = data(GroupItemData_MachinePixmapSize).toSize(); 540 QSize machineCountTextSize = data(GroupItemData_MachineCountTextSize).toSize();541 552 QSize enterButtonSize = data(GroupItemData_EnterButtonSize).toSize(); 542 553 … … 564 575 /* Group info width: */ 565 576 if (!m_groupItems.isEmpty()) 566 iHeaderWidth += (groupPixmapSize.width() + groupCountTextSize.width());577 iHeaderWidth += (groupPixmapSize.width() + m_infoSizeGroups.width()); 567 578 /* Machine info width: */ 568 579 if (!m_machineItems.isEmpty()) 569 iHeaderWidth += (machinePixmapSize.width() + m achineCountTextSize.width());580 iHeaderWidth += (machinePixmapSize.width() + m_infoSizeMachines.width()); 570 581 /* Spacing + button width: */ 571 582 if (!isRoot()) … … 582 593 << iMinimumNameHeight 583 594 /* Group info heights: */ 584 << groupPixmapSize.height() << groupCountTextSize.height()595 << groupPixmapSize.height() << m_infoSizeGroups.height() 585 596 /* Machine info heights: */ 586 << machinePixmapSize.height() << m achineCountTextSize.height();597 << machinePixmapSize.height() << m_infoSizeMachines.height(); 587 598 /* Button height: */ 588 599 if (!isRoot()) … … 741 752 /* Update: */ 742 753 updateVisibleName(); 743 update HeaderSize();754 updateItemCountInfo(); 744 755 updateToolTip(); 745 756 } … … 773 784 /* Update: */ 774 785 updateVisibleName(); 775 update HeaderSize();786 updateItemCountInfo(); 776 787 updateToolTip(); 777 788 } … … 789 800 /* Update: */ 790 801 updateVisibleName(); 791 update HeaderSize();802 updateItemCountInfo(); 792 803 updateToolTip(); 793 804 } … … 845 856 /* Update: */ 846 857 updateVisibleName(); 847 update HeaderSize();858 updateItemCountInfo(); 848 859 updateToolTip(); 849 860 } … … 1559 1570 QSize toggleButtonSize = data(GroupItemData_ToggleButtonSize).toSize(); 1560 1571 QSize exitButtonSize = data(GroupItemData_ExitButtonSize).toSize(); 1561 QSize nameSize = data(GroupItemData_NameSize).toSize();1562 1572 int iFullHeaderHeight = data(GroupItemData_FullHeaderSize).toSize().height(); 1563 1573 … … 1584 1594 iNameX += toggleButtonSize.width(); 1585 1595 iNameX += iMajorSpacing; 1586 int iNameY = nameSize.height() == iFullHeaderHeight ? iVerticalMargin :1587 iVerticalMargin + (iFullHeaderHeight - nameSize.height()) / 2;1596 int iNameY = m_visibleNameSize.height() == iFullHeaderHeight ? iVerticalMargin : 1597 iVerticalMargin + (iFullHeaderHeight - m_visibleNameSize.height()) / 2; 1588 1598 paintText(/* Painter: */ 1589 1599 pPainter, … … 1595 1605 model()->paintDevice(), 1596 1606 /* Text to paint: */ 1597 data(GroupItemData_Name).toString());1607 m_strVisibleName); 1598 1608 1599 1609 /* Should we add more info? */ … … 1609 1619 QSize groupPixmapSize = data(GroupItemData_GroupPixmapSize).toSize(); 1610 1620 QSize machinePixmapSize = data(GroupItemData_MachinePixmapSize).toSize(); 1611 QSize groupCountTextSize = data(GroupItemData_GroupCountTextSize).toSize();1612 QSize machineCountTextSize = data(GroupItemData_MachineCountTextSize).toSize();1613 QString strGroupCountText = data(GroupItemData_GroupCountText).toString();1614 QString strMachineCountText = data(GroupItemData_MachineCountText).toString();1615 1621 1616 1622 /* Indent: */ … … 1620 1626 1621 1627 /* Should we draw machine count info? */ 1622 if (! strMachineCountText.isEmpty())1623 { 1624 iHorizontalIndent -= m achineCountTextSize.width();1628 if (!m_strInfoMachines.isEmpty()) 1629 { 1630 iHorizontalIndent -= m_infoSizeMachines.width(); 1625 1631 int iMachineCountTextX = iHorizontalIndent; 1626 int iMachineCountTextY = m achineCountTextSize.height() == iFullHeaderHeight ?1627 iVerticalMargin : iVerticalMargin + (iFullHeaderHeight - m achineCountTextSize.height()) / 2;1632 int iMachineCountTextY = m_infoSizeMachines.height() == iFullHeaderHeight ? 1633 iVerticalMargin : iVerticalMargin + (iFullHeaderHeight - m_infoSizeMachines.height()) / 2; 1628 1634 paintText(/* Painter: */ 1629 1635 pPainter, … … 1635 1641 model()->paintDevice(), 1636 1642 /* Text to paint: */ 1637 strMachineCountText);1643 m_strInfoMachines); 1638 1644 1639 1645 iHorizontalIndent -= machinePixmapSize.width(); … … 1650 1656 1651 1657 /* Should we draw group count info? */ 1652 if (! strGroupCountText.isEmpty())1653 { 1654 iHorizontalIndent -= groupCountTextSize.width();1658 if (!m_strInfoGroups.isEmpty()) 1659 { 1660 iHorizontalIndent -= m_infoSizeGroups.width(); 1655 1661 int iGroupCountTextX = iHorizontalIndent; 1656 int iGroupCountTextY = groupCountTextSize.height() == iFullHeaderHeight ?1657 iVerticalMargin : iVerticalMargin + (iFullHeaderHeight - groupCountTextSize.height()) / 2;1662 int iGroupCountTextY = m_infoSizeGroups.height() == iFullHeaderHeight ? 1663 iVerticalMargin : iVerticalMargin + (iFullHeaderHeight - m_infoSizeGroups.height()) / 2; 1658 1664 paintText(/* Painter: */ 1659 1665 pPainter, … … 1665 1671 model()->paintDevice(), 1666 1672 /* Text to paint: */ 1667 strGroupCountText);1673 m_strInfoGroups); 1668 1674 1669 1675 iHorizontalIndent -= groupPixmapSize.width(); -
trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.h
r43841 r43846 109 109 GroupItemData_MinorSpacing, 110 110 GroupItemData_RootIndent, 111 /* Text: */112 GroupItemData_Name,113 GroupItemData_GroupCountText,114 GroupItemData_MachineCountText,115 111 /* Sizes: */ 116 112 GroupItemData_ToggleButtonSize, 117 113 GroupItemData_EnterButtonSize, 118 114 GroupItemData_ExitButtonSize, 119 GroupItemData_NameSize,120 115 GroupItemData_GroupPixmapSize, 121 116 GroupItemData_MachinePixmapSize, 122 GroupItemData_GroupCountTextSize,123 GroupItemData_MachineCountTextSize,124 117 GroupItemData_FullHeaderSize 125 118 }; … … 135 128 void handleRootStatusChange(); 136 129 void updateVisibleName(); 130 void updateItemCountInfo(); 137 131 void updateHeaderSize(); 138 132 void updateToolTip(); … … 210 204 /* Cached values: */ 211 205 QString m_strVisibleName; 206 QString m_strInfoGroups; 207 QString m_strInfoMachines; 208 QSize m_visibleNameSize; 209 QSize m_infoSizeGroups; 210 QSize m_infoSizeMachines; 212 211 QSize m_headerSize; 213 212 QFont m_nameFont;
Note:
See TracChangeset
for help on using the changeset viewer.