Function Manager - mjcmatrix/qlcplus GitHub Wiki
Function Manager
The Functions tree: cloning, renaming, selection and organisation.
Entries marked ✅ have been merged upstream; the rest are still only on the fork.
Features and improvements
Container-from-selection, F2 rename and scroll restore. (Fork #68, builds on #60 and #62) A new toolbar action adds the current selection to a new Folder/Chaser/Collection container, separate from a plain Add (which previously silently seeded new items from the selection). Also adds F2 as a rename shortcut and restores the tree's scroll position after actions that rebuild it (Clone, filter change). The tree fixes it depends on are listed under Bug fixes below.
How to use it: select the Functions to group in the tree, then use the new toolbar action (separate from the plain Add button) and choose Folder, Chaser or Collection — the new container is created holding exactly that selection. Plain Add still creates an empty item at the tree root as before, with nothing seeded from whatever happens to be selected. Press F2 on a focused tree row to rename it without reaching for the mouse.
➖ Upstream: not yet sent individually
Clone/duplicate selects the copies. (Fork #54) After cloning Functions with the Function Manager's Clone button, or duplicating Chaser/Sequence steps with "Duplicate the selected step(s)", the copies become the selection instead of the originals, so they can be renamed, moved, edited or deleted straight away. A running Function preview follows the selection to the copies. Documented in fork docs mjcmatrix/qlcplus-docs#12.
➖ Upstream: not yet sent individually
Bug fixes
- Fixed tree corruption when cloning the same Function twice — two identically-named clones broke tree lookups that matched by label instead of identity. (Fork #68)
- Fixed a Function renamed outside the Function Manager (e.g. from the Show Manager's Name field) leaving its old tree row behind, only clearable by a full project reload. (Fork #60)
✅ Upstream: merged (mcallegari/qlcplus#2174)
- Fixed a duplicate row appearing when renaming a Function that had been cloned inside a folder (
TreeModel::removeItem()was discarding the result of its own recursive removal). (Fork #62)✅ Upstream: merged (mcallegari/qlcplus#2175)
- Fixed new items/folders always being created at the tree root instead of inside the current selection. (Fork #68)
- Fixed
TreeModel::addItem()returning the containing folder's item instead of the newly added leaf for nested items. (Fork #68)