| 208 | } |
| 209 | |
| 210 | void DEV9SettingsWidget::onEthDeviceTypeChanged(int index) |
| 211 | { |
| 212 | { |
| 213 | QSignalBlocker sb(m_ui.ethDev); |
| 214 | m_ui.ethDev->clear(); |
| 215 | } |
| 216 | |
| 217 | Pcsx2Config::DEV9Options::NetApi selectedApi{Pcsx2Config::DEV9Options::NetApi ::Unset}; |
| 218 | |
| 219 | if (index > 0) |
| 220 | { |
| 221 | std::vector<AdapterEntry> list = m_adapter_list[static_cast<u32>(m_api_list[index])]; |
| 222 | |
| 223 | const std::string value = dialog()->getEffectiveStringValue("DEV9/Eth", "EthDevice", ""); |
| 224 | for (size_t i = 0; i < list.size(); i++) |
| 225 | { |
| 226 | m_ui.ethDev->addItem(QString::fromUtf8(list[i].name)); |
| 227 | if (list[i].guid == value) |
| 228 | m_ui.ethDev->setCurrentIndex(i); |
| 229 | } |
| 230 | |
| 231 | selectedApi = m_api_list[index]; |
| 232 | } |
| 233 | |
| 234 | if (dialog()->isPerGameSettings()) |
| 235 | { |
| 236 | if (index == 0) |
| 237 | { |
| 238 | std::vector<AdapterEntry> list = m_adapter_list[static_cast<u32>(m_api_list[index])]; |
| 239 | m_ui.ethDev->addItem(tr("Use Global Setting [%1]").arg(QString::fromUtf8(list[0].name))); |
| 240 | m_ui.ethDev->setCurrentIndex(0); |
| 241 | m_ui.ethDev->setEnabled(false); |
| 242 | |
| 243 | selectedApi = m_global_api; |
| 244 | } |
| 245 | else |
| 246 | m_ui.ethDev->setEnabled(true); |
| 247 | } |
| 248 | |
| 249 | switch (selectedApi) |
| 250 | { |
| 251 | #ifdef _WIN32 |
| 252 | case Pcsx2Config::DEV9Options::NetApi::TAP: |
| 253 | m_adapter_options = TAPAdapter::GetAdapterOptions(); |
| 254 | break; |
| 255 | #endif |
| 256 | case Pcsx2Config::DEV9Options::NetApi::PCAP_Bridged: |
| 257 | case Pcsx2Config::DEV9Options::NetApi::PCAP_Switched: |
| 258 | m_adapter_options = PCAPAdapter::GetAdapterOptions(); |
| 259 | break; |
| 260 | case Pcsx2Config::DEV9Options::NetApi::Sockets: |
| 261 | m_adapter_options = SocketAdapter::GetAdapterOptions(); |
| 262 | break; |
| 263 | default: |
| 264 | m_adapter_options = AdapterOptions::None; |
| 265 | break; |
| 266 | } |
| 267 |
nothing calls this directly
no test coverage detected