Fix stuff
This commit is contained in:
parent
2ac234ecca
commit
0a9cd54f1a
2 changed files with 21 additions and 9 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -96,6 +96,7 @@ private:
|
|||
void rebuildMixerStrips();
|
||||
void updateMeters();
|
||||
void rebuildNodeMeters();
|
||||
void scheduleSidebarRebuild();
|
||||
void rebuildRulesList();
|
||||
void showAddRuleDialog(const std::string &prefillApp = {},
|
||||
const std::string &prefillBin = {},
|
||||
|
|
@ -135,6 +136,7 @@ private:
|
|||
QWidget *m_mixerContainer = nullptr;
|
||||
QScrollArea *m_mixerScroll = nullptr;
|
||||
std::unordered_map<QtNodes::NodeId, QWidget *> m_mixerStrips;
|
||||
bool m_sidebarRebuildPending = false;
|
||||
|
||||
QTimer *m_meterTimer = nullptr;
|
||||
AudioLevelMeter *m_masterMeterL = nullptr;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue