Changeset 87565 in vbox
- Timestamp:
- Feb 3, 2021 1:48:29 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142592
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/networkmanager
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/networkmanager/UIDetailsWidgetNATNetwork.cpp
r87545 r87565 43 43 , m_enmEmbedding(enmEmbedding) 44 44 , m_pTabWidget(0) 45 , m_pCheckboxNetworkAvailable(0)46 45 , m_pLabelNetworkName(0) 47 46 , m_pEditorNetworkName(0) … … 118 117 { 119 118 // if (m_oldData != m_newData) 120 // printf("Network: %d, %s, %s, %s, %d, %d, %d\n", 121 // m_newData.m_fEnabled, 119 // printf("Network: %s, %s, %s, %d, %d, %d\n", 122 120 // m_newData.m_strName.toUtf8().constData(), 123 121 // m_newData.m_strPrefixIPv4.toUtf8().constData(), … … 152 150 } 153 151 154 /* Translate 'Options' tab content: */155 if (m_pCheckboxNetworkAvailable)156 {157 m_pCheckboxNetworkAvailable->setText(tr("&Enable Network"));158 m_pCheckboxNetworkAvailable->setToolTip(tr("When checked, this network will be enabled."));159 }160 152 if (m_pLabelNetworkName) 161 153 m_pLabelNetworkName->setText(tr("&Name:")); … … 222 214 } 223 215 224 void UIDetailsWidgetNATNetwork::sltNetworkAvailabilityChanged(bool fChecked)225 {226 m_newData.m_fEnabled = fChecked;227 loadDataForOptions();228 updateButtonStates();229 }230 231 216 void UIDetailsWidgetNATNetwork::sltNetworkNameChanged(const QString &strText) 232 217 { … … 348 333 { 349 334 /* Prepare 'Options' layout: */ 350 Q GridLayout *pLayoutOptions = new QGridLayout(pTabOptions);335 QVBoxLayout *pLayoutOptions = new QVBoxLayout(pTabOptions); 351 336 if (pLayoutOptions) 352 337 { … … 356 341 #endif 357 342 358 /* Prepare network availability check-box: */359 m_pCheckboxNetworkAvailable = new QCheckBox(pTabOptions);360 if (m_pCheckboxNetworkAvailable)361 {362 connect(m_pCheckboxNetworkAvailable, &QCheckBox::toggled,363 this, &UIDetailsWidgetNATNetwork::sltNetworkAvailabilityChanged);364 pLayoutOptions->addWidget(m_pCheckboxNetworkAvailable, 0, 0, 1, 2);365 }366 367 /* Prepare 20-px shifting spacer: */368 QSpacerItem *pSpacerItem = new QSpacerItem(20, 0, QSizePolicy::Fixed, QSizePolicy::Minimum);369 if (pSpacerItem)370 pLayoutOptions->addItem(pSpacerItem, 1, 0);371 372 343 /* Prepare settings widget layout: */ 373 344 QGridLayout *pLayoutSettings = new QGridLayout; … … 466 437 } 467 438 468 pLayoutOptions->addLayout(pLayoutSettings , 1, 1);439 pLayoutOptions->addLayout(pLayoutSettings); 469 440 } 470 441 … … 479 450 connect(m_pButtonBoxOptions, &QIDialogButtonBox::clicked, this, &UIDetailsWidgetNATNetwork::sltHandleButtonBoxClick); 480 451 481 pLayoutOptions->addWidget(m_pButtonBoxOptions , 2, 0, 1, 2);452 pLayoutOptions->addWidget(m_pButtonBoxOptions); 482 453 } 483 454 } … … 555 526 /* Check whether network exists and enabled: */ 556 527 const bool fIsNetworkExists = m_newData.m_fExists; 557 const bool fIsNetworkEnabled = m_newData.m_fEnabled;558 528 559 529 /* Update 'Options' field availability: */ 560 m_pCheckboxNetworkAvailable->setEnabled(fIsNetworkExists); 561 m_pLabelNetworkName->setEnabled(fIsNetworkExists && fIsNetworkEnabled); 562 m_pEditorNetworkName->setEnabled(fIsNetworkExists && fIsNetworkEnabled); 563 m_pLabelNetworkIPv4Prefix->setEnabled(fIsNetworkExists && fIsNetworkEnabled); 564 m_pEditorNetworkIPv4Prefix->setEnabled(fIsNetworkExists && fIsNetworkEnabled); 565 m_pLabelNetworkIPv6Prefix->setEnabled(fIsNetworkExists && fIsNetworkEnabled); 566 m_pEditorNetworkIPv6Prefix->setEnabled(fIsNetworkExists && fIsNetworkEnabled); 567 m_pLabelExtended->setEnabled(fIsNetworkExists && fIsNetworkEnabled); 568 m_pCheckboxSupportsDHCP->setEnabled(fIsNetworkExists && fIsNetworkEnabled); 569 m_pCheckboxSupportsIPv6->setEnabled(fIsNetworkExists && fIsNetworkEnabled); 570 m_pCheckboxAdvertiseDefaultIPv6Route->setEnabled(fIsNetworkExists && fIsNetworkEnabled); 530 m_pLabelNetworkName->setEnabled(fIsNetworkExists); 531 m_pEditorNetworkName->setEnabled(fIsNetworkExists); 532 m_pLabelNetworkIPv4Prefix->setEnabled(fIsNetworkExists); 533 m_pEditorNetworkIPv4Prefix->setEnabled(fIsNetworkExists); 534 m_pLabelNetworkIPv6Prefix->setEnabled(fIsNetworkExists); 535 m_pEditorNetworkIPv6Prefix->setEnabled(fIsNetworkExists); 536 m_pLabelExtended->setEnabled(fIsNetworkExists); 537 m_pCheckboxSupportsDHCP->setEnabled(fIsNetworkExists); 538 m_pCheckboxSupportsIPv6->setEnabled(fIsNetworkExists); 539 m_pCheckboxAdvertiseDefaultIPv6Route->setEnabled(fIsNetworkExists); 571 540 572 541 /* Load 'Options' fields: */ 573 m_pCheckboxNetworkAvailable->setChecked(fIsNetworkEnabled);574 542 m_pEditorNetworkName->setText(m_newData.m_strName); 575 543 m_pEditorNetworkIPv4Prefix->setText(m_newData.m_strPrefixIPv4); … … 584 552 /* Check whether network exists and enabled: */ 585 553 const bool fIsNetworkExists = m_newData.m_fExists; 586 const bool fIsNetworkEnabled = m_newData.m_fEnabled;587 554 588 555 /* Update 'Forwarding' field availability: */ 589 m_pForwardingTableIPv4->setEnabled(fIsNetworkExists && fIsNetworkEnabled);590 m_pForwardingTableIPv6->setEnabled(fIsNetworkExists && fIsNetworkEnabled);556 m_pForwardingTableIPv4->setEnabled(fIsNetworkExists); 557 m_pForwardingTableIPv6->setEnabled(fIsNetworkExists); 591 558 592 559 /* Calculate/load guest address hints: */ -
trunk/src/VBox/Frontends/VirtualBox/src/networkmanager/UIDetailsWidgetNATNetwork.h
r87545 r87565 47 47 UIDataNATNetwork() 48 48 : m_fExists(false) 49 , m_fEnabled(false)50 49 , m_strName(QString()) 51 50 , m_strPrefixIPv4(QString()) … … 61 60 return true 62 61 && (m_fExists == other.m_fExists) 63 && (m_fEnabled == other.m_fEnabled)64 62 && (m_strName == other.m_strName) 65 63 && (m_strPrefixIPv4 == other.m_strPrefixIPv4) … … 80 78 /** Holds whether this network is not NULL. */ 81 79 bool m_fExists; 82 /** Holds whether this network enabled. */83 bool m_fEnabled;84 80 /** Holds network name. */ 85 81 QString m_strName; … … 151 147 /** @name Change handling stuff. 152 148 * @{ */ 153 /** Handles network availability choice change. */154 void sltNetworkAvailabilityChanged(bool fChecked);155 149 /** Handles network name text change. */ 156 150 void sltNetworkNameChanged(const QString &strText); … … 215 209 /** @name Network variables. 216 210 * @{ */ 217 /** Holds the network availability check-box instance. */218 QCheckBox *m_pCheckboxNetworkAvailable;219 211 /** Holds the network name label instance. */ 220 212 QLabel *m_pLabelNetworkName; -
trunk/src/VBox/Frontends/VirtualBox/src/networkmanager/UINetworkManager.cpp
r87545 r87565 73 73 enum NATNetworkColumn 74 74 { 75 NATNetworkColumn_Availability,76 75 NATNetworkColumn_Name, 77 76 NATNetworkColumn_Max, … … 233 232 { 234 233 /* Compose item fields: */ 235 setCheckState(NATNetworkColumn_Availability, m_fEnabled ? Qt::Checked : Qt::Unchecked);236 234 setText(NATNetworkColumn_Name, m_strName); 237 235 … … 257 255 QString UIItemNATNetwork::defaultText() const 258 256 { 259 return m_fEnabled 260 ? tr("%1, %2", "col.2 text, col.1 name").arg(text(1)).arg(parentTree()->headerItem()->text(0)) 261 : tr("%1", "col.2 text").arg(text(1)); 257 return tr("%1, %2", "col.2 text, col.1 name").arg(text(1)).arg(parentTree()->headerItem()->text(0)); 262 258 } 263 259 … … 328 324 { 329 325 const QStringList fields = QStringList() 330 << UINetworkManager::tr("Active")331 326 << UINetworkManager::tr("Name"); 332 327 m_pTreeWidgetNATNetwork->setHeaderLabels(fields); … … 556 551 UIDataNATNetwork oldData; 557 552 oldData.m_fExists = true; 558 oldData.m_fEnabled = true;559 553 oldData.m_strName = strNetworkName; 560 554 oldData.m_strPrefixIPv4 = "10.0.2.0/24"; … … 575 569 else 576 570 { 577 /* Save whether NAT network is enabled: */578 if (comNetwork.isOk())579 comNetwork.SetEnabled(oldData.m_fEnabled);580 571 /* Save NAT network name: */ 581 572 if (comNetwork.isOk()) … … 739 730 } 740 731 732 #if 0 741 733 /* Check NAT network tree-widget: */ 742 734 if (m_pTreeWidgetNATNetwork) … … 757 749 m_pTreeWidgetNATNetwork->setColumnWidth(NATNetworkColumn_Name, iTotal - iWidth1); 758 750 } 751 #endif 759 752 } 760 753 … … 1020 1013 } 1021 1014 1022 void UINetworkManagerWidget::sltHandleItemChangeNATNetwork(QTreeWidgetItem *pItem)1023 {1024 /* Get network item: */1025 UIItemNATNetwork *pChangedItem = static_cast<UIItemNATNetwork*>(pItem);1026 AssertMsgReturnVoid(pChangedItem, ("Changed item must not be null!\n"));1027 1028 /* Get item data: */1029 UIDataNATNetwork oldData = *pChangedItem;1030 1031 /* Make sure network availability status changed: */1032 if ( ( oldData.m_fEnabled1033 && pChangedItem->checkState(NATNetworkColumn_Availability) == Qt::Checked)1034 || ( !oldData.m_fEnabled1035 && pChangedItem->checkState(NATNetworkColumn_Availability) == Qt::Unchecked))1036 return;1037 1038 /* Get VirtualBox for further activities: */1039 CVirtualBox comVBox = uiCommon().virtualBox();1040 1041 /* Find corresponding network: */1042 CNATNetwork comNetwork = comVBox.FindNATNetworkByName(oldData.m_strName);1043 1044 /* Show error message if necessary: */1045 if (!comVBox.isOk() || comNetwork.isNull())1046 msgCenter().cannotFindNATNetwork(comVBox, oldData.m_strName, this);1047 else1048 {1049 /* Save whether NAT network is enabled: */1050 if (comNetwork.isOk())1051 comNetwork.SetEnabled(!oldData.m_fEnabled);1052 1053 /* Show error message if necessary: */1054 if (!comNetwork.isOk())1055 msgCenter().cannotSaveNATNetworkParameter(comNetwork, this);1056 else1057 {1058 /* Update network in the tree: */1059 UIDataNATNetwork data;1060 loadNATNetwork(comNetwork, data);1061 updateItemForNATNetwork(data, true, pChangedItem);1062 1063 /* Make sure current item fetched, trying to hold chosen position: */1064 sltHandleCurrentItemChangeNATNetworkHoldingPosition(true /* hold position? */);1065 1066 /* Adjust tree-widgets: */1067 sltAdjustTreeWidgets();1068 }1069 }1070 }1071 1072 1015 void UINetworkManagerWidget::sltHandleCurrentItemChangeNATNetworkHoldingPosition(bool fHoldPosition) 1073 1016 { … … 1152 1095 else 1153 1096 { 1154 /* Save whether NAT network is enabled: */1155 if (comNetwork.isOk() && newData.m_fEnabled != oldData.m_fEnabled)1156 comNetwork.SetEnabled(newData.m_fEnabled);1157 1097 /* Save NAT network name: */ 1158 1098 if (comNetwork.isOk() && newData.m_strName != oldData.m_strName) … … 1451 1391 connect(m_pTreeWidgetNATNetwork, &QITreeWidget::customContextMenuRequested, 1452 1392 this, &UINetworkManagerWidget::sltHandleContextMenuRequestNATNetwork); 1453 connect(m_pTreeWidgetNATNetwork, &QITreeWidget::itemChanged,1454 this, &UINetworkManagerWidget::sltHandleItemChangeNATNetwork);1455 1393 connect(m_pTreeWidgetNATNetwork, &QITreeWidget::itemDoubleClicked, 1456 1394 m_pActionPool->action(UIActionIndexMN_M_Network_T_Details), &QAction::setChecked); … … 1631 1569 if (comNetwork.isNotNull()) 1632 1570 data.m_fExists = true; 1633 if (comNetwork.isOk())1634 data.m_fEnabled = comNetwork.GetEnabled();1635 1571 if (comNetwork.isOk()) 1636 1572 data.m_strName = comNetwork.GetNetworkName(); -
trunk/src/VBox/Frontends/VirtualBox/src/networkmanager/UINetworkManager.h
r87342 r87565 140 140 void sltApplyDetailsChangesHostNetwork(); 141 141 142 /** Handles NAT network tree-widget @a pItem change. */143 void sltHandleItemChangeNATNetwork(QTreeWidgetItem *pItem);144 142 /** Handles NAT network tree-widget current item change. 145 143 * @param fHoldPosition Holds whether we should try to keep
Note:
See TracChangeset
for help on using the changeset viewer.