Undo for all

This commit is contained in:
Joey Yakimowich-Payne 2026-01-28 09:03:35 -07:00
commit f2d0494af2
3 changed files with 8 additions and 4 deletions

View file

@ -162,7 +162,9 @@ QWidget *PipeWireGraphModel::nodeWidget(QtNodes::NodeId nodeId) const
m_controller->setNodeVolume(pipewireId, volume, next.mute);
auto *self = const_cast<PipeWireGraphModel*>(this);
self->setNodeVolumeState(pipewireId, next, false);
if (!slider->isSliderDown() && !m_inlineStartState.contains(pipewireId)) {
if (!slider->isSliderDown()
&& !m_inlineStartState.contains(pipewireId)
&& !slider->property("pressValue").isValid()) {
self->emitNodeVolumeChanged(pipewireId, previous, next);
}
};
@ -186,6 +188,7 @@ QWidget *PipeWireGraphModel::nodeWidget(QtNodes::NodeId nodeId) const
}
const NodeVolumeState previous = m_inlineStartState.value(pipewireId, m_nodeVolumeState.value(pipewireId));
m_inlineStartState.remove(pipewireId);
slider->setProperty("pressValue", QVariant());
const float volume = static_cast<float>(slider->value()) / 100.0f;
const NodeVolumeState next{volume, muteButton->isChecked()};
auto *self = const_cast<PipeWireGraphModel*>(this);