VirtualBox

Ignore:
Timestamp:
May 19, 2014 3:08:11 PM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
93765
Message:

FE/Qt: Mac OS X: HiDPI: Integrate status-bar icons.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIStateIndicator.cpp

    r48534 r51293  
    2121
    2222/* Qt includes */
     23#include <QIcon>
    2324#include <QPainter>
    2425#ifdef Q_WS_MAC
     
    4445}
    4546
    46 QPixmap QIStateIndicator::stateIcon (int aState) const
     47QPixmap QIStateIndicator::stateIcon(int state) const
    4748{
    48     Icon *icon = mStateIcons [aState];
    49     return icon ? icon->pixmap : QPixmap();
     49    /* Check if state-icon was set before: */
     50    Icon *pIcon = mStateIcons[state];
     51    return pIcon ? pIcon->pixmap : QPixmap();
    5052}
    5153
    52 /**
    53  *  Sets an icon for the specified state. The first icon set by this method
    54  *  defines the preferred size of this indicator. All other icons will be
    55  *  scaled to fit this size.
    56  *
    57  *  @note If this widget is constructed with the WNoAutoErase flag, then all
    58  *  transparent areas of the new state icon are filled with the widget
    59  *  background color or pixmap (as taken from the widget palette), to provide
    60  *  flicker free state redraws in one single operation (which is useful for
    61  *  indicators that frequently change their state).
    62  */
    63 void QIStateIndicator::setStateIcon (int aState, const QPixmap &aPixmap)
     54void QIStateIndicator::setStateIcon(int state, const QIcon &icon)
    6455{
    65     /* Here we just set the original pixmap. All actual work from the @note
    66      * above takes place in #drawContents(). */
    67     mStateIcons.insert (aState, new Icon (aPixmap));
     56    /* Get minimum size: */
     57    QSize size = icon.availableSizes().first();
    6858
    69     if (mSize.isNull())
    70         mSize = aPixmap.size();
     59    /* Get pixmap of size above: */
     60    QPixmap pixmap = icon.pixmap(size);
     61
     62    /* Assign that pixmap to state-pixmap: */
     63    mStateIcons.insert(state, new Icon(pixmap));
     64
     65    /* Adjust minimum size-hint: */
     66    mSize = mSize.expandedTo(size);
    7167}
    7268
     
    8783    Icon *icon = mStateIcons [mState];
    8884    if (icon)
    89         aPainter->drawPixmap (contentsRect(), icon->pixmap);
     85        aPainter->drawPixmap(contentsRect().topLeft(), icon->pixmap);
    9086}
    9187
  • trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIStateIndicator.h

    r46650 r51293  
    4040    int state () const { return mState; }
    4141
    42     QPixmap stateIcon (int aState) const;
    43     void setStateIcon (int aState, const QPixmap &aPixmap);
     42    /** Returns state-icon for passed @a state. */
     43    QPixmap stateIcon(int state) const;
     44    /** Defines state-icon for passed @a state as @a icon. */
     45    void setStateIcon(int state, const QIcon &icon);
    4446
    4547    virtual void updateAppearance() {}
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIIndicatorsPool.cpp

    r51054 r51293  
    3030#include "UIAnimationFramework.h"
    3131#include "UIMedium.h"
     32#include "UIIconPool.h"
    3233
    3334/* COM includes: */
     
    5859      : m_session(session)
    5960    {
    60         setStateIcon(KDeviceActivity_Idle, QPixmap(":/hd_16px.png"));
    61         setStateIcon(KDeviceActivity_Reading, QPixmap(":/hd_read_16px.png"));
    62         setStateIcon(KDeviceActivity_Writing, QPixmap(":/hd_write_16px.png"));
    63         setStateIcon(KDeviceActivity_Null, QPixmap(":/hd_disabled_16px.png"));
     61        setStateIcon(KDeviceActivity_Idle,    UIIconPool::iconSet(":/hd_16px.png"));
     62        setStateIcon(KDeviceActivity_Reading, UIIconPool::iconSet(":/hd_read_16px.png"));
     63        setStateIcon(KDeviceActivity_Writing, UIIconPool::iconSet(":/hd_write_16px.png"));
     64        setStateIcon(KDeviceActivity_Null,    UIIconPool::iconSet(":/hd_disabled_16px.png"));
    6465
    6566        retranslateUi();
     
    124125      : m_session(session)
    125126    {
    126         setStateIcon(KDeviceActivity_Idle, QPixmap(":/cd_16px.png"));
    127         setStateIcon(KDeviceActivity_Reading, QPixmap(":/cd_read_16px.png"));
    128         setStateIcon(KDeviceActivity_Writing, QPixmap(":/cd_write_16px.png"));
    129         setStateIcon(KDeviceActivity_Null, QPixmap(":/cd_disabled_16px.png"));
     127        setStateIcon(KDeviceActivity_Idle,    UIIconPool::iconSet(":/cd_16px.png"));
     128        setStateIcon(KDeviceActivity_Reading, UIIconPool::iconSet(":/cd_read_16px.png"));
     129        setStateIcon(KDeviceActivity_Writing, UIIconPool::iconSet(":/cd_write_16px.png"));
     130        setStateIcon(KDeviceActivity_Null,    UIIconPool::iconSet(":/cd_disabled_16px.png"));
    130131
    131132        retranslateUi();
     
    194195      : m_session(session)
    195196    {
    196         setStateIcon(KDeviceActivity_Idle, QPixmap(":/fd_16px.png"));
    197         setStateIcon(KDeviceActivity_Reading, QPixmap(":/fd_read_16px.png"));
    198         setStateIcon(KDeviceActivity_Writing, QPixmap(":/fd_write_16px.png"));
    199         setStateIcon(KDeviceActivity_Null, QPixmap(":/fd_disabled_16px.png"));
     197        setStateIcon(KDeviceActivity_Idle,    UIIconPool::iconSet(":/fd_16px.png"));
     198        setStateIcon(KDeviceActivity_Reading, UIIconPool::iconSet(":/fd_read_16px.png"));
     199        setStateIcon(KDeviceActivity_Writing, UIIconPool::iconSet(":/fd_write_16px.png"));
     200        setStateIcon(KDeviceActivity_Null,    UIIconPool::iconSet(":/fd_disabled_16px.png"));
    200201
    201202        retranslateUi();
     
    265266      , m_pUpdateTimer(new QTimer(this))
    266267    {
    267         setStateIcon(KDeviceActivity_Idle, QPixmap(":/nw_16px.png"));
    268         setStateIcon(KDeviceActivity_Reading, QPixmap(":/nw_read_16px.png"));
    269         setStateIcon(KDeviceActivity_Writing, QPixmap(":/nw_write_16px.png"));
    270         setStateIcon(KDeviceActivity_Null, QPixmap(":/nw_disabled_16px.png"));
     268        setStateIcon(KDeviceActivity_Idle,    UIIconPool::iconSet(":/nw_16px.png"));
     269        setStateIcon(KDeviceActivity_Reading, UIIconPool::iconSet(":/nw_read_16px.png"));
     270        setStateIcon(KDeviceActivity_Writing, UIIconPool::iconSet(":/nw_write_16px.png"));
     271        setStateIcon(KDeviceActivity_Null,    UIIconPool::iconSet(":/nw_disabled_16px.png"));
    271272
    272273        connect(m_pUpdateTimer, SIGNAL(timeout()), SLOT(sltUpdateNetworkIPs()));
     
    370371      : m_session(session)
    371372    {
    372         setStateIcon(KDeviceActivity_Idle, QPixmap(":/usb_16px.png"));
    373         setStateIcon(KDeviceActivity_Reading, QPixmap(":/usb_read_16px.png"));
    374         setStateIcon(KDeviceActivity_Writing, QPixmap(":/usb_write_16px.png"));
    375         setStateIcon(KDeviceActivity_Null, QPixmap(":/usb_disabled_16px.png"));
     373        setStateIcon(KDeviceActivity_Idle,    UIIconPool::iconSet(":/usb_16px.png"));
     374        setStateIcon(KDeviceActivity_Reading, UIIconPool::iconSet(":/usb_read_16px.png"));
     375        setStateIcon(KDeviceActivity_Writing, UIIconPool::iconSet(":/usb_write_16px.png"));
     376        setStateIcon(KDeviceActivity_Null,    UIIconPool::iconSet(":/usb_disabled_16px.png"));
    376377
    377378        retranslateUi();
     
    435436      : m_session(session)
    436437    {
    437         setStateIcon(KDeviceActivity_Idle, QPixmap(":/sf_16px.png"));
    438         setStateIcon(KDeviceActivity_Reading, QPixmap(":/sf_read_16px.png"));
    439         setStateIcon(KDeviceActivity_Writing, QPixmap(":/sf_write_16px.png"));
    440         setStateIcon(KDeviceActivity_Null, QPixmap(":/sf_disabled_16px.png"));
     438        setStateIcon(KDeviceActivity_Idle,    UIIconPool::iconSet(":/sf_16px.png"));
     439        setStateIcon(KDeviceActivity_Reading, UIIconPool::iconSet(":/sf_read_16px.png"));
     440        setStateIcon(KDeviceActivity_Writing, UIIconPool::iconSet(":/sf_write_16px.png"));
     441        setStateIcon(KDeviceActivity_Null,    UIIconPool::iconSet(":/sf_disabled_16px.png"));
    441442
    442443        retranslateUi();
     
    524525    {
    525526        /* Assign state icons: */
    526         setStateIcon(UIIndicatorStateVideoCapture_Disabled, QPixmap(":/video_capture_16px.png"));
    527         setStateIcon(UIIndicatorStateVideoCapture_Enabled, QPixmap(":/movie_reel_16px.png"));
     527        setStateIcon(UIIndicatorStateVideoCapture_Disabled, UIIconPool::iconSet(":/video_capture_16px.png"));
     528        setStateIcon(UIIndicatorStateVideoCapture_Enabled,  UIIconPool::iconSet(":/movie_reel_16px.png"));
    528529
    529530        /* Prepare *enabled* state animation: */
     
    641642      : m_session(session)
    642643    {
    643         setStateIcon(0, QPixmap(":/vtx_amdv_disabled_16px.png"));
    644         setStateIcon(1, QPixmap(":/vtx_amdv_16px.png"));
     644        setStateIcon(0, UIIconPool::iconSet(":/vtx_amdv_disabled_16px.png"));
     645        setStateIcon(1, UIIconPool::iconSet(":/vtx_amdv_16px.png"));
    645646
    646647        retranslateUi();
     
    715716      : m_session(session)
    716717    {
    717         setStateIcon(0, QPixmap(":/mouse_disabled_16px.png"));
    718         setStateIcon(1, QPixmap(":/mouse_16px.png"));
    719         setStateIcon(2, QPixmap(":/mouse_seamless_16px.png"));
    720         setStateIcon(3, QPixmap(":/mouse_can_seamless_16px.png"));
    721         setStateIcon(4, QPixmap(":/mouse_can_seamless_uncaptured_16px.png"));
     718        setStateIcon(0, UIIconPool::iconSet(":/mouse_disabled_16px.png"));
     719        setStateIcon(1, UIIconPool::iconSet(":/mouse_16px.png"));
     720        setStateIcon(2, UIIconPool::iconSet(":/mouse_seamless_16px.png"));
     721        setStateIcon(3, UIIconPool::iconSet(":/mouse_can_seamless_16px.png"));
     722        setStateIcon(4, UIIconPool::iconSet(":/mouse_can_seamless_uncaptured_16px.png"));
    722723
    723724        retranslateUi();
     
    766767      : m_session(session)
    767768    {
    768         setStateIcon(0, QPixmap(":/hostkey_16px.png"));
    769         setStateIcon(1, QPixmap(":/hostkey_captured_16px.png"));
    770         setStateIcon(2, QPixmap(":/hostkey_pressed_16px.png"));
    771         setStateIcon(3, QPixmap(":/hostkey_captured_pressed_16px.png"));
     769        setStateIcon(0, UIIconPool::iconSet(":/hostkey_16px.png"));
     770        setStateIcon(1, UIIconPool::iconSet(":/hostkey_captured_16px.png"));
     771        setStateIcon(2, UIIconPool::iconSet(":/hostkey_pressed_16px.png"));
     772        setStateIcon(3, UIIconPool::iconSet(":/hostkey_captured_pressed_16px.png"));
    772773
    773774        retranslateUi();
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