- for (const string &name : card_names) {
- card_combo->addItem(QString::fromStdString(name + " "));
- }
- switch (bus.device.type) {
- case InputSourceType::SILENCE:
- card_combo->setCurrentIndex(0);
- break;
- case InputSourceType::CAPTURE_CARD:
- card_combo->setCurrentIndex(mapping.buses[row].device.index + 1);
- break;
- default:
- assert(false);
+ for (const auto &spec_and_name : card_names) {
+ ++current_index;
+ card_combo->addItem(
+ QString::fromStdString(spec_and_name.second + " "),
+ qulonglong(DeviceSpec_to_key(spec_and_name.first)));
+ if (bus.device == spec_and_name.first) {
+ card_combo->setCurrentIndex(current_index);
+ }