restrict drag for all text elements to page boundaries

• Mar 16, 2017 - 03:39
Reported version
2.2
Type
Functional
Severity
S4 - Minor
Status
closed
Project

This is present in both 2.1-dev 13d7332 and 3.0-dev 72ab8cb

There is this commit from April 2015: https://github.com/musescore/MuseScore/commit/c2f2dcdaa9619bf0883634c61…

That commit is titled "restrict text drag to page boundaries". That line says:

if (type() == Type::TEXT) {         // TODO: check for other types

So it works ONLY for the the specific case of plain Text elements (but doesn't include things like system text, staff text, chord symbols, and all other classes derived from class Text). I think it should apply to all classes derived from Text. So I'm suggesting it be changed to:

if (isText()) {

Comments

I'm looking at the comment "TODO: check for other types" and I'm wondering if this should even apply to more than just text. I'm trying to imagine a situation where user would deliberately want to drag an element off the page boundaries. I should note that elements basically get "lost" when drag elements outside of range in page view (you would have to switch to Continuous or Single Page View in order to find the lost elements).

Now I can imagine that sometimes user might temporarily have some elements straddle the edge of the page while trying to make space to move another element to where that element previous was. Or maybe is really tight on space and so need to push some parts of elements out of the margin.

It seems most common usage user would not want elements dangling off the side of the page. (Maybe there could be an option in preferences which would by default enforce page boundaries which could be disabled. But probably simplest to just enforce page boundaries).

But regardless, I think all text elements should stay on their page.

Status (old) patch (code needs review) fixed

Fixed in branch master, commit 60b1b912e4

fix #181671 restrict all Text drag to Page Boundaries

Previously only restriced drag to elements of class Text, but not their derived classes such as Staff Text, Chord Text, System Text, etc.

Status (old) active fixed

Fixed in branch 2.1, commit 858a1058f5

fix #181671 restrict all Text drag to Page Boundaries

Previously only restriced drag to elements of class Text, but not their derived classes such as Staff Text, Chord Text, System Text, etc.