#ifndef CREATESTREAMDIALOG_H
#define CREATESTREAMDIALOG_H

#include "../models.h"
#include <QDialog>

QT_BEGIN_NAMESPACE
class QLineEdit;
class QComboBox;
class QLabel;
class QListWidget;
QT_END_NAMESPACE

class CreateStreamDialog : public QDialog
{
  Q_OBJECT

public:
  explicit CreateStreamDialog(QWidget *parent = nullptr);

  /// Call before showing to populate the member checklist.
  void setNetworkMembers(const std::vector<Human> &members);

signals:
  void streamRequested(const QString &name, const QString &visibility, const QStringList &memberEmails);

private:
  QLineEdit *m_nameEdit;
  QComboBox *m_visibilityCombo;
  QLabel *m_membersLabel;
  QListWidget *m_membersList;
};

#endif // CREATESTREAMDIALOG_H
