Note Groups UI increase Mouse Click region size for each note

• Feb 18, 2017 - 14:10
Reported version
2.1
Type
Graphical (UI)
Severity
S5 - Suggestion
Status
PR created
Project

It is a little hard to click or drop exactly on the note head when changing beam properties for the Note Groups UI. I'd like to widen the acceptable zone from just the notehead into the rectangle containing the notehead+stem.


Comments

note: I think would have to modify ExampleView::dropEvent() and ExampleView::mousePressEvent() to search through all chord rests by x position, and find closest to the event. If there is a simpler way, then let me know.

The drag and drop of the beam properties is not intuitive at all. It's fine if that's an option. What I expected when I first saw the dialog box was to either click one of the 8th notes (for example) then double click a beam property and it be applied, or the other way around. Click the beam property then double click the sample note to apply the property. The first option seems more intuitive to me. This also make the function consistent with what happens when using palettes.

I agree the drag and drop is not intuitive. But I think you need to make a separate issue for what you are describing, so we don't get confused keeping track of the issues. Please do so, and I'll second (I was actually going to make such an feature request myself, but I was too busy with some other issues).

I think better to have it work such if click a beam property, that beam property will be selected, and then when click on a note with a selected beam property, will toggle that note with that beam property. I don't think we can do it the other way around - click the note first then click the beam property - because we already have specific desired behavior for clicking on a note without doing anything, which is to toggle that note with start beam property. So maybe what I say is that Start Beam Property should be the default selected property. (and I guess clicking a note that already has the same property as in the selected property cell should toggle that back into the default of beamed L+R).

The size of the click zone is a more general problem than just the note groups dialogs. It applies to clicking notes in scores as well. There was a (rather heated) discussion of this in forums a while ago - see https://musescore.org/en/node/106121. I actually did try implementing something to improve this, see https://github.com/musescore/MuseScore/pull/2622. This PR actually makes two tweaks - one changing the click zone, the other providing a way to select elements that are overlapped by others. Didn't get much (any) discussion, but you might want to look at what I did and see if it either applies to the note groups already or could be adapted to do so, and then maybe see about combing these.

I've compiled you're PR and tested it and and added a comment (basically I said instead of having to press Ctrl before clicking, I say just have regular click be smarter and select the next element in the stack if on is already selected.) I found your PR to be very useful when I stacked a bunch of text/chordsymbols/dynamics elements ontop of eachother.

But actually that PR is not going to help out for my OP issue. The reason is that your PR only helps out selecting elements that have their ink overlapping. But the problem here is not that it is hard to isolate the note head from the stem, but rather that the notehead is too small (especially without any zoom ability in the ExampleView), so it is a bit hard to position mouse cursor over notehead itself anyway. Anyway, they way that I'm thinking of fixing my OP issue here is to have some special selection override for each view in note_groups.ui which would basically divide the selection region for each note based on the x midpoint between subsequent noteheads, and then have the entire y range for each zone. So basically the area in between each blue line would select a different note's beam property:

note_groups_UI_selection-zones.png

I'll skim over that discussion you linked to now...very heated indeed!

Title Note Groups UI increase MouseEvent & Drop event region size for triggering each note Alt-Clicking on region near ChordRest will select entire ChordRest

I read a bit of that discussion but stopped. I'm having hte idea now that could solve both problems by having a special keyboard modifier (maybe "Alt") that when you Alt-Click anywhere in the region I described that it will select the entire ChordRest. (And I likewise if dropping an object like beam property and hold Alt, then I would say that would hopefully tell the chord rest to use that beam property.) Then people will just have to learn to Alt-Click or Drop while holding Alt.

Title Alt-Clicking on region near ChordRest will select entire ChordRest Note Groups UI increase MouseEvent & Drop event region size for triggering each note

Never mind Comment #7...reverting title.

Actually I'm refining #175031: in Note Groups UI make palette selectable, then click notes to toggle between selected beam property and auto and have basically implemented functions to find the nearest notehead horizontally, and having that work for clicking and mouseover and dropping...

Title Note Groups UI increase MouseEvent & Drop event region size for triggering each note Note Groups UI increase Mouse Click region size for each note

I couldn't find easy way to increase the DropEvent mouse region size. I only implemented increasing region for Mouse Click.