VirtualBox

Changeset 48272 in vbox


Ignore:
Timestamp:
Sep 4, 2013 4:15:12 PM (11 years ago)
Author:
vboxsync
Message:

FE/Qt: UIMedium: Extend with required functionality.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/medium
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp

    r48089 r48272  
    6969    m_fHostDrive = other.isHostDrive();
    7070
     71    m_machineIds = other.machineIds();
    7172    m_curStateMachineIds = other.curStateMachineIds();
    7273
     
    218219    {
    219220        m_curStateMachineIds.clear();
    220         QVector <QString> machineIds = m_medium.GetMachineIds();
    221         if (machineIds.size() > 0)
     221        m_machineIds = m_medium.GetMachineIds().toList();
     222        if (m_machineIds.size() > 0)
    222223        {
    223224            /* We assume this flag is 'true' if at least one machine present: */
     
    228229            CVirtualBox vbox = vboxGlobal().virtualBox();
    229230
    230             for (QVector <QString>::ConstIterator it = machineIds.begin(); it != machineIds.end(); ++it)
     231            foreach (const QString &strMachineID, m_machineIds)
    231232            {
    232                 CMachine machine = vbox.FindMachine(*it);
     233                CMachine machine = vbox.FindMachine(strMachineID);
    233234
    234235                /* UIMedium object can wrap newly created CMedium object which belongs to
     
    251252                QString strSnapshots;
    252253
    253                 QVector <QString> snapIds = m_medium.GetSnapshotIds(*it);
     254                QVector <QString> snapIds = m_medium.GetSnapshotIds(strMachineID);
    254255                for (QVector <QString>::ConstIterator jt = snapIds.begin(); jt != snapIds.end(); ++jt)
    255256                {
    256                     if (*jt == *it)
     257                    if (*jt == strMachineID)
    257258                    {
    258259                        /* The medium is attached to the machine in the current
     
    515516}
    516517
     518/* static */
     519QString UIMedium::nullID()
     520{
     521    return QUuid().toString().remove('{').remove('}');
     522}
     523
    517524/**
    518525 * Checks if m_noDiffs is filled in and does it if not.
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.h

    r48089 r48272  
    2121
    2222/* Qt includes: */
     23#include <QMap>
     24#include <QLinkedList>
    2325#include <QPixmap>
    24 #include <QLinkedList>
    2526
    2627/* GUI includes: */
     
    200201
    201202    /**
     203     * Returns a vector of IDs of all machines this medium is attached to.
     204     */
     205    const QList <QString> &machineIds() const { return m_machineIds; }
     206
     207    /**
    202208     * Returns @c true if this medium is attached to the given machine in the current state.
    203209     */
     
    233239    /** Returns @c true if this media descriptor is a null object. */
    234240    bool isNull() const { return m_medium.isNull(); }
     241
     242    /* Static API: Null medium ID: */
     243    static QString nullID();
    235244
    236245private:
     
    267276    bool m_fHostDrive                    : 1;
    268277
     278    QList<QString> m_machineIds;
    269279    QList<QString> m_curStateMachineIds;
    270280
     
    276286    static QString m_sstrRow;
    277287};
     288Q_DECLARE_METATYPE(UIMedium);
    278289
    279290typedef QLinkedList<UIMedium> VBoxMediaList;
     291typedef QMap<QString, UIMedium> UIMediumMap;
    280292
    281293#endif /* __UIMedium_h__ */
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