Fix stuff

This commit is contained in:
Joey Yakimowich-Payne 2026-02-12 17:47:51 -07:00
commit 0a9cd54f1a
2 changed files with 21 additions and 9 deletions

View file

@ -569,21 +569,17 @@ GraphEditorWidget::GraphEditorWidget(warppipe::Client *client,
connect(m_model, &QtNodes::AbstractGraphModel::nodeCreated, this,
[this](QtNodes::NodeId nodeId) {
wireVolumeWidget(nodeId);
rebuildMixerStrips();
rebuildNodeMeters();
rebuildRulesList();
this->scheduleSidebarRebuild();
});
connect(m_model, &QtNodes::AbstractGraphModel::nodeDeleted, this,
[this](QtNodes::NodeId nodeId) {
m_mixerStrips.erase(nodeId);
m_nodeMeters.erase(nodeId);
rebuildMixerStrips();
rebuildNodeMeters();
rebuildRulesList();
if (nodeId == m_selectedNodeId) {
m_selectedNodeId = 0;
clearNodeDetailsPanel();
}
this->scheduleSidebarRebuild();
});
connect(m_scene, &QGraphicsScene::selectionChanged, this,
@ -1547,7 +1543,7 @@ void GraphEditorWidget::rebuildMixerStrips() {
while (layout->count() > 0) {
auto *item = layout->takeAt(0);
if (item->widget())
item->widget()->deleteLater();
delete item->widget();
delete item;
}
m_mixerStrips.clear();
@ -1725,7 +1721,7 @@ void GraphEditorWidget::rebuildNodeMeters() {
while (layout->count() > 0) {
auto *item = layout->takeAt(0);
if (item->widget())
item->widget()->deleteLater();
delete item->widget();
delete item;
}
m_nodeMeters.clear();
@ -1795,6 +1791,20 @@ void GraphEditorWidget::rebuildNodeMeters() {
}
}
void GraphEditorWidget::scheduleSidebarRebuild() {
if (m_sidebarRebuildPending) {
return;
}
m_sidebarRebuildPending = true;
QTimer::singleShot(0, this, [this]() {
m_sidebarRebuildPending = false;
rebuildMixerStrips();
rebuildNodeMeters();
rebuildRulesList();
});
}
void GraphEditorWidget::rebuildRulesList() {
if (!m_rulesContainer || !m_client)
return;
@ -1806,7 +1816,7 @@ void GraphEditorWidget::rebuildRulesList() {
while (layout->count() > 0) {
auto *item = layout->takeAt(0);
if (item->widget())
item->widget()->deleteLater();
delete item->widget();
delete item;
}