Fixing PopUpMenu behaviour
|Reported by:||Pete||Owned by:||leavengood|
This patch implements what I think is the consensus on the preferred PopUpMenu behaviour in response to various mouse actions. It is not subject to the constraints of #7022, which doesn't work correctly when, for example, the desired menu position is not exactly at the click point. It works as follows:
A (secondary) mouse click in the menu activation area (e.g. View) holds the menu open until the next click, whether the mouse-up is outside or inside the menu itself.
A slower press and release will always close the menu, selecting and returning any item the cursor is over at the time.
This now works wherever the menu is designed (or happens) to appear. There is no need to constrain default 'openAlways' or 'clickToOpenRect' settings, which however may be used as always to modify the default.
It distinguishes between a "click" and a "press" via the double-click_speed user preference (which is how BeOS also distinguishes them.