Commit Graph
128 Commits
Author SHA1 Message Date
itsmattkc e2010dde83 made formal QtUtils class 2020-11-17 09:42:36 +11:00
itsmattkc 81450044e0 added preference for duplicating dependencies
Fixes #1320
2020-11-16 16:32:15 +11:00
itsmattkc 1b9bf6d92c switched many QLists for QVectors
Minor optimization
2020-11-16 16:17:43 +11:00
itsmattkc 0d102defab tracks: use node label instead of separate name string 2020-10-10 20:17:25 +11:00
itsmattkc 0cafbb2594 nodeview: minor optimizations and behavior improvements 2020-10-10 19:47:25 +11:00
itsmattkc df54b98fd6 nodeview: added light gradient to node item 2020-10-10 17:22:12 +11:00
itsmattkc 2ccbfa7715 nodeview: null checks on select code
Prevents segfaults if the node view clears before the timeline.
2020-10-06 00:10:53 +11:00
itsmattkc 787ea1d548 Merge branch 'master' into ui-optimizations 2020-10-05 15:19:57 +11:00
itsmattkc 4204910796 nodes: link edges to IDs rather than objects
Allows code to know whether the connected parameters has been removed or
not.
2020-10-02 16:04:50 +10:00
itsmattkc 2fb7066155 nodes: allow stalling graph signals until an operation is over 2020-10-02 13:25:49 +10:00
Thomas Wilshaw 9d27d557cd Replace custom unlink with BlockUnlinkAllCommand
Re-use existing unlink command and move all the unlinking code to
NodeRemoveCommand to cover all bases (deletion of a block in the
timeline or in the node editor).
2020-09-30 18:14:11 +01:00
Thomas Wilshaw e09afd7f68 Fix Issue#1241
When a Block node was deleted its linked blocks were not unlinked
which caused a crash when the user tried to select a linked block.
This fixes the issue by ensuring all links are removed when a Block
node is delete.

