diff --git a/src/engraving/dom/property.cpp b/src/engraving/dom/property.cpp index ac77a92168be5..0a25edc7f4247 100644 --- a/src/engraving/dom/property.cpp +++ b/src/engraving/dom/property.cpp @@ -206,7 +206,7 @@ static constexpr PropertyMetaData propertyList[] = { { Pid::PLAY_UNTIL, true, "playUntil", P_TYPE::STRING, PropertyGroup::APPEARANCE, DUMMY_QT_TR_NOOP("propertyName", "play until") }, { Pid::CONTINUE_AT, true, "continueAt", P_TYPE::STRING, PropertyGroup::APPEARANCE, DUMMY_QT_TR_NOOP("propertyName", "continue at") }, { Pid::LABEL, true, "label", P_TYPE::STRING, PropertyGroup::APPEARANCE, DUMMY_QT_TR_NOOP("propertyName", "label") }, - { Pid::MARKER_TYPE, true, "markerType", P_TYPE::INT, PropertyGroup::APPEARANCE, DUMMY_QT_TR_NOOP("propertyName", "marker type") }, + { Pid::MARKER_TYPE, true, "markerType", P_TYPE::MARKER_TYPE, PropertyGroup::APPEARANCE, DUMMY_QT_TR_NOOP("propertyName", "marker type") }, { Pid::MARKER_SYMBOL_SIZE, true, "markerSymbolSize", P_TYPE::REAL, PropertyGroup::APPEARANCE, DUMMY_QT_TR_NOOP("propertyName", "marker symbol size") }, { Pid::MARKER_CENTER_ON_SYMBOL, true, "markerCenterOnSymbol", P_TYPE::BOOL, PropertyGroup::APPEARANCE, DUMMY_QT_TR_NOOP("propertyName", "marker center on symbol") }, { Pid::ARP_USER_LEN1, false, "arpUserLen1", P_TYPE::REAL, PropertyGroup::APPEARANCE, DUMMY_QT_TR_NOOP("propertyName", "length 1") }, diff --git a/src/engraving/rw/read410/tread.cpp b/src/engraving/rw/read410/tread.cpp index 9b4fe42e6cb84..21dea384a1bf6 100644 --- a/src/engraving/rw/read410/tread.cpp +++ b/src/engraving/rw/read410/tread.cpp @@ -446,6 +446,8 @@ PropertyValue TRead::readPropertyValue(Pid id, XmlReader& e, ReadContext& ctx) return PropertyValue(TConv::fromXml(e.readAsciiText(), AutoOnOff::AUTO)); case P_TYPE::PARTIAL_SPANNER_DIRECTION: return PropertyValue(TConv::fromXml(e.readAsciiText(), PartialSpannerDirection::OUTGOING)); + case P_TYPE::MARKER_TYPE: + return PropertyValue(TConv::fromXml(e.readAsciiText(), MarkerType::USER)); default: ASSERT_X("unhandled PID type"); break; diff --git a/src/engraving/rw/read460/tread.cpp b/src/engraving/rw/read460/tread.cpp index 3855252d98964..db7604623321c 100644 --- a/src/engraving/rw/read460/tread.cpp +++ b/src/engraving/rw/read460/tread.cpp @@ -460,6 +460,8 @@ PropertyValue TRead::readPropertyValue(Pid id, XmlReader& e, ReadContext& ctx) return PropertyValue(TConv::fromXml(e.readAsciiText(), ParenthesesMode::NONE)); case P_TYPE::AUTO_CUSTOM_HIDE: return PropertyValue(TConv::fromXml(e.readAsciiText(), AutoCustomHide::AUTO)); + case P_TYPE::MARKER_TYPE: + return PropertyValue(TConv::fromXml(e.readAsciiText(), MarkerType::USER)); default: ASSERT_X("unhandled PID type"); break; @@ -1697,21 +1699,18 @@ void TRead::read(Accidental* a, XmlReader& e, ReadContext& ctx) void TRead::read(Marker* m, XmlReader& e, ReadContext& ctx) { - MarkerType mt = MarkerType::SEGNO; - while (e.readNextStartElement()) { const AsciiStringView tag(e.name()); if (tag == "label") { AsciiStringView s(e.readAsciiText()); m->setLabel(String::fromAscii(s.ascii())); - mt = TConv::fromXml(s, MarkerType::USER); + } else if (readProperty(m, tag, e, ctx, Pid::MARKER_TYPE)) { } else if (readProperty(m, tag, e, ctx, Pid::MARKER_CENTER_ON_SYMBOL)) { } else if (readProperty(m, tag, e, ctx, Pid::MARKER_SYMBOL_SIZE)) { } else if (!readProperties(static_cast(m), e, ctx)) { e.unknown(); } } - m->setMarkerType(mt); } void TRead::read(Jump* j, XmlReader& e, ReadContext& ctx) diff --git a/src/engraving/rw/write/twrite.cpp b/src/engraving/rw/write/twrite.cpp index 789a0d98f5f9b..859e48c2cdc02 100644 --- a/src/engraving/rw/write/twrite.cpp +++ b/src/engraving/rw/write/twrite.cpp @@ -2292,6 +2292,7 @@ void TWrite::write(const Marker* item, XmlWriter& xml, WriteContext& ctx) xml.startElement(item); writeProperties(static_cast(item), xml, ctx, true); xml.tag("label", item->label()); + writeProperty(item, xml, Pid::MARKER_TYPE); writeProperty(item, xml, Pid::MARKER_CENTER_ON_SYMBOL); writeProperty(item, xml, Pid::MARKER_SYMBOL_SIZE); xml.endElement(); diff --git a/src/engraving/rw/xmlwriter.cpp b/src/engraving/rw/xmlwriter.cpp index a151f124f3bbc..55608be3b431f 100644 --- a/src/engraving/rw/xmlwriter.cpp +++ b/src/engraving/rw/xmlwriter.cpp @@ -316,6 +316,9 @@ void XmlWriter::tagProperty(const AsciiStringView& name, P_TYPE type, const Prop case P_TYPE::PARENTHESES_MODE: { element(name, TConv::toXml(data.value())); } break; + case P_TYPE::MARKER_TYPE: { + element(name, TConv::toXml(data.value())); + } break; default: { UNREACHABLE; //! TODO } diff --git a/src/engraving/tests/compat114_data/markers-ref.mscx b/src/engraving/tests/compat114_data/markers-ref.mscx index c3ebc29a738be..52c447014adf8 100644 --- a/src/engraving/tests/compat114_data/markers-ref.mscx +++ b/src/engraving/tests/compat114_data/markers-ref.mscx @@ -81,6 +81,7 @@ segno + segno @@ -112,6 +113,7 @@ coda + codab @@ -128,6 +130,7 @@ codaSquare + varcoda @@ -148,6 +151,7 @@ codacoda + codetta @@ -292,6 +296,7 @@ To Coda + coda diff --git a/src/engraving/tests/compat206_data/markers-ref.mscx b/src/engraving/tests/compat206_data/markers-ref.mscx index a675e8874538f..6b02443289253 100644 --- a/src/engraving/tests/compat206_data/markers-ref.mscx +++ b/src/engraving/tests/compat206_data/markers-ref.mscx @@ -79,6 +79,7 @@ segno + segno @@ -100,6 +101,7 @@ segnoSerpent1 + varsegno @@ -116,6 +118,7 @@ coda + codab @@ -136,6 +139,7 @@ codaSquare + varcoda @@ -168,6 +172,7 @@ To Coda + coda diff --git a/src/engraving/tests/partialtie_data/coda-ref.mscx b/src/engraving/tests/partialtie_data/coda-ref.mscx index d72e93be9d6dd..4084b3866ef4c 100644 --- a/src/engraving/tests/partialtie_data/coda-ref.mscx +++ b/src/engraving/tests/partialtie_data/coda-ref.mscx @@ -121,6 +121,7 @@ To Coda + coda J_J @@ -234,6 +235,7 @@ coda + codab diff --git a/src/engraving/tests/partialtie_data/volta_coda-ref.mscx b/src/engraving/tests/partialtie_data/volta_coda-ref.mscx index 1fa1efbb8f7a8..98eba99a9afca 100644 --- a/src/engraving/tests/partialtie_data/volta_coda-ref.mscx +++ b/src/engraving/tests/partialtie_data/volta_coda-ref.mscx @@ -102,6 +102,7 @@ To Coda + coda F_F @@ -304,6 +305,7 @@ coda + codab diff --git a/src/engraving/tests/utils/scorecomp.cpp b/src/engraving/tests/utils/scorecomp.cpp index 9d0a0ae404c63..49ed865a4b747 100644 --- a/src/engraving/tests/utils/scorecomp.cpp +++ b/src/engraving/tests/utils/scorecomp.cpp @@ -37,11 +37,6 @@ bool ScoreComp::saveCompareScore(Score* score, const String& saveName, const Str } bool val = compareFiles(ScoreRW::rootPath() + u"/" + compareWithLocalPath, saveName); - if (!val) { - copyFile(saveName, ScoreRW::rootPath() + u"/" + compareWithLocalPath); - return false; - } - return val; } @@ -54,33 +49,6 @@ bool ScoreComp::saveCompareMimeData(muse::ByteArray mimeData, const muse::String return compareFiles(ScoreRW::rootPath() + u"/" + compareWithLocalPath, saveName); } -bool ScoreComp::copyFile(const String& fullPath1, const String& fullPath2) -{ - QString cmd = "cp"; - QStringList args; - args.append(fullPath1); - args.append(fullPath2); - - QProcess p; - p.start(cmd, args); - if (!p.waitForFinished()) { - QTextStream outputText(stdout); - outputText << "copy failed finished"; - return false; - } - - int code = p.exitCode(); - if (code) { - QByteArray ba = p.readAll(); - QTextStream outputText(stdout); - outputText << String(ba); - outputText << String(" \n").arg(fullPath1, fullPath2).arg(code); - return true; -} - bool ScoreComp::compareFiles(const String& fullPath1, const String& fullPath2) { QString cmd = "diff"; diff --git a/src/engraving/tests/utils/scorecomp.h b/src/engraving/tests/utils/scorecomp.h index d4144b1e9dea2..0f5a6ce81a000 100644 --- a/src/engraving/tests/utils/scorecomp.h +++ b/src/engraving/tests/utils/scorecomp.h @@ -33,7 +33,6 @@ class ScoreComp static bool saveCompareScore(Score*, const String& saveName, const String& compareWithLocalPath); static bool saveCompareMimeData(muse::ByteArray mimeData, const String& saveName, const String& compareWithLocalPath); static bool compareFiles(const String& fullPath1, const String& fullPath2); - static bool copyFile(const String& fullPath1, const String& fullPath2); }; } diff --git a/src/engraving/types/propertyvalue.cpp b/src/engraving/types/propertyvalue.cpp index 36e0d3a578186..dd184d1ea67f1 100644 --- a/src/engraving/types/propertyvalue.cpp +++ b/src/engraving/types/propertyvalue.cpp @@ -179,6 +179,7 @@ QVariant PropertyValue::toQVariant() const case P_TYPE::RH_TAPPING_SYMBOL: return static_cast(value()); case P_TYPE::PARENTHESES_MODE: return static_cast(value()); case P_TYPE::PLAY_COUNT_PRESET: return static_cast(value()); + case P_TYPE::MARKER_TYPE: return static_cast(value()); case P_TYPE::VOICE_ASSIGNMENT: return static_cast(value()); case P_TYPE::AUTO_ON_OFF: return static_cast(value()); @@ -301,6 +302,7 @@ PropertyValue PropertyValue::fromQVariant(const QVariant& v, P_TYPE type) case P_TYPE::RH_TAPPING_SYMBOL: return PropertyValue(RHTappingSymbol(v.toInt())); case P_TYPE::PARENTHESES_MODE: return PropertyValue(ParenthesesMode(v.toInt())); case P_TYPE::PLAY_COUNT_PRESET: return PropertyValue(RepeatPlayCountPreset(v.toInt())); + case P_TYPE::MARKER_TYPE: return PropertyValue(MarkerType(v.toInt())); // Other case P_TYPE::GROUPS: { diff --git a/src/engraving/types/propertyvalue.h b/src/engraving/types/propertyvalue.h index 9875f1c86b322..015c2d2730b75 100644 --- a/src/engraving/types/propertyvalue.h +++ b/src/engraving/types/propertyvalue.h @@ -116,6 +116,7 @@ enum class P_TYPE : unsigned char { NOTELINE_PLACEMENT_TYPE, LYRICS_DASH_SYSTEM_START_TYPE, PARTIAL_SPANNER_DIRECTION, + MARKER_TYPE, LH_TAPPING_SYMBOL, RH_TAPPING_SYMBOL, @@ -348,6 +349,9 @@ class PropertyValue PropertyValue(const AutoCustomHide& v) : m_type(P_TYPE::AUTO_CUSTOM_HIDE), m_data(make_data(v)) {} + PropertyValue(const MarkerType& v) + : m_type(P_TYPE::MARKER_TYPE), m_data(make_data(v)) {} + bool isValid() const; P_TYPE type() const; diff --git a/src/engraving/types/typesconv.cpp b/src/engraving/types/typesconv.cpp index 2d06735465d9b..3ee3c617a024b 100644 --- a/src/engraving/types/typesconv.cpp +++ b/src/engraving/types/typesconv.cpp @@ -3025,21 +3025,21 @@ GlissandoType TConv::fromXml(const AsciiStringView& tag, GlissandoType def) } static const std::vector > JUMP_TYPES = { - { JumpType::DC, "", muse::TranslatableString("engraving", "Da Capo") }, - { JumpType::DC_AL_FINE, "", muse::TranslatableString("engraving", "Da Capo al Fine") }, - { JumpType::DC_AL_CODA, "", muse::TranslatableString("engraving", "Da Capo al Coda") }, - { JumpType::DS_AL_CODA, "", muse::TranslatableString("engraving", "D.S. al Coda") }, - { JumpType::DS_AL_FINE, "", muse::TranslatableString("engraving", "D.S. al Fine") }, - { JumpType::DS, "", muse::TranslatableString("engraving", "D.S.") }, - - { JumpType::DC_AL_DBLCODA, "", muse::TranslatableString("engraving", "Da Capo al Doppia Coda") }, - { JumpType::DS_AL_DBLCODA, "", muse::TranslatableString("engraving", "Dal Segno al Doppia Coda") }, - { JumpType::DSS, "", muse::TranslatableString("engraving", "Dal Doppio Segno") }, - { JumpType::DSS_AL_CODA, "", muse::TranslatableString("engraving", "Dal Doppio Segno al Coda") }, - { JumpType::DSS_AL_DBLCODA, "", muse::TranslatableString("engraving", "Dal Doppio Segno al Doppia Coda") }, - { JumpType::DSS_AL_FINE, "", muse::TranslatableString("engraving", "Dal Doppio Segno al Fine") }, - - { JumpType::USER, "", muse::TranslatableString("engraving", "Custom") } + { JumpType::DC, "dc", muse::TranslatableString("engraving", "Da Capo") }, + { JumpType::DC_AL_FINE, "dcalfine", muse::TranslatableString("engraving", "Da Capo al Fine") }, + { JumpType::DC_AL_CODA, "dcalcoda", muse::TranslatableString("engraving", "Da Capo al Coda") }, + { JumpType::DS_AL_CODA, "dsalcoda", muse::TranslatableString("engraving", "D.S. al Coda") }, + { JumpType::DS_AL_FINE, "dsalfine", muse::TranslatableString("engraving", "D.S. al Fine") }, + { JumpType::DS, "ds", muse::TranslatableString("engraving", "D.S.") }, + + { JumpType::DC_AL_DBLCODA, "dcaldblcoda", muse::TranslatableString("engraving", "Da Capo al Doppia Coda") }, + { JumpType::DS_AL_DBLCODA, "dsaldblcoda", muse::TranslatableString("engraving", "Dal Segno al Doppia Coda") }, + { JumpType::DSS, "dss", muse::TranslatableString("engraving", "Dal Doppio Segno") }, + { JumpType::DSS_AL_CODA, "dssalcoda", muse::TranslatableString("engraving", "Dal Doppio Segno al Coda") }, + { JumpType::DSS_AL_DBLCODA, "dssaldblcoda", muse::TranslatableString("engraving", "Dal Doppio Segno al Doppia Coda") }, + { JumpType::DSS_AL_FINE, "dssalfine", muse::TranslatableString("engraving", "Dal Doppio Segno al Fine") }, + + { JumpType::USER, "user", muse::TranslatableString("engraving", "Custom") } }; const muse::TranslatableString& TConv::userName(JumpType v) @@ -3060,10 +3060,10 @@ static const std::array, 11> MARKER_TYPES = { { { MarkerType::CODETTA, "codetta", muse::TranslatableString("engraving", "Doppia Coda") }, { MarkerType::FINE, "fine", muse::TranslatableString("engraving", "Fine") }, { MarkerType::TOCODA, "coda", muse::TranslatableString("engraving", "To coda") }, - { MarkerType::TOCODASYM, "", muse::TranslatableString("engraving", "To coda (symbol)") }, - { MarkerType::DA_CODA, "", muse::TranslatableString("engraving", "Da Coda") }, - { MarkerType::DA_DBLCODA, "", muse::TranslatableString("engraving", "Da Doppia Coda") }, - { MarkerType::USER, "", muse::TranslatableString("engraving", "Custom") } + { MarkerType::TOCODASYM, "codasym", muse::TranslatableString("engraving", "To coda (symbol)") }, + { MarkerType::DA_CODA, "dacoda", muse::TranslatableString("engraving", "Da Coda") }, + { MarkerType::DA_DBLCODA, "dadblcoda", muse::TranslatableString("engraving", "Da Doppia Coda") }, + { MarkerType::USER, "user", muse::TranslatableString("engraving", "Custom") } } }; const muse::TranslatableString& TConv::userName(MarkerType v) diff --git a/src/importexport/guitarpro/tests/data/directions.gp-ref.mscx b/src/importexport/guitarpro/tests/data/directions.gp-ref.mscx index 3ebe5e3bcb418..35edf22c5a5c6 100644 --- a/src/importexport/guitarpro/tests/data/directions.gp-ref.mscx +++ b/src/importexport/guitarpro/tests/data/directions.gp-ref.mscx @@ -580,6 +580,7 @@ Da Coda + dacoda @@ -612,6 +613,7 @@ Da Doppia Coda + dadblcoda @@ -644,6 +646,7 @@ segno + segno @@ -676,6 +679,7 @@ segnoSerpent1 + varsegno @@ -695,6 +699,7 @@ coda + codab @@ -714,6 +719,7 @@ codaSquare + varcoda diff --git a/src/importexport/guitarpro/tests/data/directions.gpx-ref.mscx b/src/importexport/guitarpro/tests/data/directions.gpx-ref.mscx index 3ebe5e3bcb418..35edf22c5a5c6 100644 --- a/src/importexport/guitarpro/tests/data/directions.gpx-ref.mscx +++ b/src/importexport/guitarpro/tests/data/directions.gpx-ref.mscx @@ -580,6 +580,7 @@ Da Coda + dacoda @@ -612,6 +613,7 @@ Da Doppia Coda + dadblcoda @@ -644,6 +646,7 @@ segno + segno @@ -676,6 +679,7 @@ segnoSerpent1 + varsegno @@ -695,6 +699,7 @@ coda + codab @@ -714,6 +719,7 @@ codaSquare + varcoda diff --git a/src/importexport/mei/tests/data/jump-01.mscx b/src/importexport/mei/tests/data/jump-01.mscx index 2361478210ac4..ff5137764ab45 100644 --- a/src/importexport/mei/tests/data/jump-01.mscx +++ b/src/importexport/mei/tests/data/jump-01.mscx @@ -140,6 +140,7 @@ segno + segno @@ -174,6 +175,7 @@ To Coda + coda @@ -244,6 +246,7 @@ coda + codab diff --git a/src/importexport/mei/tests/data/jump-02.mscx b/src/importexport/mei/tests/data/jump-02.mscx index 2c2ead9516e52..cc962662e058a 100644 --- a/src/importexport/mei/tests/data/jump-02.mscx +++ b/src/importexport/mei/tests/data/jump-02.mscx @@ -87,6 +87,7 @@ segno + segno @@ -103,6 +104,7 @@ coda + codab @@ -145,6 +147,7 @@ To Coda + coda @@ -349,6 +352,7 @@ segnoSerpent1 + varsegno @@ -365,6 +369,7 @@ codaSquare + varcoda diff --git a/src/importexport/musicxml/tests/data/testCodaHBox_ref.mscx b/src/importexport/musicxml/tests/data/testCodaHBox_ref.mscx index 6ef77ccc1c571..ffdf55f4819dd 100644 --- a/src/importexport/musicxml/tests/data/testCodaHBox_ref.mscx +++ b/src/importexport/musicxml/tests/data/testCodaHBox_ref.mscx @@ -214,6 +214,7 @@ coda + codab @@ -258,6 +259,7 @@ coda + codab diff --git a/src/importexport/musicxml/tests/data/testDSalCodaMisplaced_ref.mscx b/src/importexport/musicxml/tests/data/testDSalCodaMisplaced_ref.mscx index 77f73403ffed7..d7f2750bbd6e9 100644 --- a/src/importexport/musicxml/tests/data/testDSalCodaMisplaced_ref.mscx +++ b/src/importexport/musicxml/tests/data/testDSalCodaMisplaced_ref.mscx @@ -190,6 +190,7 @@ segno + segno @@ -236,6 +237,7 @@ To Coda coda + coda @@ -432,6 +434,7 @@ coda + codab diff --git a/src/importexport/musicxml/tests/data/testDSalCoda_ref.mscx b/src/importexport/musicxml/tests/data/testDSalCoda_ref.mscx index 77f73403ffed7..d7f2750bbd6e9 100644 --- a/src/importexport/musicxml/tests/data/testDSalCoda_ref.mscx +++ b/src/importexport/musicxml/tests/data/testDSalCoda_ref.mscx @@ -190,6 +190,7 @@ segno + segno @@ -236,6 +237,7 @@ To Coda coda + coda @@ -432,6 +434,7 @@ coda + codab diff --git a/src/importexport/musicxml/tests/data/testInferCodaII_ref.mscx b/src/importexport/musicxml/tests/data/testInferCodaII_ref.mscx index ae7f043f0c2cd..2d9f2160cd14f 100644 --- a/src/importexport/musicxml/tests/data/testInferCodaII_ref.mscx +++ b/src/importexport/musicxml/tests/data/testInferCodaII_ref.mscx @@ -299,6 +299,7 @@ segno + segno @@ -409,6 +410,7 @@ To coda II codacoda + coda @@ -634,6 +636,7 @@ To coda I coda + coda @@ -1215,6 +1218,7 @@ CODA I coda + codab @@ -1741,6 +1745,7 @@ Coda II codacoda + codab diff --git a/src/importexport/musicxml/tests/data/testInferSegnoII_ref.mscx b/src/importexport/musicxml/tests/data/testInferSegnoII_ref.mscx index 90a11bcc8ac85..cf5a3f531b48c 100644 --- a/src/importexport/musicxml/tests/data/testInferSegnoII_ref.mscx +++ b/src/importexport/musicxml/tests/data/testInferSegnoII_ref.mscx @@ -299,6 +299,7 @@ segno I + segno @@ -409,6 +410,7 @@ To coda I coda + coda @@ -744,6 +746,7 @@ segno segno + segno @@ -862,6 +865,7 @@ To coda II codacoda + coda @@ -1442,6 +1446,7 @@ coda + codab @@ -1708,6 +1713,7 @@ Coda II codacoda + codab diff --git a/src/importexport/musicxml/tests/data/testTextQuirkInference_ref.mscx b/src/importexport/musicxml/tests/data/testTextQuirkInference_ref.mscx index c10a102bc558b..6156cdb899e09 100644 --- a/src/importexport/musicxml/tests/data/testTextQuirkInference_ref.mscx +++ b/src/importexport/musicxml/tests/data/testTextQuirkInference_ref.mscx @@ -392,6 +392,7 @@ segno + segno @@ -744,6 +745,7 @@ To Coda coda + coda @@ -828,6 +830,7 @@ coda Coda + codab diff --git a/src/inspector/models/notation/markers/markersettingsmodel.cpp b/src/inspector/models/notation/markers/markersettingsmodel.cpp index b5890eaae4c22..8913705c294d3 100644 --- a/src/inspector/models/notation/markers/markersettingsmodel.cpp +++ b/src/inspector/models/notation/markers/markersettingsmodel.cpp @@ -20,6 +20,7 @@ * along with this program. If not, see . */ #include "markersettingsmodel.h" +#include "engraving/types/typesconv.h" #include "translation.h" @@ -90,3 +91,16 @@ PropertyItem* MarkerSettingsModel::centerOnSymbol() const { return m_centerOnSymbol; } + +QString MarkerSettingsModel::markerTypeName() const +{ + if (!type()) { + return ""; + } + + if (type()->isUndefined()) { + return "--"; + } + + return engraving::TConv::translatedUserName(type()->value().value()); +} diff --git a/src/inspector/models/notation/markers/markersettingsmodel.h b/src/inspector/models/notation/markers/markersettingsmodel.h index d634a88c0c852..d3974538ea605 100644 --- a/src/inspector/models/notation/markers/markersettingsmodel.h +++ b/src/inspector/models/notation/markers/markersettingsmodel.h @@ -49,6 +49,8 @@ class MarkerSettingsModel : public AbstractInspectorModel PropertyItem* position() const; PropertyItem* centerOnSymbol() const; + Q_INVOKABLE QString markerTypeName() const; + private: PropertyItem* m_type = nullptr; PropertyItem* m_label = nullptr; diff --git a/src/inspector/view/qml/MuseScore/Inspector/notation/markers/MarkerSettings.qml b/src/inspector/view/qml/MuseScore/Inspector/notation/markers/MarkerSettings.qml index db684ae7908a7..e2b6ed5898d4b 100644 --- a/src/inspector/view/qml/MuseScore/Inspector/notation/markers/MarkerSettings.qml +++ b/src/inspector/view/qml/MuseScore/Inspector/notation/markers/MarkerSettings.qml @@ -46,27 +46,8 @@ Column { StyledTextLabel { width: parent.width - text: qsTrc("inspector", "Marker type:") + " " + markerTypeToString(root.model ? root.model.type : null) + text: qsTrc("inspector", "Marker type:") + " " + (root.model ? root.model.markerTypeName() : "--") horizontalAlignment: Text.AlignLeft - - function markerTypeToString(type) { - if (!type) - return "" - - if (type.isUndefined) - return "--" - - switch (type.value) { - case MarkerTypes.TYPE_SEGNO: return qsTrc("inspector", "Segno"); - case MarkerTypes.TYPE_VARSEGNO: return qsTrc("inspector", "Segno variation") - case MarkerTypes.TYPE_CODA: return qsTrc("inspector", "Coda") - case MarkerTypes.TYPE_VARCODA: return qsTrc("inspector", "Varied coda") - case MarkerTypes.TYPE_CODETTA: return qsTrc("inspector", "Codetta") - case MarkerTypes.TYPE_FINE: return qsTrc("inspector", "Fine") - case MarkerTypes.TYPE_TOCODA: return qsTrc("inspector", "To Coda") - case MarkerTypes.TYPE_USER: return qsTrc("inspector", "Custom") - } - } } TextSection { diff --git a/vtest/scores/marker-1.mscz b/vtest/scores/marker-1.mscz index e04400eafeecb..acc39ea91ba63 100644 Binary files a/vtest/scores/marker-1.mscz and b/vtest/scores/marker-1.mscz differ diff --git a/vtest/scores/marker-2.mscz b/vtest/scores/marker-2.mscz index cbe18b50dc8de..f53df2a96b7d7 100644 Binary files a/vtest/scores/marker-2.mscz and b/vtest/scores/marker-2.mscz differ diff --git a/vtest/scores_small/Repeats_Jumps.mscz b/vtest/scores_small/Repeats_Jumps.mscz index b9de2d329fbfb..d6b89ff7e365a 100644 Binary files a/vtest/scores_small/Repeats_Jumps.mscz and b/vtest/scores_small/Repeats_Jumps.mscz differ diff --git a/vtest/vtest-compare-pngs.sh b/vtest/vtest-compare-pngs.sh index 0c30076947f46..bb988f79339a7 100755 --- a/vtest/vtest-compare-pngs.sh +++ b/vtest/vtest-compare-pngs.sh @@ -67,7 +67,8 @@ for PNG_REF_FILE in $PNG_REF_LIST ; do GIF_DIFF_FILE=$OUTPUT_DIR/${FILE_NAME}.diff.gif if test -f $PNG_CUR_FILE; then - code=$(compare -metric AE -fuzz 0.0% $PNG_REF_FILE $PNG_CUR_FILE $PNG_DIFF_FILE 2>&1) + (compare -metric AE -fuzz 0.0% $PNG_REF_FILE $PNG_CUR_FILE $PNG_DIFF_FILE 2>&1) + code=$? if (( $code > 0)); then echo "Different: ref: $PNG_REF_FILE, current: $PNG_CUR_FILE, code: $code" export DIFF_FOUND=true