Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Toenne <lukas.toenne@googlemail.com>2012-04-16 14:50:57 +0400
committerLukas Toenne <lukas.toenne@googlemail.com>2012-04-16 14:50:57 +0400
commit5c646e7e3a48c7fea0bfea407d3d27df0b1aa02b (patch)
treed3593a23f7df93a00aa895143ee0a1ba98d22712 /source/blender/editors/space_node
parentbd613739ae4ebfa97471c34cfa4077f3c3e18afc (diff)
Reverted r43219 "Improved auto-hiding of unused sockets for collapsed nodes."
This feature did have a number of flaws and caused some controversy, so removal is the better option. Hiding nodes without prior connections would just hide all the sockets, leaving an unusable node. Better way is to use the ctrl+h shortcut to explicitly hide unused sockets when necessary.
Diffstat (limited to 'source/blender/editors/space_node')
-rw-r--r--source/blender/editors/space_node/node_edit.c38
-rw-r--r--source/blender/editors/space_node/node_intern.h4
2 files changed, 16 insertions, 26 deletions
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c
index f73a89702af..c41cb2b6211 100644
--- a/source/blender/editors/space_node/node_edit.c
+++ b/source/blender/editors/space_node/node_edit.c
@@ -1605,38 +1605,38 @@ void NODE_OT_resize(wmOperatorType *ot)
/* ********************** hidden sockets ******************** */
-int node_has_hidden_sockets(bNode *node, short flag)
+int node_has_hidden_sockets(bNode *node)
{
bNodeSocket *sock;
for (sock= node->inputs.first; sock; sock= sock->next)
- if (sock->flag & flag)
+ if (sock->flag & SOCK_HIDDEN)
return 1;
for (sock= node->outputs.first; sock; sock= sock->next)
- if (sock->flag & flag)
+ if (sock->flag & SOCK_HIDDEN)
return 1;
return 0;
}
-void node_set_hidden_sockets(SpaceNode *snode, bNode *node, short flag, int set)
+void node_set_hidden_sockets(SpaceNode *snode, bNode *node, int set)
{
bNodeSocket *sock;
if (set==0) {
for (sock= node->inputs.first; sock; sock= sock->next)
- sock->flag &= ~flag;
+ sock->flag &= ~SOCK_HIDDEN;
for (sock= node->outputs.first; sock; sock= sock->next)
- sock->flag &= ~flag;
+ sock->flag &= ~SOCK_HIDDEN;
}
else {
/* hide unused sockets */
for (sock= node->inputs.first; sock; sock= sock->next) {
if (sock->link==NULL)
- sock->flag |= flag;
+ sock->flag |= SOCK_HIDDEN;
}
for (sock= node->outputs.first; sock; sock= sock->next) {
if (nodeCountSocketLinks(snode->edittree, sock)==0)
- sock->flag |= flag;
+ sock->flag |= SOCK_HIDDEN;
}
}
}
@@ -2281,7 +2281,7 @@ static void node_remove_extra_links(SpaceNode *snode, bNodeSocket *tsock, bNodeL
}
if (sock) {
tlink->tosock= sock;
- sock->flag &= ~(SOCK_HIDDEN|SOCK_AUTO_HIDDEN);
+ sock->flag &= ~SOCK_HIDDEN;
}
else {
nodeRemLink(snode->edittree, tlink);
@@ -2765,7 +2765,7 @@ static bNodeSocket *socket_best_match(ListBase *sockets)
for (type=maxtype; type >= 0; --type) {
for (sock= sockets->first; sock; sock= sock->next) {
if (type==sock->type) {
- sock->flag &= ~(SOCK_HIDDEN|SOCK_AUTO_HIDDEN);
+ sock->flag &= ~SOCK_HIDDEN;
return sock;
}
}
@@ -3109,20 +3109,10 @@ static void node_flag_toggle_exec(SpaceNode *snode, int toggle_flag)
if (toggle_flag== NODE_OPTIONS && (node->typeinfo->flag & NODE_OPTIONS)==0)
continue;
- if ( (tot_eq && tot_neq) || tot_eq==0) {
+ if ( (tot_eq && tot_neq) || tot_eq==0)
node->flag |= toggle_flag;
-
- /* hide/unhide node also toggles unlinked socket display */
- if (toggle_flag== NODE_HIDDEN)
- node_set_hidden_sockets(snode, node, SOCK_AUTO_HIDDEN, 1);
- }
- else {
+ else
node->flag &= ~toggle_flag;
-
- /* hide/unhide node also toggles unlinked socket display */
- if (toggle_flag== NODE_HIDDEN)
- node_set_hidden_sockets(snode, node, SOCK_AUTO_HIDDEN, 0);
- }
}
}
}
@@ -3235,7 +3225,7 @@ static int node_socket_toggle_exec(bContext *C, wmOperator *UNUSED(op))
hidden = 0;
for (node= snode->edittree->nodes.first; node; node= node->next) {
if (node->flag & SELECT) {
- if (node_has_hidden_sockets(node, SOCK_HIDDEN)) {
+ if (node_has_hidden_sockets(node)) {
hidden= 1;
break;
}
@@ -3244,7 +3234,7 @@ static int node_socket_toggle_exec(bContext *C, wmOperator *UNUSED(op))
for (node= snode->edittree->nodes.first; node; node= node->next) {
if (node->flag & SELECT) {
- node_set_hidden_sockets(snode, node, SOCK_HIDDEN, !hidden);
+ node_set_hidden_sockets(snode, node, !hidden);
}
}
diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h
index ea8fdd8059b..aa80f729343 100644
--- a/source/blender/editors/space_node/node_intern.h
+++ b/source/blender/editors/space_node/node_intern.h
@@ -121,8 +121,8 @@ void snode_make_group_editable(SpaceNode *snode, bNode *gnode);
void snode_composite_job(const struct bContext *C, ScrArea *sa);
bNode *node_tree_get_editgroup(bNodeTree *ntree);
void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace);
-int node_has_hidden_sockets(bNode *node, short flag);
-void node_set_hidden_sockets(SpaceNode *snode, bNode *node, short flag, int set);
+int node_has_hidden_sockets(bNode *node);
+void node_set_hidden_sockets(SpaceNode *snode, bNode *node, int set);
int node_render_changed_exec(bContext *, wmOperator *);
int node_find_indicated_socket(struct SpaceNode *snode, struct bNode **nodep, struct bNodeSocket **sockp, int in_out);