Proposal:
Krita's unique "Pop-up Palette" is a well-designed and popular feature for giving artists quick access to many of the controls that they need while painting.
Not only is it one of Krita's stand-out features, I'd argue that it has a design that works well with both classic desktop and modern touch interfaces.
And, now that Krita is exploring the possibility of expanding onto mobile platforms, that design philosophy is something that's only going to become more valuable over time.
https://docs.krita.org/en/reference_manual/popup-palette.html
However, one of the limitations of the current implementation is that the Pop-up Palette is really designed with painting, and the Brush Tool, in mind.
And yet, more often than not, regardless of which tool the artist is using (from the Move Tool, to the Shape Tools, to the Color Picker Tool, etc.), the Pop-up Palette is what they see when they right click.
Only the tools that provide a traditional right-click context menu show something other than the Pop-up Palette. While it's not a problem, I think there is unrealized potential here!
So, for Krita 5, I'd like to propose that we generalize the concept of a "Pop-up Widget" for all of Krita's tools.
In effect, this means making some minor changes to Krita's Tool classes while designing and implementing various pen/touch-friendly utility widgets for each different tool.
Technical:
Off the top of my head here are some of the small things that would need to change.
- Replace virtual QMenu * popupActionsMenu with virtual QWidget * popupWidget in KisToolBase and the KisToolProxy.
- Replace KisShowPaletteAction with KisPopupWidgetAction.
- Move the Pop-up Palette and existing menus over to the new system, for the time being.
- Design and implement new pop-up widgets for each of our tools. (Not a small thing actually!) ;)
(Outside of the design of the new widgets, which we can gradually introduce, I don't expect any of the underlying changes to be too difficult, so the initial setup for this could be a junior job if someone wants to do it.)