universe windows are non modal, but don't exist longer than the multiverse window
This commit is contained in:
parent
6cf9d98e8f
commit
837bf1ad98
|
@ -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);
|
||||
|
|
|
@ -50,6 +50,9 @@ public:
|
|||
QSacnNode* node = nullptr);
|
||||
virtual ~MultiverseWindow();
|
||||
|
||||
protected:
|
||||
void closeEvent(QCloseEvent *event) override;
|
||||
|
||||
private slots:
|
||||
void selectionChanged(const QModelIndex ¤t, const QModelIndex &previous);
|
||||
void openContextMenu(const QPoint &pos);
|
||||
|
|
Loading…
Reference in New Issue