VirtualBox

Changeset 78519 in vbox for trunk/src/VBox


Ignore:
Timestamp:
May 14, 2019 5:03:54 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
130559
Message:

FE/Qt: bugref:9446 Adding necessary extra data keys and checks to make possible restricting network attachments.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp

    r78010 r78519  
    7676const char *UIExtraDataDefs::GUI_RecentListCD = "GUI/RecentListCD";
    7777const char *UIExtraDataDefs::GUI_RecentListFD = "GUI/RecentListFD";
     78
     79/* Settings: Network: */
     80const char *UIExtraDataDefs::GUI_RestrictedNetworkAttachmentTypes = "GUI/RestrictedNetworkAttachmentTypes";
    7881
    7982/* VISO Creator: */
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h

    r78499 r78519  
    144144    /** @} */
    145145
    146     /** @name Settings: VISO Creator
     146    /** @name Settings: Network
     147      * @{ */
     148        /** Holds the list of restricted network attachment types. */
     149        SHARED_LIBRARY_STUFF extern const char *GUI_RestrictedNetworkAttachmentTypes;
     150    /** @} */
     151
     152    /** @name VISO Creator
    147153      * @{ */
    148154        /** Holds recent folder for VISO creation content. */
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp

    r78010 r78519  
    19601960           << GUI_VISOCreator_RecentFolder << GUI_VISOCreator_DialogGeometry
    19611961           << GUI_RecentListHD << GUI_RecentListCD << GUI_RecentListFD
     1962           << GUI_RestrictedNetworkAttachmentTypes
    19621963           << GUI_LastSelectorWindowPosition << GUI_SplitterSizes
    19631964           << GUI_Toolbar << GUI_Toolbar_Text
     
    26642665}
    26652666
     2667UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork UIExtraDataManager::restrictedNetworkAttachmentTypes()
     2668{
     2669    /* Prepare result: */
     2670    UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork enmResult =
     2671        UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork_Invalid;
     2672    /* Get restricted network attachment types: */
     2673    foreach (const QString &strValue, extraDataStringList(GUI_RestrictedNetworkAttachmentTypes))
     2674    {
     2675        const UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork enmValue =
     2676            gpConverter->fromInternalString<UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork>(strValue);
     2677        if (enmValue != UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork_Invalid && !(enmResult & enmValue))
     2678            enmResult = static_cast<UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork>(enmResult | enmValue);
     2679    }
     2680    /* Return result: */
     2681    return enmResult;
     2682}
     2683
    26662684QString UIExtraDataManager::visoCreatorRecentFolder()
    26672685{
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h

    r78010 r78519  
    288288        /** Defines the list of recently used floppy-disks as @a value. */
    289289        void setRecentListOfFloppyDisks(const QStringList &value);
     290    /** @} */
     291
     292    /** @name Settings: Network
     293      * @{ */
     294        /** Returns the list of restricted network attachment types. */
     295        UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork restrictedNetworkAttachmentTypes();
    290296    /** @} */
    291297
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.cpp

    r78163 r78519  
    772772        {
    773773            pHorizontalHeader->setHighlightSections(false);
    774             pHorizontalHeader->setSectionResizeMode(QHeaderView::Stretch);
     774            pHorizontalHeader->setSectionResizeMode(QHeaderView::ResizeToContents);
     775            pHorizontalHeader->setStretchLastSection(true);
    775776        }
    776777
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.cpp

    r76606 r78519  
    2424#include "UIMachineSettingsNetwork.h"
    2525#include "UIErrorString.h"
     26#include "UIExtraDataManager.h"
    2627#include "VBoxGlobal.h"
    2728
     
    757758}
    758759
     760UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork toInternalNetworkAdapterEnum(KNetworkAttachmentType comEnum)
     761{
     762    switch (comEnum)
     763    {
     764        case KNetworkAttachmentType_NAT:        return UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork_NAT;
     765        case KNetworkAttachmentType_Bridged:    return UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork_BridgetAdapter;
     766        case KNetworkAttachmentType_Internal:   return UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork_InternalNetwork;
     767        case KNetworkAttachmentType_HostOnly:   return UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork_HostOnlyAdapter;
     768        case KNetworkAttachmentType_Generic:    return UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork_GenericDriver;
     769        case KNetworkAttachmentType_NATNetwork: return UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork_NATNetwork;
     770        default:                                return UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork_Invalid;
     771    }
     772}
     773
    759774void UIMachineSettingsNetwork::populateComboboxes()
    760775{
     
    768783
    769784        /* Populate attachments: */
     785        const UIExtraDataMetaDefs::DetailsElementOptionTypeNetwork enmRestrictedNetworkAttachmentTypes =
     786            gEDataManager->restrictedNetworkAttachmentTypes();
    770787        int iAttachmentTypeIndex = 0;
    771         m_pAttachmentTypeComboBox->insertItem(iAttachmentTypeIndex, gpConverter->toString(KNetworkAttachmentType_Null));
    772         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_Null);
    773         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeComboBox->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
    774         ++iAttachmentTypeIndex;
    775         m_pAttachmentTypeComboBox->insertItem(iAttachmentTypeIndex, gpConverter->toString(KNetworkAttachmentType_NAT));
    776         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_NAT);
    777         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeComboBox->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
    778         ++iAttachmentTypeIndex;
    779         m_pAttachmentTypeComboBox->insertItem(iAttachmentTypeIndex, gpConverter->toString(KNetworkAttachmentType_NATNetwork));
    780         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_NATNetwork);
    781         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeComboBox->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
    782         ++iAttachmentTypeIndex;
    783         m_pAttachmentTypeComboBox->insertItem(iAttachmentTypeIndex, gpConverter->toString(KNetworkAttachmentType_Bridged));
    784         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_Bridged);
    785         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeComboBox->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
    786         ++iAttachmentTypeIndex;
    787         m_pAttachmentTypeComboBox->insertItem(iAttachmentTypeIndex, gpConverter->toString(KNetworkAttachmentType_Internal));
    788         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_Internal);
    789         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeComboBox->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
    790         ++iAttachmentTypeIndex;
    791         m_pAttachmentTypeComboBox->insertItem(iAttachmentTypeIndex, gpConverter->toString(KNetworkAttachmentType_HostOnly));
    792         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_HostOnly);
    793         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeComboBox->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
    794         ++iAttachmentTypeIndex;
    795         m_pAttachmentTypeComboBox->insertItem(iAttachmentTypeIndex, gpConverter->toString(KNetworkAttachmentType_Generic));
    796         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_Generic);
    797         m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeComboBox->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
    798         ++iAttachmentTypeIndex;
     788        /* We want some hardcoded order, so prepare a list of enum values: */
     789        QList<KNetworkAttachmentType> attachmentTypes  = QList<KNetworkAttachmentType>() << KNetworkAttachmentType_Null
     790                                                      << KNetworkAttachmentType_NAT << KNetworkAttachmentType_NATNetwork
     791                                                      << KNetworkAttachmentType_Bridged << KNetworkAttachmentType_Internal
     792                                                      << KNetworkAttachmentType_HostOnly << KNetworkAttachmentType_Generic;
     793        for (int i = 0; i < attachmentTypes.size(); ++i)
     794        {
     795            const KNetworkAttachmentType enmType = attachmentTypes.at(i);
     796            if (enmRestrictedNetworkAttachmentTypes & toInternalNetworkAdapterEnum(enmType))
     797                continue;
     798            m_pAttachmentTypeComboBox->insertItem(iAttachmentTypeIndex, gpConverter->toString(enmType));
     799            m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, enmType);
     800            m_pAttachmentTypeComboBox->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeComboBox->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
     801            ++iAttachmentTypeIndex;
     802        }
    799803
    800804        /* Restore the previously selected attachment type: */
     
    16391643
    16401644# include "UIMachineSettingsNetwork.moc"
    1641 
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