1
0
forked from BRT/arc
arc/views/widget/loader/DesktopSelectionWindow.h

28 lines
891 B
C++

#pragma once
#include <QWidget>
#include <QJsonArray>
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;
};