Skip to content

Commit 8286ccc

Browse files
committed
port of PR 7453 for master
See musescore#7453
1 parent 789d52b commit 8286ccc

File tree

5 files changed

+25
-5
lines changed

5 files changed

+25
-5
lines changed

src/libmscore/pedal.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,9 @@ void Pedal::read(XmlReader& e)
110110
e.addSpanner(e.intAttribute("id", -1), this);
111111
}
112112
while (e.readNextStartElement()) {
113-
if (!TextLineBase::readProperties(e)) {
113+
const QStringRef& tag(e.name());
114+
if (readStyledProperty(e, tag)) {
115+
} else if (!TextLineBase::readProperties(e)) {
114116
e.unknown();
115117
}
116118
}

src/libmscore/rest.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -886,6 +886,7 @@ void Rest::write(XmlWriter& xml) const
886886
}
887887
writeBeam(xml);
888888
xml.stag(this);
889+
writeStyledProperties(xml);
889890
ChordRest::writeProperties(xml);
890891
el().write(xml);
891892
bool write_dots = false;
@@ -929,6 +930,7 @@ void Rest::read(XmlReader& e)
929930
NoteDot* dot = new NoteDot(score());
930931
dot->read(e);
931932
add(dot);
933+
} else if (readStyledProperty(e, tag)) {
932934
} else if (ChordRest::readProperties(e)) {
933935
} else {
934936
e.unknown();

src/libmscore/score.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,8 @@ Score::~Score()
395395

396396
Score* Score::clone()
397397
{
398+
// TODO: see comments reagrding setting version in corresponding code in 3.x branch
399+
// and also compare to MasterScore::clone()
398400
Excerpt* excerpt = new Excerpt(masterScore());
399401
excerpt->setTitle(title());
400402

src/libmscore/tuplet.cpp

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,12 @@ void Tuplet::layout()
194194
_number->setVisible(visible());
195195
resetNumberProperty();
196196
}
197+
// tuplet properties are propagated to number automatically by setProperty()
198+
// but we need to make sure flags are as well
199+
_number->setPropertyFlags(Pid::FONT_FACE, propertyFlags(Pid::FONT_FACE));
200+
_number->setPropertyFlags(Pid::FONT_SIZE, propertyFlags(Pid::FONT_SIZE));
201+
_number->setPropertyFlags(Pid::FONT_STYLE, propertyFlags(Pid::FONT_STYLE));
202+
_number->setPropertyFlags(Pid::ALIGN, propertyFlags(Pid::ALIGN));
197203
if (_numberType == TupletNumberType::SHOW_NUMBER) {
198204
_number->setXmlText(QString("%1").arg(_ratio.numerator()));
199205
} else {
@@ -797,7 +803,8 @@ void Tuplet::write(XmlWriter& xml) const
797803

798804
if (_number) {
799805
xml.stag("Number", _number);
800-
_number->writeProperties(xml);
806+
_number->writeProperty(xml, Pid::SUB_STYLE);
807+
_number->writeProperty(xml, Pid::TEXT);
801808
xml.etag();
802809
}
803810

@@ -834,19 +841,25 @@ bool Tuplet::readProperties(XmlReader& e)
834841
if (readStyledProperty(e, tag)) {
835842
} else if (tag == "bold") { //important that these properties are read after number is created
836843
bool val = e.readInt();
837-
_number->setBold(val);
844+
if (_number) {
845+
_number->setBold(val);
846+
}
838847
if (isStyled(Pid::FONT_STYLE)) {
839848
setPropertyFlags(Pid::FONT_STYLE, PropertyFlags::UNSTYLED);
840849
}
841850
} else if (tag == "italic") {
842851
bool val = e.readInt();
843-
_number->setItalic(val);
852+
if (_number) {
853+
_number->setItalic(val);
854+
}
844855
if (isStyled(Pid::FONT_STYLE)) {
845856
setPropertyFlags(Pid::FONT_STYLE, PropertyFlags::UNSTYLED);
846857
}
847858
} else if (tag == "underline") {
848859
bool val = e.readInt();
849-
_number->setUnderline(val);
860+
if (_number) {
861+
_number->setUnderline(val);
862+
}
850863
if (isStyled(Pid::FONT_STYLE)) {
851864
setPropertyFlags(Pid::FONT_STYLE, PropertyFlags::UNSTYLED);
852865
}

src/libmscore/volta.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ void Volta::read(XmlReader& e)
149149
int i = l.simplified().toInt();
150150
_endings.append(i);
151151
}
152+
} else if (readStyledProperty(e, tag)) {
152153
} else if (!readProperties(e)) {
153154
e.unknown();
154155
}

0 commit comments

Comments
 (0)