VirtualBox

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


Ignore:
Timestamp:
Nov 9, 2018 7:11:40 PM (6 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9230: Cloud Profile Manager: Using recent API improvements done in r126506.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/cloud/UICloudProfileDetailsWidget.h

    r74928 r75376  
    2020
    2121/* Qt includes: */
     22#include <QMap>
    2223#include <QUuid>
    2324#include <QWidget>
     
    6263    /** Holds the provider name. */
    6364    QString  m_strName;
     65
     66    /** Holds the profile supported property descriptions. */
     67    QMap<QString, QString>  m_propertyDescriptions;
    6468};
    6569
  • trunk/src/VBox/Frontends/VirtualBox/src/cloud/UICloudProfileManager.cpp

    r75371 r75376  
    265265                    /* Update profile in the tree: */
    266266                    UIDataCloudProfile data;
    267                     loadCloudProfile(comCloudProfile, data);
     267                    loadCloudProfile(comCloudProfile, *pProviderItem, data);
    268268                    updateItemForCloudProfile(data, true, pProfileItem);
    269269
     
    333333        {
    334334            /* Create new profile: */
    335             QVector<QString> keys;
    336             QVector<QString> values;
     335            const QVector<QString> keys = pProviderItem->m_propertyDescriptions.keys().toVector();
     336            const QVector<QString> values(keys.size());
    337337            comCloudProvider.CreateProfile(strProfileName, keys, values);
    338338
     
    351351                    /* Add profile to the tree: */
    352352                    UIDataCloudProfile data;
    353                     loadCloudProfile(comCloudProfile, data);
     353                    loadCloudProfile(comCloudProfile, *pProviderItem, data);
    354354                    createItemForCloudProfile(pProviderItem, data, true);
    355 
    356                     /* If profile still Ok: */
    357                     if (comCloudProfile.isOk())
    358                     {
    359                         /* Acquire supported property names: */
    360                         const QVector<QString> supportedNames = comCloudProvider.GetSupportedPropertyNames();
    361                         /* Show error message if necessary: */
    362                         if (!comCloudProfile.isOk())
    363                             msgCenter().cannotAcquireCloudProfileParameter(comCloudProfile, this);
    364                         else
    365                         {
    366                             /* Add unknown supported properties to known properties list.
    367                              * That allows to have at least something if we have nothing. */
    368                             foreach (const QString &strSupportedName, supportedNames)
    369                                 if (!data.m_data.contains(strSupportedName))
    370                                     data.m_data[strSupportedName] = qMakePair(QString(), QString());
    371                         }
    372                     }
    373355
    374356                    /* If profile still Ok: */
     
    390372                            /* Update profile in the tree: */
    391373                            UIDataCloudProfile updatedData;
    392                             loadCloudProfile(comCloudProfile, updatedData);
     374                            loadCloudProfile(comCloudProfile, *pProviderItem, updatedData);
    393375                            updateItemForCloudProfile(updatedData, true, static_cast<UIItemCloudProfile*>(m_pTreeWidget->currentItem()));
    394376                            sltHandleCurrentItemChange();
     
    778760                /* Load profile data: */
    779761                UIDataCloudProfile profileData;
    780                 loadCloudProfile(comCloudProfile, profileData);
     762                loadCloudProfile(comCloudProfile, providerData, profileData);
    781763                createItemForCloudProfile(pItem, profileData, false);
    782764            }
     
    794776void UICloudProfileManagerWidget::loadCloudProvider(const CCloudProvider &comProvider, UIDataCloudProvider &data)
    795777{
    796     Q_UNUSED(comProvider);
    797     Q_UNUSED(data);
    798 
    799778    /* Gather provider settings: */
    800779    if (comProvider.isOk())
     
    802781    if (comProvider.isOk())
    803782        data.m_strName = comProvider.GetName();
     783    foreach (const QString &strSupportedPropertyName, comProvider.GetSupportedPropertyNames())
     784        data.m_propertyDescriptions[strSupportedPropertyName] = comProvider.GetPropertyDescription(strSupportedPropertyName);
    804785
    805786    /* Show error message if necessary: */
     
    808789}
    809790
    810 void UICloudProfileManagerWidget::loadCloudProfile(const CCloudProfile &comProfile, UIDataCloudProfile &data)
    811 {
    812     Q_UNUSED(comProfile);
    813     Q_UNUSED(data);
    814 
     791void UICloudProfileManagerWidget::loadCloudProfile(const CCloudProfile &comProfile, const UIDataCloudProvider &providerData, UIDataCloudProfile &profileData)
     792{
    815793    /* Gather profile settings: */
    816794    if (comProfile.isOk())
    817         data.m_strName = comProfile.GetName();
     795        profileData.m_strName = comProfile.GetName();
    818796
    819797    if (comProfile.isOk())
     
    831809        if (comProfile.isOk())
    832810        {
    833             /* Acquire descriptions: */
    834 //          for (int i = 0; i < keys.size(); ++i)
    835 //          {
    836 //              descriptions[i] = comProfile.GetPropertyDescription(keys.at(i));
    837 //              if (!comProfile.isOk())
    838 //                  continue;
    839 //          }
    840 
    841811            /* Enumerate all the keys: */
    842812            for (int i = 0; i < keys.size(); ++i)
    843                 data.m_data[keys.at(i)] = qMakePair(values.at(i), descriptions.at(i));
     813                profileData.m_data[keys.at(i)] = qMakePair(values.at(i), providerData.m_propertyDescriptions.value(keys.at(i)));
    844814        }
    845815    }
  • trunk/src/VBox/Frontends/VirtualBox/src/cloud/UICloudProfileManager.h

    r75054 r75376  
    138138        /** Loads cloud @a comProvider data to passed @a data container. */
    139139        void loadCloudProvider(const CCloudProvider &comProvider, UIDataCloudProvider &data);
    140         /** Loads cloud @a comProfile data to passed @a data container. */
    141         void loadCloudProfile(const CCloudProfile &comProfile, UIDataCloudProfile &data);
     140        /** Loads cloud @a comProfile data to passed @a profileData container, using @a providerData as hint. */
     141        void loadCloudProfile(const CCloudProfile &comProfile, const UIDataCloudProvider &providerData, UIDataCloudProfile &profileData);
    142142    /** @} */
    143143
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