VirtualBox

Changeset 43153 in vbox


Ignore:
Timestamp:
Sep 3, 2012 5:06:09 PM (12 years ago)
Author:
vboxsync
Message:

FE/Qt: VM selector UI: Colors reworked for machine/group items (hover,
highlight).

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

Legend:

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

    r42922 r43153  
    4545    , m_pBackwardAnimation(0)
    4646    , m_iAnimationDuration(400)
    47     , m_iDefaultDarkness(103)
    48     , m_iBlackoutDarkness(110)
     47    , m_iDefaultDarkness(100)
    4948    , m_iHighlightDarkness(90)
     49    , m_iAnimationDarkness(m_iDefaultDarkness)
    5050    , m_iStrokeDarkness(130)
    51     , m_iAnimationDarkness(m_iDefaultDarkness)
    52     , m_iDragTokenDarkness(150)
     51    , m_iDragTokenDarkness(110)
    5352{
    5453    /* Basic item setup: */
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h

    r42922 r43153  
    142142
    143143    /* Hover stuff: */
     144    int defaultDarkness() const { return m_iDefaultDarkness; }
     145    int highlightDarkness() const { return m_iHighlightDarkness; }
     146    int animationDarkness() const { return m_iAnimationDarkness; }
     147    void setDefaultDarkness(int iDefaultDarkness) { m_iDefaultDarkness = iDefaultDarkness; update(); }
     148    void setHighlightDarkness(int iHighlightDarkness) { m_iHighlightDarkness = iHighlightDarkness; update(); }
    144149    void setAnimationDarkness(int iAnimationDarkness) { m_iAnimationDarkness = iAnimationDarkness; update(); }
    145150
    146     /* Color stuff: */
    147     int defaultDarkness() const { return m_iDefaultDarkness; }
    148     int blackoutDarkness() const { return m_iBlackoutDarkness; }
    149     int highlightDarkness() const { return m_iHighlightDarkness; }
     151    /* Other color stuff: */
    150152    int strokeDarkness() const { return m_iStrokeDarkness; }
    151     int animationDarkness() const { return m_iAnimationDarkness; }
    152153    int dragTokenDarkness() const { return m_iDragTokenDarkness; }
    153154
     
    171172    int m_iAnimationDuration;
    172173    int m_iDefaultDarkness;
    173     int m_iBlackoutDarkness;
    174174    int m_iHighlightDarkness;
     175    int m_iAnimationDarkness;
    175176    int m_iStrokeDarkness;
    176     int m_iAnimationDarkness;
    177177    int m_iDragTokenDarkness;
    178178};
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp

    r43011 r43153  
    4747    , m_iCornerRadius(10)
    4848    , m_fMainRoot(true)
     49    , m_iBlackoutDarkness(110)
    4950{
    5051    /* Prepare: */
     
    7071    , m_iCornerRadius(10)
    7172    , m_fMainRoot(fMainRoot)
     73    , m_iBlackoutDarkness(110)
    7274{
    7375    /* Prepare: */
     
    9799    , m_iCornerRadius(10)
    98100    , m_fMainRoot(false)
     101    , m_iBlackoutDarkness(110)
    99102{
    100103    /* Prepare: */
     
    123126    , m_iCornerRadius(10)
    124127    , m_fMainRoot(false)
     128    , m_iBlackoutDarkness(110)
    125129{
    126130    /* Prepare: */
     
    11131117    /* Prepare color: */
    11141118    QPalette pal = palette();
    1115     QColor windowColor = pal.color(QPalette::Active, model()->selectionList().contains(this) ?
     1119    QColor windowColor = pal.color(QPalette::Active,
     1120                                   model()->selectionList().contains(this) ?
    11161121                                   QPalette::Highlight : QPalette::Window);
    11171122
     
    12171222                dragTokenGradient.setFinalStop(dragTokenRect.bottomLeft());
    12181223            }
    1219             dragTokenGradient.setColorAt(0, windowColor.darker(blackoutDarkness()));
    1220             dragTokenGradient.setColorAt(1, windowColor.darker(dragTokenDarkness()));
     1224            dragTokenGradient.setColorAt(0, windowColor.darker(dragTokenDarkness()));
     1225            dragTokenGradient.setColorAt(1, windowColor.darker(dragTokenDarkness() + 40));
    12211226            pPainter->fillRect(dragTokenRect, dragTokenGradient);
    12221227        }
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.h

    r43009 r43153  
    174174    static void copyContent(UIGChooserItemGroup *pFrom, UIGChooserItemGroup *pTo);
    175175
     176    /* Color stuff: */
     177    int blackoutDarkness() const { return m_iBlackoutDarkness; }
     178
    176179    /* Variables: */
    177180    QString m_strName;
     
    187190    int m_iCornerRadius;
    188191    bool m_fMainRoot;
     192    int m_iBlackoutDarkness;
    189193};
    190194
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp

    r43009 r43153  
    5252    , m_pCloseButton(0)
    5353    , m_iCornerRadius(0)
     54#ifdef Q_WS_MAC
     55    , m_iHighlightLightness(115)
     56    , m_iHoverLightness(110)
     57    , m_iHoverHighlightLightness(120)
     58#else /* Q_WS_MAC */
     59    , m_iHighlightLightness(130)
     60    , m_iHoverLightness(155)
     61    , m_iHoverHighlightLightness(175)
     62#endif /* !Q_WS_MAC */
    5463{
    5564//    /* Prepare: */
     
    7382    , m_pCloseButton(0)
    7483    , m_iCornerRadius(0)
     84#ifdef Q_WS_MAC
     85    , m_iHighlightLightness(115)
     86    , m_iHoverLightness(110)
     87    , m_iHoverHighlightLightness(120)
     88#else /* Q_WS_MAC */
     89    , m_iHighlightLightness(130)
     90    , m_iHoverLightness(155)
     91    , m_iHoverHighlightLightness(175)
     92#endif /* !Q_WS_MAC */
    7593{
    7694//    /* Prepare: */
     
    563581    if (model()->selectionList().contains(this))
    564582    {
    565         /* Highlight color: */
     583        /* Prepare color: */
    566584        QColor highlight = pal.color(QPalette::Highlight);
    567 
    568         /* Calculate top rectangle: */
    569         QRect tRect = rect;
    570         tRect.setBottom(tRect.top() + tRect.height() / 3);
    571         /* Calculate bottom rectangle: */
    572         QRect bRect = rect;
    573         bRect.setTop(bRect.bottom() - bRect.height() / 3);
    574         /* Calculate middle rectangle: */
    575         QRect midRect = QRect(tRect.bottomLeft(), bRect.topRight());
    576 
    577         /* Prepare top gradient: */
    578         QLinearGradient tGradient(tRect.bottomLeft(), tRect.topLeft());
    579         tGradient.setColorAt(1, highlight.darker(blackoutDarkness()));
    580         tGradient.setColorAt(0, highlight.darker(defaultDarkness()));
    581         /* Prepare bottom gradient: */
    582         QLinearGradient bGradient(bRect.topLeft(), bRect.bottomLeft());
    583         bGradient.setColorAt(0, highlight.darker(defaultDarkness()));
    584         bGradient.setColorAt(1, highlight.darker(blackoutDarkness()));
    585 
    586         /* Paint all the stuff: */
    587         pPainter->fillRect(midRect, highlight.darker(defaultDarkness()));
    588         pPainter->fillRect(tRect, tGradient);
    589         pPainter->fillRect(bRect, bGradient);
     585        /* Draw gradient: */
     586        QLinearGradient bgGrad(rect.topLeft(), rect.bottomLeft());
     587        bgGrad.setColorAt(0, highlight.lighter(m_iHighlightLightness));
     588        bgGrad.setColorAt(1, highlight);
     589        pPainter->fillRect(rect, bgGrad);
    590590    }
    591591
    592592    /* Hovering background: */
    593     if (isHovered())
    594     {
    595         /* Choose color: */
    596         QColor baseLight = model()->selectionList().contains(this) ? pal.color(QPalette::Active, QPalette::Highlight) :
    597                                                                      QColor(Qt::white);
    598         QColor blurBase = model()->selectionList().contains(this) ? pal.color(QPalette::Active, QPalette::Highlight) :
    599                                                                     QColor(Qt::white);
    600         if (!model()->selectionList().contains(this) && !parentItem()->isRoot())
    601             blurBase = blurBase.darker(defaultDarkness());
    602         blurBase.setAlpha(0);
    603 
    604         /* Draw background for blur: */
    605         QImage background(rect.size(), QImage::Format_ARGB32);
    606         background.fill(blurBase.rgba());
    607 
    608         /* Add blur itself: */
    609         QPainter blurPainter(&background);
    610         blurPainter.setBrush(baseLight.darker(animationDarkness()));
    611         blurPainter.setPen(Qt::NoPen);
    612         blurPainter.drawRoundedRect(rect.adjusted(5, 5, -5, -5), 5, 5);
    613         blurPainter.end();
    614         QImage bluredBackground(rect.size(), QImage::Format_ARGB32);
    615         blurImage(background, bluredBackground, 5);
    616 
    617         /* Paint highlight bar: */
    618         pPainter->drawImage(QPoint(0, 0), bluredBackground);
     593    else if (isHovered())
     594    {
     595        /* Prepare color: */
     596        QColor highlight = pal.color(QPalette::Highlight);
     597        /* Draw gradient: */
     598        QLinearGradient bgGrad(rect.topLeft(), rect.bottomLeft());
     599        bgGrad.setColorAt(0, highlight.lighter(m_iHoverHighlightLightness));
     600        bgGrad.setColorAt(1, highlight.lighter(m_iHoverLightness));
     601        pPainter->fillRect(rect, bgGrad);
    619602    }
    620603
     
    639622            dragTokenGradient.setFinalStop(dragTokenRect.bottomLeft());
    640623        }
    641         dragTokenGradient.setColorAt(0, base.darker(blackoutDarkness()));
    642         dragTokenGradient.setColorAt(1, base.darker(dragTokenDarkness()));
     624        dragTokenGradient.setColorAt(0, base.darker(dragTokenDarkness()));
     625        dragTokenGradient.setColorAt(1, base.darker(dragTokenDarkness() + 40));
    643626        pPainter->fillRect(dragTokenRect, dragTokenGradient);
    644627    }
     
    650633void UIGChooserItemMachine::paintFrameRectangle(QPainter *pPainter, const QRect &rect)
    651634{
    652     /* Only chosen item should have a frame: */
    653     if (!model()->selectionList().contains(this))
     635    /* Only chosen and/or hovered item should have a frame: */
     636    if (!model()->selectionList().contains(this) && !isHovered())
    654637        return;
    655638
    656639    /* Simple white frame: */
    657640    pPainter->save();
    658     pPainter->setPen(Qt::white);
     641    QPalette pal = palette();
     642    QColor hc = pal.color(QPalette::Active, QPalette::Highlight);
     643    if (model()->selectionList().contains(this))
     644        hc = hc.darker(strokeDarkness());
     645    pPainter->setPen(hc);
    659646    pPainter->drawRect(rect);
    660647    pPainter->restore();
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.h

    r43009 r43153  
    140140    UIGraphicsZoomButton *m_pCloseButton;
    141141    int m_iCornerRadius;
     142    int m_iHighlightLightness;
     143    int m_iHoverLightness;
     144    int m_iHoverHighlightLightness;
    142145};
    143146
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElement.cpp

    r42909 r43153  
    5252    , m_pBackwardAnimation(0)
    5353    , m_iAnimationDuration(400)
    54     , m_iDefaultDarkness(103)
     54    , m_iDefaultDarkness(100)
    5555    , m_iHighlightDarkness(90)
    5656    , m_iAnimationDarkness(m_iDefaultDarkness)
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