* @brief Wires external signals for auto-close on disconnect. */
| 658 | * @brief Wires external signals for auto-close on disconnect. |
| 659 | */ |
| 660 | void Sessions::Export::setupExternalConnections() |
| 661 | { |
| 662 | connect(&AppState::instance(), &AppState::operationModeChanged, this, [this] { |
| 663 | const auto mode = AppState::instance().operationMode(); |
| 664 | m_operationMode.store(static_cast<int>(mode), std::memory_order_relaxed); |
| 665 | |
| 666 | if (isOpen()) |
| 667 | closeFile(); |
| 668 | |
| 669 | if (mode == SerialStudio::ConsoleOnly && exportEnabled()) |
| 670 | setExportEnabled(false); |
| 671 | }); |
| 672 | |
| 673 | connect( |
| 674 | &IO::ConnectionManager::instance(), &IO::ConnectionManager::connectedChanged, this, [this] { |
| 675 | if (!IO::ConnectionManager::instance().isConnected()) |
| 676 | closeFile(); |
| 677 | }); |
| 678 | |
| 679 | connect(&CSV::Player::instance(), &CSV::Player::openChanged, this, [this] { |
| 680 | if (CSV::Player::instance().isOpen()) |
| 681 | closeFile(); |
| 682 | }); |
| 683 | |
| 684 | connect(&MDF4::Player::instance(), &MDF4::Player::openChanged, this, [this] { |
| 685 | if (MDF4::Player::instance().isOpen()) |
| 686 | closeFile(); |
| 687 | }); |
| 688 | |
| 689 | auto& pm = DataModel::ProjectModel::instance(); |
| 690 | connect(&pm, |
| 691 | &DataModel::ProjectModel::jsonFileChanged, |
| 692 | this, |
| 693 | &Sessions::Export::refreshProjectSnapshot); |
| 694 | connect( |
| 695 | &pm, &DataModel::ProjectModel::groupsChanged, this, &Sessions::Export::refreshProjectSnapshot); |
| 696 | connect( |
| 697 | &pm, &DataModel::ProjectModel::actionsChanged, this, &Sessions::Export::refreshProjectSnapshot); |
| 698 | connect( |
| 699 | &pm, &DataModel::ProjectModel::sourcesChanged, this, &Sessions::Export::refreshProjectSnapshot); |
| 700 | connect( |
| 701 | &pm, &DataModel::ProjectModel::tablesChanged, this, &Sessions::Export::refreshProjectSnapshot); |
| 702 | connect(&pm, |
| 703 | &DataModel::ProjectModel::editorWorkspacesChanged, |
| 704 | this, |
| 705 | &Sessions::Export::refreshProjectSnapshot); |
| 706 | |
| 707 | connect(&pm, |
| 708 | &DataModel::ProjectModel::sourceFrameParserCodeChanged, |
| 709 | this, |
| 710 | &Sessions::Export::refreshProjectSnapshot); |
| 711 | connect(&pm, |
| 712 | &DataModel::ProjectModel::sourceFrameParserLanguageChanged, |
| 713 | this, |
| 714 | &Sessions::Export::refreshProjectSnapshot); |
| 715 | connect(&pm, |
| 716 | &DataModel::ProjectModel::sourceFrameParserTemplateChanged, |
| 717 | this, |
nothing calls this directly
no test coverage detected