Week 10: Default button

I hopped to the second part of the action plan already in week 9 and I’m working on features now. I also fix bugs these days. Performance part is pretty much done. But when we discover some regression or some other performance issue, I solve it. We also discovered that now the parts of the Action Plan are actually obsoleted. I also need time to focus on my thesis text and prepare for the state exam to become Master Of Science so we moved my last 3 weeks of work to June. I will continue to work on June til 1st week in September. It was already announced in Last Week In Krita. Thanks to the sponsors who allowed me to work more on Krita full-time.

The 10th week was devoted to concept of default button for presets. When you paint, you change the curve of the brush engine, then you tweek this value and maybe now you want to have default settings of the brush engine back. I added button for it to the brush engine configuration dialog so that you can access it fast.

How it works? That was quite complicated path, I did not know exactly what it should do in the beginning and unclear or weak requirements are bed thing. So I discussed with Boud about it and also with Sven Langkamp to come up with solution or better said how we want to implement this feature.

We have default settings for brush engines which are saved in the UI. When you code the brush engine, you setup default values in the GUI. Then when Krita starts, it loads those defaults. We decided that we don’t want to load the default preset out of the GUI but we will use saved preset. You can setup the GUI of the brush engine – that is the brush preset – and save it for later reuse.

Default button

Now we install default preset per brush engine into …/share/apps/krita/defaultpresets. We still load the defaults out of the GUI but when you click on default button, the saved default preset is loaded. The benefit is that if you don’t like our default preset, you can put your default preset to ~/.kde/share/apps/krita/defaultpresets and when you click the default button, the preset is loaded. You just have to name it according /install-path/share/apps/krita/defaultpresets. We still load the default preset from the GUI. This way we take the burden of maintaining the default presets according the state of the GUI of the brush engine. When I add new feature to the brush engine, I have to update the default preset.

Besides this I worked on performance regression, I checked the flood fill. It’s cool to have benchmarks around. No regression found! I also put some time to be in connection with potential GSoC students. So far it looks like Krita will have really great student proposals.

It was nice week, let’s hope the default button will be useful for you. I hope you had nice Easter!

This entry was posted in Krita. Bookmark the permalink.

7 Responses to Week 10: Default button

  1. mutlu says:

    These are awesome additions! Small but important changes. :) Thank you all for the wonderful Krita.

  2. David says:

    Shiny. The progress bars look strange in the dialog though. Any reason why they aren’t sliders? I assume they’re bounded, given that there’re bars.

  3. LukasT says:

    David: they work in the similar way like the slider. You can slide, when you do right-click you enter the value directly and you can use the spin arrows too.

  4. Paul says:

    The feature is great.

    But the dialog could use some usability love.

  5. slangkamp says:

    @Paul: It is already the result of the usability discussion. There might be some changes in the next version, but for now it will stay that way.

  6. maninalift says:

    Why limit it to a single preset? Why not make available any saved preset to load into the active settings?

    So replace the button labelled “default preset” with two widgets: a dropdown selection box for the different presets and a “load this preset” button, like

    [Default Preset ^] [Load These Settings]

    The dropdown selection box might just remember its state from last time it was used.

    maybe place it next to “save this preset”

    Name: [………..] [Save to Presets]
    [Default Preset ^] [Load These Settings]

  7. LukasT says:

    @maninalift: we already save and load the presets in different tab “Preset Collection”

Leave a Reply