fix #280885: Re-instate persistence of "First page number" setting
This commit is contained in:
parent
6a49257937
commit
5a3d59f8e3
7 changed files with 44 additions and 0 deletions
|
@ -3434,6 +3434,15 @@ void Score::undoChangeStyleVal(Sid idx, const QVariant& v)
|
|||
undo(new ChangeStyleVal(this, idx, v));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// undoChangePageNumberOffset
|
||||
//---------------------------------------------------------
|
||||
|
||||
void Score::undoChangePageNumberOffset(int po)
|
||||
{
|
||||
undo(new ChangePageNumberOffset(this, po));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// undoChangeElement
|
||||
//---------------------------------------------------------
|
||||
|
|
|
@ -3599,6 +3599,8 @@ static bool readScore(Score* score, XmlReader& e)
|
|||
score->setCurrentLayer(e.readInt());
|
||||
else if (tag == "Synthesizer")
|
||||
score->synthesizerState().read(e);
|
||||
else if (tag == "page-offset")
|
||||
score->setPageNumberOffset(e.readInt());
|
||||
else if (tag == "Division")
|
||||
score->setFileDivision(e.readInt());
|
||||
else if (tag == "showInvisible")
|
||||
|
|
|
@ -79,6 +79,8 @@ bool Score::read(XmlReader& e)
|
|||
_currentLayer = e.readInt();
|
||||
else if (tag == "Synthesizer")
|
||||
_synthesizerState.read(e);
|
||||
else if (tag == "page-offset")
|
||||
_pageNumberOffset = e.readInt();
|
||||
else if (tag == "Division")
|
||||
_fileDivision = e.readInt();
|
||||
else if (tag == "showInvisible")
|
||||
|
|
|
@ -629,6 +629,7 @@ class Score : public QObject, public ScoreElement {
|
|||
void undoRemoveBracket(Bracket*);
|
||||
void undoInsertTime(int tick, int len);
|
||||
void undoChangeStyleVal(Sid idx, const QVariant& v);
|
||||
void undoChangePageNumberOffset(int po);
|
||||
|
||||
Note* setGraceNote(Chord*, int pitch, NoteType type, int len);
|
||||
|
||||
|
|
|
@ -1508,6 +1508,20 @@ void ChangeStyleVal::flip(EditData*)
|
|||
value = v;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// ChangePageNumberOffset::flip
|
||||
//---------------------------------------------------------
|
||||
|
||||
void ChangePageNumberOffset::flip(EditData*)
|
||||
{
|
||||
int po = score->pageNumberOffset();
|
||||
|
||||
score->setPageNumberOffset(pageOffset);
|
||||
score->setLayoutAll();
|
||||
|
||||
pageOffset = po;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// ChangeChordStaffMove
|
||||
//---------------------------------------------------------
|
||||
|
|
|
@ -652,6 +652,21 @@ class ChangeStyleVal : public UndoCommand {
|
|||
UNDO_NAME("ChangeStyleVal")
|
||||
};
|
||||
|
||||
//---------------------------------------------------------
|
||||
// ChangePageNumberOffset
|
||||
//---------------------------------------------------------
|
||||
|
||||
class ChangePageNumberOffset : public UndoCommand {
|
||||
Score* score;
|
||||
int pageOffset;
|
||||
|
||||
void flip(EditData*) override;
|
||||
|
||||
public:
|
||||
ChangePageNumberOffset(Score* s, int po) : score(s), pageOffset(po) {}
|
||||
UNDO_NAME("ChangePageNumberOffset")
|
||||
};
|
||||
|
||||
//---------------------------------------------------------
|
||||
// ChangeChordStaffMove
|
||||
//---------------------------------------------------------
|
||||
|
|
|
@ -305,6 +305,7 @@ void PageSettings::applyToScore(Score* s)
|
|||
s->undoChangeStyleVal(Sid::pageOddLeftMargin, oddPageLeftMargin->value() * f);
|
||||
s->undoChangeStyleVal(Sid::pageTwosided, twosided->isChecked());
|
||||
s->undoChangeStyleVal(Sid::spatium, spatiumEntry->value() * f1);
|
||||
s->undoChangePageNumberOffset(pageOffsetEntry->value() - 1);
|
||||
|
||||
s->endCmd();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue