Repository navigation
Function Manager
The Functions tree: cloning, renaming, selection and organisation.
Entries marked ✅ have been merged upstream; the rest are still only on the fork.
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
Shift+click range selection, and a touch multiple selection mode. (Fork #115, docs qlcplus-docs#21) Shift+click in the Function Manager selects every visible item between the last item selected (the anchor) and the one clicked; Ctrl+Shift+click adds the range to the selection. Ranges include folders, and the anchor doesn't move. Shift+click in the other lists (Palettes, Chaser steps, Collection, EFX and Scene editors, the fixture editor, XY Pad fixtures) now does the same instead of adding rows to the selection. On a touch screen, one shared Toggle multiple selection button makes a tap act as Ctrl+click in all of those lists, and a touch press-and-hold selects the range up to the pressed row. The existing left toolbar, bottom panel and Show Manager toggles are now the same setting, with new buttons on the Function Manager's right toolbar, the fixture editor lists, the XY Pad fixtures list, the Import from project popup and the VC edit mode panel.
➖ Upstream: not yet sent individually
- 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 the Function Manager tree getting out of step with the project after routine edits. (Fork #113) A Function renamed while another had the same name hit the wrong row and left a stale duplicate; moved, renamed or rebuilt items were selected in the engine but not shown, so the next new Function went into the wrong folder; undoing a path change didn't update the tree; a folder emptied by a move or delete stayed visible but could be recreated next to itself; and the per-type counters drifted. Rows are now found by Function rather than by label, emptied folders stay registered, folder moves keep their expanded and selected state, and dragging an unselected folder selects it first.
- Fixed Ctrl+click unable to deselect a selected item, in every tree and list (it only ever added to the selection). (Fork #113)
- Fixed the Function Manager drawer, its toggle button and the right panel width disagreeing. (Fork #114) The second function list opened by the Chaser/Collection editor's "add" button could leave extra width behind, and after switching screens with it open the drawer was collapsed with a stale editor still active while the toggle said otherwise.
- 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)