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