fix #106341 Setting grand staff distance and shoft+drag no longer works

This commit is contained in:
werner 2016-08-23 16:39:27 +02:00
parent 9843867331
commit 966fe2dad5
4 changed files with 12 additions and 6 deletions

View file

@ -1205,8 +1205,9 @@ void Score::layoutSpanner()
for (int i = 0; i < n; ++i)
segment->annotations().at(i)->layout();
}
Chord* c = toChord(segment->element(track));
if (c && c->isChord()) {
Element* e = segment->element(track);
if (e && e->isChord()) {
Chord* c = toChord(segment->element(track));
c->layoutStem();
for (Note* n : c->notes()) {
Tie* tie = n->tieFor();
@ -3602,6 +3603,8 @@ bool Score::collectPage(LayoutContext& lc)
distance = vbox ? vbox->topGap() : sub;
distance = qMax(distance, -s2->minTop());
}
distance += _staves.front()->userDist();
y += distance;
s2->setPos(page->lm(), y);
page->appendSystem(s2);

View file

@ -95,10 +95,10 @@ struct SwingParameters {
class Staff : public QObject, public ScoreElement {
Q_OBJECT
public:
public:
enum class HideMode { AUTO, ALWAYS, NEVER, INSTRUMENT };
private:
private:
Part* _part { 0 };
ClefList clefs;

View file

@ -386,6 +386,7 @@ void System::layout2()
dist += staffDistance;
break;
}
dist += score()->staff(si2)->userDist();
for (MeasureBase* mb : ml) {
if (!mb->isMeasure())

View file

@ -93,8 +93,10 @@ void ScoreView::doDragElement(QMouseEvent* ev)
dragStaff->setUserDist(dist);
data.startMove += delta;
//TODO-ws _score->doLayoutSystems();
_score->layoutSpanner();
update();
// _score->layoutSpanner();
_score->setLayoutAll();
_score->update();
// update();
loopUpdate(getAction("loop")->isChecked());
}
return;