VirtualBox

Changeset 87576 in vbox


Ignore:
Timestamp:
Feb 3, 2021 3:35:40 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
142603
Message:

FE/Qt: bugref:9871: Network Manager: Wipe out DHCP enable/disable functionality for Host-only network's tree-widget since that functionality is already present in network details anyway; This is compatibility decision directed to sync stuff with NAT networks.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/networkmanager/UINetworkManager.cpp

    r87572 r87576  
    133133    setText(HostNetworkColumn_IPv6, m_interface.m_strAddress6.isEmpty() || !m_interface.m_fSupportedIPv6 ? QString() :
    134134                                    QString("%1/%2").arg(m_interface.m_strAddress6).arg(m_interface.m_strPrefixLength6.toInt()));
    135     setText(HostNetworkColumn_DHCP, tr("Enable", "DHCP Server"));
    136     setCheckState(HostNetworkColumn_DHCP, m_dhcpserver.m_fEnabled ? Qt::Checked : Qt::Unchecked);
     135    setText(HostNetworkColumn_DHCP, m_dhcpserver.m_fEnabled ? tr("Enabled", "DHCP Server") : tr("Disabled", "DHCP Server"));
    137136
    138137    /* Compose item tool-tip: */
     
    320319        const QStringList fields = QStringList()
    321320                                   << UINetworkManager::tr("Name")
    322                                    << UINetworkManager::tr("IPv4 Address/Mask")
    323                                    << UINetworkManager::tr("IPv6 Address/Mask")
     321                                   << UINetworkManager::tr("IPv4 Prefix")
     322                                   << UINetworkManager::tr("IPv6 Prefix")
    324323                                   << UINetworkManager::tr("DHCP Server");
    325324        m_pTreeWidgetHostNetwork->setHeaderLabels(fields);
     
    765764        m_pTreeWidgetNATNetwork->setColumnWidth(NATNetworkColumn_DHCP, iWidth3);
    766765        m_pTreeWidgetNATNetwork->setColumnWidth(NATNetworkColumn_Name, iTotal - iWidth1 - iWidth2 - iWidth3);
    767     }
    768 }
    769 
    770 void UINetworkManagerWidget::sltHandleItemChangeHostNetwork(QTreeWidgetItem *pItem)
    771 {
    772     /* Get network item: */
    773     UIItemHostNetwork *pChangedItem = static_cast<UIItemHostNetwork*>(pItem);
    774     AssertMsgReturnVoid(pChangedItem, ("Changed item must not be null!\n"));
    775 
    776     /* Get item data: */
    777     UIDataHostNetwork oldData = *pChangedItem;
    778 
    779     /* Make sure dhcp server status changed: */
    780     if (   (   oldData.m_dhcpserver.m_fEnabled
    781             && pChangedItem->checkState(HostNetworkColumn_DHCP) == Qt::Checked)
    782         || (   !oldData.m_dhcpserver.m_fEnabled
    783             && pChangedItem->checkState(HostNetworkColumn_DHCP) == Qt::Unchecked))
    784         return;
    785 
    786     /* Get host for further activities: */
    787     CHost comHost = uiCommon().host();
    788 
    789     /* Find corresponding interface: */
    790     CHostNetworkInterface comInterface = comHost.FindHostNetworkInterfaceByName(oldData.m_interface.m_strName);
    791 
    792     /* Show error message if necessary: */
    793     if (!comHost.isOk() || comInterface.isNull())
    794         msgCenter().cannotFindHostNetworkInterface(comHost, oldData.m_interface.m_strName, this);
    795     else
    796     {
    797         /* Get network name for further activities: */
    798         const QString strNetworkName = comInterface.GetNetworkName();
    799 
    800         /* Show error message if necessary: */
    801         if (!comInterface.isOk())
    802             msgCenter().cannotAcquireHostNetworkInterfaceParameter(comInterface, this);
    803         else
    804         {
    805             /* Get VBox for further activities: */
    806             CVirtualBox comVBox = uiCommon().virtualBox();
    807 
    808             /* Find corresponding DHCP server (create if necessary): */
    809             CDHCPServer comServer = comVBox.FindDHCPServerByNetworkName(strNetworkName);
    810             if (!comVBox.isOk() || comServer.isNull())
    811                 comServer = comVBox.CreateDHCPServer(strNetworkName);
    812 
    813             /* Show error message if necessary: */
    814             if (!comVBox.isOk() || comServer.isNull())
    815                 msgCenter().cannotCreateDHCPServer(comVBox, strNetworkName, this);
    816             else
    817             {
    818                 /* Save whether DHCP server is enabled: */
    819                 if (comServer.isOk())
    820                     comServer.SetEnabled(!oldData.m_dhcpserver.m_fEnabled);
    821                 /* Save default DHCP server configuration if current is invalid: */
    822                 if (   comServer.isOk()
    823                     && !oldData.m_dhcpserver.m_fEnabled
    824                     && (   oldData.m_dhcpserver.m_strAddress == "0.0.0.0"
    825                         || oldData.m_dhcpserver.m_strMask == "0.0.0.0"
    826                         || oldData.m_dhcpserver.m_strLowerAddress == "0.0.0.0"
    827                         || oldData.m_dhcpserver.m_strUpperAddress == "0.0.0.0"))
    828                 {
    829                     const QStringList &proposal = makeDhcpServerProposal(oldData.m_interface.m_strAddress,
    830                                                                          oldData.m_interface.m_strMask);
    831                     comServer.SetConfiguration(proposal.at(0), proposal.at(1), proposal.at(2), proposal.at(3));
    832                 }
    833 
    834                 /* Show error message if necessary: */
    835                 if (!comServer.isOk())
    836                     msgCenter().cannotSaveDHCPServerParameter(comServer, this);
    837                 else
    838                 {
    839                     /* Update interface in the tree: */
    840                     UIDataHostNetwork data;
    841                     loadHostNetwork(comInterface, data);
    842                     updateItemForHostNetwork(data, true, pChangedItem);
    843 
    844                     /* Make sure current item fetched: */
    845                     sltHandleCurrentItemChangeHostNetwork();
    846 
    847                     /* Adjust tree-widgets: */
    848                     sltAdjustTreeWidgets();
    849                 }
    850             }
    851         }
    852766    }
    853767}
     
    13431257        connect(m_pTreeWidgetHostNetwork, &QITreeWidget::customContextMenuRequested,
    13441258                this, &UINetworkManagerWidget::sltHandleContextMenuRequestHostNetwork);
    1345         connect(m_pTreeWidgetHostNetwork, &QITreeWidget::itemChanged,
    1346                 this, &UINetworkManagerWidget::sltHandleItemChangeHostNetwork);
    13471259        connect(m_pTreeWidgetHostNetwork, &QITreeWidget::itemDoubleClicked,
    13481260                m_pActionPool->action(UIActionIndexMN_M_Network_T_Details), &QAction::setChecked);
  • trunk/src/VBox/Frontends/VirtualBox/src/networkmanager/UINetworkManager.h

    r87565 r87576  
    131131        void sltAdjustTreeWidgets();
    132132
    133         /** Handles host network tree-widget @a pItem change. */
    134         void sltHandleItemChangeHostNetwork(QTreeWidgetItem *pItem);
    135133        /** Handles host network tree-widget current item change. */
    136134        void sltHandleCurrentItemChangeHostNetwork();
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