1
0
Fork 0

open dialogues and menus asynchronously

This commit is contained in:
Kevin Matz 2022-12-04 11:30:49 -05:00
parent 302cf63ca6
commit 4e536a6f1e
1 changed files with 21 additions and 21 deletions

View File

@ -69,7 +69,8 @@ MultiverseWindow::MultiverseWindow(QWidget *parent, QSacnNode *node)
auto dialog = new AddUniverseDialog(this, 1, tr("Create Universe"));
connect(dialog, &AddUniverseDialog::additionRequested,
node, &QSacnNode::create);
dialog->exec();
dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->open();
});
connect(ui->actionTerminate, &QAction::triggered,
@ -98,7 +99,8 @@ MultiverseWindow::MultiverseWindow(QWidget *parent, QSacnNode *node)
tr("Subscribe to Universe"));
connect(dialog, &AddUniverseDialog::additionRequested,
node, &QSacnNode::subscribe);
dialog->exec();
dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->open();
});
connect(ui->actionUnsubscribe, &QAction::triggered,
@ -115,10 +117,7 @@ MultiverseWindow::MultiverseWindow(QWidget *parent, QSacnNode *node)
connect(ui->actionDiscovery, &QAction::toggled,
node, [&, node](bool checked) {
if (checked)
node->discoveryStart();
else
node->discoveryStop();
checked ? node->discoveryStart() : node->discoveryStop();
});
}
@ -168,7 +167,8 @@ void MultiverseWindow::selectionChanged(const QModelIndex &current,
*/
void MultiverseWindow::createContextMenu(const QPoint &pos)
{
QMenu menu(ui->multiverseView);
auto menu = new QMenu(ui->multiverseView);
menu->setAttribute(Qt::WA_DeleteOnClose, true);
auto globalpos = ui->multiverseView->mapToGlobal(pos);
auto index = ui->multiverseView->indexAt(pos);
@ -177,14 +177,14 @@ void MultiverseWindow::createContextMenu(const QPoint &pos)
// Data universes:
if (data.metaType().id() == qMetaTypeId<QSacnUniverse*>())
{
menu.addAction(ui->actionInspect);
menu.addSeparator();
menu->addAction(ui->actionInspect);
menu->addSeparator();
auto univ = data.value<QSacnUniverse*>();
if (univ->isEditable())
menu.addAction(ui->actionTerminate);
menu->addAction(ui->actionTerminate);
else
menu.addAction(ui->actionUnsubscribe);
menu.exec(globalpos);
menu->addAction(ui->actionUnsubscribe);
menu->popup(globalpos);
return;
}
@ -192,8 +192,8 @@ void MultiverseWindow::createContextMenu(const QPoint &pos)
if (data.metaType().id() ==
qMetaTypeId<sACN::EXTENDED::DISCOVERY::discoveredUniverse*>())
{
menu.addAction(ui->actionSubscribe);
menu.exec(globalpos);
menu->addAction(ui->actionSubscribe);
menu->popup(globalpos);
return;
}
}
@ -228,11 +228,12 @@ void MultiverseWindow::createEditor(const QModelIndex &index)
qMetaTypeId<sACN::EXTENDED::DISCOVERY::discoveredUniverse*>())
{
auto disc = data.value<sACN::EXTENDED::DISCOVERY::discoveredUniverse*>();
auto subscribe = new AddUniverseDialog(this, disc->universe,
auto dialog = new AddUniverseDialog(this, disc->universe,
tr("Subscribe to Universe"));
connect(subscribe, &AddUniverseDialog::additionRequested,
connect(dialog, &AddUniverseDialog::additionRequested,
node, &QSacnNode::subscribe);
subscribe->exec();
dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->open();
return;
}
}
@ -245,10 +246,9 @@ void MultiverseWindow::showUacnEditor()
{
auto editor = new LineEditDialog(this, "Name", 63,
node->userName().c_str(), node->fixedName().c_str());
editor->setWindowTitle("User Assigned Component Name");
connect(editor, &LineEditDialog::submit,
this, [&](QString name) {node->assignUserName(name.toStdString());});
editor->exec();
editor->setWindowTitle("User Assigned Component Name");
editor->setAttribute(Qt::WA_DeleteOnClose);
editor->open();
}