Toolbar customization refinements & fixes (including customize page view / zoom element)

• May 14, 2019 - 23:07
Reported version
3.0
Type
Ergonomical (UX)
Severity
S5 - Suggestion
Reproducibility
Always
Status
PR created
Regression
No
Workaround
No
Project

At the moment it's not possible to customise the Page View element of the File Operations toolbar. I accidentally discovered this when, err, trying to customise my ToolBar. I wanted to get rid of everything but the Page View element. (And it turns around that for this ONE case there's a workaround - removed everything else form the File Operations toolbar and then you've just got Page View.) But, from user point of view, it's an odd limitation. It would seem reasonable to want to do something like this:

Screenshot 2019-05-14 at 22.25.42.png

I've had a look at the code to do a proof of concept. The reason that Page View element wasn't made customisable in the first place is because unlike everything else on the ToolBar its not a button (a QTButton) - rather it's two drop down boxes (QComboBox x 2) next to each other. So it's an exception and the code treats it as such.

I've modified the code to make the exception a bit smarter and so I can successfully customise the Toolbar as per this suggestion - which is how I created the screenshots here.

I've not yet figured out a coherent way to prevent my fix from zapping the Page View element form the Basic and Advanced toolbar, something that would be a less than desirable outcome. (Can any devs point me in the right direction and save me digging around too much? Appreciated if you can :).)

If I can sort that out and create/select an icon for use in the customise toolbar dialogue then I can generate a PR for this. (Or, if it's acceptable etiquette, put my work in progress PR up??)

While looking into this I also spotted a couple of minor issues with the toolbar customisation:

  1. It appears that SPACERS are not saved when modifying the toolbar. They appear when you customise but are then lost if you change workspace and go back.

  2. The terms used in the customisation dialogue are internal text strings. So all lower case with dashes. Not very user friendly. And they don't respect translation. (Or is it that they do nut they just haven't been translated yet... I don't understand the translation mechanism very well as yet.)

  3. The UI could do with a bit of attention, not least obvious things like the customisation dialogue box having a less zany title than "Dialogue". Possibly more controversial would be swapping the order of the columns to Toolbar: Available Actions: Actions - that's a much more common (near universal??) ordering for such things and follows a more general principle of going from less to more specific.

    Screenshot 2019-05-14 at 23.01.03.png


Comments

In reply to by kacattac

The Concert Pitch toolbar element is treated as separate toolbar which has only one element. So, in a sense, it as customizable as any other toolbar item in that you can set up a custom workspace so that the SHOW or HIDE setting for the toolbar is linked to the workspace. So in my custom workspace, for example, the Concert Pitch button is not shown when I switch to it as I don't do anything with transposing instruments and don't want to see it. (Albeit it, unlike with the other toolbar items it is show-able, because the Toolbars menu lets me switch it on without going into a customizing dialogue box.)

That said, once you get to the Customize Toolbars dialogue boxes there is no sign of it and that might be confusing. In addition, in order for a custom workspace to "remember" the Concert Pitch showing / not showing you have to make sure you check GUI Components option in the Edit Workspace dialogue. (The check boxes in the Edit Workspace dialogue are, arguably, not all that easy to understand. And, indeed, the Menu Bar one doesn't actually do anything - at least according to the docs.)

It would be possible to make the Concert Pitch button part of an another toolbar - not sure which one though. (Maybe a new one that could collect up Image Capture, Feedback and Concert pitch???) In that way a Workspace could be customised so that the button would never show unless an explicit customization to hide it was reversed. On that scenario that button could be HIDDEN in the Basic Workspace and SHOWN in the Advanced Workspace. That might - I'm not sure - address some (though by no means all) of the concerns that are under discussion at https://musescore.org/en/node/283120. That is, given that the Concert Pitch button can confuse some users, it might be a good thing to not expose it when in the Basic (good for new users) Workspace.

Concert Pitch A.png
Concert Pitch B.png

Thanks for the great explanation. I'm an idiot and had forgotten that you can drag/drop entire toolbars to change their locations in relation to each other; that's all I wanted to do. Having rediscovered that, leaving Concert Pitch as the only element in its own toolbar is essential and I wouldn't want or need to change that. The second paragraph of your reply does indeed capture some of my confusion; there is also the fact that relocating elements within the toolbars is handled via a completely different avenue than relocating entire toolbars.

It seems that the leftmost toolbar anchors itself to the left of the window? It would be nice to be able to center the whole assemblage when there are only a few things shown. I also cannot seem to drag/drop horizontally out of this leftmost position; rather, I have to drag the leftmost toolbar up or down before I can move it to the right.

In reply to by kacattac

I think the anchoring of the leftmost toolbar is a fixed behaviour that's provide by QT. I think with re-ordering you always have to drag up or down bit, otherwise it just thinks you are trying to stretch the toolbar. That is, I don't think this is special to the left most. I get what you mean about centring or similar if you only have a few items. Some toolbars, e.g. native MacOS, provide a flexible space item that allows for this sort effect, but not it seems QT.