- tick names a position on the time axis
- tick is always a Fraction()
- only Measure() and Segment() (and Tuplet?) have a tick value
- tick() for an generic element return only a sensible value if isMeasure() or isSegment() or isSegment(parent())
- "ticks" names a duration stored in a Fraction()
- the tick value for an Segment is relative to its measure
- rename "duration" to "ticks"
- rename afrac() to tick()
- rename rfrac() to rtick()
- rename some variables, changing "fraction" into "tick"
(example: actualFraction() into actualTicks())
- Lyrics ticks are written as Fraction, on read if xmlreader sees a "/" it reads a fraction
else midi ticks for backwards compatibility
- replace properties "BOLD ITALIC UNDERLINE" by one property FONT_STYLE
- if text is custom fomatted (has size/fontface changes, contains parts in bold/italic etc.
then the appropriate property values are set to "unstyled". This enables the reset button
in the inspector.
- pressing reset for some text properties strips changes of this property in the text
Example: text contains a part in italic: pressing reset removes the italic formatting
- the "remove custom formatting" button is only enabled if there is some custom formatting
Error was that we need always call element::layout() method. Otherwise position of elements are (0.0 0.0). And painter doesn't draw elements with this position.
And now layout() is called for both visible and invisible elements, but invisible ones don't participate in autoplacement operations, so there is neither performance impact nor invisible elements autoplacement.
This leads to invisible elements collision if you switch visibility, but it is expected I believe, since we position elements for printing, but invisible elements are for playback.
see also PR #2586, at least "Custom" should get translated (by changing
`"Custom"` to `QT_TRANSLATE_NOOP("paperSizes", "Custom")` in
libmscore/page.cpp, line 39, but I don't want to collide with that other
PR).
While at it, fix a missing translation for jumpType and minor formatting
issues and simplify the for loops over paperSizes.