diff --git a/libmscore/undo.cpp b/libmscore/undo.cpp index fc2e99fb45225..aa3be8ec08d60 100644 --- a/libmscore/undo.cpp +++ b/libmscore/undo.cpp @@ -1686,6 +1686,9 @@ void ChangeStyleVal::flip(EditData*) score->style().chordList()->read(score->styleSt(Sid::chordDescriptionFile)); } break; + case Sid::spatium: + score->spatiumChanged(v.toDouble(), value.toDouble()); + break; default: break; } diff --git a/mscore/pagesettings.cpp b/mscore/pagesettings.cpp index 492b7549b68bb..cd7543d279142 100644 --- a/mscore/pagesettings.cpp +++ b/mscore/pagesettings.cpp @@ -311,13 +311,7 @@ void PageSettings::applyToScore(Score* s) s->undoChangeStyleVal(Sid::pageOddBottomMargin, oddPageBottomMargin->value() * f); s->undoChangeStyleVal(Sid::pageOddLeftMargin, oddPageLeftMargin->value() * f); s->undoChangeStyleVal(Sid::pageTwosided, twosided->isChecked()); - - qreal oldSpatium = s->spatium(); - qreal newSpatium = spatiumEntry->value() * f1; - s->undoChangeStyleVal(Sid::spatium, newSpatium); - if (oldSpatium != newSpatium) - s->spatiumChanged(oldSpatium, newSpatium); - + s->undoChangeStyleVal(Sid::spatium, spatiumEntry->value() * f1); s->undoChangePageNumberOffset(pageOffsetEntry->value() - 1); } diff --git a/mscore/plugin/api/style.cpp b/mscore/plugin/api/style.cpp index 5f2cb9b8473c9..6aea86dd7f055 100644 --- a/mscore/plugin/api/style.cpp +++ b/mscore/plugin/api/style.cpp @@ -93,22 +93,7 @@ void MStyle::setValue(const QString& key, QVariant value) { value = QVariant::fromValue(Ms::Spatium(value.toReal())); if (_score) { - // Style belongs to actual score: change style value in undoable way - switch (sid) { - case Sid::spatium: { - const qreal oldSpatium = _score->spatium(); - const qreal newSpatium = value.toReal(); - - if (newSpatium > 0.0 && oldSpatium != newSpatium) { - _score->undoChangeStyleVal(Sid::spatium, newSpatium); - _score->spatiumChanged(oldSpatium, newSpatium); - } - } - break; - default: - _score->undoChangeStyleVal(sid, value); - break; - } + _score->undoChangeStyleVal(sid, value); } else { // Style is not bound to a score: change the value directly