Commit Graph
175 Commits
Author SHA1 Message Date
itsmattkc f2d64728f9 work towards timeline/nodeview interactivity 2021-05-17 11:14:56 +10:00
itsmattkc 8e9859b2b3 initial commit 2021-05-16 09:58:57 +10:00
itsmattkc 72d5b4af86 nodeview: enable mouse tracking at all times
Slightly less efficient, but fixes #1618, a seemingly
Linux-exclusive Qt bug which caused strange drag issues.
2021-05-11 11:16:59 +10:00
itsmattkc 72ed87d923 ui: scroll zoom preference now specific to widget
Fixes #1597
2021-05-10 12:07:15 +10:00
itsmattkc 94b2cebeea ui: merged nodeview/timelineview scrolling code
Greatly improves code quality and maintainability
2021-05-10 11:15:37 +10:00
itsmattkc 105655b3d9 nodeview: don't use other input's type for reconnecting nodes, just use traverser heuristic
Fixes #1607
2021-05-05 11:41:56 +10:00
itsmattkc 502b5971f9 nodeview: only remove dragged edge if arrow was dragged 2021-04-29 00:21:53 +10:00
itsmattkc a8185aa13b nodeview: ensure existing edges are removed when dragging somewhere else 2021-04-28 13:02:55 +10:00
itsmattkc a7d7515ba7 nodeview: allow dragging edges from their arrows
Fixes #1594
2021-04-27 18:48:40 +10:00
itsmattkc 67f48bc37c nodeview: use additional heuristics to get a node's output type 2021-04-25 09:37:18 +10:00
itsmattkc ed542f0842 nodeview: prevent infinite loops
Fixes #1531
2021-04-23 11:52:40 +10:00
itsmattkc 4864656cf5 nodeview: ensure connecting item is in front 2021-04-23 11:52:29 +10:00
itsmattkc fa58dc1039 nodeview: pass icon size specifically 2021-04-22 11:50:24 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10:00
itsmattkc c03c197412 added ability to open viewers on any viewer node or derivative
Fixes #1362

Also fixes some other bugs that impeded this from working.
2021-04-12 22:58:34 +10:00
itsmattkc a54b42fea4 nodeview: attach nodes to cursor as an undo command 2021-04-11 12:52:46 +10:00
itsmattkc ff9e9eb90b fixed qt assert when importing files 2021-04-08 12:42:09 +10:00
itsmattkc cb75e37e77 moved several files around
Mostly moved classes that became node derivatives into the node/ folder.
2021-04-08 12:15:59 +10:00
Simran ce2e51fc2a QPainter::matrix is obsolete, use transform() instead 2021-04-01 18:00:12 +02:00
itsmattkc 2ea152479e nodeview: override icon pixmap retrieval 2021-04-01 23:45:28 +11:00
itsmattkc dccea63d97 nodeview: initialize edge item's from/to references
Fixes #1526
2021-03-23 22:28:21 +11:00
itsmattkc 0a17e0fbe2 nodeview: do something when clips are selected 2021-03-20 10:10:09 +11:00
itsmattkc 843db76e75 nodeview: show label and type if label is set
Might not keep this, but we should have something to make the
node types clear when labelled.
2021-03-18 19:36:03 +11:00
itsmattkc 334b152765 code: fixed minor semantics 2021-03-18 19:35:53 +11:00
itsmattkc 2a3a256f3e implement keyboard zooming into node view 2021-03-16 12:12:51 +11:00
itsmattkc a57bf35e93 don't copy items when splitting or duplicating blocks 2021-03-01 13:27:13 +11:00
itsmattkc 72dd80c90c ensure nodeview is unset when project closes 2021-02-24 22:15:12 +11:00
itsmattkc d7c5ac4b44 implement entire project in nodes
Project items are now represented directly in nodes opening up more versatility and possibilities. This is the first iteration of this and will be buggy. Need to test thoroughly.
2021-02-15 21:31:57 +11:00
itsmattkc 81c1922911 use strings to connect nodes
This makes the node system somewhat more high-level with the intent of making
working with them far more flexible and stable. By making the architecture more
abstracted, it becomes far less rigid which should allow us to do even more
with it and make it much less crash prone.
2021-02-09 15:48:37 +11:00
itsmattkc ad4b83a098 new undo system
Also enables undoing when working with node input arrays
2021-01-29 16:10:34 +11:00
itsmattkc 2da0aed942 remove unnecessary sequence casts 2021-01-25 09:33:50 +11:00
itsmattkc 7795d42347 moved block links to node links
Seems like it might be useful to have this as part of the node architecture as a whole
2021-01-25 09:17:25 +11:00
itsmattkc 03dc971a4b nodeview: use existing zoom check function 2021-01-23 08:18:45 +11:00
itsmattkc 03d31b2225 fixed cursor zooming algorithm
What the hell is this? How did I write this old algorithm? Did it even work?
2021-01-22 19:52:05 +11:00
itsmattkc d9019f9cb1 fixed node removals 2021-01-22 19:23:20 +11:00
itsmattkc b114bf98c9 only select nodes on right click if the current clicked node isn't already selected 2021-01-22 17:12:04 +11:00
itsmattkc 8a5df32281 fixed arrays in nodeparamview 2021-01-22 12:20:25 +11:00
itsmattkc fa1fbd3a34 nodeview: updated with new node color UI system 2021-01-19 09:08:46 +11:00
itsmattkc 8e7035bd40 restored nodeview 2021-01-19 00:06:57 +11:00
itsmattkc fbdda3d6d4 various code cleanups 2021-01-13 12:05:05 +11:00
itsmattkc 181235f6ce began new infrastructure
Yep, this is another one of my "famous" sweeping rewrites. Expect things to break.

Goals for this are:
- Greatly simplify node connections (particularly with arrays) so the code requires less maintenance/is more stable
- Redesign node structure to address issues where UI would stall for lengthy periods of time
- Less reliance on shared ptrs/greater reliance on QObject system for inheritance/memory management
- General code cleanup and improvements
2021-01-05 11:20:38 +11:00
itsmattkc 374fa3f75c moved some files around for better organization 2020-12-16 19:05:22 +11:00
itsmattkc 7b266c51a4 move clamp to bezier itself to prevent deadlocks 2020-11-23 08:43:02 +11:00
itsmattkc 9928027040 nodeview: clamp bezier value 2020-11-22 20:28:48 +11:00
itsmattkc 3edac8a07f nodeview: added arrows 2020-11-18 01:34:40 +11:00
itsmattkc 75d4cd899b use hardcoded namespace
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc d241090a9f finally updated the copyright year 2020-11-17 20:13:22 +11:00
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