| 469 | } |
| 470 | |
| 471 | void DialogAgent::changeConfig(const QString &agentName) |
| 472 | { |
| 473 | if (ax_uis.contains(agentName)) { |
| 474 | auto ax_ui = &ax_uis[agentName]; |
| 475 | if (ax_ui) { |
| 476 | configStackWidget->setCurrentWidget(ax_ui->widget); |
| 477 | this->resize(ax_ui->width, ax_ui->height); |
| 478 | } |
| 479 | } |
| 480 | |
| 481 | AgentTypeInfo typeInfo = agentTypes.value(agentName, AgentTypeInfo{false, QStringList()}); |
| 482 | bool isMultiListeners = typeInfo.multiListeners; |
| 483 | listenerSelectionWidget->setVisible(isMultiListeners); |
| 484 | listenerInput->setVisible(!isMultiListeners); |
| 485 | listenerLabel->setText(isMultiListeners ? "Listeners:" : "Listener:"); |
| 486 | |
| 487 | if (isMultiListeners) { |
| 488 | QStringList supportedTypes = typeInfo.listenerTypes; |
| 489 | |
| 490 | listenerListWidget->blockSignals(true); |
| 491 | listenerListWidget->clear(); |
| 492 | |
| 493 | for (const auto &listener : availableListeners) { |
| 494 | if (!supportedTypes.contains(listener.ListenerRegName)) |
| 495 | continue; |
| 496 | |
| 497 | auto *item = new QListWidgetItem(listener.Name); |
| 498 | item->setFlags(item->flags() | Qt::ItemIsUserCheckable); |
| 499 | item->setCheckState(listener.Name == listenerName ? Qt::Checked : Qt::Unchecked); |
| 500 | item->setData(Qt::UserRole, listener.Name); |
| 501 | listenerListWidget->addItem(item); |
| 502 | } |
| 503 | |
| 504 | listenerListWidget->blockSignals(false); |
| 505 | } |
| 506 | |
| 507 | QString baseName = agentName; |
| 508 | if (!profileNameManuallyEdited) |
| 509 | inputProfileName->setText(generateUniqueProfileName(baseName)); |
| 510 | } |
| 511 | |
| 512 | void DialogAgent::loadProfiles() |
| 513 | { |
no test coverage detected