updated the popup for configuring pedal lines
This commit is contained in:
parent
71e0d94b7c
commit
f814cd6bef
16 changed files with 175 additions and 72 deletions
|
@ -55,6 +55,9 @@ static const ElementStyle pedalStyle {
|
|||
{ Sid::pedalPosBelow, Pid::OFFSET },
|
||||
};
|
||||
|
||||
const QString Pedal::PEDAL_SYMBOL = "<sym>keyboardPedalPed</sym>";
|
||||
const QString Pedal::STAR_SYMBOL = "<sym>keyboardPedalUp</sym>";
|
||||
|
||||
PedalSegment::PedalSegment(Pedal* sp, System* parent)
|
||||
: TextLineBaseSegment(ElementType::PEDAL_SEGMENT, sp, parent, ElementFlag::MOVABLE | ElementFlag::ON_STAFF)
|
||||
{
|
||||
|
|
|
@ -58,6 +58,9 @@ protected:
|
|||
mu::PointF linePos(Grip, System**) const override;
|
||||
|
||||
public:
|
||||
static const QString PEDAL_SYMBOL;
|
||||
static const QString STAR_SYMBOL;
|
||||
|
||||
Pedal(EngravingItem* parent);
|
||||
|
||||
Pedal* clone() const override { return new Pedal(*this); }
|
||||
|
|
|
@ -1392,7 +1392,7 @@ static void readPedal114(XmlReader& e, const ReadContext& ctx, Pedal* pedal)
|
|||
e.unknown();
|
||||
}
|
||||
}
|
||||
pedal->setBeginText("<sym>keyboardPedalPed</sym>");
|
||||
pedal->setBeginText(Pedal::PEDAL_SYMBOL);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
|
|
|
@ -3107,7 +3107,7 @@ void MusicXMLParserDirection::pedal(const QString& type, const int /* number */,
|
|||
if (type == "start") {
|
||||
auto p = spdesc._isStopped ? toPedal(spdesc._sp) : new Pedal(_score->dummy());
|
||||
if (sign == "yes") {
|
||||
p->setBeginText("<sym>keyboardPedalPed</sym>");
|
||||
p->setBeginText(Pedal::PEDAL_SYMBOL);
|
||||
} else {
|
||||
p->setBeginHookType(HookType::HOOK_90);
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ HairpinLineSettingsModel::HairpinLineSettingsModel(QObject* parent, IElementRepo
|
|||
{ Ms::HookType::HOOK_90T, IconCode::LINE_WITH_T_LIKE_END_HOOK }
|
||||
};
|
||||
|
||||
setPossibleHookTypes(hookTypes);
|
||||
setPossibleEndHookTypes(hookTypes);
|
||||
|
||||
createProperties();
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ void LetRingSettingsModel::createProperties()
|
|||
{
|
||||
LineSettingsModel::createProperties();
|
||||
|
||||
beginingHookType()->setIsVisible(false);
|
||||
startHookType()->setIsVisible(false);
|
||||
endHookType()->setIsVisible(false);
|
||||
|
||||
beginingTextHorizontalOffset()->setIsVisible(false);
|
||||
|
|
|
@ -36,11 +36,13 @@ LineSettingsModel::LineSettingsModel(QObject* parent, IElementRepositoryService*
|
|||
|
||||
void LineSettingsModel::createProperties()
|
||||
{
|
||||
m_lineStyle = buildPropertyItem(Ms::Pid::LINE_STYLE, [this](const Ms::Pid pid, const QVariant& newValue) {
|
||||
auto applyPropertyValueAndUpdateAvailability = [this](const Ms::Pid pid, const QVariant& newValue) {
|
||||
onPropertyValueChanged(pid, newValue);
|
||||
|
||||
onUpdateLinePropertiesAvailability();
|
||||
});
|
||||
};
|
||||
|
||||
m_lineStyle = buildPropertyItem(Ms::Pid::LINE_STYLE, applyPropertyValueAndUpdateAvailability);
|
||||
m_isLineVisible = buildPropertyItem(Ms::Pid::LINE_VISIBLE, applyPropertyValueAndUpdateAvailability);
|
||||
|
||||
m_placement = buildPropertyItem(Ms::Pid::PLACEMENT);
|
||||
|
||||
|
@ -48,10 +50,9 @@ void LineSettingsModel::createProperties()
|
|||
m_dashLineLength = buildPropertyItem(Ms::Pid::DASH_LINE_LEN);
|
||||
m_dashGapLength = buildPropertyItem(Ms::Pid::DASH_GAP_LEN);
|
||||
|
||||
m_isLineVisible = buildPropertyItem(Ms::Pid::LINE_VISIBLE);
|
||||
m_allowDiagonal = buildPropertyItem(Ms::Pid::DIAGONAL);
|
||||
|
||||
m_beginingHookType = buildPropertyItem(Ms::Pid::BEGIN_HOOK_TYPE);
|
||||
m_startHookType = buildPropertyItem(Ms::Pid::BEGIN_HOOK_TYPE);
|
||||
m_endHookType = buildPropertyItem(Ms::Pid::END_HOOK_TYPE);
|
||||
m_hookHeight = buildPropertyItem(Ms::Pid::END_HOOK_HEIGHT);
|
||||
|
||||
|
@ -107,7 +108,7 @@ void LineSettingsModel::loadProperties()
|
|||
loadPropertyItem(m_isLineVisible);
|
||||
loadPropertyItem(m_allowDiagonal);
|
||||
|
||||
loadPropertyItem(m_beginingHookType);
|
||||
loadPropertyItem(m_startHookType);
|
||||
loadPropertyItem(m_endHookType);
|
||||
loadPropertyItem(m_hookHeight);
|
||||
|
||||
|
@ -148,7 +149,7 @@ void LineSettingsModel::resetProperties()
|
|||
m_dashGapLength,
|
||||
m_isLineVisible,
|
||||
m_allowDiagonal,
|
||||
m_beginingHookType,
|
||||
m_startHookType,
|
||||
m_endHookType,
|
||||
m_hookHeight,
|
||||
m_beginingText,
|
||||
|
@ -204,9 +205,9 @@ PropertyItem* LineSettingsModel::allowDiagonal() const
|
|||
return m_allowDiagonal;
|
||||
}
|
||||
|
||||
PropertyItem* LineSettingsModel::beginingHookType() const
|
||||
PropertyItem* LineSettingsModel::startHookType() const
|
||||
{
|
||||
return m_beginingHookType;
|
||||
return m_startHookType;
|
||||
}
|
||||
|
||||
PropertyItem* LineSettingsModel::endHookType() const
|
||||
|
@ -264,13 +265,23 @@ PropertyItem* LineSettingsModel::endTextVerticalOffset() const
|
|||
return m_endTextVerticalOffset;
|
||||
}
|
||||
|
||||
QVariantList LineSettingsModel::possibleStartHookTypes() const
|
||||
{
|
||||
return m_possibleStartHookTypes;
|
||||
}
|
||||
|
||||
QVariantList LineSettingsModel::possibleEndHookTypes() const
|
||||
{
|
||||
return m_possibleEndHookTypes;
|
||||
}
|
||||
|
||||
QVariantList LineSettingsModel::hookTypesToObjList(const QList<HookTypeInfo>& types) const
|
||||
{
|
||||
QVariantList result;
|
||||
|
||||
for (HookTypeInfo typeInfo : m_possibleHookTypes) {
|
||||
for (HookTypeInfo typeInfo : types) {
|
||||
QVariantMap obj;
|
||||
obj["value"] = static_cast<int>(typeInfo.type);
|
||||
obj["value"] = typeInfo.type;
|
||||
obj["iconCode"] = static_cast<int>(typeInfo.icon);
|
||||
|
||||
result << obj;
|
||||
|
@ -283,7 +294,7 @@ void LineSettingsModel::onUpdateLinePropertiesAvailability()
|
|||
{
|
||||
bool isLineAvailable = m_isLineVisible->value().toBool();
|
||||
|
||||
m_beginingHookType->setIsEnabled(isLineAvailable);
|
||||
m_startHookType->setIsEnabled(isLineAvailable);
|
||||
m_endHookType->setIsEnabled(isLineAvailable);
|
||||
m_thickness->setIsEnabled(isLineAvailable);
|
||||
m_hookHeight->setIsEnabled(isLineAvailable);
|
||||
|
@ -302,7 +313,12 @@ bool LineSettingsModel::isTextVisible(TextType type) const
|
|||
return type != TextType::EndText;
|
||||
}
|
||||
|
||||
void LineSettingsModel::setPossibleHookTypes(const QList<HookTypeInfo>& types)
|
||||
void LineSettingsModel::setPossibleStartHookTypes(const QList<HookTypeInfo>& types)
|
||||
{
|
||||
m_possibleHookTypes = types;
|
||||
m_possibleStartHookTypes = hookTypesToObjList(types);
|
||||
}
|
||||
|
||||
void LineSettingsModel::setPossibleEndHookTypes(const QList<HookTypeInfo>& types)
|
||||
{
|
||||
m_possibleEndHookTypes = hookTypesToObjList(types);
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ class LineSettingsModel : public AbstractInspectorModel
|
|||
Q_PROPERTY(PropertyItem * isLineVisible READ isLineVisible CONSTANT)
|
||||
Q_PROPERTY(PropertyItem * allowDiagonal READ allowDiagonal CONSTANT)
|
||||
|
||||
Q_PROPERTY(PropertyItem * beginingHookType READ beginingHookType CONSTANT)
|
||||
Q_PROPERTY(PropertyItem * startHookType READ startHookType CONSTANT)
|
||||
Q_PROPERTY(PropertyItem * endHookType READ endHookType CONSTANT)
|
||||
Q_PROPERTY(PropertyItem * hookHeight READ hookHeight CONSTANT)
|
||||
|
||||
|
@ -71,7 +71,7 @@ public:
|
|||
PropertyItem* isLineVisible() const;
|
||||
PropertyItem* allowDiagonal() const;
|
||||
|
||||
PropertyItem* beginingHookType() const;
|
||||
PropertyItem* startHookType() const;
|
||||
PropertyItem* endHookType() const;
|
||||
PropertyItem* hookHeight() const;
|
||||
|
||||
|
@ -87,6 +87,7 @@ public:
|
|||
PropertyItem* endTextHorizontalOffset() const;
|
||||
PropertyItem* endTextVerticalOffset() const;
|
||||
|
||||
Q_INVOKABLE QVariantList possibleStartHookTypes() const;
|
||||
Q_INVOKABLE QVariantList possibleEndHookTypes() const;
|
||||
|
||||
protected:
|
||||
|
@ -97,7 +98,17 @@ protected:
|
|||
};
|
||||
|
||||
struct HookTypeInfo {
|
||||
Ms::HookType type = Ms::HookType::NONE;
|
||||
HookTypeInfo(Ms::HookType type, ui::IconCode::Code icon)
|
||||
: type(static_cast<int>(type)), icon(icon)
|
||||
{
|
||||
}
|
||||
|
||||
HookTypeInfo(int type, ui::IconCode::Code icon)
|
||||
: type(type), icon(icon)
|
||||
{
|
||||
}
|
||||
|
||||
int type = 0;
|
||||
ui::IconCode::Code icon = ui::IconCode::Code::NONE;
|
||||
};
|
||||
|
||||
|
@ -106,12 +117,14 @@ protected:
|
|||
void resetProperties() override;
|
||||
|
||||
virtual void onUpdateLinePropertiesAvailability();
|
||||
|
||||
virtual bool isTextVisible(TextType type) const;
|
||||
|
||||
void setPossibleHookTypes(const QList<HookTypeInfo>& types);
|
||||
void setPossibleStartHookTypes(const QList<HookTypeInfo>& types);
|
||||
void setPossibleEndHookTypes(const QList<HookTypeInfo>& types);
|
||||
|
||||
private:
|
||||
QVariantList hookTypesToObjList(const QList<HookTypeInfo>& types) const;
|
||||
|
||||
PropertyItem* m_lineStyle = nullptr;
|
||||
PropertyItem* m_placement = nullptr;
|
||||
|
||||
|
@ -122,7 +135,7 @@ private:
|
|||
PropertyItem* m_isLineVisible = nullptr;
|
||||
PropertyItem* m_allowDiagonal = nullptr;
|
||||
|
||||
PropertyItem* m_beginingHookType = nullptr;
|
||||
PropertyItem* m_startHookType = nullptr;
|
||||
PropertyItem* m_endHookType = nullptr;
|
||||
PropertyItem* m_hookHeight = nullptr;
|
||||
|
||||
|
@ -138,7 +151,8 @@ private:
|
|||
PropertyItem* m_endTextHorizontalOffset = nullptr;
|
||||
PropertyItem* m_endTextVerticalOffset = nullptr;
|
||||
|
||||
QList<HookTypeInfo> m_possibleHookTypes;
|
||||
QVariantList m_possibleStartHookTypes;
|
||||
QVariantList m_possibleEndHookTypes;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ OttavaSettingsModel::OttavaSettingsModel(QObject* parent, IElementRepositoryServ
|
|||
{ Ms::HookType::HOOK_45, IconCode::LINE_WITH_ANGLED_END_HOOK }
|
||||
};
|
||||
|
||||
setPossibleHookTypes(hookTypes);
|
||||
setPossibleEndHookTypes(hookTypes);
|
||||
|
||||
createProperties();
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ void PalmMuteSettingsModel::createProperties()
|
|||
{
|
||||
LineSettingsModel::createProperties();
|
||||
|
||||
beginingHookType()->setIsVisible(false);
|
||||
startHookType()->setIsVisible(false);
|
||||
endHookType()->setIsVisible(false);
|
||||
|
||||
beginingTextHorizontalOffset()->setIsVisible(false);
|
||||
|
|
|
@ -22,13 +22,16 @@
|
|||
#include "pedalsettingsmodel.h"
|
||||
|
||||
#include "translation.h"
|
||||
|
||||
#include "ui/view/iconcodes.h"
|
||||
|
||||
#include "libmscore/pedal.h"
|
||||
|
||||
using namespace mu::inspector;
|
||||
|
||||
using IconCode = mu::ui::IconCode::Code;
|
||||
|
||||
static constexpr int HOOK_STAR = static_cast<int>(Ms::HookType::HOOK_90T) + 1;
|
||||
|
||||
PedalSettingsModel::PedalSettingsModel(QObject* parent, IElementRepositoryService* repository)
|
||||
: LineSettingsModel(parent, repository, Ms::ElementType::PEDAL)
|
||||
{
|
||||
|
@ -36,54 +39,102 @@ PedalSettingsModel::PedalSettingsModel(QObject* parent, IElementRepositoryServic
|
|||
setTitle(qtrc("inspector", "Pedal"));
|
||||
setIcon(ui::IconCode::Code::PEDAL_MARKING);
|
||||
|
||||
static const QList<HookTypeInfo> hookTypes {
|
||||
static const QList<HookTypeInfo> startHookTypes {
|
||||
{ Ms::HookType::NONE, IconCode::LINE_NORMAL },
|
||||
{ Ms::HookType::HOOK_45, IconCode::LINE_WITH_ANGLED_START_HOOK },
|
||||
{ Ms::HookType::HOOK_90T, IconCode::LINE_WITH_T_LINE_START_HOOK }
|
||||
};
|
||||
|
||||
setPossibleStartHookTypes(startHookTypes);
|
||||
|
||||
static const QList<HookTypeInfo> endHookTypes {
|
||||
{ Ms::HookType::NONE, IconCode::LINE_NORMAL },
|
||||
{ Ms::HookType::HOOK_90, IconCode::LINE_WITH_END_HOOK },
|
||||
{ Ms::HookType::HOOK_45, IconCode::LINE_WITH_ANGLED_END_HOOK },
|
||||
{ Ms::HookType::HOOK_90T, IconCode::LINE_PEDAL_STAR_ENDING }
|
||||
{ Ms::HookType::HOOK_90T, IconCode::LINE_WITH_T_LIKE_END_HOOK },
|
||||
{ HOOK_STAR, IconCode::LINE_PEDAL_STAR_ENDING }
|
||||
};
|
||||
|
||||
setPossibleHookTypes(hookTypes);
|
||||
setPossibleEndHookTypes(endHookTypes);
|
||||
|
||||
createProperties();
|
||||
}
|
||||
|
||||
PropertyItem* PedalSettingsModel::showPedalSymbol() const
|
||||
PropertyItem* PedalSettingsModel::lineType() const
|
||||
{
|
||||
return m_showPedalSymbol;
|
||||
return m_lineType;
|
||||
}
|
||||
|
||||
PropertyItem* PedalSettingsModel::showLineWithRosette() const
|
||||
bool PedalSettingsModel::pedalSymbolVisible() const
|
||||
{
|
||||
return m_showLineWithRosette;
|
||||
return beginingText()->value().toString() == Ms::Pedal::PEDAL_SYMBOL;
|
||||
}
|
||||
|
||||
bool PedalSettingsModel::showLineWithRosetteVisible() const
|
||||
bool PedalSettingsModel::isChangingLineVisibilityAllowed() const
|
||||
{
|
||||
return m_showLineWithRosetteVisible;
|
||||
return isStarSymbolVisible();
|
||||
}
|
||||
|
||||
bool PedalSettingsModel::isStarSymbolVisible() const
|
||||
{
|
||||
return endText()->value().toString() == Ms::Pedal::STAR_SYMBOL;
|
||||
}
|
||||
|
||||
void PedalSettingsModel::setPedalSymbolVisible(bool visible)
|
||||
{
|
||||
beginingText()->setValue(visible ? Ms::Pedal::PEDAL_SYMBOL : "");
|
||||
}
|
||||
|
||||
void PedalSettingsModel::createProperties()
|
||||
{
|
||||
LineSettingsModel::createProperties();
|
||||
|
||||
//! TODO: determine suitable properties
|
||||
m_showPedalSymbol = buildPropertyItem(Ms::Pid::SYMBOL);
|
||||
m_showLineWithRosette = buildPropertyItem(Ms::Pid::SYMBOL);
|
||||
connect(beginingText(), &PropertyItem::isModifiedChanged, this, [this]() {
|
||||
emit pedalSymbolVisibleChanged();
|
||||
});
|
||||
|
||||
connect(endText(), &PropertyItem::isModifiedChanged, this, [this]() {
|
||||
emit isChangingLineVisibilityAllowedChanged();
|
||||
});
|
||||
|
||||
m_lineType = buildPropertyItem(Ms::Pid::END, [this](const Ms::Pid, const QVariant& newValue) {
|
||||
setLineType(newValue.toInt());
|
||||
});
|
||||
}
|
||||
|
||||
void PedalSettingsModel::loadProperties()
|
||||
{
|
||||
LineSettingsModel::loadProperties();
|
||||
|
||||
loadPropertyItem(m_showPedalSymbol);
|
||||
loadPropertyItem(m_showLineWithRosette);
|
||||
m_lineType->setIsEnabled(true);
|
||||
|
||||
if (isStarSymbolVisible()) {
|
||||
m_lineType->setValue(HOOK_STAR);
|
||||
} else {
|
||||
m_lineType->setValue(endHookType()->value());
|
||||
}
|
||||
}
|
||||
|
||||
void PedalSettingsModel::resetProperties()
|
||||
void PedalSettingsModel::setLineType(int newType)
|
||||
{
|
||||
LineSettingsModel::resetProperties();
|
||||
bool rosetteHookSelected = (newType == HOOK_STAR);
|
||||
int hookType = newType;
|
||||
QString text = QString();
|
||||
|
||||
m_showPedalSymbol->resetToDefault();
|
||||
m_showLineWithRosette->resetToDefault();
|
||||
if (rosetteHookSelected) {
|
||||
hookType = static_cast<int>(Ms::HookType::NONE);
|
||||
text = Ms::Pedal::STAR_SYMBOL;
|
||||
startHookType()->setValue(hookType);
|
||||
}
|
||||
|
||||
endHookType()->setValue(hookType);
|
||||
endText()->setValue(text);
|
||||
isLineVisible()->setValue(!rosetteHookSelected);
|
||||
|
||||
m_lineType->setValue(newType);
|
||||
}
|
||||
|
||||
bool PedalSettingsModel::isTextVisible(TextType) const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -29,30 +29,34 @@ class PedalSettingsModel : public LineSettingsModel
|
|||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(PropertyItem * showPedalSymbol READ showPedalSymbol CONSTANT)
|
||||
Q_PROPERTY(PropertyItem * showLineWithRosette READ showLineWithRosette CONSTANT)
|
||||
|
||||
Q_PROPERTY(bool showLineWithRosetteVisible READ showLineWithRosetteVisible NOTIFY showLineWithRosetteVisibleChanged)
|
||||
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* showPedalSymbol() const;
|
||||
PropertyItem* showLineWithRosette() const;
|
||||
PropertyItem* lineType() const;
|
||||
bool pedalSymbolVisible() const;
|
||||
bool isChangingLineVisibilityAllowed() const;
|
||||
|
||||
bool showLineWithRosetteVisible() const;
|
||||
public slots:
|
||||
void setPedalSymbolVisible(bool visible);
|
||||
|
||||
signals:
|
||||
void showLineWithRosetteVisibleChanged();
|
||||
void pedalSymbolVisibleChanged();
|
||||
void isChangingLineVisibilityAllowedChanged();
|
||||
|
||||
private:
|
||||
bool isStarSymbolVisible() const;
|
||||
|
||||
void createProperties() override;
|
||||
void loadProperties() override;
|
||||
void resetProperties() override;
|
||||
bool isTextVisible(TextType type) const override;
|
||||
|
||||
PropertyItem* m_showPedalSymbol = nullptr;
|
||||
PropertyItem* m_showLineWithRosette = nullptr;
|
||||
bool m_showLineWithRosetteVisible = false;
|
||||
void setLineType(int newType);
|
||||
|
||||
PropertyItem* m_lineType = nullptr;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ VoltaSettingsModel::VoltaSettingsModel(QObject* parent, IElementRepositoryServic
|
|||
{ Ms::HookType::HOOK_90, IconCode::LINE_WITH_TWO_INVERTED_HOOKS },
|
||||
};
|
||||
|
||||
setPossibleHookTypes(hookTypes);
|
||||
setPossibleEndHookTypes(hookTypes);
|
||||
|
||||
createProperties();
|
||||
}
|
||||
|
|
|
@ -39,32 +39,35 @@ Column {
|
|||
spacing: 12
|
||||
|
||||
CheckBox {
|
||||
isIndeterminate: root.model && root.model.showPedalSymbol.isUndefined
|
||||
checked: root.model && !isIndeterminate && root.model.showPedalSymbol.value
|
||||
checked: root.model && root.model.pedalSymbolVisible
|
||||
|
||||
text: qsTrc("inspector", "Show pedal symbol")
|
||||
|
||||
onClicked: {
|
||||
root.model.showPedalSymbol.value = !checked
|
||||
root.model.pedalSymbolVisible = !checked
|
||||
}
|
||||
}
|
||||
|
||||
LineTypeSection {
|
||||
endHookType: root.model ? root.model.endHookType : null
|
||||
startHookType: root.model ? root.model.startHookType : null
|
||||
endHookType: root.model ? root.model.lineType : null
|
||||
|
||||
thickness: root.model ? root.model.thickness : null
|
||||
hookHeight: root.model ? root.model.hookHeight : null
|
||||
|
||||
possibleStartHookTypes: root.model ? root.model.possibleStartHookTypes() : null
|
||||
possibleEndHookTypes: root.model ? root.model.possibleEndHookTypes() : null
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
isIndeterminate: root.model && root.model.showLineWithRosette.isUndefined
|
||||
checked: root.model && !isIndeterminate && root.model.showLineWithRosette.value
|
||||
visible: root.model & root.model.showLineWithRosetteVisible
|
||||
isIndeterminate: root.model && root.model.isLineVisible.isUndefined
|
||||
checked: root.model && !isIndeterminate && root.model.isLineVisible.value
|
||||
visible: root.model && root.model.isChangingLineVisibilityAllowed
|
||||
|
||||
text: qsTrc("inspector", "Show line with rosette")
|
||||
|
||||
onClicked: {
|
||||
root.model.showLineWithRosette.value = !checked
|
||||
root.model.isLineVisible.value = !checked
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -32,10 +32,12 @@ import "../../../common"
|
|||
Column {
|
||||
id: root
|
||||
|
||||
property PropertyItem startHookType: null
|
||||
property PropertyItem endHookType: null
|
||||
property PropertyItem thickness: null
|
||||
property PropertyItem hookHeight: null
|
||||
|
||||
property alias possibleStartHookTypes: startHookButtonGroup.model
|
||||
property alias possibleEndHookTypes: lineTypeButtonGroup.model
|
||||
|
||||
width: parent.width
|
||||
|
@ -49,6 +51,13 @@ Column {
|
|||
propertyItem: root.endHookType
|
||||
}
|
||||
|
||||
FlatRadioButtonGroupPropertyView {
|
||||
id: startHookButtonGroup
|
||||
|
||||
titleText: qsTrc("inspector", "Start hook")
|
||||
propertyItem: root.startHookType
|
||||
}
|
||||
|
||||
Item {
|
||||
height: childrenRect.height
|
||||
width: parent.width
|
||||
|
|
|
@ -1042,16 +1042,16 @@ PalettePtr PaletteCreator::newLinesPalette()
|
|||
|
||||
auto pedal = makeElement<Pedal>(gpaletteScore);
|
||||
pedal->setLen(w);
|
||||
pedal->setBeginText("<sym>keyboardPedalPed</sym>");
|
||||
pedal->setContinueText("(<sym>keyboardPedalPed</sym>)");
|
||||
pedal->setBeginText(Pedal::PEDAL_SYMBOL);
|
||||
pedal->setContinueText(QString("(%1)").arg(Pedal::PEDAL_SYMBOL));
|
||||
pedal->setEndHookType(HookType::HOOK_90);
|
||||
sp->appendElement(pedal, QT_TRANSLATE_NOOP("palette", "Pedal (with ped and line)"));
|
||||
|
||||
pedal = makeElement<Pedal>(gpaletteScore);
|
||||
pedal->setLen(w);
|
||||
pedal->setBeginText("<sym>keyboardPedalPed</sym>");
|
||||
pedal->setContinueText("(<sym>keyboardPedalPed</sym>)");
|
||||
pedal->setEndText("<sym>keyboardPedalUp</sym>");
|
||||
pedal->setBeginText(Pedal::PEDAL_SYMBOL);
|
||||
pedal->setContinueText(QString("(%1)").arg(Pedal::PEDAL_SYMBOL));
|
||||
pedal->setEndText(Pedal::STAR_SYMBOL);
|
||||
pedal->setLineVisible(false);
|
||||
sp->appendElement(pedal, QT_TRANSLATE_NOOP("palette", "Pedal (with ped and asterisk)"));
|
||||
|
||||
|
|
Loading…
Reference in a new issue