AsyncInvoke operations related to embedded dependencies

This commit is contained in:
Jake Turner
2026-01-29 10:28:43 +13:00
parent 3da3c24f34
commit a72067cca5
2 changed files with 41 additions and 10 deletions
+9 -8
View File
@@ -3066,17 +3066,18 @@ void MainWindow::loadLayout_triggered()
void MainWindow::updateToolsMenuOptions()
{
bool hasEmbeddedDependencies = false;
bool hasPendingDependencies = false;
if(m_Ctx.Replay().GetCaptureAccess())
{
hasEmbeddedDependencies = m_Ctx.Replay().GetCaptureAccess()->HasEmbeddedDependencies();
hasPendingDependencies = m_Ctx.Replay().GetCaptureAccess()->HasPendingDependencies();
}
m_Ctx.Replay().AsyncInvoke([this](IReplayController *) {
bool hasEmbeddedDependencies = m_Ctx.Replay().GetCaptureAccess()->HasEmbeddedDependencies();
bool hasPendingDependencies = m_Ctx.Replay().GetCaptureAccess()->HasPendingDependencies();
ui->action_EmbedExternalFiles->setEnabled(!hasEmbeddedDependencies && hasPendingDependencies);
ui->action_RemoveExternalFiles->setEnabled(hasEmbeddedDependencies);
GUIInvoke::call(this, [this, hasEmbeddedDependencies, hasPendingDependencies]() {
ui->action_EmbedExternalFiles->setEnabled(!hasEmbeddedDependencies && hasPendingDependencies);
ui->action_RemoveExternalFiles->setEnabled(hasEmbeddedDependencies);
});
});
}
}
void MainWindow::closeEvent(QCloseEvent *event)