Changeset 101591 in vbox
- Timestamp:
- Oct 25, 2023 1:41:05 PM (18 months ago)
- svn:sync-xref-src-repo-rev:
- 159673
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/settings/machine
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.cpp
r101529 r101591 175 175 /** Constructs tab passing @a pParent to the base-class. 176 176 * @param pParentPage Holds the parent page reference allowing to access some of API there. */ 177 UIMachineSettingsNetwork( QITabWidget*pParent, UIMachineSettingsNetworkPage *pParentPage);177 UIMachineSettingsNetwork(UIEditor *pParent, UIMachineSettingsNetworkPage *pParentPage); 178 178 179 179 /** Loads adapter data from @a adapterCache. */ … … 234 234 *********************************************************************************************************************************/ 235 235 236 UIMachineSettingsNetwork::UIMachineSettingsNetwork( QITabWidget*pParent, UIMachineSettingsNetworkPage *pParentPage)236 UIMachineSettingsNetwork::UIMachineSettingsNetwork(UIEditor *pParent, UIMachineSettingsNetworkPage *pParentPage) 237 237 : UIEditor(pParent) 238 238 , m_pParentPage(pParentPage) … … 564 564 if (pLayout) 565 565 { 566 #ifdef VBOX_WS_MAC 567 /* On Mac OS X we can do a bit of smoothness: */ 568 int iLeft, iTop, iRight, iBottom; 569 pLayout->getContentsMargins(&iLeft, &iTop, &iRight, &iBottom); 570 pLayout->setContentsMargins(iLeft / 2, iTop / 2, iRight / 2, iBottom / 2); 571 #endif 566 pLayout->setContentsMargins(0, 0, 0, 0); 572 567 573 568 /* Prepare settings editor: */ … … 726 721 { 727 722 /* Get adapter page: */ 728 UIMachineSettingsNetwork *pTab = qobject_cast<UIMachineSettingsNetwork*>(m_pTabWidget->widget(iSlot));723 UIMachineSettingsNetwork *pTab = m_tabEditors.at(iSlot); 729 724 AssertPtrReturnVoid(pTab); 730 725 … … 760 755 { 761 756 /* Get adapter page: */ 762 UIMachineSettingsNetwork *pTab = qobject_cast<UIMachineSettingsNetwork*>(m_pTabWidget->widget(iSlot));757 UIMachineSettingsNetwork *pTab = m_tabEditors.at(iSlot); 763 758 AssertPtrReturnVoid(pTab); 764 759 … … 793 788 794 789 /* Delegate validation to adapter tabs: */ 795 for (int i Index = 0; iIndex < m_pTabWidget->count(); ++iIndex)796 { 797 UIMachineSettingsNetwork *pTab = qobject_cast<UIMachineSettingsNetwork*>(m_pTabWidget->widget(iIndex));790 for (int iSlot = 0; iSlot < m_pTabWidget->count(); ++iSlot) 791 { 792 UIMachineSettingsNetwork *pTab = m_tabEditors.at(iSlot); 798 793 AssertPtrReturn(pTab, false); 799 794 if (!pTab->validate(messages)) … … 813 808 for (int iSlot = 0; iSlot < m_pTabWidget->count(); ++iSlot) 814 809 { 815 UIMachineSettingsNetwork *pTab = qobject_cast<UIMachineSettingsNetwork*>(m_pTabWidget->widget(iSlot));810 UIMachineSettingsNetwork *pTab = m_tabEditors.at(iSlot); 816 811 AssertPtrReturnVoid(pTab); 817 812 m_pTabWidget->setTabText(iSlot, pTab->tabTitle()); … … 833 828 m_pCache->childCount() > iSlot && 834 829 m_pCache->child(iSlot).base().m_fAdapterEnabled)); 835 UIMachineSettingsNetwork *pTab = qobject_cast<UIMachineSettingsNetwork*>(m_pTabWidget->widget(iSlot));830 UIMachineSettingsNetwork *pTab = m_tabEditors.at(iSlot); 836 831 AssertPtrReturnVoid(pTab); 837 832 pTab->polishTab(); … … 872 867 { 873 868 /* Get the iterated tab: */ 874 UIMachineSettingsNetwork *pTab = qobject_cast<UIMachineSettingsNetwork*>(m_pTabWidget->widget(iSlot));869 UIMachineSettingsNetwork *pTab = m_tabEditors.at(iSlot); 875 870 AssertPtrReturnVoid(pTab); 876 871 … … 887 882 AssertPtrReturnVoid(m_pCache); 888 883 889 /* Create main layout: */ 884 /* Prepare everything: */ 885 prepareWidgets(); 886 887 /* Apply language settings: */ 888 retranslateUi(); 889 } 890 891 void UIMachineSettingsNetworkPage::prepareWidgets() 892 { 893 /* Prepare main layout: */ 890 894 QVBoxLayout *pLayoutMain = new QVBoxLayout(this); 891 895 if (pLayoutMain) 892 896 { 893 /* Creatingtab-widget: */894 m_pTabWidget = new QITabWidget ;897 /* Prepare tab-widget: */ 898 m_pTabWidget = new QITabWidget(this); 895 899 if (m_pTabWidget) 896 900 { … … 904 908 /* Create corresponding adapter tabs: */ 905 909 for (ulong uSlot = 0; uSlot < uCount; ++uSlot) 906 { 907 /* Create adapter tab: */ 908 UIMachineSettingsNetwork *pTab = new UIMachineSettingsNetwork(m_pTabWidget, this); 909 if (pTab) 910 { 911 /* Tab connections: */ 912 connect(pTab, &UIMachineSettingsNetwork::sigAlternativeNameChanged, 913 this, &UIMachineSettingsNetworkPage::sltHandleAlternativeNameChange); 914 connect(pTab, &UIMachineSettingsNetwork::sigValidityChanged, 915 this, &UIMachineSettingsNetworkPage::revalidate); 916 917 /* Add tab into tab-widget: */ 918 addEditor(pTab); 919 m_pTabWidget->addTab(pTab, pTab->tabTitle()); 920 } 921 } 922 923 /* Add tab-widget into layout: */ 910 prepareTab(); 911 924 912 pLayoutMain->addWidget(m_pTabWidget); 925 913 } 926 914 } 915 } 916 917 void UIMachineSettingsNetworkPage::prepareTab() 918 { 919 /* Prepare tab: */ 920 UIEditor *pTab = new UIEditor(m_pTabWidget); 921 if (pTab) 922 { 923 /* Prepare tab layout: */ 924 QVBoxLayout *pLayout = new QVBoxLayout(pTab); 925 if (pLayout) 926 { 927 #ifdef VBOX_WS_MAC 928 /* On Mac OS X we can do a bit of smoothness: */ 929 int iLeft, iTop, iRight, iBottom; 930 pLayout->getContentsMargins(&iLeft, &iTop, &iRight, &iBottom); 931 pLayout->setContentsMargins(iLeft / 2, iTop / 2, iRight / 2, iBottom / 2); 932 #endif 933 934 /* Prepare name and system editor: */ 935 UIMachineSettingsNetwork *pEditor = new UIMachineSettingsNetwork(pTab, this); 936 if (pEditor) 937 { 938 m_tabEditors << pEditor; 939 prepareConnections(pEditor); 940 pTab->addEditor(pEditor); 941 pLayout->addWidget(pEditor); 942 } 943 944 pLayout->addStretch(); 945 } 946 947 addEditor(pTab); 948 m_pTabWidget->addTab(pTab, QString()); 949 } 950 } 951 952 void UIMachineSettingsNetworkPage::prepareConnections(UIMachineSettingsNetwork *pTabEditor) 953 { 954 /* Tab connections: */ 955 connect(pTabEditor, &UIMachineSettingsNetwork::sigAlternativeNameChanged, 956 this, &UIMachineSettingsNetworkPage::sltHandleAlternativeNameChange); 957 connect(pTabEditor, &UIMachineSettingsNetwork::sigValidityChanged, 958 this, &UIMachineSettingsNetworkPage::revalidate); 927 959 } 928 960 … … 955 987 for (int iSlot = 0; iSlot < m_pTabWidget->count(); ++iSlot) 956 988 { 957 UIMachineSettingsNetwork *pTab = qobject_cast<UIMachineSettingsNetwork*>(m_pTabWidget->widget(iSlot));989 UIMachineSettingsNetwork *pTab = m_tabEditors.at(iSlot); 958 990 AssertPtrReturnVoid(pTab); 959 991 const QString strName = pTab->alternativeName(KNetworkAttachmentType_Internal); … … 1000 1032 for (int iSlot = 0; iSlot < m_pTabWidget->count(); ++iSlot) 1001 1033 { 1002 UIMachineSettingsNetwork *pTab = qobject_cast<UIMachineSettingsNetwork*>(m_pTabWidget->widget(iSlot));1034 UIMachineSettingsNetwork *pTab = m_tabEditors.at(iSlot); 1003 1035 AssertPtrReturnVoid(pTab); 1004 1036 const QString strName = pTab->alternativeName(KNetworkAttachmentType_Generic); -
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.h
r101529 r101591 38 38 /* Forward declarations: */ 39 39 class QITabWidget; 40 class UIMachineSettingsNetwork; 40 41 struct UIDataSettingsMachineNetwork; 41 42 struct UIDataSettingsMachineNetworkAdapter; … … 117 118 /** Prepares all. */ 118 119 void prepare(); 120 /** Prepares widgets. */ 121 void prepareWidgets(); 122 /** Prepare tab. */ 123 void prepareTab(); 124 /** Prepares connections. */ 125 void prepareConnections(UIMachineSettingsNetwork *pTabEditor); 119 126 /** Cleanups all. */ 120 127 void cleanup(); … … 177 184 /** Holds the tab-widget instance. */ 178 185 QITabWidget *m_pTabWidget; 186 187 /** Holds the list of tab editors. */ 188 QList<UIMachineSettingsNetwork*> m_tabEditors; 179 189 }; 180 190
Note:
See TracChangeset
for help on using the changeset viewer.