Skip to content

Conversation

@leolost2605
Copy link
Member

@leolost2605 leolost2605 commented Dec 26, 2025

This builds on top of #523 and allows us to provide a listmodel of objects and bind them to the itemgroup similar to how we bind listmodels to listboxes.

This has a few advantages:

  • remove most of the mess in itemmanager (lots of type checking, custom layouting, work arounds)
  • simplify the item handling. For example on main when a workspace is removed the workspace system receives that signal -> removes it from its internal list -> calls remove() on the workspace -> that emits the removed signal on the workspace -> the workspace icon group is connected to that and emits removed() on the baseitem -> the itemmanager had connected to that and starts removing the item. That involves 5 classes. With this branch it goes workspace system receives that signal -> removes the workspace from its internal list which is now a listmodel -> the rest is handled automatically via the items changed signal of the listmodel in the item group. That involves 2 classes.
  • allows to add new sections to the dock much more easily

@leolost2605 leolost2605 marked this pull request as ready for review December 30, 2025 13:22
@leolost2605
Copy link
Member Author

This should be ready for review now. You can look at the individual commits for easier review. The first one is the same as #523.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants