VirtualBox

Changeset 83290 in vbox


Ignore:
Timestamp:
Mar 13, 2020 4:43:36 PM (5 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9653: VirtualBox Manager: Rework cloud VM item to be addressed by temporary uuid instead of actual instance id, since we need common handling for both local and cloud VM types; This is a fix for the broken details populating of selected cloud VM groups.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UICloudMachine.cpp

    r83288 r83290  
    3434    , m_strInstanceId(strInstanceId)
    3535    , m_strInstanceName(strInstanceName)
     36    , m_uId(QUuid::createUuid())
    3637    , m_fAccessible(true)
    3738    , m_enmMachineState(KMachineState_PoweredOff)
     
    4849    , m_strInstanceId(other.m_strInstanceId)
    4950    , m_strInstanceName(other.m_strInstanceName)
     51    , m_uId(other.m_uId)
    5052    , m_fAccessible(other.m_fAccessible)
    5153    , m_strAccessError(other.m_strAccessError)
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UICloudMachine.h

    r83288 r83290  
    2525#include <QObject>
    2626#include <QSharedData>
     27#include <QUuid>
    2728
    2829/* GUI includes: */
     
    6061    /** Returns cloud instance name. */
    6162    QString instanceName() const { return m_strInstanceName; }
     63
     64    /** Returns cloud VM id. */
     65    QUuid id() const { return m_uId; }
    6266
    6367    /** Returns whether cloud VM is accessible. */
     
    97101    /** Holds the cloud instance name. */
    98102    const QString  m_strInstanceName;
     103
     104    /** Holds the cloud VM id. */
     105    const QUuid  m_uId;
    99106
    100107    /** Holds whether cloud VM is accessible. */
     
    160167    QString instanceName() const { return d->instanceName(); }
    161168
     169    /** Returns cloud VM id. */
     170    QUuid id() const { return d->id(); }
     171
    162172    /** Returns whether cloud VM is accessible. */
    163173    bool accessible() const { return d->accessible(); }
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp

    r83268 r83290  
    351351}
    352352
    353 void UIVirtualBoxManager::sltHandleCloudMachineStateChange(const QString /* strMachineId */)
     353void UIVirtualBoxManager::sltHandleCloudMachineStateChange(const QUuid & /* uId */)
    354354{
    355355    updateActionsAppearance();
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h

    r83064 r83290  
    131131        void sltCurrentSnapshotItemChange();
    132132
    133         /** Handles state change for cloud machine with specified @a strMachineId. */
    134         void sltHandleCloudMachineStateChange(const QString strMachineId);
     133        /** Handles state change for cloud machine with certain @a uId. */
     134        void sltHandleCloudMachineStateChange(const QUuid &uId);
    135135    /** @} */
    136136
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp

    r83268 r83290  
    283283}
    284284
    285 void UIVirtualBoxManagerWidget::sltHandleCloudMachineStateChange(const QString &strId)
     285void UIVirtualBoxManagerWidget::sltHandleCloudMachineStateChange(const QUuid &uId)
    286286{
    287287    /* Acquire current item: */
     
    297297
    298298        /* If we still have same item selected: */
    299         if (pItem && pItem->id() == strId)
     299        if (pItem && pItem->id() == uId)
    300300        {
    301301            /* Propagate current items to update the Details-pane: */
     
    311311
    312312        /* If we still have same item selected: */
    313         if (pItem && pItem->id() == strId)
     313        if (pItem && pItem->id() == uId)
    314314        {
    315315            /* Propagate current items to update the Details-pane (in any case): */
     
    321321
    322322    /* Pass the signal further: */
    323     emit sigCloudMachineStateChange(strId);
     323    emit sigCloudMachineStateChange(uId);
    324324}
    325325
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.h

    r83094 r83290  
    6666    void sigCurrentSnapshotItemChange();
    6767
    68     /** Notifies about state change for cloud machine with certain @a strMachineId. */
    69     void sigCloudMachineStateChange(const QString &strMachineId);
     68    /** Notifies about state change for cloud machine with certain @a uId. */
     69    void sigCloudMachineStateChange(const QUuid &uId);
    7070
    7171public:
     
    158158        void sltHandleSlidingAnimationComplete(SlidingDirection enmDirection);
    159159
    160         /** Handles state change for cloud machine with specified @a strMachineId. */
    161         void sltHandleCloudMachineStateChange(const QString &strId);
     160        /** Handles state change for cloud machine with certain @a uId. */
     161        void sltHandleCloudMachineStateChange(const QUuid &uId);
    162162    /** @} */
    163163
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItem.h

    r83255 r83290  
    2626#include <QMimeData>
    2727#include <QPixmap>
     28#include <QUuid>
    2829
    2930/* GUI includes: */
     
    7475      * @{ */
    7576        /** Returns cached machine id. */
    76         QString id() const { return m_strId; }
     77        QUuid id() const { return m_uId; }
    7778        /** Returns cached machine name. */
    7879        QString name() const { return m_strName; }
     
    156157      * @{ */
    157158        /** Holds cached machine id. */
    158         QString  m_strId;
     159        QUuid    m_uId;
    159160        /** Holds cached machine name. */
    160161        QString  m_strName;
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.cpp

    r83288 r83290  
    7777    CProgress comProgress;
    7878    if (fPause)
    79         comProgress = comCloudClient.PauseInstance(m_strId);
    80     else
    81         comProgress = comCloudClient.StartInstance(m_strId);
     79        comProgress = comCloudClient.PauseInstance(m_strInstanceId);
     80    else
     81        comProgress = comCloudClient.StartInstance(m_strInstanceId);
    8282    if (!comCloudClient.isOk())
    8383        msgCenter().cannotAcquireCloudClientParameter(comCloudClient);
     
    104104    if (!m_guiCloudMachine.isNull())
    105105    {
    106         m_strId = m_guiCloudMachine.instanceId();
     106        m_strInstanceId = m_guiCloudMachine.instanceId();
    107107        m_strName = m_guiCloudMachine.instanceName();
     108        m_uId = m_guiCloudMachine.id();
    108109    }
    109110
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.h

    r83163 r83290  
    135135    /** @} */
    136136
     137    /** @name Basic attributes.
     138      * @{ */
     139        /** Holds the cloud instance id. */
     140        QString  m_strInstanceId;
     141    /** @} */
     142
    137143    /** @name Data attributes.
    138144      * @{ */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemLocal.cpp

    r83254 r83290  
    5555{
    5656    /* Determine attributes which are always available: */
    57     m_strId = m_comMachine.GetId().toString();
     57    m_uId = m_comMachine.GetId();
    5858    m_strSettingsFile = m_comMachine.GetSettingsFilePath();
    5959
     
    8787        /* Also take restrictions into account: */
    8888        if (   m_enmConfigurationAccessLevel != ConfigurationAccessLevel_Null
    89             && !gEDataManager->machineReconfigurationEnabled(m_strId))
     89            && !gEDataManager->machineReconfigurationEnabled(m_uId))
    9090            m_enmConfigurationAccessLevel = ConfigurationAccessLevel_Null;
    9191
     
    105105
    106106        /* Determine whether we should show this VM details: */
    107         m_fHasDetails = gEDataManager->showMachineInVirtualBoxManagerDetails(m_strId);
     107        m_fHasDetails = gEDataManager->showMachineInVirtualBoxManagerDetails(m_uId);
    108108    }
    109109    else
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.h

    r83064 r83290  
    6161    /** @name Cloud machine stuff.
    6262      * @{ */
    63         /** Notifies about state change for cloud machine with certain @a strId. */
    64         void sigCloudMachineStateChange(const QString &strId);
     63        /** Notifies about state change for cloud machine with certain @a uId. */
     64        void sigCloudMachineStateChange(const QUuid &uId);
    6565    /** @} */
    6666
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp

    r83276 r83290  
    332332    UIVirtualMachineItem *pCache = qobject_cast<UIVirtualMachineItem*>(sender());
    333333    AssertPtrReturnVoid(pCache);
    334     sigCloudMachineStateChange(pCache->id());
     334    emit sigCloudMachineStateChange(pCache->id());
    335335}
    336336
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h

    r83064 r83290  
    5252    /** @name Cloud machine stuff.
    5353      * @{ */
    54         /** Notifies about state change for cloud machine with certain @a strId. */
    55         void sigCloudMachineStateChange(const QString &strId);
     54        /** Notifies about state change for cloud machine with certain @a uId. */
     55        void sigCloudMachineStateChange(const QUuid &uId);
    5656    /** @} */
    5757
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