Commit Graph
189 Commits
Author SHA1 Message Date
itsmattkc f14a301ffa nodeview: updates to complete new context paradigm 2021-07-09 18:00:01 -07:00
itsmattkc 17c9137bbd nodeviewedge: minor cleanup 2021-07-08 11:44:04 -07:00
itsmattkc dcac7f94f9 nodeview: when removing a node, remove it from all contexts 2021-07-08 11:42:53 -07:00
itsmattkc 90d94075cf nodeview: improved bounding rect and centering 2021-06-17 10:19:30 -07:00
itsmattkc e7ec9ccde2 nodeview: remove from positions map when removing node 2021-05-28 17:59:37 +10:00
itsmattkc 6204e78036 nodeview: reimplement adding edges 2021-05-28 17:59:02 +10:00
itsmattkc 8ef140dcd0 nodeview: use null check
In a perfect world, this would be unnecessary, but it will just save us so many crashes to do it.
2021-05-28 17:58:42 +10:00
itsmattkc 0532090259 nodeview: make items wider 2021-05-28 17:55:16 +10:00
itsmattkc d9e45a6818 nodeviewscene: skip add duplicate edges 2021-05-28 17:53:15 +10:00
itsmattkc 2162e9d8f8 nodeview: improved user manual positioning 2021-05-28 13:29:51 +10:00
itsmattkc f876240443 use nodes as context rather than void 2021-05-27 13:32:32 +10:00
itsmattkc c9305b9368 nodeview: improved average position algorithm 2021-05-26 14:25:05 +10:00
itsmattkc f9309da4b3 nodeview: update positions correctly 2021-05-24 10:12:53 +10:00
itsmattkc 3c17ecc94e more work 2021-05-21 12:28:52 +10:00
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