VirtualBox

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


Ignore:
Timestamp:
May 24, 2021 4:54:47 PM (4 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:10003: Reworking Chooser pane normal colors to be native.

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

    r89242 r89249  
    3232UIChooserItemGlobal::UIChooserItemGlobal(UIChooserItem *pParent, UIChooserNodeGlobal *pNode)
    3333    : UIChooserItem(pParent, pNode)
    34     , m_iDefaultLightnessStart(0)
    35     , m_iDefaultLightnessFinal(0)
     34#ifdef VBOX_WS_MAC
     35    , m_iDefaultDarknessStart(0)
     36    , m_iDefaultDarknessFinal(0)
     37#endif
    3638    , m_iHoverLightnessStart(0)
    3739    , m_iHoverLightnessFinal(0)
     
    328330{
    329331    /* Color tones: */
    330 #ifdef VBOX_WS_MAC
    331     m_iDefaultLightnessStart = 130;
    332     m_iDefaultLightnessFinal = 125;
     332#if defined(VBOX_WS_MAC)
     333    m_iDefaultDarknessStart = 105;
     334    m_iDefaultDarknessFinal = 115;
    333335    m_iHoverLightnessStart = 125;
    334336    m_iHoverLightnessFinal = 115;
    335337    m_iHighlightLightnessStart = 115;
    336338    m_iHighlightLightnessFinal = 105;
    337 #else /* VBOX_WS_MAC */
    338     m_iDefaultLightnessStart = 190;
    339     m_iDefaultLightnessFinal = 160;
     339#elif defined(VBOX_WS_WIN)
    340340    m_iHoverLightnessStart = 190;
    341341    m_iHoverLightnessFinal = 160;
    342342    m_iHighlightLightnessStart = 160;
    343343    m_iHighlightLightnessFinal = 130;
    344 #endif /* !VBOX_WS_MAC */
     344#else /* !VBOX_WS_MAC && !VBOX_WS_WIN */
     345    m_iHoverLightnessStart = 190;
     346    m_iHoverLightnessFinal = 160;
     347    m_iHighlightLightnessStart = 160;
     348    m_iHighlightLightnessFinal = 130;
     349#endif /* !VBOX_WS_MAC && !VBOX_WS_WIN */
    345350
    346351    /* Fonts: */
     
    634639#ifdef VBOX_WS_MAC
    635640        /* Prepare color: */
    636         const QColor backgroundColor = pal.color(QPalette::Active, QPalette::Mid);
     641        const QColor backgroundColor = pal.color(QPalette::Active, QPalette::Window);
    637642        /* Draw gradient: */
    638643        QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
    639         bgGrad.setColorAt(0, backgroundColor.lighter(m_iDefaultLightnessStart));
    640         bgGrad.setColorAt(1, backgroundColor.lighter(m_iDefaultLightnessFinal));
     644        bgGrad.setColorAt(0, backgroundColor.darker(m_iDefaultDarknessStart));
     645        bgGrad.setColorAt(1, backgroundColor.darker(m_iDefaultDarknessFinal));
    641646        pPainter->fillRect(rectangle, bgGrad);
    642647#else
    643         /* Prepare color: */
    644         QColor backgroundColor = pal.color(QPalette::Active, QPalette::Mid).lighter(160);
    645         /* Draw gradient: */
    646         pPainter->fillRect(rectangle, backgroundColor);
     648        /* Draw simple background: */
     649        pPainter->fillRect(rectangle, pal.color(QPalette::Active, QPalette::Window));
    647650#endif
    648651    }
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.h

    r89237 r89249  
    219219    /** @name Item stuff.
    220220      * @{ */
    221         /** Holds item start default lightness. */
    222         int  m_iDefaultLightnessStart;
    223         /** Holds item final default lightness. */
    224         int  m_iDefaultLightnessFinal;
     221#ifdef VBOX_WS_MAC
     222        /** Holds item start default darkness. */
     223        int  m_iDefaultDarknessStart;
     224        /** Holds item final default darkness. */
     225        int  m_iDefaultDarknessFinal;
     226#endif
    225227        /** Holds item start hover lightness. */
    226228        int  m_iHoverLightnessStart;
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp

    r89242 r89249  
    5050    , m_iRootBackgroundDarknessStart(0)
    5151    , m_iRootBackgroundDarknessFinal(0)
     52    , m_iItemBackgroundDarknessStart(0)
     53    , m_iItemBackgroundDarknessFinal(0)
    5254    , m_iAdditionalHeight(0)
    53     , m_iHeaderDarkness(0)
    5455    , m_pToggleButton(0)
    5556    , m_pNameEditorWidget(0)
     
    7273    , m_iRootBackgroundDarknessStart(0)
    7374    , m_iRootBackgroundDarknessFinal(0)
     75    , m_iItemBackgroundDarknessStart(0)
     76    , m_iItemBackgroundDarknessFinal(0)
    7477    , m_iAdditionalHeight(0)
    75     , m_iHeaderDarkness(0)
    7678    , m_pToggleButton(0)
    7779    , m_pNameEditorWidget(0)
     
    10481050    m_iRootBackgroundDarknessStart = 115;
    10491051    m_iRootBackgroundDarknessFinal = 150;
    1050     m_iHeaderDarkness = 110;
     1052    m_iItemBackgroundDarknessStart = 100;
     1053    m_iItemBackgroundDarknessFinal = 105;
    10511054
    10521055    /* Prepare self: */
     
    16111614    else
    16121615    {
    1613         /* Prepare color: */
    1614         const QColor backgroundColor = QApplication::palette().color(QPalette::Active,
    1615                                                                      model()->selectedItems().contains(this) ?
    1616                                                                      QPalette::Highlight : QPalette::Window);
    1617 
    1618         /* Prepare variables: */
    1619         const int iMarginV = data(GroupItemData_MarginV).toInt();
    1620         const int iFullHeaderHeight = 2 * iMarginV + m_minimumHeaderSize.height();
    1621 
    1622         /* Calculate top rectangle: */
    1623         QRect tRect = rect;
    1624         if (nodeToGroupType()->isOpened())
    1625             tRect.setBottom(tRect.top() + iFullHeaderHeight - 1);
    1626 
    1627         /* Prepare top gradient: */
    1628         QLinearGradient tGradient(tRect.bottomLeft(), tRect.topLeft());
    1629         tGradient.setColorAt(1, backgroundColor.lighter(100 + (double)animatedValue() / 100 * 30));
    1630         tGradient.setColorAt(0, backgroundColor);
    1631 
    1632         /* Fill top rectangle: */
    1633         pPainter->fillRect(tRect, tGradient);
    1634 
    1635         /* Calculate bottom rectangle: */
    1636         if (nodeToGroupType()->isOpened())
    1637         {
    1638             QRect bRect = rect;
    1639             bRect.setTop(bRect.top() + iFullHeaderHeight);
    1640 
    1641             /* Fill top rectangle: */
    1642             pPainter->fillRect(bRect, backgroundColor);
     1616        /* Acquire background color: */
     1617        const QColor backgroundColor = model()->selectedItems().contains(this)
     1618                                     ? QApplication::palette().color(QPalette::Active, QPalette::Highlight)
     1619                                     : QApplication::palette().color(QPalette::Active, QPalette::Window);
     1620
     1621        /* Paint default background: */
     1622        QLinearGradient gradientDefault(rect.topRight(), rect.bottomLeft());
     1623        gradientDefault.setColorAt(0, backgroundColor.darker(m_iItemBackgroundDarknessStart));
     1624        gradientDefault.setColorAt(1, backgroundColor.darker(m_iItemBackgroundDarknessFinal));
     1625        pPainter->fillRect(rect, gradientDefault);
     1626
     1627        /* If element is hovered: */
     1628        if (animatedValue())
     1629        {
     1630            /* Calculate header rectangle: */
     1631            const int iMarginV = data(GroupItemData_MarginV).toInt();
     1632            const int iFullHeaderHeight = 2 * iMarginV + m_minimumHeaderSize.height();
     1633            QRect headRect = rect;
     1634            headRect.setHeight(iFullHeaderHeight);
     1635
     1636            /* Acquire header color: */
     1637            QColor headColor = backgroundColor.lighter(130);
     1638
     1639            /* Paint hovered background: */
     1640            QColor hcTone1 = headColor;
     1641            QColor hcTone2 = headColor;
     1642            hcTone1.setAlpha(255 * animatedValue() / 100);
     1643            hcTone2.setAlpha(0);
     1644            QLinearGradient gradientHovered(headRect.topLeft(), headRect.bottomLeft());
     1645            gradientHovered.setColorAt(0, hcTone1);
     1646            gradientHovered.setColorAt(1, hcTone2);
     1647            pPainter->fillRect(headRect, gradientHovered);
    16431648        }
    16441649
     
    16891694
    16901695    /* Prepare color: */
    1691     const QColor frameColor = QApplication::palette().color(QPalette::Active, QPalette::Highlight).darker(headerDarkness() + 10);
     1696    const QColor frameColor = QApplication::palette().color(QPalette::Active, QPalette::Highlight).darker(110);
    16921697
    16931698    /* Create/assign pen: */
     
    17331738
    17341739        /* Get background color: */
    1735         const QColor background = pal.color(QPalette::Active, QPalette::Highlight).darker(headerDarkness());
     1740        const QColor background = pal.color(QPalette::Active, QPalette::Highlight);
    17361741
    17371742        /* Get foreground color: */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.h

    r89237 r89249  
    255255        QVariant data(int iKey) const;
    256256
    257         /** Returns item's header darkness. */
    258         int headerDarkness() const { return m_iHeaderDarkness; }
    259 
    260257        /** Returns additional height. */
    261258        int additionalHeight() const;
     
    328325        /** Holds root final background darkness. */
    329326        int  m_iRootBackgroundDarknessFinal;
     327        /** Holds item start background darkness. */
     328        int  m_iItemBackgroundDarknessStart;
     329        /** Holds item final background darkness. */
     330        int  m_iItemBackgroundDarknessFinal;
    330331
    331332        /** Holds aditional height. */
    332333        int  m_iAdditionalHeight;
    333         /** Holds the header darkness. */
    334         int  m_iHeaderDarkness;
    335334
    336335        /** Holds group children pixmap. */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp

    r89242 r89249  
    545545{
    546546    /* Color tones: */
    547 #ifdef VBOX_WS_MAC
    548     m_iDefaultLightnessStart = 155;
    549     m_iDefaultLightnessFinal = 145;
     547#if defined(VBOX_WS_MAC)
     548    m_iDefaultLightnessStart = 120;
     549    m_iDefaultLightnessFinal = 110;
    550550    m_iHoverLightnessStart = 125;
    551551    m_iHoverLightnessFinal = 115;
    552552    m_iHighlightLightnessStart = 115;
    553553    m_iHighlightLightnessFinal = 105;
    554 #else /* VBOX_WS_MAC */
    555     m_iDefaultLightnessStart = 190;
    556     m_iDefaultLightnessFinal = 160;
     554#elif defined(VBOX_WS_WIN)
     555    m_iDefaultLightnessStart = 120;
     556    m_iDefaultLightnessFinal = 110;
    557557    m_iHoverLightnessStart = 190;
    558558    m_iHoverLightnessFinal = 160;
    559559    m_iHighlightLightnessStart = 160;
    560560    m_iHighlightLightnessFinal = 130;
    561 #endif /* !VBOX_WS_MAC */
     561#else /* !VBOX_WS_MAC && !VBOX_WS_WIN */
     562    m_iDefaultLightnessStart = 110;
     563    m_iDefaultLightnessFinal = 100;
     564    m_iHoverLightnessStart = 190;
     565    m_iHoverLightnessFinal = 160;
     566    m_iHighlightLightnessStart = 160;
     567    m_iHighlightLightnessFinal = 130;
     568#endif /* !VBOX_WS_MAC && !VBOX_WS_WIN */
    562569
    563570    /* Fonts: */
     
    977984    {
    978985        /* Prepare color: */
    979         QColor backgroundColor = pal.color(QPalette::Active, QPalette::Mid);
     986        QColor backgroundColor = pal.color(QPalette::Active, QPalette::Window);
    980987        /* Draw gradient: */
    981988        QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
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