Changeset 87576 in vbox
- Timestamp:
- Feb 3, 2021 3:35:40 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142603
- 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 133 133 setText(HostNetworkColumn_IPv6, m_interface.m_strAddress6.isEmpty() || !m_interface.m_fSupportedIPv6 ? QString() : 134 134 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")); 137 136 138 137 /* Compose item tool-tip: */ … … 320 319 const QStringList fields = QStringList() 321 320 << 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") 324 323 << UINetworkManager::tr("DHCP Server"); 325 324 m_pTreeWidgetHostNetwork->setHeaderLabels(fields); … … 765 764 m_pTreeWidgetNATNetwork->setColumnWidth(NATNetworkColumn_DHCP, iWidth3); 766 765 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_fEnabled781 && pChangedItem->checkState(HostNetworkColumn_DHCP) == Qt::Checked)782 || ( !oldData.m_dhcpserver.m_fEnabled783 && 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 else796 {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 else804 {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 else817 {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_fEnabled824 && ( 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 else838 {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 }852 766 } 853 767 } … … 1343 1257 connect(m_pTreeWidgetHostNetwork, &QITreeWidget::customContextMenuRequested, 1344 1258 this, &UINetworkManagerWidget::sltHandleContextMenuRequestHostNetwork); 1345 connect(m_pTreeWidgetHostNetwork, &QITreeWidget::itemChanged,1346 this, &UINetworkManagerWidget::sltHandleItemChangeHostNetwork);1347 1259 connect(m_pTreeWidgetHostNetwork, &QITreeWidget::itemDoubleClicked, 1348 1260 m_pActionPool->action(UIActionIndexMN_M_Network_T_Details), &QAction::setChecked); -
trunk/src/VBox/Frontends/VirtualBox/src/networkmanager/UINetworkManager.h
r87565 r87576 131 131 void sltAdjustTreeWidgets(); 132 132 133 /** Handles host network tree-widget @a pItem change. */134 void sltHandleItemChangeHostNetwork(QTreeWidgetItem *pItem);135 133 /** Handles host network tree-widget current item change. */ 136 134 void sltHandleCurrentItemChangeHostNetwork();
Note:
See TracChangeset
for help on using the changeset viewer.