#pragma once #include #include class QCloseEvent; // Окно выбора десктопа при старте. Показывается, когда на сервере есть десктопы, // но локального выбора нет (см. NetworkService::desktopSelectionRequired). // Десктопы выводятся кнопками: название и под ним список устройств. class DesktopSelectionWindow final : public QWidget { Q_OBJECT public: explicit DesktopSelectionWindow(const QJsonArray &desktops, QWidget *parent = nullptr); signals: // Пустой desktopId — выбрана кнопка «Создать новый». void desktopChosen(const QString &desktopId); void cancelled(); protected: void closeEvent(QCloseEvent *event) override; private: bool m_chosen = false; };