Skip to content

Draft: Fix issues mentioned in the feedback video

List of things I plan to do:

  • Freehand Path Tool should remember options (which pencil mode, how)
    • Note: for some reason, toolId() == "", so it ends up in kritarc in random places
    • Note: it changes the defaults for the tool, but it's not really a big change in functionality and the new defaults make more sense (and the old defaults come from a bug made 8 years ago)
  • Pretty thumbnails for Symbol Libraries
    • Note: to see a difference in Resource Manager, you gotta remove the resource database file, because it contains the old ones
  • Thumbnail-only mode for Symbol Libraries (wasn't asked for, but it seemed like a logical extension)
  • Guide path for Shape Engine (also called lasso brush, alchemy, or in code: "experiment")
  • Let the user replace history with the current palette in the Popup Palette
  • Option to zoom without rotating (???)
  • Add some way for user to set Transform Tool to keep aspect ratio quickly (right now there is too many clicks on Android where Shift button isn't available)


There were other things mentioned, but I don't think I'm going to do them right now. Just for completeness, this is what was asked for, in the order of appearance in the video:


  • [Done] Freehand path tool should remember options
  • [Todo] lasso brush should allow for a guidance path and only fill up at the end
  • [Todo] allow to replace history with palette in the popup palette
  • [Done] fix up the thumbnails in the vector libraries


  • [Not planned for this MR] improve welcome page - minimalistic screen with all projects
  • [Not planned for this MR] wiggles in strokes - input issue (possibly needs to enable the Basic stabilisation)
  • [Not planned for this MR] straight lines in the beginning or even further - input issue
  • [Todo] option to zoom without rotating
  • [Already solved/misunderstanding] select multiple layers at once - imho they just need to check multiple layers' checkboxes, so it's a non-issue now, they just didn't realize there is a new feature for that now
  • [Not planned for this MR] Minimalistic layers docker (like in Procreate and other mobile apps)
  • [*] Transform tool - keep aspect ratio enabled by default -> or maybe just add it as an option to the transform tool option widget? and the right-click? like the crop tool has.
  • [*] Transform tool - mode of transformation (Scale, Shear etc.) is not saved in preferences

[*] - adding an easier way to set Keep Aspect Ratio should solve the artist's issue, but in a different way than they asked for.

Test Plan

  1. Change options in Freehand Path Tool to some custom ones, restart Krita, note that they stayed at the values you chose
  2. Open Symbol Libraries before the commit, note that thumbnails have no margins, are sometimes pixelated and look ugly, then do the same after the commit and see that: 1) they are rendered at higher resolution, 2) they have small margins around the symbol, 3) they are centered, 4) they are all square instead of rectangular.
  3. Switch Display mode in Symbol Libraries using the [=] button on the top to Thumbnails, see that it shows only thumbnails with no description in a grid. Restart Krita, see that it restores the last used display mode.

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.

Reminder: the reviewer is responsible for merging the patch, this is to ensure at the least two people can build the patch. In case a patch breaks the build, both the author and the reviewer should be contacted to fix the build. If this is not possible, the commits shall be reverted, and a notification with the reasoning and any relevant logs shall be sent to the mailing list,

Merge request reports