open dialogues and menus asynchronously
This commit is contained in:
parent
302cf63ca6
commit
4e536a6f1e
|
@ -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 ¤t,
|
|||
*/
|
||||
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();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue