Skip to content

New "Isolate Active Group" Isolation Mode.

Emmet O'Neill requested to merge (removed):ani/isolation into master

Users now have two layer isolation mode options.

The original "Isolate Active Layer" (context menu item or alt+click) mode that displays only the active layer, as well as a new "Isolate Active Group" (context menu item only for now) mode that displays all of the sibling layers in a given group.

Some refactoring was necessary as we now have multiple isolation states and have switched to a QActionGroup-based approach. Some other optional refactoring was just because I felt that things could be cleaner or that certain names could be more descriptive.

Requested by Bollebib, Karim, David Revoy, and N-Pigeon! (Thanks for the feedback, as always.)

BUG:377468

Test Plan

1.) Test the original "Isolate Active Group" mode for possible regressions. We should be able to activate it through the right-click context menu of any node in the layer docker's node view, or toggle it by Alt-Clicking on a layer. Every combination of turning it on and off should work consistently and the visible state of the action in the context menu should accurately reflect the state of the isolation mode.

2.) Test the new "Isolate Active Group" mode. This mode can currently only be activated through the node view's right-click context menu. When active, you should only be able to see the isolated contents of the currently active node's parent group, so you'll need a document with multiple layers in various groups.

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.
Edited by Emmet O'Neill

Merge request reports