diff --git a/src/engraving/libmscore/hairpin.cpp b/src/engraving/libmscore/hairpin.cpp index 090f5b0b73a9..8e7a1850e349 100644 --- a/src/engraving/libmscore/hairpin.cpp +++ b/src/engraving/libmscore/hairpin.cpp @@ -504,23 +504,25 @@ PropertyValue Hairpin::propertyDefault(Pid id) const case Pid::BEGIN_TEXT: if (_hairpinType == HairpinType::CRESC_LINE) { - return String(u"cresc."); + return style().styleV(Sid::hairpinCrescText); } if (_hairpinType == HairpinType::DECRESC_LINE) { - return String(u"dim."); + return style().styleV(Sid::hairpinDecrescText); } return String(); case Pid::CONTINUE_TEXT: - case Pid::END_TEXT: if (_hairpinType == HairpinType::CRESC_LINE) { - return String(u"(cresc.)"); + return style().styleV(Sid::hairpinCrescContText); } if (_hairpinType == HairpinType::DECRESC_LINE) { - return String(u"(dim.)"); + return style().styleV(Sid::hairpinDecrescContText); } return String(); + case Pid::END_TEXT: + return String(); + case Pid::BEGIN_TEXT_PLACE: case Pid::CONTINUE_TEXT_PLACE: return TextPlace::LEFT; diff --git a/src/engraving/libmscore/letring.cpp b/src/engraving/libmscore/letring.cpp index 2c7218974639..d5061e3ea061 100644 --- a/src/engraving/libmscore/letring.cpp +++ b/src/engraving/libmscore/letring.cpp @@ -143,6 +143,7 @@ PropertyValue LetRing::propertyDefault(Pid propertyId) const case Pid::LINE_VISIBLE: return true; + case Pid::BEGIN_TEXT_OFFSET: case Pid::CONTINUE_TEXT_OFFSET: case Pid::END_TEXT_OFFSET: return PropertyValue::fromValue(PointF(0, 0)); diff --git a/src/engraving/libmscore/palmmute.cpp b/src/engraving/libmscore/palmmute.cpp index a9fd6eb6f37d..ba7814d2ec67 100644 --- a/src/engraving/libmscore/palmmute.cpp +++ b/src/engraving/libmscore/palmmute.cpp @@ -167,6 +167,7 @@ PropertyValue PalmMute::propertyDefault(Pid propertyId) const case Pid::LINE_VISIBLE: return true; + case Pid::BEGIN_TEXT_OFFSET: case Pid::CONTINUE_TEXT_OFFSET: case Pid::END_TEXT_OFFSET: return PropertyValue::fromValue(PointF(0, 0)); diff --git a/src/engraving/libmscore/pedal.cpp b/src/engraving/libmscore/pedal.cpp index 49b5231b8761..7b4a804952dc 100644 --- a/src/engraving/libmscore/pedal.cpp +++ b/src/engraving/libmscore/pedal.cpp @@ -33,6 +33,9 @@ using namespace mu; namespace mu::engraving { static const ElementStyle pedalStyle { + { Sid::pedalText, Pid::BEGIN_TEXT }, + { Sid::pedalContinueText, Pid::CONTINUE_TEXT }, + { Sid::pedalEndText, Pid::END_TEXT }, { Sid::pedalFontFace, Pid::BEGIN_FONT_FACE }, { Sid::pedalFontFace, Pid::CONTINUE_FONT_FACE }, { Sid::pedalFontFace, Pid::END_FONT_FACE }, @@ -92,9 +95,6 @@ Pedal::Pedal(EngravingItem* parent) { initElementStyle(&pedalStyle); setLineVisible(true); - resetProperty(Pid::BEGIN_TEXT); - resetProperty(Pid::CONTINUE_TEXT); - resetProperty(Pid::END_TEXT); resetProperty(Pid::LINE_WIDTH); resetProperty(Pid::LINE_STYLE); @@ -137,15 +137,24 @@ engraving::PropertyValue Pedal::propertyDefault(Pid propertyId) const return style().styleV(Sid::pedalLineStyle); case Pid::BEGIN_TEXT: + return style().styleV(Sid::pedalText); + case Pid::CONTINUE_TEXT: + return style().styleV(Sid::pedalContinueText); + case Pid::END_TEXT: - return ""; + return style().styleV(Sid::pedalEndText); case Pid::BEGIN_TEXT_PLACE: case Pid::CONTINUE_TEXT_PLACE: case Pid::END_TEXT_PLACE: return TextPlace::LEFT; + case Pid::BEGIN_TEXT_OFFSET: + case Pid::CONTINUE_TEXT_OFFSET: + case Pid::END_TEXT_OFFSET: + return PropertyValue::fromValue(PointF(0, 0)); + case Pid::BEGIN_HOOK_TYPE: case Pid::END_HOOK_TYPE: return HookType::NONE; diff --git a/src/engraving/rw/read114/read114.cpp b/src/engraving/rw/read114/read114.cpp index 1ac0f094e243..871b360eb732 100644 --- a/src/engraving/rw/read114/read114.cpp +++ b/src/engraving/rw/read114/read114.cpp @@ -1379,18 +1379,21 @@ static void readPedal114(XmlReader& e, ReadContext& ctx, Pedal* pedal) text.at(0).isDigit() ? resolveSymCompatibility(SymId(text.toInt()), ctx.mscoreVersion()) : text)); + pedal->setPropertyFlags(Pid::BEGIN_TEXT, PropertyFlags::UNSTYLED); } else if (tag == "continueSymbol") { String text(e.readText()); pedal->setContinueText(String(u"%1").arg( text.at(0).isDigit() ? resolveSymCompatibility(SymId(text.toInt()), ctx.mscoreVersion()) : text)); + pedal->setPropertyFlags(Pid::CONTINUE_TEXT, PropertyFlags::UNSTYLED); } else if (tag == "endSymbol") { String text(e.readText()); pedal->setEndText(String(u"%1").arg( text.at(0).isDigit() ? resolveSymCompatibility(SymId(text.toInt()), ctx.mscoreVersion()) : text)); + pedal->setPropertyFlags(Pid::END_TEXT, PropertyFlags::UNSTYLED); } else if (tag == "beginSymbolOffset") { // obsolete e.readPoint(); } else if (tag == "continueSymbolOffset") { // obsolete diff --git a/src/engraving/rw/read206/read206.cpp b/src/engraving/rw/read206/read206.cpp index 76769d5dd8dd..3a237351df80 100644 --- a/src/engraving/rw/read206/read206.cpp +++ b/src/engraving/rw/read206/read206.cpp @@ -1987,16 +1987,19 @@ static bool readTextLineProperties(XmlReader& e, ReadContext& ctx, TextLineBase* Text* text = Factory::createText(ctx.dummy(), TextStyleType::DEFAULT, false); readText206(e, ctx, text, tl); tl->setBeginText(text->xmlText()); + tl->setPropertyFlags(Pid::BEGIN_TEXT, PropertyFlags::UNSTYLED); delete text; } else if (tag == "continueText") { Text* text = Factory::createText(ctx.dummy(), TextStyleType::DEFAULT, false); readText206(e, ctx, text, tl); tl->setContinueText(text->xmlText()); + tl->setPropertyFlags(Pid::CONTINUE_TEXT, PropertyFlags::UNSTYLED); delete text; } else if (tag == "endText") { Text* text = Factory::createText(ctx.dummy(), TextStyleType::DEFAULT, false); readText206(e, ctx, text, tl); tl->setEndText(text->xmlText()); + tl->setPropertyFlags(Pid::END_TEXT, PropertyFlags::UNSTYLED); delete text; } else if (tag == "beginHook") { tl->setBeginHookType(e.readBool() ? HookType::HOOK_90 : HookType::NONE); diff --git a/src/engraving/rw/write/twrite.cpp b/src/engraving/rw/write/twrite.cpp index 4308f07c7aa4..86e3e6b0a017 100644 --- a/src/engraving/rw/write/twrite.cpp +++ b/src/engraving/rw/write/twrite.cpp @@ -2128,9 +2128,6 @@ void TWrite::write(const Pedal* item, XmlWriter& xml, WriteContext& ctx) for (auto i : { Pid::END_HOOK_TYPE, - Pid::BEGIN_TEXT, - Pid::CONTINUE_TEXT, - Pid::END_TEXT, Pid::LINE_VISIBLE, Pid::BEGIN_HOOK_TYPE }) { diff --git a/src/engraving/style/styledef.cpp b/src/engraving/style/styledef.cpp index ee160deaeaca..2d870e38f68d 100644 --- a/src/engraving/style/styledef.cpp +++ b/src/engraving/style/styledef.cpp @@ -283,6 +283,9 @@ const std::array StyleDef::styleValue { Sid::pedalFrameRound, "pedalFrameRound", 0 }, { Sid::pedalFrameFgColor, "pedalFrameFgColor", Color::BLACK }, { Sid::pedalFrameBgColor, "pedalFrameBgColor", Color::transparent }, + { Sid::pedalText, "pedalText", String() }, + { Sid::pedalContinueText, "pedalContinueText", String() }, + { Sid::pedalEndText, "pedalEndText", String() }, { Sid::trillPlacement, "trillPlacement", PlacementV::ABOVE }, { Sid::trillPosAbove, "trillPosAbove", PointF(.0, -0.5) }, diff --git a/src/engraving/style/styledef.h b/src/engraving/style/styledef.h index 2ed72689a906..e056c82611a1 100644 --- a/src/engraving/style/styledef.h +++ b/src/engraving/style/styledef.h @@ -297,6 +297,9 @@ enum class Sid { pedalFrameRound, pedalFrameFgColor, pedalFrameBgColor, + pedalText, + pedalContinueText, + pedalEndText, trillPlacement, trillPosAbove, diff --git a/src/importexport/guitarpro/tests/data/let-ring-tied.gp5-ref.mscx b/src/importexport/guitarpro/tests/data/let-ring-tied.gp5-ref.mscx index 58d8183418b1..0c897bb7a64f 100644 --- a/src/importexport/guitarpro/tests/data/let-ring-tied.gp5-ref.mscx +++ b/src/importexport/guitarpro/tests/data/let-ring-tied.gp5-ref.mscx @@ -90,7 +90,6 @@ - diff --git a/src/importexport/guitarpro/tests/data/let-ring.gp-ref.mscx b/src/importexport/guitarpro/tests/data/let-ring.gp-ref.mscx index ef42aab7925f..6005f09e9457 100644 --- a/src/importexport/guitarpro/tests/data/let-ring.gp-ref.mscx +++ b/src/importexport/guitarpro/tests/data/let-ring.gp-ref.mscx @@ -94,7 +94,6 @@ - diff --git a/src/importexport/guitarpro/tests/data/let-ring.gp4-ref.mscx b/src/importexport/guitarpro/tests/data/let-ring.gp4-ref.mscx index cac04424c245..395429da2a15 100644 --- a/src/importexport/guitarpro/tests/data/let-ring.gp4-ref.mscx +++ b/src/importexport/guitarpro/tests/data/let-ring.gp4-ref.mscx @@ -94,7 +94,6 @@ - diff --git a/src/importexport/guitarpro/tests/data/let-ring.gp5-ref.mscx b/src/importexport/guitarpro/tests/data/let-ring.gp5-ref.mscx index 47711bf3519b..c2c526cb0990 100644 --- a/src/importexport/guitarpro/tests/data/let-ring.gp5-ref.mscx +++ b/src/importexport/guitarpro/tests/data/let-ring.gp5-ref.mscx @@ -90,7 +90,6 @@ - diff --git a/src/importexport/guitarpro/tests/data/let-ring.gpx-ref.mscx b/src/importexport/guitarpro/tests/data/let-ring.gpx-ref.mscx index ef42aab7925f..6005f09e9457 100644 --- a/src/importexport/guitarpro/tests/data/let-ring.gpx-ref.mscx +++ b/src/importexport/guitarpro/tests/data/let-ring.gpx-ref.mscx @@ -94,7 +94,6 @@ - diff --git a/src/importexport/guitarpro/tests/data/line_elements.gp-ref.mscx b/src/importexport/guitarpro/tests/data/line_elements.gp-ref.mscx index 830420a73121..bf6f53eb447e 100644 --- a/src/importexport/guitarpro/tests/data/line_elements.gp-ref.mscx +++ b/src/importexport/guitarpro/tests/data/line_elements.gp-ref.mscx @@ -283,7 +283,6 @@ - @@ -342,7 +341,6 @@ - @@ -552,7 +550,6 @@ - diff --git a/src/importexport/guitarpro/tests/data/line_elements.gp5-ref.mscx b/src/importexport/guitarpro/tests/data/line_elements.gp5-ref.mscx index 8ed8915ea8fd..f6bb8b4a708e 100644 --- a/src/importexport/guitarpro/tests/data/line_elements.gp5-ref.mscx +++ b/src/importexport/guitarpro/tests/data/line_elements.gp5-ref.mscx @@ -329,7 +329,6 @@ - @@ -378,7 +377,6 @@ - @@ -517,7 +515,6 @@ - diff --git a/src/importexport/guitarpro/tests/data/palm-mute.gp-ref.mscx b/src/importexport/guitarpro/tests/data/palm-mute.gp-ref.mscx index afdecd19a928..809b1dd600eb 100644 --- a/src/importexport/guitarpro/tests/data/palm-mute.gp-ref.mscx +++ b/src/importexport/guitarpro/tests/data/palm-mute.gp-ref.mscx @@ -94,7 +94,6 @@ - diff --git a/src/importexport/guitarpro/tests/data/palm-mute.gp4-ref.mscx b/src/importexport/guitarpro/tests/data/palm-mute.gp4-ref.mscx index 24c51b7a2d40..0783a56c056b 100644 --- a/src/importexport/guitarpro/tests/data/palm-mute.gp4-ref.mscx +++ b/src/importexport/guitarpro/tests/data/palm-mute.gp4-ref.mscx @@ -94,7 +94,6 @@ - diff --git a/src/importexport/guitarpro/tests/data/palm-mute.gp5-ref.mscx b/src/importexport/guitarpro/tests/data/palm-mute.gp5-ref.mscx index 723b84b1028e..a0ebb4662655 100644 --- a/src/importexport/guitarpro/tests/data/palm-mute.gp5-ref.mscx +++ b/src/importexport/guitarpro/tests/data/palm-mute.gp5-ref.mscx @@ -90,7 +90,6 @@ - diff --git a/src/importexport/guitarpro/tests/data/palm-mute.gpx-ref.mscx b/src/importexport/guitarpro/tests/data/palm-mute.gpx-ref.mscx index afdecd19a928..809b1dd600eb 100644 --- a/src/importexport/guitarpro/tests/data/palm-mute.gpx-ref.mscx +++ b/src/importexport/guitarpro/tests/data/palm-mute.gpx-ref.mscx @@ -94,7 +94,6 @@ - diff --git a/src/inspector/models/notation/lines/hairpinsettingsmodel.cpp b/src/inspector/models/notation/lines/hairpinsettingsmodel.cpp index 909f49edcd52..1b4e1633ee8e 100644 --- a/src/inspector/models/notation/lines/hairpinsettingsmodel.cpp +++ b/src/inspector/models/notation/lines/hairpinsettingsmodel.cpp @@ -111,11 +111,6 @@ void HairpinSettingsModel::onNotationChanged(const PropertyIdSet& changedPropert loadProperties(changedPropertyIdSet); } -bool HairpinSettingsModel::isTextVisible(TextType) const -{ - return true; -} - void HairpinSettingsModel::loadProperties(const PropertyIdSet& propertyIdSet) { if (mu::contains(propertyIdSet, Pid::HAIRPIN_CIRCLEDTIP)) { diff --git a/src/inspector/models/notation/lines/hairpinsettingsmodel.h b/src/inspector/models/notation/lines/hairpinsettingsmodel.h index ce45cc66beee..97b5a0da59b6 100644 --- a/src/inspector/models/notation/lines/hairpinsettingsmodel.h +++ b/src/inspector/models/notation/lines/hairpinsettingsmodel.h @@ -49,7 +49,6 @@ class HairpinSettingsModel : public TextLineSettingsModel void requestElements() override; void onNotationChanged(const mu::engraving::PropertyIdSet& changedPropertyIdSet, const mu::engraving::StyleIdSet& changedStyleIdSet) override; - bool isTextVisible(TextType type) const override; void loadProperties(const mu::engraving::PropertyIdSet& propertyIdSet); diff --git a/src/inspector/models/notation/lines/ottavasettingsmodel.cpp b/src/inspector/models/notation/lines/ottavasettingsmodel.cpp index 9dcb0a27f0a8..731fe6abff55 100644 --- a/src/inspector/models/notation/lines/ottavasettingsmodel.cpp +++ b/src/inspector/models/notation/lines/ottavasettingsmodel.cpp @@ -111,8 +111,3 @@ void OttavaSettingsModel::resetProperties() m_ottavaType->resetToDefault(); m_showNumbersOnly->resetToDefault(); } - -bool OttavaSettingsModel::isTextVisible(TextType) const -{ - return true; -} diff --git a/src/inspector/models/notation/lines/ottavasettingsmodel.h b/src/inspector/models/notation/lines/ottavasettingsmodel.h index 8bbccb89947a..2d4e88515d0b 100644 --- a/src/inspector/models/notation/lines/ottavasettingsmodel.h +++ b/src/inspector/models/notation/lines/ottavasettingsmodel.h @@ -45,8 +45,6 @@ class OttavaSettingsModel : public TextLineSettingsModel void loadProperties() override; void resetProperties() override; - bool isTextVisible(TextType) const override; - PropertyItem* m_ottavaType = nullptr; PropertyItem* m_showNumbersOnly = nullptr; }; diff --git a/src/inspector/models/notation/lines/pedalsettingsmodel.cpp b/src/inspector/models/notation/lines/pedalsettingsmodel.cpp index a74f074e4b87..18a5a7053786 100644 --- a/src/inspector/models/notation/lines/pedalsettingsmodel.cpp +++ b/src/inspector/models/notation/lines/pedalsettingsmodel.cpp @@ -57,11 +57,6 @@ PropertyItem* PedalSettingsModel::lineType() const return m_lineType; } -bool PedalSettingsModel::pedalSymbolVisible() const -{ - return beginningText()->value().toString() == mu::engraving::Pedal::PEDAL_SYMBOL; -} - bool PedalSettingsModel::isChangingLineVisibilityAllowed() const { return isStarSymbolVisible(); @@ -72,19 +67,10 @@ bool PedalSettingsModel::isStarSymbolVisible() const return endText()->value().toString() == mu::engraving::Pedal::STAR_SYMBOL; } -void PedalSettingsModel::setPedalSymbolVisible(bool visible) -{ - beginningText()->setValue(visible ? mu::engraving::Pedal::PEDAL_SYMBOL.toQString() : ""); -} - void PedalSettingsModel::createProperties() { TextLineSettingsModel::createProperties(); - connect(beginningText(), &PropertyItem::isModifiedChanged, this, [this]() { - emit pedalSymbolVisibleChanged(); - }); - connect(endText(), &PropertyItem::isModifiedChanged, this, [this]() { emit isChangingLineVisibilityAllowedChanged(); }); @@ -129,8 +115,3 @@ void PedalSettingsModel::setLineType(int newType) m_lineType->setValue(newType); } - -bool PedalSettingsModel::isTextVisible(TextType) const -{ - return true; -} diff --git a/src/inspector/models/notation/lines/pedalsettingsmodel.h b/src/inspector/models/notation/lines/pedalsettingsmodel.h index 59412e5c309b..87aa5070e2b3 100644 --- a/src/inspector/models/notation/lines/pedalsettingsmodel.h +++ b/src/inspector/models/notation/lines/pedalsettingsmodel.h @@ -30,21 +30,15 @@ class PedalSettingsModel : public TextLineSettingsModel Q_OBJECT Q_PROPERTY(PropertyItem * lineType READ lineType CONSTANT) - Q_PROPERTY(bool pedalSymbolVisible READ pedalSymbolVisible WRITE setPedalSymbolVisible NOTIFY pedalSymbolVisibleChanged) Q_PROPERTY(bool isChangingLineVisibilityAllowed READ isChangingLineVisibilityAllowed NOTIFY isChangingLineVisibilityAllowedChanged) public: explicit PedalSettingsModel(QObject* parent, IElementRepositoryService* repository); PropertyItem* lineType() const; - bool pedalSymbolVisible() const; bool isChangingLineVisibilityAllowed() const; -public slots: - void setPedalSymbolVisible(bool visible); - signals: - void pedalSymbolVisibleChanged(); void isChangingLineVisibilityAllowedChanged(); private: @@ -52,7 +46,6 @@ public slots: void createProperties() override; void loadProperties() override; - bool isTextVisible(TextType type) const override; void setLineType(int newType); diff --git a/src/inspector/models/notation/lines/textlinesettingsmodel.cpp b/src/inspector/models/notation/lines/textlinesettingsmodel.cpp index ce55e01dd230..ac9d315decee 100644 --- a/src/inspector/models/notation/lines/textlinesettingsmodel.cpp +++ b/src/inspector/models/notation/lines/textlinesettingsmodel.cpp @@ -91,20 +91,14 @@ void TextLineSettingsModel::createProperties() m_placement = buildPropertyItem(Pid::PLACEMENT); m_placement->setIsVisible(false); - if (isTextVisible(BeginningText)) { - m_beginningText = buildPropertyItem(Pid::BEGIN_TEXT); - m_beginningTextOffset = buildPointFPropertyItem(Pid::BEGIN_TEXT_OFFSET); - } + m_beginningText = buildPropertyItem(Pid::BEGIN_TEXT); + m_beginningTextOffset = buildPointFPropertyItem(Pid::BEGIN_TEXT_OFFSET); - if (isTextVisible(ContinuousText)) { - m_continuousText = buildPropertyItem(Pid::CONTINUE_TEXT); - m_continuousTextOffset = buildPointFPropertyItem(Pid::CONTINUE_TEXT_OFFSET); - } + m_continuousText = buildPropertyItem(Pid::CONTINUE_TEXT); + m_continuousTextOffset = buildPointFPropertyItem(Pid::CONTINUE_TEXT_OFFSET); - if (isTextVisible(EndText)) { - m_endText = buildPropertyItem(Pid::END_TEXT); - m_endTextOffset = buildPointFPropertyItem(Pid::END_TEXT_OFFSET); - } + m_endText = buildPropertyItem(Pid::END_TEXT); + m_endTextOffset = buildPointFPropertyItem(Pid::END_TEXT_OFFSET); } void TextLineSettingsModel::loadProperties() @@ -305,12 +299,6 @@ void TextLineSettingsModel::onUpdateLinePropertiesAvailability() m_dashGapLength->setIsEnabled(isLineAvailable && areDashPropertiesAvailable); } -bool TextLineSettingsModel::isTextVisible(TextType type) const -{ - //! NOTE: the end text is hidden for most lines by default - return type != TextType::EndText; -} - void TextLineSettingsModel::setPossibleStartHookTypes(const QList& types) { m_possibleStartHookTypes = hookTypesToObjList(types); diff --git a/src/inspector/models/notation/lines/textlinesettingsmodel.h b/src/inspector/models/notation/lines/textlinesettingsmodel.h index 5fdb9ed27f7e..1be5ad5608b5 100644 --- a/src/inspector/models/notation/lines/textlinesettingsmodel.h +++ b/src/inspector/models/notation/lines/textlinesettingsmodel.h @@ -120,7 +120,6 @@ class TextLineSettingsModel : public AbstractInspectorModel const mu::engraving::StyleIdSet& changedStyleIdSet) override; virtual void onUpdateLinePropertiesAvailability(); - virtual bool isTextVisible(TextType type) const; void setPossibleStartHookTypes(const QList& types); void setPossibleEndHookTypes(const QList& types); diff --git a/src/inspector/view/inspector_resources.qrc b/src/inspector/view/inspector_resources.qrc index df9311ace368..1e4ebce193f4 100644 --- a/src/inspector/view/inspector_resources.qrc +++ b/src/inspector/view/inspector_resources.qrc @@ -33,6 +33,7 @@ qml/MuseScore/Inspector/common/InspectorSectionView.qml qml/MuseScore/Inspector/common/SpinBoxPropertyView.qml qml/MuseScore/Inspector/common/DirectionSection.qml + qml/MuseScore/Inspector/notation/lines/internal/PedalStyleSettings.qml qml/MuseScore/Inspector/notation/lines/internal/HairpinStyleSettings.qml qml/MuseScore/Inspector/notation/lines/internal/VoltaStyleSettings.qml qml/MuseScore/Inspector/notation/lines/internal/OttavaStyleSettings.qml @@ -70,7 +71,6 @@ qml/MuseScore/Inspector/notation/keysignatures/KeySignatureSettings.qml qml/MuseScore/Inspector/notation/accidentals/AccidentalSettings.qml qml/MuseScore/Inspector/notation/fretdiagrams/FretDiagramSettings.qml - qml/MuseScore/Inspector/notation/lines/PedalSettings.qml qml/MuseScore/Inspector/notation/spacers/SpacerSettings.qml qml/MuseScore/Inspector/notation/clefs/ClefSettings.qml qml/MuseScore/Inspector/notation/lines/LineSettings.qml diff --git a/src/inspector/view/qml/MuseScore/Inspector/notation/NotationInspectorSectionLoader.qml b/src/inspector/view/qml/MuseScore/Inspector/notation/NotationInspectorSectionLoader.qml index 2865eb62c018..06d63feae159 100644 --- a/src/inspector/view/qml/MuseScore/Inspector/notation/NotationInspectorSectionLoader.qml +++ b/src/inspector/view/qml/MuseScore/Inspector/notation/NotationInspectorSectionLoader.qml @@ -98,9 +98,9 @@ Loader { case Inspector.TYPE_KEYSIGNATURE: return keySignatureComp case Inspector.TYPE_ACCIDENTAL: return accidentalComp case Inspector.TYPE_FRET_DIAGRAM: return fretDiagramComp - case Inspector.TYPE_PEDAL: return pedalComp case Inspector.TYPE_SPACER: return spacerComp case Inspector.TYPE_CLEF: return clefComp + case Inspector.TYPE_PEDAL: case Inspector.TYPE_HAIRPIN: case Inspector.TYPE_CRESCENDO: case Inspector.TYPE_DIMINUENDO: @@ -212,11 +212,6 @@ Loader { FretDiagramSettings { } } - Component { - id: pedalComp - PedalSettings { } - } - Component { id: spacerComp SpacerSettings { } diff --git a/src/inspector/view/qml/MuseScore/Inspector/notation/lines/LineSettings.qml b/src/inspector/view/qml/MuseScore/Inspector/notation/lines/LineSettings.qml index 7a282b950a28..730759dc8168 100644 --- a/src/inspector/view/qml/MuseScore/Inspector/notation/lines/LineSettings.qml +++ b/src/inspector/view/qml/MuseScore/Inspector/notation/lines/LineSettings.qml @@ -82,6 +82,7 @@ Column { case Inspector.TYPE_HAIRPIN: return hairpinStyleSettings case Inspector.TYPE_VOLTA: return voltaStyleSettings case Inspector.TYPE_OTTAVA: return ottavaStyleSettings + case Inspector.TYPE_PEDAL: return pedalStyleSettings } return commonStyleSettings @@ -131,6 +132,17 @@ Column { } } + Component { + id: pedalStyleSettings + + PedalStyleSettings { + model: root.model + + navigationPanel: root.navigationPanel + navigationRowStart: root.navigationRowStart + 1000 + } + } + Component { id: commonStyleSettings diff --git a/src/inspector/view/qml/MuseScore/Inspector/notation/lines/PedalSettings.qml b/src/inspector/view/qml/MuseScore/Inspector/notation/lines/PedalSettings.qml deleted file mode 100644 index 188f1b425d47..000000000000 --- a/src/inspector/view/qml/MuseScore/Inspector/notation/lines/PedalSettings.qml +++ /dev/null @@ -1,101 +0,0 @@ -/* - * SPDX-License-Identifier: GPL-3.0-only - * MuseScore-CLA-applies - * - * MuseScore - * Music Composition & Notation - * - * Copyright (C) 2021 MuseScore BVBA and others - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 3 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -import QtQuick 2.15 - -import MuseScore.Ui 1.0 -import MuseScore.UiComponents 1.0 -import MuseScore.Inspector 1.0 - -import "../../common" -import "internal" - -Column { - id: root - - property QtObject model: null - - property NavigationPanel navigationPanel: null - property int navigationRowStart: 1 - - objectName: "PedalSettings" - - spacing: 12 - - function focusOnFirst() { - showPedalSymbol.navigation.requestActive() - } - - CheckBox { - id: showPedalSymbol - width: parent.width - text: qsTrc("inspector", "Show pedal symbol") - - navigation.name: "ShowPedalSymbolCheckBox" - navigation.panel: root.navigationPanel - navigation.row: root.navigationRowStart - - checked: root.model && root.model.pedalSymbolVisible - onClicked: { - root.model.pedalSymbolVisible = !checked - } - } - - HooksSection { - id: hooksSection - - startHookType: root.model ? root.model.startHookType : null - endHookType: root.model ? root.model.lineType : null - startHookHeight: root.model ? root.model.startHookHeight : null - endHookHeight: root.model ? root.model.endHookHeight : null - - possibleStartHookTypes: root.model ? root.model.possibleStartHookTypes() : null - possibleEndHookTypes: root.model ? root.model.possibleEndHookTypes() : null - - navigationPanel: root.navigationPanel - navigationRowStart: root.navigationRowStart + 1 - } - - PropertyCheckBox { - id: showLineCheckBox - visible: root.model && root.model.isChangingLineVisibilityAllowed - - text: qsTrc("inspector", "Show line with rosette") - propertyItem: root.model ? root.model.isLineVisible : null - - navigation.name: "ShowLineWithRosetteCheckBox" - navigation.panel: root.navigationPanel - navigation.row: hooksSection.navigationRowEnd + 1 - } - - SeparatorLine { anchors.margins: -12 } - - LineStyleSection { - thickness: root.model ? root.model.thickness : null - - lineStyle: root.model ? root.model.lineStyle : null - dashLineLength: root.model ? root.model.dashLineLength : null - dashGapLength: root.model ? root.model.dashGapLength : null - - navigationPanel: root.navigationPanel - navigationRowStart: showLineCheckBox.navigation.row + 1 - } -} diff --git a/src/inspector/view/qml/MuseScore/Inspector/notation/lines/internal/LineTextSettingsTab.qml b/src/inspector/view/qml/MuseScore/Inspector/notation/lines/internal/LineTextSettingsTab.qml index 3f29604ba427..d994f42aeb08 100644 --- a/src/inspector/view/qml/MuseScore/Inspector/notation/lines/internal/LineTextSettingsTab.qml +++ b/src/inspector/view/qml/MuseScore/Inspector/notation/lines/internal/LineTextSettingsTab.qml @@ -90,7 +90,7 @@ FocusableItem { TextSection { id: continuousTextSection - titleText: qsTrc("inspector", "Text when continuing to a new system") + titleText: qsTrc("inspector", "Text when continuing to a new system") propertyItem: root.model ? root.model.continuousText : null navigationPanel: root.navigationPanel @@ -106,11 +106,11 @@ FocusableItem { navigationRowStart: continuousTextSection.navigationRowEnd + 1 } - SeparatorLine { anchors.margins: -12; visible: endTextSection.visible } + SeparatorLine { anchors.margins: -12 } TextSection { id: endTextSection - titleText: qsTrc("inspector", "End text") + titleText: qsTrc("inspector", "End text") propertyItem: root.model ? root.model.endText : null navigationPanel: root.navigationPanel diff --git a/src/inspector/view/qml/MuseScore/Inspector/notation/lines/internal/PedalStyleSettings.qml b/src/inspector/view/qml/MuseScore/Inspector/notation/lines/internal/PedalStyleSettings.qml new file mode 100644 index 000000000000..d0c5964e968e --- /dev/null +++ b/src/inspector/view/qml/MuseScore/Inspector/notation/lines/internal/PedalStyleSettings.qml @@ -0,0 +1,90 @@ +/* + * SPDX-License-Identifier: GPL-3.0-only + * MuseScore-CLA-applies + * + * MuseScore + * Music Composition & Notation + * + * Copyright (C) 2021 MuseScore BVBA and others + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +import QtQuick 2.15 +import QtQuick.Controls 2.15 + +import MuseScore.Ui 1.0 +import MuseScore.UiComponents 1.0 +import MuseScore.Inspector 1.0 + +import "../../../common" + +FocusableItem { + id: root + + property QtObject model: null + + property NavigationPanel navigationPanel: null + property int navigationRowStart: 1 + + implicitHeight: contentColumn.height + width: parent.width + + + Column { + id: contentColumn + + width: parent.width + + spacing: 12 + + HooksSection { + id: hooksSection + + startHookType: root.model ? root.model.startHookType : null + endHookType: root.model ? root.model.lineType : null + startHookHeight: root.model ? root.model.startHookHeight : null + endHookHeight: root.model ? root.model.endHookHeight : null + + possibleStartHookTypes: root.model ? root.model.possibleStartHookTypes() : null + possibleEndHookTypes: root.model ? root.model.possibleEndHookTypes() : null + + navigationPanel: root.navigationPanel + navigationRowStart: root.navigationRowStart + 1 + } + + PropertyCheckBox { + id: showLineCheckBox + visible: root.model && root.model.isChangingLineVisibilityAllowed + + text: qsTrc("inspector", "Show line with rosette") + propertyItem: root.model ? root.model.isLineVisible : null + + navigation.name: "ShowLineWithRosetteCheckBox" + navigation.panel: root.navigationPanel + navigation.row: hooksSection.navigationRowEnd + 1 + } + + SeparatorLine { anchors.margins: -12 } + + LineStyleSection { + thickness: root.model ? root.model.thickness : null + + lineStyle: root.model ? root.model.lineStyle : null + dashLineLength: root.model ? root.model.dashLineLength : null + dashGapLength: root.model ? root.model.dashGapLength : null + + navigationPanel: root.navigationPanel + navigationRowStart: showLineCheckBox.navigation.row + 1 + } + } +} \ No newline at end of file diff --git a/src/palette/internal/palettecreator.cpp b/src/palette/internal/palettecreator.cpp index 101856f2f4c2..3863b121c8a2 100644 --- a/src/palette/internal/palettecreator.cpp +++ b/src/palette/internal/palettecreator.cpp @@ -1258,15 +1258,20 @@ PalettePtr PaletteCreator::newLinesPalette(bool defaultPalette) auto pedal = makeElement(gpaletteScore); pedal->setLen(w); pedal->setBeginText(Pedal::PEDAL_SYMBOL); + pedal->setPropertyFlags(Pid::BEGIN_TEXT, PropertyFlags::UNSTYLED); pedal->setContinueText(QString("(%1)").arg(Pedal::PEDAL_SYMBOL)); + pedal->setPropertyFlags(Pid::CONTINUE_TEXT, PropertyFlags::UNSTYLED); pedal->setEndHookType(HookType::HOOK_90); sp->appendElement(pedal, QT_TRANSLATE_NOOP("palette", "Pedal (with ped and line)")); pedal = makeElement(gpaletteScore); pedal->setLen(w); pedal->setBeginText(Pedal::PEDAL_SYMBOL); + pedal->setPropertyFlags(Pid::BEGIN_TEXT, PropertyFlags::UNSTYLED); pedal->setContinueText(QString("(%1)").arg(Pedal::PEDAL_SYMBOL)); + pedal->setPropertyFlags(Pid::CONTINUE_TEXT, PropertyFlags::UNSTYLED); pedal->setEndText(Pedal::STAR_SYMBOL); + pedal->setPropertyFlags(Pid::END_TEXT, PropertyFlags::UNSTYLED); pedal->setLineVisible(false); sp->appendElement(pedal, QT_TRANSLATE_NOOP("palette", "Pedal (with ped and asterisk)")); @@ -1931,15 +1936,20 @@ PalettePtr PaletteCreator::newKeyboardPalette() auto pedal = makeElement(gpaletteScore); pedal->setLen(w); pedal->setBeginText(Pedal::PEDAL_SYMBOL); + pedal->setPropertyFlags(Pid::BEGIN_TEXT, PropertyFlags::UNSTYLED); pedal->setContinueText(QString("(%1)").arg(Pedal::PEDAL_SYMBOL)); + pedal->setPropertyFlags(Pid::CONTINUE_TEXT, PropertyFlags::UNSTYLED); pedal->setEndText(Pedal::STAR_SYMBOL); + pedal->setPropertyFlags(Pid::END_TEXT, PropertyFlags::UNSTYLED); pedal->setLineVisible(false); sp->appendElement(pedal, QT_TRANSLATE_NOOP("palette", "Pedal (with ped and asterisk)")); pedal = makeElement(gpaletteScore); pedal->setLen(w); pedal->setBeginText(Pedal::PEDAL_SYMBOL); + pedal->setPropertyFlags(Pid::BEGIN_TEXT, PropertyFlags::UNSTYLED); pedal->setContinueText(QString("(%1)").arg(Pedal::PEDAL_SYMBOL)); + pedal->setPropertyFlags(Pid::CONTINUE_TEXT, PropertyFlags::UNSTYLED); pedal->setEndHookType(HookType::HOOK_90); sp->appendElement(pedal, QT_TRANSLATE_NOOP("palette", "Pedal (with ped and line)"));