- Timestamp:
- Sep 18, 2013 4:02:52 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 89052
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/settings/global
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetwork.cpp
r48497 r48524 25 25 #include "VBoxGlobal.h" 26 26 #include "UIIconPool.h" 27 #include "UIConverter.h" 27 28 #include "UIMessageCenter.h" 28 29 #include "UIGlobalSettingsNetwork.h" … … 127 128 { 128 129 /* Emptiness validation: */ 129 message.second << UIGlobalSettingsNetwork::tr(" The new name for NAT network previously called <b>%1</b> is empty.").arg(m_data.m_strName);130 message.second << UIGlobalSettingsNetwork::tr("No new name specified for the NAT network previously called <b>%1</b>.").arg(m_data.m_strName); 130 131 fNameValid = false; 131 132 fPass = false; … … 137 138 /* Emptiness validation: */ 138 139 if (fNameValid) 139 message.second << UIGlobalSettingsNetwork::tr(" The CIDR for NAT network <b>%1</b> is empty.").arg(m_data.m_strNewName);140 message.second << UIGlobalSettingsNetwork::tr("No CIDR specified for the NAT network <b>%1</b>.").arg(m_data.m_strNewName); 140 141 else 141 message.second << UIGlobalSettingsNetwork::tr(" The CIDR for NAT network previously called <b>%1</b> is empty.").arg(m_data.m_strName);142 message.second << UIGlobalSettingsNetwork::tr("No CIDR specified for the NAT network previously called <b>%1</b>.").arg(m_data.m_strName); 142 143 fPass = false; 143 144 } … … 150 151 { 151 152 if (fNameValid) 152 message.second << UIGlobalSettingsNetwork::tr(" The CIDR <i>%1</i> for NAT network <b>%2</b> is invalid.")153 message.second << UIGlobalSettingsNetwork::tr("Invalid CIDR specified (<i>%1</i>) for the NAT network <b>%2</b>.") 153 154 .arg(m_data.m_strCIDR, m_data.m_strNewName); 154 155 else 155 message.second << UIGlobalSettingsNetwork::tr(" The CIDR <i>%1</i> for NAT network previously called <b>%2</b> is invalid.")156 message.second << UIGlobalSettingsNetwork::tr("Invalid CIDR specified (<i>%1</i>) for the NAT network previously called <b>%2</b>.") 156 157 .arg(m_data.m_strCIDR, m_data.m_strName); 157 158 fPass = false; … … 199 200 200 201 /* Assign tool-tip finally: */ 201 setToolTip( 0, strToolTip);202 setToolTip(1, strToolTip); 202 203 } 203 204 … … 922 923 data.m_fAdvertiseDefaultIPv6Route = network.GetAdvertiseDefaultIPv6RouteEnabled(); 923 924 925 /* Load redirect options: */ 926 QVector<QString> redirects = network.GetPortForwardRules4(); 927 foreach (const QString &strRedirect, redirects) 928 { 929 QStringList redirectData = strRedirect.split(':'); 930 Assert(redirectData.size() == 6); 931 if (redirectData.size() != 6) 932 continue; 933 data.m_redirects << UIPortForwardingData(redirectData[0], 934 gpConverter->fromInternalString<KNATProtocol>(redirectData[1]), 935 QString(redirectData[2]).remove('[').remove(']'), 936 redirectData[3].toUInt(), 937 QString(redirectData[4]).remove('[').remove(']'), 938 redirectData[5].toUInt()); 939 } 940 924 941 /* Return data: */ 925 942 return data; … … 940 957 network.SetIPv6Enabled(data.m_fSupportsIPv6); 941 958 network.SetAdvertiseDefaultIPv6RouteEnabled(data.m_fAdvertiseDefaultIPv6Route); 959 960 /* Rewrite redirect options: */ 961 QVector<QString> oldRedirects = network.GetPortForwardRules4(); 962 foreach (const QString &strRedirect, oldRedirects) 963 network.RemovePortForwardRule(false, strRedirect.section(':', 0, 0)); 964 foreach (const UIPortForwardingData &newRedirect, data.m_redirects) 965 network.AddPortForwardRule(false, 966 newRedirect.name, newRedirect.protocol, 967 newRedirect.hostIp, newRedirect.hostPort.value(), 968 newRedirect.guestIp, newRedirect.guestPort.value()); 942 969 } 943 970 -
trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetwork.h
r48497 r48524 23 23 #include "UISettingsPage.h" 24 24 #include "UIGlobalSettingsNetwork.gen.h" 25 #include "UIMachineSettingsPortForwardingDlg.h" 25 26 26 27 /* Forward declarations: */ … … 40 41 bool m_fSupportsIPv6; 41 42 bool m_fAdvertiseDefaultIPv6Route; 43 UIPortForwardingDataList m_redirects; 42 44 bool operator==(const UIDataNetworkNAT &other) const 43 45 { … … 48 50 m_fSupportsDHCP == other.m_fSupportsDHCP && 49 51 m_fSupportsIPv6 == other.m_fSupportsIPv6 && 50 m_fAdvertiseDefaultIPv6Route == other.m_fAdvertiseDefaultIPv6Route; 52 m_fAdvertiseDefaultIPv6Route == other.m_fAdvertiseDefaultIPv6Route && 53 m_redirects == other.m_redirects; 51 54 } 52 55 }; -
trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetworkDetailsNAT.cpp
r48458 r48524 69 69 } 70 70 71 void UIGlobalSettingsNetworkDetailsNAT::sltEditPortForwarding() 72 { 73 /* Open dialog to edit port-forwarding rules: */ 74 UIMachineSettingsPortForwardingDlg dlg(this, m_data.m_redirects); 75 if (dlg.exec() == QDialog::Accepted) 76 m_data.m_redirects = dlg.rules(); 77 } 78 71 79 void UIGlobalSettingsNetworkDetailsNAT::accept() 72 80 { -
trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetworkDetailsNAT.h
r48458 r48524 48 48 private slots: 49 49 50 /* Handler: Port-forwarding stuff: */ 51 void sltEditPortForwarding(); 52 50 53 /* Handler: Dialog stuff: */ 51 54 void accept(); -
trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetworkDetailsNAT.ui
r48458 r48524 22 22 <widget class="QCheckBox" name="m_pCheckboxNetwork"> 23 23 <property name="text"> 24 <string> Network &Enabled</string>24 <string>&Enable Network</string> 25 25 </property> 26 26 <property name="toolTip"> … … 32 32 <widget class="QWidget" name="m_pContainerOptions"> 33 33 <layout class="QGridLayout"> 34 <item row="0" column="0" rowspan="3">34 <item row="0" column="0"> 35 35 <spacer> 36 36 <property name="orientation"> … … 125 125 <property name="toolTip"> 126 126 <string>Determines whether default IPv6 route should be advertised for this network.</string> 127 </property> 128 </widget> 129 </item> 130 <item row="5" column="2"> 131 <widget class="QPushButton" name="m_pButtonPortForwarding"> 132 <property name="whatsThis"> 133 <string>Opens dialog to manage port forwarding rules.</string> 134 </property> 135 <property name="text"> 136 <string>&Port Forwarding</string> 127 137 </property> 128 138 </widget> … … 175 185 </connection> 176 186 <connection> 187 <sender>m_pButtonPortForwarding</sender> 188 <signal>clicked(bool)</signal> 189 <receiver>UIGlobalSettingsNetworkDetailsNAT</receiver> 190 <slot>sltEditPortForwarding()</slot> 191 </connection> 192 <connection> 177 193 <sender>m_pButtonBox</sender> 178 194 <signal>accepted()</signal>
Note:
See TracChangeset
for help on using the changeset viewer.