VirtualBox

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


Ignore:
Timestamp:
Aug 6, 2012 9:16:32 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
79835
Message:

FE/Qt: 6234: Support for VM groups: Details-view word-wrapping support bug-fix.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElement.cpp

    r42609 r42638  
    242242            int iMargin = data(ElementData_Margin).toInt();
    243243            int iSpacing = data(ElementData_Spacing).toInt();
    244             int iMinimumTextColumnWidth = data(ElementData_MinimumTextColumnWidth).toInt();
    245244            int iMaximumTextWidth = (int)geometry().width() - 3 * iMargin - iSpacing;
    246245            QFont textFont = data(ElementData_TextFont).value<QFont>();
     
    262261
    263262            /* Calculate column widths: */
    264             int iFirstColumnWidth = iMaximumTextWidth / 2;
    265             int iSecondColumnWidth = iMaximumTextWidth / 2;
    266             if (iMaximumFirstLineWidth < iMinimumTextColumnWidth)
     263            int iFirstColumnWidth = 0;
     264            int iSecondColumnWidth = 0;
     265            if (iMaximumFirstLineWidth + iMaximumSecondLineWidth <= iMaximumTextWidth)
    267266            {
    268267                iFirstColumnWidth = iMaximumFirstLineWidth;
    269268                iSecondColumnWidth = iMaximumTextWidth - iFirstColumnWidth;
    270269            }
    271             else if (iMaximumSecondLineWidth < iMinimumTextColumnWidth)
     270            else
    272271            {
    273                 iSecondColumnWidth = iMaximumSecondLineWidth;
    274                 iFirstColumnWidth = iMaximumTextWidth - iSecondColumnWidth;
     272                qreal dFirstRatio = (qreal)iMaximumFirstLineWidth / (iMaximumFirstLineWidth + iMaximumSecondLineWidth);
     273                iFirstColumnWidth = iMaximumTextWidth * dFirstRatio;
     274                iSecondColumnWidth = iMaximumTextWidth - iFirstColumnWidth;
    275275            }
    276276
     
    306306            return iSummaryTextHeight;
    307307        }
    308         case ElementData_MinimumTextColumnWidth: return 100;
     308        case ElementData_MinimumTextColumnWidth: return 150;
    309309        /* Default: */
    310310        default: break;
     
    553553    {
    554554        /* Prepare variables: */
    555         int iMinimumTextColumnWidth = data(ElementData_MinimumTextColumnWidth).toInt();
    556555        int iMaximumTextWidth = geometry().width() - 3 * iMargin - iSpacing;
    557556        QFont textFont = data(ElementData_TextFont).value<QFont>();
     
    573572
    574573        /* Calculate column widths: */
    575         int iFirstColumnWidth = iMaximumTextWidth / 2;
    576         int iSecondColumnWidth = iMaximumTextWidth / 2;
    577         if (iMaximumFirstLineWidth < iMinimumTextColumnWidth)
     574        int iFirstColumnWidth = 0;
     575        int iSecondColumnWidth = 0;
     576        if (iMaximumFirstLineWidth + iMaximumSecondLineWidth <= iMaximumTextWidth)
    578577        {
    579578            iFirstColumnWidth = iMaximumFirstLineWidth;
    580579            iSecondColumnWidth = iMaximumTextWidth - iFirstColumnWidth;
    581580        }
    582         else if (iMaximumSecondLineWidth < iMinimumTextColumnWidth)
    583         {
    584             iSecondColumnWidth = iMaximumSecondLineWidth;
    585             iFirstColumnWidth = iMaximumTextWidth - iSecondColumnWidth;
     581        else
     582        {
     583            qreal dFirstRatio = (qreal)iMaximumFirstLineWidth / (iMaximumFirstLineWidth + iMaximumSecondLineWidth);
     584            iFirstColumnWidth = iMaximumTextWidth * dFirstRatio;
     585            iSecondColumnWidth = iMaximumTextWidth - iFirstColumnWidth;
    586586        }
    587587
     
    611611                QTextLayout *pTextLayout = prepareTextLayout(textFont, line.second,
    612612                                                             iSecondColumnWidth, iSecondColumnHeight);
    613                 pTextLayout->draw(pPainter, QPointF(iMachineTextX + iMaximumFirstLineWidth + iSpacing, iMachineTextY));
     613                pTextLayout->draw(pPainter, QPointF(iMachineTextX + iFirstColumnWidth + iSpacing, iMachineTextY));
    614614                delete pTextLayout;
    615615            }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette