VirtualBox

Changeset 77805 in vbox


Ignore:
Timestamp:
Mar 20, 2019 11:09:52 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
129476
Message:

FE/Qt: bugref:9241: VirtualBox Manager: Chooser pane: Reworking margins and indents. This should prevent right margin from overlapping with scroll-bar and make group indent more obvious, so that each grouped VM is now indented on half of own icon size comparing to VMs of group above.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp

    r77638 r77805  
    5757    const int iFullWidth = geometry().width();
    5858    const int iFullHeight = geometry().height();
    59     const int iMargin = data(GlobalItemData_Margin).toInt();
     59    const int iMarginHR = data(GlobalItemData_MarginHR).toInt();
    6060    const int iButtonMargin = data(GlobalItemData_ButtonMargin).toInt();
    61     const int iToolPixmapX = iFullWidth - iMargin - 1
     61    const int iToolPixmapX = iFullWidth - iMarginHR - 1
    6262                           - m_toolPixmap.width() / m_toolPixmap.devicePixelRatio();
    6363    const int iToolPixmapY = (iFullHeight - m_toolPixmap.height() / m_toolPixmap.devicePixelRatio()) / 2;
     
    7575    const int iFullWidth = geometry().width();
    7676    const int iFullHeight = geometry().height();
    77     const int iMargin = data(GlobalItemData_Margin).toInt();
     77    const int iMarginHR = data(GlobalItemData_MarginHR).toInt();
    7878    const int iSpacing = data(GlobalItemData_Spacing).toInt();
    7979    const int iButtonMargin = data(GlobalItemData_ButtonMargin).toInt();
    80     const int iPinPixmapX = iFullWidth - iMargin - 1
    81                             - m_toolPixmap.width() / m_toolPixmap.devicePixelRatio()
    82                             - iSpacing
    83                             - m_pinPixmap.width() / m_pinPixmap.devicePixelRatio();
     80    const int iPinPixmapX = iFullWidth - iMarginHR - 1
     81                          - m_toolPixmap.width() / m_toolPixmap.devicePixelRatio()
     82                          - iSpacing
     83                          - m_pinPixmap.width() / m_pinPixmap.devicePixelRatio();
    8484    const int iPinPixmapY = (iFullHeight - m_pinPixmap.height() / m_pinPixmap.devicePixelRatio()) / 2;
    8585    QRect rect = QRect(iPinPixmapX,
     
    233233{
    234234    /* Prepare variables: */
    235     const int iMargin = data(GlobalItemData_Margin).toInt();
     235    const int iMarginHL = data(GlobalItemData_MarginHL).toInt();
     236    const int iMarginHR = data(GlobalItemData_MarginHR).toInt();
    236237    const int iSpacing = data(GlobalItemData_Spacing).toInt();
    237238
     
    240241
    241242    /* Two margins: */
    242     iProposedWidth += 2 * iMargin;
     243    iProposedWidth += iMarginHL + iMarginHR;
    243244    /* And global-item content width: */
    244245    iProposedWidth += (m_pixmapSize.width() +
     
    257258{
    258259    /* Prepare variables: */
    259     const int iMargin = data(GlobalItemData_Margin).toInt();
     260    const int iMarginV = data(GlobalItemData_MarginV).toInt();
    260261
    261262    /* Calculating proposed height: */
     
    277278    {
    278279        /* Two margins: */
    279         iProposedHeight += 2 * iMargin;
     280        iProposedHeight += 2 * iMarginV;
    280281        /* And content height: */
    281282        iProposedHeight += iContentHeight;
     
    401402    {
    402403        /* Layout hints: */
    403         case GlobalItemData_Margin:       return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 3 * 2;
     404        case GlobalItemData_MarginHL:     return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize);
     405        case GlobalItemData_MarginHR:     return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4 * 5;
     406        case GlobalItemData_MarginV:      return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4 * 3;
    404407        case GlobalItemData_Spacing:      return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 2;
    405408        case GlobalItemData_ButtonMargin: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4;
     
    508511{
    509512    /* Prepare variables: */
    510     const int iMargin = data(GlobalItemData_Margin).toInt();
     513    const int iMarginHL = data(GlobalItemData_MarginHL).toInt();
     514    const int iMarginHR = data(GlobalItemData_MarginHR).toInt();
    511515    const int iSpacing = data(GlobalItemData_Spacing).toInt();
    512516
    513517    /* Calculate new maximum name width: */
    514518    int iMaximumNameWidth = (int)geometry().width();
    515     iMaximumNameWidth -= iMargin; /* left margin */
     519    iMaximumNameWidth -= iMarginHL; /* left margin */
    516520    iMaximumNameWidth -= m_pixmapSize.width(); /* pixmap width */
    517521    iMaximumNameWidth -= iSpacing; /* spacing between pixmap and name */
    518     iMaximumNameWidth -= iMargin; /* right margin */
     522    iMaximumNameWidth -= iMarginHR; /* right margin */
    519523
    520524    /* Is there something changed? */
     
    693697    const int iFullWidth = rectangle.width();
    694698    const int iFullHeight = rectangle.height();
    695     const int iMargin = data(GlobalItemData_Margin).toInt();
     699    const int iMarginHL = data(GlobalItemData_MarginHL).toInt();
     700    const int iMarginHR = data(GlobalItemData_MarginHR).toInt();
    696701    const int iSpacing = data(GlobalItemData_Spacing).toInt();
    697702    const int iButtonMargin = data(GlobalItemData_ButtonMargin).toInt();
     
    717722
    718723    /* Calculate indents: */
    719     int iLeftColumnIndent = iMargin;
     724    int iLeftColumnIndent = iMarginHL;
    720725
    721726    /* Paint left column: */
     
    762767    const QPointF sceneCursorPosition = pView->mapToScene(pView->mapFromGlobal(QCursor::pos()));
    763768    const QPoint itemCursorPosition = mapFromScene(sceneCursorPosition).toPoint();
    764     int iRightColumnIndent = iFullWidth - iMargin - 1 - m_toolPixmap.width() / m_toolPixmap.devicePixelRatio();
     769    int iRightColumnIndent = iFullWidth - iMarginHR - 1 - m_toolPixmap.width() / m_toolPixmap.devicePixelRatio();
    765770
    766771    /* Paint right column: */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.h

    r77638 r77805  
    168168    {
    169169        /* Layout hints: */
    170         GlobalItemData_Margin,
     170        GlobalItemData_MarginHL,
     171        GlobalItemData_MarginHR,
     172        GlobalItemData_MarginV,
    171173        GlobalItemData_Spacing,
    172174        GlobalItemData_ButtonMargin,
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp

    r77756 r77805  
    12341234        case GroupItemData_HeaderSpacing:   return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 2;
    12351235        case GroupItemData_ChildrenSpacing: return 1;
    1236         case GroupItemData_ParentIndent:    return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 3;
     1236        case GroupItemData_ParentIndent:    return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize);
    12371237
    12381238        /* Default: */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp

    r77687 r77805  
    8686    const int iFullWidth = geometry().width();
    8787    const int iFullHeight = geometry().height();
    88     const int iMargin = data(MachineItemData_Margin).toInt();
     88    const int iMarginHR = data(MachineItemData_MarginHR).toInt();
    8989    const int iButtonMargin = data(MachineItemData_ButtonMargin).toInt();
    90     const int iToolPixmapX = iFullWidth - iMargin - 1 - m_toolPixmap.width() / m_toolPixmap.devicePixelRatio();
     90    const int iToolPixmapX = iFullWidth - iMarginHR - 1 - m_toolPixmap.width() / m_toolPixmap.devicePixelRatio();
    9191    const int iToolPixmapY = (iFullHeight - m_toolPixmap.height() / m_toolPixmap.devicePixelRatio()) / 2;
    9292    QRect rect = QRect(iToolPixmapX,
     
    281281{
    282282    /* Prepare variables: */
    283     const int iMargin = data(MachineItemData_Margin).toInt();
     283    const int iMarginHL = data(MachineItemData_MarginHL).toInt();
     284    const int iMarginHR = data(MachineItemData_MarginHR).toInt();
    284285    const int iMajorSpacing = data(MachineItemData_MajorSpacing).toInt();
    285286    const int iMinorSpacing = data(MachineItemData_MinorSpacing).toInt();
     
    291292
    292293    /* Two margins: */
    293     iProposedWidth += 2 * iMargin + iParentIndent * level();
     294    iProposedWidth += iMarginHL + iMarginHR + iParentIndent * level();
    294295    /* And machine-item content to take into account: */
    295296    int iTopLineWidth = m_iMinimumNameWidth;
     
    315316{
    316317    /* Prepare variables: */
    317     const int iMargin = data(MachineItemData_Margin).toInt();
     318    const int iMarginV = data(MachineItemData_MarginV).toInt();
    318319    const int iMachineItemTextSpacing = data(MachineItemData_TextSpacing).toInt();
    319320    const int iButtonMargin = data(MachineItemData_ButtonMargin).toInt();
     
    323324
    324325    /* Two margins: */
    325     iProposedHeight += 2 * iMargin;
     326    iProposedHeight += 2 * iMarginV;
    326327    /* And machine-item content to take into account: */
    327328    int iTopLineHeight = qMax(m_visibleNameSize.height(), m_visibleSnapshotNameSize.height());
     
    566567    {
    567568        /* Layout hints: */
    568         case MachineItemData_Margin:       return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 3 * 2;
     569        case MachineItemData_MarginHL:       return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize);
     570        case MachineItemData_MarginHR:       return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4 * 5;
     571        case MachineItemData_MarginV:       return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4 * 3;
    569572        case MachineItemData_MajorSpacing: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 2;
    570573        case MachineItemData_MinorSpacing: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4;
    571574        case MachineItemData_TextSpacing:  return 0;
    572         case MachineItemData_ParentIndent: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 3;
     575        case MachineItemData_ParentIndent: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize);
    573576        case MachineItemData_ButtonMargin: return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize) / 4;
    574577
     
    661664{
    662665    /* Prepare variables: */
    663     const int iMargin = data(MachineItemData_Margin).toInt();
     666    const int iMarginHL = data(MachineItemData_MarginHL).toInt();
     667    const int iMarginHR = data(MachineItemData_MarginHR).toInt();
    664668    const int iMajorSpacing = data(MachineItemData_MajorSpacing).toInt();
    665669    const int iParentIndent = data(MachineItemData_ParentIndent).toInt();
     
    669673    int iFirstRowMaximumWidth = (int)geometry().width();
    670674    iFirstRowMaximumWidth -= iParentIndent * level();
    671     iFirstRowMaximumWidth -= iMargin; /* left margin */
     675    iFirstRowMaximumWidth -= iMarginHL; /* left margin */
    672676    iFirstRowMaximumWidth -= m_pixmapSize.width(); /* left pixmap width */
    673677    iFirstRowMaximumWidth -= iMajorSpacing; /* spacing between left pixmap and name(s) */
     
    678682        iFirstRowMaximumWidth -= m_toolPixmapSize.width() + 2 * iButtonMargin; /* right pixmap width */
    679683    }
    680     iFirstRowMaximumWidth -= iMargin; /* right margin */
     684    iFirstRowMaximumWidth -= iMarginHR; /* right margin */
    681685
    682686    /* Is there something changed? */
     
    10221026    const int iFullWidth = rectangle.width();
    10231027    const int iFullHeight = rectangle.height();
    1024     const int iMargin = data(MachineItemData_Margin).toInt();
     1028    const int iMarginHL = data(MachineItemData_MarginHL).toInt();
     1029    const int iMarginHR = data(MachineItemData_MarginHR).toInt();
    10251030    const int iMajorSpacing = data(MachineItemData_MajorSpacing).toInt();
    10261031    const int iMinorSpacing = data(MachineItemData_MinorSpacing).toInt();
     
    10431048
    10441049    /* Calculate indents: */
    1045     int iLeftColumnIndent = iMargin + iParentIndent * level();
     1050    int iLeftColumnIndent = iMarginHL + iParentIndent * level();
    10461051
    10471052    /* Paint left column: */
     
    11651170    const QPointF sceneCursorPosition = pView->mapToScene(pView->mapFromGlobal(QCursor::pos()));
    11661171    const QPoint itemCursorPosition = mapFromScene(sceneCursorPosition).toPoint();
    1167     int iRightColumnIndent = iFullWidth - iMargin - 1 - m_toolPixmap.width() / m_toolPixmap.devicePixelRatio();
     1172    int iRightColumnIndent = iFullWidth - iMarginHR - 1 - m_toolPixmap.width() / m_toolPixmap.devicePixelRatio();
    11681173
    11691174    /* Paint right column: */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.h

    r77638 r77805  
    179179    {
    180180        /* Layout hints: */
    181         MachineItemData_Margin,
     181        MachineItemData_MarginHL,
     182        MachineItemData_MarginHR,
     183        MachineItemData_MarginV,
    182184        MachineItemData_MajorSpacing,
    183185        MachineItemData_MinorSpacing,
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