Add Measure Number element to palettes
This commit is contained in:
parent
414808fdb2
commit
316360b3a4
4 changed files with 34 additions and 11 deletions
|
@ -98,7 +98,7 @@ void Score::getSelectedChordRest2(ChordRest** cr1, ChordRest** cr2) const
|
|||
{
|
||||
*cr1 = 0;
|
||||
*cr2 = 0;
|
||||
foreach(Element* e, selection().elements()) {
|
||||
for (Element* e : selection().elements()) {
|
||||
if (e->isNote())
|
||||
e = e->parent();
|
||||
if (e->isChordRest()) {
|
||||
|
@ -1894,7 +1894,7 @@ void Score::deleteItem(Element* el)
|
|||
if (m->isMMRest()) {
|
||||
// propagate to original measure
|
||||
m = m->mmRestLast();
|
||||
foreach(Element* e, m->el()) {
|
||||
for (Element* e : m->el()) {
|
||||
if (e->isLayoutBreak()) {
|
||||
undoRemoveElement(e);
|
||||
break;
|
||||
|
@ -2752,7 +2752,7 @@ void Score::colorItem(Element* element)
|
|||
if (!c.isValid())
|
||||
return;
|
||||
|
||||
foreach(Element* e, selection().elements()) {
|
||||
for (Element* e : selection().elements()) {
|
||||
if (e->color() != c) {
|
||||
e->undoChangeProperty(Pid::COLOR, c);
|
||||
e->setGenerated(false);
|
||||
|
@ -4356,6 +4356,9 @@ void Score::undoAddElement(Element* element)
|
|||
ne->setParent(m);
|
||||
undo(new AddElement(ne));
|
||||
}
|
||||
else if (et == ElementType::MEASURE_NUMBER) {
|
||||
toMeasure(element->parent())->undoChangeProperty(Pid::MEASURE_NUMBER_MODE, static_cast<int>(MeasureNumberMode::SHOW));
|
||||
}
|
||||
else {
|
||||
Segment* segment = toSegment(element->parent());
|
||||
Fraction tick = segment->tick();
|
||||
|
@ -4472,7 +4475,7 @@ void Score::undoAddElement(Element* element)
|
|||
return;
|
||||
}
|
||||
|
||||
foreach (Staff* staff, ostaff->staffList()) {
|
||||
for (Staff* staff : ostaff->staffList()) {
|
||||
Score* score = staff->score();
|
||||
int staffIdx = staff->idx();
|
||||
|
||||
|
|
|
@ -1343,6 +1343,10 @@ bool Measure::acceptDrop(EditData& data) const
|
|||
viewer->setDropRectangle(canvasBoundingRect());
|
||||
return true;
|
||||
|
||||
case ElementType::MEASURE_NUMBER:
|
||||
viewer->setDropRectangle(canvasBoundingRect());
|
||||
return true;
|
||||
|
||||
case ElementType::BRACKET:
|
||||
case ElementType::REPEAT_MEASURE:
|
||||
case ElementType::MEASURE:
|
||||
|
@ -1432,6 +1436,11 @@ Element* Measure::drop(EditData& data)
|
|||
score()->undoAddElement(e);
|
||||
return e;
|
||||
|
||||
case ElementType::MEASURE_NUMBER:
|
||||
undoChangeProperty(Pid::MEASURE_NUMBER_MODE, static_cast<int>(MeasureNumberMode::SHOW));
|
||||
delete e;
|
||||
break;
|
||||
|
||||
case ElementType::BRACKET:
|
||||
{
|
||||
Bracket* b = toBracket(e);
|
||||
|
@ -1448,7 +1457,7 @@ Element* Measure::drop(EditData& data)
|
|||
score()->undoAddBracket(staff, level, b->bracketType(), 1);
|
||||
delete b;
|
||||
}
|
||||
return 0;
|
||||
break;
|
||||
|
||||
case ElementType::CLEF:
|
||||
score()->undoChangeClef(staff, this, toClef(e)->clefType());
|
||||
|
@ -1475,7 +1484,7 @@ Element* Measure::drop(EditData& data)
|
|||
|
||||
case ElementType::TIMESIG:
|
||||
score()->cmdAddTimeSig(this, staffIdx, toTimeSig(e), data.modifiers & Qt::ControlModifier);
|
||||
return 0;
|
||||
break;
|
||||
|
||||
case ElementType::LAYOUT_BREAK: {
|
||||
LayoutBreak* b = toLayoutBreak(e);
|
||||
|
@ -1844,7 +1853,7 @@ void Measure::adjustToLen(Fraction nf, bool appendRestsIfNecessary)
|
|||
//
|
||||
// CHECK: do not remove all slurs
|
||||
//
|
||||
foreach (Element* e, m->el()) {
|
||||
for (Element* e : m->el()) {
|
||||
if (e->isSlur())
|
||||
s->undoRemoveElement(e);
|
||||
}
|
||||
|
@ -3012,7 +3021,7 @@ Measure* Measure::cloneMeasure(Score* sc, const Fraction& tick, TieMap* tieMap)
|
|||
s->add(ne);
|
||||
}
|
||||
}
|
||||
foreach(Element* e, el()) {
|
||||
for (Element* e : el()) {
|
||||
Element* ne = e->clone();
|
||||
ne->setScore(sc);
|
||||
ne->setOffset(e->offset());
|
||||
|
@ -4403,4 +4412,3 @@ void Measure::computeMinWidth()
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -361,6 +361,7 @@ void ScoreView::dragMoveEvent(QDragMoveEvent* event)
|
|||
case ElementType::ARPEGGIO:
|
||||
case ElementType::BREATH:
|
||||
case ElementType::GLISSANDO:
|
||||
case ElementType::MEASURE_NUMBER:
|
||||
case ElementType::BRACKET:
|
||||
case ElementType::ARTICULATION:
|
||||
case ElementType::FERMATA:
|
||||
|
@ -506,6 +507,7 @@ void ScoreView::dropEvent(QDropEvent* event)
|
|||
case ElementType::ARPEGGIO:
|
||||
case ElementType::BREATH:
|
||||
case ElementType::GLISSANDO:
|
||||
case ElementType::MEASURE_NUMBER:
|
||||
case ElementType::BRACKET:
|
||||
case ElementType::ARTICULATION:
|
||||
case ElementType::FERMATA:
|
||||
|
@ -547,7 +549,7 @@ void ScoreView::dropEvent(QDropEvent* event)
|
|||
}
|
||||
_score->addRefresh(el->canvasBoundingRect());
|
||||
|
||||
// HACK ALERT!
|
||||
// TODO: HACK ALERT!
|
||||
if (el->isMeasure() && editData.dropElement->isLayoutBreak()) {
|
||||
Measure* m = toMeasure(el);
|
||||
if (m->isMMRest())
|
||||
|
@ -680,5 +682,5 @@ bool ScoreView::dropCanvas(Element* e)
|
|||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace Ms
|
||||
|
||||
|
|
|
@ -83,6 +83,7 @@
|
|||
#include "libmscore/vibrato.h"
|
||||
#include "libmscore/palmmute.h"
|
||||
#include "libmscore/fermata.h"
|
||||
#include "libmscore/measurenumber.h"
|
||||
|
||||
#include "palette/palettetree.h"
|
||||
#include "palette/palettewidget.h"
|
||||
|
@ -1607,6 +1608,15 @@ PalettePanel* MuseScore::newTextPalettePanel(bool defaultPalettePanel)
|
|||
stxt->setXmlText(QT_TRANSLATE_NOOP("Palette", "System Text"));
|
||||
sp->append(stxt, QT_TRANSLATE_NOOP("Palette", "System text"))->setElementTranslated(true);
|
||||
|
||||
// Measure numbers, unlike other elements (but like most text elements),
|
||||
// are not copied directly into the score when drop.
|
||||
// Instead, they simply set the corresponding measure's MeasureNumberMode to SHOW
|
||||
// Because of that, the element shown in the palettes does not have to have any particular formatting.
|
||||
MeasureNumber* meaNum = new MeasureNumber(gscore);
|
||||
meaNum->setProperty(Pid::SUB_STYLE, int(Tid::STAFF)); // Make the element bigger in the palettes (using the default measure number style makes it too small)
|
||||
meaNum->setXmlText(QT_TRANSLATE_NOOP("Palette", "Measure Number"));
|
||||
sp->append(meaNum, QT_TRANSLATE_NOOP("Palette", "Measure Number"))->setElementTranslated(true);
|
||||
|
||||
if (!defaultPalettePanel) {
|
||||
StaffText* pz = new StaffText(gscore);
|
||||
pz->setXmlText(QT_TRANSLATE_NOOP("Palette", "pizz."));
|
||||
|
|
Loading…
Reference in a new issue