1
0
Fork 0

universe windows are non modal, but don't exist longer than the multiverse window

This commit is contained in:
Kevin Matz 2022-12-06 00:12:18 -05:00
parent 6cf9d98e8f
commit 837bf1ad98
2 changed files with 13 additions and 1 deletions

View File

@ -153,10 +153,19 @@ MultiverseWindow::MultiverseWindow(QWidget *parent, QSacnNode *node)
*/
MultiverseWindow::~MultiverseWindow()
{
qDeleteAll(mInspectors);
delete ui;
}
void MultiverseWindow::closeEvent(QCloseEvent *)
{
// close all universe windows
foreach (const auto & inspector, mInspectors)
inspector->close();
}
/**
* @brief MultiverseWindow::selectionChanged
* @param selected
@ -237,7 +246,7 @@ void MultiverseWindow::openUniverseEditor(const QModelIndex &index)
foreach (const auto & inspector, mInspectors)
if (inspector->universe() == univ)
return inspector->show();
auto view = new UniverseWindow(this, univ);
auto view = new UniverseWindow(nullptr, univ);
mInspectors.insert(view);
connect(view, &QObject::destroyed, this, [this, view](){mInspectors.remove(view);});
connect(univ, &QObject::destroyed, view, &QMainWindow::close);

View File

@ -50,6 +50,9 @@ public:
QSacnNode* node = nullptr);
virtual ~MultiverseWindow();
protected:
void closeEvent(QCloseEvent *event) override;
private slots:
void selectionChanged(const QModelIndex &current, const QModelIndex &previous);
void openContextMenu(const QPoint &pos);