surge-synthesizer / surge

Synthesizer plug-in (previously released as Vember Audio Surge)
https://surge-synthesizer.github.io/
GNU General Public License v3.0
3.12k stars 399 forks source link

Right-click a context menu option to select it without closing the menu #2463

Open VincyZed opened 4 years ago

VincyZed commented 4 years ago

We chatted a bit about this in the past, and I believe that it was difficult to do with VSTGUI, but I'll stick it in here in case it becomes more feasible in the future.

It would be very convenient to be able to right-click on a context-menu option for it to not close when selecting an option. This would be really useful for places like the Portamento context menu, where you could just configure all of its options in one go without re-opening it for every change.

FL Studio has this at some places for instance, and it's a really small detail that makes a big difference.

mkruselj commented 4 years ago

I am not sure this can be done in VSTGUI at all.

mkruselj commented 3 years ago

...but maybe JUCE?

mkruselj commented 2 years ago

@VincyZed I reckon this sort of behavior is not required in each and every context menu, right? Might not be a bad idea to have a list of context menus where this would be applicable.

mkruselj commented 2 years ago

Looking at PopupMenu JUCE class, it doesn't seem menus in JUCE can know about mouse buttons etc. So maybe this FR is really not feasible in the end, after all? Am I reading it right, @baconpaul?

EDIT: Or maybe it needs to be a custom component? Those seem to have a mouse listener and relevant mouseDown etc. methods.

VincyZed commented 2 years ago

Sorry, late reply, but about the comment you made last December, I can't think of any context menu where someone would not want to be able to do this.

mkruselj commented 2 years ago

Ha, really? I mean, it's not really a common gesture in other apps, as far as I can tell.

VincyZed commented 2 years ago

Why not one-up them all then? :-) Assuming implementing it everywhere isn't more difficult than in select places, of course.