GSoC/2025/StatusReports/Rossr
Selection Action Bar
KDE’s Krita does not have a floating action bar for selection layers. When users select a layer in Krita, there is no UI to display common selection actions. This makes it difficult for non-keyboard users to switch between modes and is not intuitive for new or experienced user interaction.
The idea is to create a toggleable floating toolbar that will allow users to switch between commonly used actions without having to read deep into user manuals or require a keyboard shortcut. This feature would improve accessibility and the overall experience of users by introducing an ‘on-screen’ toggleable shortcut for common selection actions.
My goal is to develop the UI, test rigorously, join the community, get user feedback, and create documentation through user guides and tutorials.

Mentors
Emmet O'Neill
Work report
Week 1
- initial blog post
- review and validate implementation
- learned how to build Krita outside of QtCreator and use Docker
Week 2
- recreated Assistant Tool
- learned to qDebug() and grep -rn "search" to find code
Week 3
- created base UI of floating bar with QPainterPath
Week 4
- learned about custom icons for buttons
- created a draft MR to keep track of changes
Week 5
- created new classes to hold floating bar UI
- improved UI appearance
- implemented toggle to turn on and off the UI
Week 6
- implemented buttons to activate selection action (select all, deselect, copy to new layer)
- learned QPushButton, connect(), QSLOTS and QSIGNALS
Week 7
- added icons to buttons
- built reusable template pattern for button creation
Week 8
- added dragging interaction
- learned how to handle mouse events: mousePressEvent, mouseMoveEvent, mouseReleaseEvent
Week 9
- improved dragging interaction by adding boundary constraints to prevent toolbar from being dragged off canvas, ensuring accessibility
- learned about geometry checks for boundaries and user interface
Week 10
- repositioned toolbar dynamically under the initial user selection
- learned to track selection events and implement UI updates with image space and canvas space
Week 11
- wrote user documentation in Krita's reference manual
- refactored code to improve maintainability, readability, and support future contributions
Week 12
- feedback from mentor
- fixed any blockers
- updated final documentation
- reflected on journey
- made future plans
Future Plans
My plan moving forward is to:
- Continue refining the Selection Action Bar based on user feedback
- Add customization options to the Selection Action Bar
- Stay involved through ownership of feature creation, bug fixes, community participation, and feature proposals with the Krita and KDE community
Links
Blogs on Planet KDE
Related Merge Requests
Related Issues
https://krita-artists.org/t/selection-action-bar/48767