| 140 | } |
| 141 | |
| 142 | MacroConditionUSBEdit::MacroConditionUSBEdit( |
| 143 | QWidget *parent, std::shared_ptr<MacroConditionUSB> entryData) |
| 144 | : QWidget(parent), |
| 145 | _vendorID(new QComboBox()), |
| 146 | _productID(new QComboBox()), |
| 147 | _busNumber(new QComboBox()), |
| 148 | _deviceAddress(new QComboBox()), |
| 149 | _vendorName(new QComboBox()), |
| 150 | _productName(new QComboBox()), |
| 151 | _serialNumber(new QComboBox()), |
| 152 | _vendorIDRegex(new RegexConfigWidget()), |
| 153 | _productIDRegex(new RegexConfigWidget()), |
| 154 | _busNumberRegex(new RegexConfigWidget()), |
| 155 | _deviceAddressRegex(new RegexConfigWidget()), |
| 156 | _vendorNameRegex(new RegexConfigWidget()), |
| 157 | _productNameRegex(new RegexConfigWidget()), |
| 158 | _serialNumberRegex(new RegexConfigWidget()) |
| 159 | { |
| 160 | QSet<QString> vendorIDs; |
| 161 | QSet<QString> productIDs; |
| 162 | QSet<QString> busNumbers; |
| 163 | QSet<QString> deviceAddresses; |
| 164 | QSet<QString> vendorNames; |
| 165 | QSet<QString> productNames; |
| 166 | QSet<QString> serialNumbers; |
| 167 | |
| 168 | const auto devs = GetUSBDevices(); |
| 169 | for (const auto &dev : devs) { |
| 170 | vendorIDs.insert(QString::fromStdString(dev.vendorID)); |
| 171 | productIDs.insert(QString::fromStdString(dev.productID)); |
| 172 | busNumbers.insert(QString::fromStdString(dev.busNumber)); |
| 173 | deviceAddresses.insert( |
| 174 | QString::fromStdString(dev.deviceAddress)); |
| 175 | vendorNames.insert(QString::fromStdString(dev.vendorName)); |
| 176 | productNames.insert(QString::fromStdString(dev.productName)); |
| 177 | serialNumbers.insert(QString::fromStdString(dev.serialNumber)); |
| 178 | } |
| 179 | |
| 180 | setupDevicePropertySelection(_vendorID, vendorIDs); |
| 181 | setupDevicePropertySelection(_productID, productIDs); |
| 182 | setupDevicePropertySelection(_busNumber, busNumbers); |
| 183 | setupDevicePropertySelection(_deviceAddress, deviceAddresses); |
| 184 | setupDevicePropertySelection(_vendorName, vendorNames); |
| 185 | setupDevicePropertySelection(_productName, productNames); |
| 186 | setupDevicePropertySelection(_serialNumber, serialNumbers); |
| 187 | |
| 188 | QWidget::connect(_vendorID, &QComboBox::currentTextChanged, this, |
| 189 | &MacroConditionUSBEdit::VendorIDChanged); |
| 190 | QWidget::connect(_productID, &QComboBox::currentTextChanged, this, |
| 191 | &MacroConditionUSBEdit::ProductIDChanged); |
| 192 | QWidget::connect(_busNumber, &QComboBox::currentTextChanged, this, |
| 193 | &MacroConditionUSBEdit::BusNumberChanged); |
| 194 | QWidget::connect(_deviceAddress, &QComboBox::currentTextChanged, this, |
| 195 | &MacroConditionUSBEdit::DeviceAddressChanged); |
| 196 | QWidget::connect(_vendorName, &QComboBox::currentTextChanged, this, |
| 197 | &MacroConditionUSBEdit::VendorNameChanged); |
| 198 | QWidget::connect(_productName, &QComboBox::currentTextChanged, this, |
| 199 | &MacroConditionUSBEdit::ProductNameChanged); |
nothing calls this directly
no test coverage detected