VirtualBox

Changeset 82999 in vbox for trunk


Ignore:
Timestamp:
Feb 5, 2020 7:22:26 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
136014
Message:

FE/Qt: bugref:9653: VirtualBox Manager: Chooser pane: Advancing r135982 to also prepare cloud profile and client object.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp

    r82973 r82999  
    3232#include "CMachine.h"
    3333#ifdef VBOX_GUI_WITH_CLOUD_VMS
     34# include "CCloudClient.h"
     35# include "CCloudProfile.h"
    3436# include "CCloudProvider.h"
    3537# include "CCloudProviderManager.h"
     
    336338        /* Acquire VBox: */
    337339        CVirtualBox comVBox = uiCommon().virtualBox();
     340        /* Acquire Cloud Provider Manager: */
    338341        CCloudProviderManager comCloudProviderManager = comVBox.GetCloudProviderManager();
    339342        /* Show error message if necessary: */
     
    350353            {
    351354                /* Iterate through existing providers: */
    352                 foreach (const CCloudProvider &comProvider, providers)
     355                foreach (CCloudProvider comCloudProvider, providers)
    353356                {
    354357                    /* Skip if we have nothing to populate (file missing?): */
    355                     if (comProvider.isNull())
     358                    if (comCloudProvider.isNull())
    356359                        continue;
    357360                    /* Skip if we have nothing to populate (profiles missing?): */
    358                     const QVector<QString> profileNames = comProvider.GetProfileNames();
     361                    const QVector<QString> profileNames = comCloudProvider.GetProfileNames();
    359362                    if (profileNames.isEmpty())
    360363                        continue;
    361364
    362365                    /* Get provider name: */
    363                     const QString strProviderName = comProvider.GetShortName();
    364 
    365                     /* If we have at least one profile we can add provider group node: */
    366                     UIChooserNodeGroup *pProviderNode =
    367                         new UIChooserNodeGroup(m_pInvisibleRootNode,
    368                                                false /* favorite */,
    369                                                getDesiredNodePosition(m_pInvisibleRootNode, UIChooserItemType_Group, strProviderName),
    370                                                strProviderName,
    371                                                true /* opened */);
    372 
     366                    const QString strProviderName = comCloudProvider.GetShortName();
    373367                    /* Show error message if necessary: */
    374                     if (!comProvider.isOk())
    375                         msgCenter().cannotAcquireCloudProviderParameter(comProvider);
     368                    if (!comCloudProvider.isOk())
     369                        msgCenter().cannotAcquireCloudProviderParameter(comCloudProvider);
    376370                    else
    377371                    {
     372                        /* Add provider group node: */
     373                        UIChooserNodeGroup *pProviderNode =
     374                            new UIChooserNodeGroup(m_pInvisibleRootNode,
     375                                                   false /* favorite */,
     376                                                   getDesiredNodePosition(m_pInvisibleRootNode, UIChooserItemType_Group, strProviderName),
     377                                                   strProviderName,
     378                                                   true /* opened */);
     379
    378380                        /* Iterate through existing profile names: */
    379381                        foreach (const QString &strProfileName, profileNames)
     
    383385                                continue;
    384386
    385                             /* If we have at least one profile we can add provider group node: */
    386                             UIChooserNodeGroup *pProfileNode =
    387                                 new UIChooserNodeGroup(pProviderNode,
    388                                                        false /* favorite */,
    389                                                        getDesiredNodePosition(pProviderNode, UIChooserItemType_Group, strProfileName),
    390                                                        strProfileName,
    391                                                        true /* opened */);
    392                             new UIChooserNodeMachine(pProfileNode,
    393                                                      false /* favorite */,
    394                                                      0 /* position */);
     387                            /* Acquire Cloud Profile: */
     388                            CCloudProfile comCloudProfile = comCloudProvider.GetProfileByName(strProfileName);
     389                            /* Show error message if necessary: */
     390                            if (!comCloudProvider.isOk())
     391                                msgCenter().cannotFindCloudProfile(comCloudProvider, strProfileName);
     392                            else
     393                            {
     394                                /* Create Cloud Client: */
     395                                CCloudClient comCloudClient = comCloudProfile.CreateCloudClient();
     396                                Q_UNUSED(comCloudClient);
     397                                /* Show error message if necessary: */
     398                                if (!comCloudProfile.isOk())
     399                                    msgCenter().cannotCreateCloudClient(comCloudProfile);
     400                                else
     401                                {
     402                                    /* Add profile sub-group node: */
     403                                    UIChooserNodeGroup *pProfileNode =
     404                                        new UIChooserNodeGroup(pProviderNode,
     405                                                               false /* favorite */,
     406                                                               getDesiredNodePosition(pProviderNode, UIChooserItemType_Group, strProfileName),
     407                                                               strProfileName,
     408                                                               true /* opened */);
     409                                    /* Add fake cloud VM item: */
     410                                    new UIChooserNodeMachine(pProfileNode,
     411                                                             false /* favorite */,
     412                                                             0 /* position */);
     413                                }
     414                            }
    395415                        }
    396416                    }
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