Undo/redo is also supported.
2020-09-29 18:27:30 +01:00
itsmattkc 9aabde303e nodeview: added arrows to indicate a node can be expanded
Minor UI detail. Also slightly increases the size of node items and adds
"short names" to the video input and audio input nodes.
2020-08-21 15:15:39 +10:00
itsmattkc c6dd0e0204 nodeview: select on right click 2020-08-07 20:17:01 +10:00
itsmattkc 02c0fb7316 nodeview: automatically deselect blocks that have been removed
Fixes segfault attempting to access and select an item that's already been
removed.
2020-08-05 23:56:42 +10:00
itsmattkc 2afa5a42c7 ui: optimized widget signals for selecting clips/nodes
Decent performance optimization when working with the UI.
2020-08-01 02:12:20 +10:00
itsmattkc 39d71eb7cd nodeview: drop nodes on release rather than press
Minor UI improvement that also addresses issue where the cache would
ignore the invalidation.
2020-07-10 19:28:42 +10:00
itsmattkc f107c9bba1 nodeview: associated pasted nodes
Prevents nodes being erroneously filtered out.
2020-06-16 17:17:47 +10:00
itsmattkc e979ce4d7a nodeview: made an "infinite scroller"
Set scene rect to huge and hid the scrollbars. The node view should be
scrolled with middle click or the hand tool.
2020-06-16 16:31:16 +10:00
itsmattkc 41b04d976c nodes/clips: use node label as clip name and allow changing multiple labels at once
Merges the "clip name" and "node label" into the same entity.
2020-06-16 16:23:05 +10:00
itsmattkc 71fa821e52 nodeview: enforce minimum scale 2020-06-16 15:37:11 +10:00
itsmattkc cb5b201054 nodeviewitem: base highlight color off palette
Improves appearance in light theme.
2020-06-13 13:05:19 +10:00
itsmattkc 209fb536f5 nodeview: when changing selected blocks, temporarily ignore selection change signal until the end
UI optimization.
2020-06-12 23:27:11 +10:00
itsmattkc 23d92df3c8 nodeviewitem: don't expand if control is held during the double click 2020-06-11 21:27:18 +10:00
itsmattkc 71ec148e76 renderer: moved all shader code into one solidified function
Makes texture-based optimizations easier when they're all in one place.
2020-06-10 01:54:02 +10:00
itsmattkc c1ed84b90e viewer: receive audio invalidation signal
Invalidates and runs cache task correctly even if there are no video
nodes connected.
2020-05-30 02:50:30 +10:00
itsmattkc 14ac1ada6e various: adding files missing in last commit
Oddly some files didn't commit previously. This commit adds those.
2020-05-27 03:24:37 +10:00
itsmattkc 1ed0814e83 nodeview: associate disconnected nodes with selected blocks until re-connected 2020-05-13 16:06:13 +10:00
itsmattkc ce58671fd6 nodeview: started core node filtering work 2020-05-11 22:48:27 +10:00
itsmattkc 9c30f13a2e nodeview: added setting for curved/straight edges 2020-05-10 04:33:37 +10:00
itsmattkc eb1b76896e nodeview: reimplemented crude autopositioning system 2020-05-10 03:23:03 +10:00
itsmattkc fc694296f1 nodeviewscene: added basic standard filtering modes 2020-05-09 03:33:41 +10:00
itsmattkc 16d4cccdb5 nodeview: optimized selecting
Rather than responding to every single selection change, the selection operation
can function as-is and then respond to all of them at the end.
2020-05-09 03:33:36 +10:00
itsmattkc 218c63f933 nodecombobox: implemented node combobox widget 2020-05-09 03:22:09 +10:00
itsmattkc 3d0f11c6ef nodeview: first attempt at filter dialog 2020-05-08 23:12:00 +10:00
itsmattkc 1efd4e9f99 nodeview: further improved auto-positioning system 2020-05-08 19:20:24 +10:00
itsmattkc e5e0d0323e nodeview: implemented weighted auto-positioning
Similar to the previous approach, but cleaner and hopefully easier to extend.
2020-05-06 22:53:01 +10:00
itsmattkc 0628ddb901 nodes: use different colors from config based on category 2020-05-05 23:24:00 +10:00
itsmattkc 4ac5513e3f nodeview: implemented ability to select and delete node edges 2020-04-29 17:25:41 +10:00
itsmattkc bf68a4d631 nodes: added ability to label nodes 2020-04-29 15:35:05 +10:00
itsmattkc 13dc79d0cd nodeview: implemented duplicate feature 2020-04-29 15:04:53 +10:00
itsmattkc d83073cf85 nodeview: attach pasted nodes to the cursor 2020-04-29 14:49:43 +10:00
itsmattkc 1db5cf4de4 nodeview: reduce width of items 2020-04-29 14:36:06 +10:00
itsmattkc 999e841bc7 nodes: implemented short name
Nodes can provide "short" names for use in the node graph, distinct from their
full names shown everywhere else.
2020-04-29 14:33:57 +10:00
itsmattkc ff1a470aa0 Merge branch 'master' into nodeviewredux 2020-04-29 05:01:11 +10:00
itsmattkc 8ab91a70cc nodeview: implemented moving with either the hand tool or middle mouse button
Includes splitting off this functionality from TimelineViewBase so it can be
re-used in any QGraphicsView.
2020-04-29 04:56:58 +10:00
itsmattkc f04fa12c06 nodeview: allow expanded views of nodes again
Re-implementing expanding nodes to see the connections (but nicer this time).
2020-04-29 03:56:50 +10:00
itsmattkc d74d6a1542 nodes: implementing saving/loading node positions from project file 2020-04-28 03:43:35 +10:00
itsmattkc 3c01b14a14 palette: fixed disabled text color 2020-04-28 03:32:50 +10:00
itsmattkc b57d12868f nodeview: allow dropping a node on any edge
Before we checked data types to ensure compatibility, but some nodes (e.g. the
math node) may be compatible despite a not apparently compatible data type.
We allow users to make any connection quickly this way.
2020-04-28 03:20:08 +10:00