Commit Graph
197 Commits
Author SHA1 Message Date
Mike-Solar b47887e127 Defer parameter editor panel raise/focus to queued invocation
KDDockWidgets may need an event-loop iteration to finish opening or
tabifying a dock widget before raise() can switch to it. Defer raise(),
activateWindow(), and setFocus() via QMetaObject::invokeMethod with
Qt::QueuedConnection after show().
2026-07-13 10:19:30 +08:00
Mike-Solar 21ae1125f5 Activate parameter editor panel when jumping from node view
Call setAsCurrentTab() and activateWindow() on the ParamPanel dock widget
in ShowSelectedNodeInParamEditor so the parameter editor becomes the active
tab/window when invoked from the node view context menu or Shift+P shortcut.
2026-07-13 10:19:30 +08:00
Mike-Solar a7fdab607d Fix node context-menu jump to parameter editor and drag-release crash
- Ensure right-clicking a node that isn't currently selected makes it the
  sole selection before showing the context menu, so 'Show in Parameter Editor'
  operates on the clicked node.
- Emit all selected node/context pairs when jumping to the parameter editor.
- Guard dragging_items_ iteration in mouseReleaseEvent against deleted items
  by snapshotting keys as QPointer and skipping null entries.
2026-07-13 10:19:30 +08:00
Mike-Solar 5c8f80480d UI: flatten preferences behavior tabs and add node parameter editor shortcut
- Move Behavior-General options (hover focus, slider ladder, scroll zooms)
  into the General preferences tab.
- Move Behavior-Audio option (audio scrubbing) into the Audio preferences tab.
- Promote remaining Behavior categories (Timeline, Playback, Project, Nodes,
  Rendering) to top-level sidebar entries without the 'Behavior - ' prefix.
- Update Chinese translations for the new sidebar titles and fill unfinished
  Behavior tab strings.

NodeView:
- Remove double-click jump-to-parameter-editor behavior; keep expand/collapse.
- Add right-click context menu item 'Show in Parameter Editor'.
- Add Shift+P shortcut bound to the same action.

Render:
- Fix crash in PreviewAutoCacher::ClearSingleFrameRenders when proxy playback
  causes a render ticket to finish synchronously before the watcher pointer is
  returned. Defer the watcher Finished signal via queued connection so the
  caller can safely register the watcher before it is deleted.
2026-07-13 10:19:30 +08:00
Mike-Solar f57ffa482f Flatten Behavior preferences into sidebar categories and scroll to node on double-click
Behavior preferences used a nested QTreeWidget with groups like General,
Audio, Timeline, etc. Replace it with one tab per group in the left sidebar
so users can jump directly to a category without expanding a secondary menu.

Also wire double-clicking a node in the node graph to emit a selection
signal with its context, causing the parameter panel to scroll to that
node's parameters (in addition to showing/raising the panel as before).
2026-07-13 10:19:30 +08:00
Mike-Solar bfb1b2fce4 update copyright back 2026-01-16 21:22:05 +08:00
Mike-Solar b8669f6a11 Change project name; 2026-01-05 16:22:26 +08:00
Mike-Solar cad331eb2c Fix compile errors 2026-01-05 01:50:05 +08:00
Mike-Solar f191486375 Implement multi-input OFX clip wiring and texture handling
Store PluginJob input values for lookup
Add per-clip texture inputs on plugin nodes
Map input clips to textures during render (with Source fallback)
2026-01-04 22:30:41 +08:00
Mike Solar 6fdfd03ffd update: update copyright 2025-08-05 17:12:49 +08:00
Mike Solar 74f73ab3be change: change code style to Linux style except indent. 2025-08-03 03:09:40 +08:00
itsmattkc 2c2df99963 name every undo command 2023-03-12 00:49:03 -08:00
itsmattkc 019f095ee4 implement history panel 2023-03-11 22:26:21 -08:00
itsmattkc 43e4e78378 nodes: if an item is pasted without a folder, ensure it is added to a folder 2023-02-28 20:51:33 -08:00
itsmattkc 7ec8a4dd7e serializer: ensure backwards compatibility 2023-02-26 15:42:54 -08:00
itsmattkc 11e4e051c3 move undo files around for better organization 2023-02-20 16:09:22 -08:00
itsmattkc 38517c8c31 node: removed slow unrecommended functions 2022-11-05 11:58:38 -07:00
itsmattkc a3f4ebdb6d node/ui: limit amount of selectable nodes for performance 2022-10-23 21:24:49 -07:00
itsmattkc 402c4e1694 ui: move zoom scrolling option to preferences 2022-08-12 09:16:12 -07:00
itsmattkc 183dc8c48e nodeview: better implementation of larger connector hitboxes 2022-07-27 12:40:27 -07:00
itsmattkc 992f3fd3af nodeview: increase hitbox of node connectors 2022-07-27 12:15:11 -07:00
itsmattkc f2e604c2cb ui: add rename shortcut 2022-07-22 13:25:46 -07:00
itsmattkc 6613ff3296 nodeview: fix drop regressions 2022-05-11 20:02:32 -07:00
itsmattkc c0ad244397 nodeview: implement dragging items from project explorer into node view 2022-05-11 14:55:07 -07:00
itsmattkc 4b366a9b73 update copyright year to 2022 2022-05-10 10:38:56 -07:00
itsmattkc c25960e5af fixed completely pointless compiler warning
Fixes #1921
2022-05-09 08:06:35 -07:00
itsmattkc 677ed38ff9 nodeview: ignore enabled input when dropping 2022-05-07 09:46:13 -07:00
itsmattkc 102ce9aa7b nodeparamview/nodeview: connect selections and enable multi-select in npv 2022-05-04 14:59:51 -07:00
itsmattkc f7396de121 markers: reimplemented copy/paste 2022-05-01 22:33:58 -07:00
itsmattkc 6e08b61ecc nodeview: prevent default behavior when items are attached
Fixes buggy behavior when dropping attached nodes and moving the cursor
2022-04-28 10:44:02 -07:00
itsmattkc 7825d0e16d nodeview: improved drop functionality 2022-04-28 09:54:49 -07:00
itsmattkc fb53931f68 implement "type" for xml node data 2022-04-25 13:16:27 -07:00
itsmattkc e0bfbf12b2 groups: improved functionality
Various improvements and fixes to groups
2022-04-04 23:34:34 -07:00
itsmattkc 38c8bd4b0d paramview: implemented passthrough editing 2022-04-04 22:13:08 -07:00
itsmattkc d7b3c523f4 groups: improved serialization
Introduced new project version with extra customization for groups
2022-04-04 00:03:57 -07:00
itsmattkc afaf6bcf92 groups: started revision
- Removed UUIDs since we already have ptrs
- Changed input passthroughs from map to list so they'll always be added in the same order
- Fixed group copy on duplication
- Fixed group copy on clip split
2022-04-03 19:18:39 -07:00
itsmattkc bc14b0454d nodeview: when new nodes are added from any source, select them 2022-01-21 10:07:37 -08:00
itsmattkc cc4bc91cc3 nodeview: when adding new group, ensure children are added too 2022-01-21 10:07:19 -08:00
itsmattkc 576ea8e81f refactored copy/paste code for new serializers
Vastly improves code quality and reusability
2022-01-12 16:34:40 -08:00
itsmattkc d4fa9cb906 nodeview: fix issues when deleting nodes while dragging 2022-01-04 11:16:56 -08:00
itsmattkc 2da492f79f declare unused variable (might use it later) 2022-01-02 12:35:55 -08:00
itsmattkc a7be16fec9 finished refactoring copy/paste code 2021-12-30 19:35:52 -08:00
itsmattkc 8daa83b682 work towards finishing nodeview copy/paste refactor 2021-12-29 18:44:14 -08:00
itsmattkc 65a1c75933 clean up and remove nodegroupdialog 2021-12-27 20:56:04 -08:00
itsmattkc 5223483e8e work towards group editor 2021-12-27 15:16:49 -08:00
itsmattkc 671fafb496 refined some nodeview behavior 2021-12-18 14:03:44 -08:00
itsmattkc 090fbb09d0 contexts in param view 2021-12-08 14:08:12 -08:00
itsmattkc e98ac256c6 reorganized some lines to prevent a crash 2021-12-03 12:03:33 -08:00
itsmattkc f4230a1805 nodeview: accept ctrl dragging inputs too 2021-12-02 08:56:48 -08:00
itsmattkc 2473bccec3 implemented arrays and reimplemented expanding 2021-12-01 12:14:26 -08:00