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,
|
connect(m_model, &QtNodes::AbstractGraphModel::nodeCreated, this,
|
||||||
[this](QtNodes::NodeId nodeId) {
|
[this](QtNodes::NodeId nodeId) {
|
||||||
wireVolumeWidget(nodeId);
|
wireVolumeWidget(nodeId);
|
||||||
rebuildMixerStrips();
|
this->scheduleSidebarRebuild();
|
||||||
rebuildNodeMeters();
|
|
||||||
rebuildRulesList();
|
|
||||||
});
|
});
|
||||||
connect(m_model, &QtNodes::AbstractGraphModel::nodeDeleted, this,
|
connect(m_model, &QtNodes::AbstractGraphModel::nodeDeleted, this,
|
||||||
[this](QtNodes::NodeId nodeId) {
|
[this](QtNodes::NodeId nodeId) {
|
||||||
m_mixerStrips.erase(nodeId);
|
m_mixerStrips.erase(nodeId);
|
||||||
m_nodeMeters.erase(nodeId);
|
m_nodeMeters.erase(nodeId);
|
||||||
rebuildMixerStrips();
|
|
||||||
rebuildNodeMeters();
|
|
||||||
rebuildRulesList();
|
|
||||||
if (nodeId == m_selectedNodeId) {
|
if (nodeId == m_selectedNodeId) {
|
||||||
m_selectedNodeId = 0;
|
m_selectedNodeId = 0;
|
||||||
clearNodeDetailsPanel();
|
clearNodeDetailsPanel();
|
||||||
}
|
}
|
||||||
|
this->scheduleSidebarRebuild();
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(m_scene, &QGraphicsScene::selectionChanged, this,
|
connect(m_scene, &QGraphicsScene::selectionChanged, this,
|
||||||
|
|
@ -1547,7 +1543,7 @@ void GraphEditorWidget::rebuildMixerStrips() {
|
||||||
while (layout->count() > 0) {
|
while (layout->count() > 0) {
|
||||||
auto *item = layout->takeAt(0);
|
auto *item = layout->takeAt(0);
|
||||||
if (item->widget())
|
if (item->widget())
|
||||||
item->widget()->deleteLater();
|
delete item->widget();
|
||||||
delete item;
|
delete item;
|
||||||
}
|
}
|
||||||
m_mixerStrips.clear();
|
m_mixerStrips.clear();
|
||||||
|
|
@ -1725,7 +1721,7 @@ void GraphEditorWidget::rebuildNodeMeters() {
|
||||||
while (layout->count() > 0) {
|
while (layout->count() > 0) {
|
||||||
auto *item = layout->takeAt(0);
|
auto *item = layout->takeAt(0);
|
||||||
if (item->widget())
|
if (item->widget())
|
||||||
item->widget()->deleteLater();
|
delete item->widget();
|
||||||
delete item;
|
delete item;
|
||||||
}
|
}
|
||||||
m_nodeMeters.clear();
|
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() {
|
void GraphEditorWidget::rebuildRulesList() {
|
||||||
if (!m_rulesContainer || !m_client)
|
if (!m_rulesContainer || !m_client)
|
||||||
return;
|
return;
|
||||||
|
|
@ -1806,7 +1816,7 @@ void GraphEditorWidget::rebuildRulesList() {
|
||||||
while (layout->count() > 0) {
|
while (layout->count() > 0) {
|
||||||
auto *item = layout->takeAt(0);
|
auto *item = layout->takeAt(0);
|
||||||
if (item->widget())
|
if (item->widget())
|
||||||
item->widget()->deleteLater();
|
delete item->widget();
|
||||||
delete item;
|
delete item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,7 @@ private:
|
||||||
void rebuildMixerStrips();
|
void rebuildMixerStrips();
|
||||||
void updateMeters();
|
void updateMeters();
|
||||||
void rebuildNodeMeters();
|
void rebuildNodeMeters();
|
||||||
|
void scheduleSidebarRebuild();
|
||||||
void rebuildRulesList();
|
void rebuildRulesList();
|
||||||
void showAddRuleDialog(const std::string &prefillApp = {},
|
void showAddRuleDialog(const std::string &prefillApp = {},
|
||||||
const std::string &prefillBin = {},
|
const std::string &prefillBin = {},
|
||||||
|
|
@ -135,6 +136,7 @@ private:
|
||||||
QWidget *m_mixerContainer = nullptr;
|
QWidget *m_mixerContainer = nullptr;
|
||||||
QScrollArea *m_mixerScroll = nullptr;
|
QScrollArea *m_mixerScroll = nullptr;
|
||||||
std::unordered_map<QtNodes::NodeId, QWidget *> m_mixerStrips;
|
std::unordered_map<QtNodes::NodeId, QWidget *> m_mixerStrips;
|
||||||
|
bool m_sidebarRebuildPending = false;
|
||||||
|
|
||||||
QTimer *m_meterTimer = nullptr;
|
QTimer *m_meterTimer = nullptr;
|
||||||
AudioLevelMeter *m_masterMeterL = nullptr;
|
AudioLevelMeter *m_masterMeterL = nullptr;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue