[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13911] trunk/blender/source/blender: * Fix for own big, Adding group objects from the outliner didnt check they were externally linked .

Campbell Barton ideasman42 at gmail.com
Fri Feb 29 00:14:55 CET 2008


Revision: 13911
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13911
Author:   campbellbarton
Date:     2008-02-29 00:14:55 +0100 (Fri, 29 Feb 2008)

Log Message:
-----------
* Fix for own big, Adding group objects from the outliner didnt check they were externally linked.
* ping "~" in the fileselectors dir will take you to $HOME (non win32)
* Added a file selector for Node output image

Modified Paths:
--------------
    trunk/blender/source/blender/include/butspace.h
    trunk/blender/source/blender/src/drawnode.c
    trunk/blender/source/blender/src/editnode.c
    trunk/blender/source/blender/src/filesel.c
    trunk/blender/source/blender/src/outliner.c

Modified: trunk/blender/source/blender/include/butspace.h
===================================================================
--- trunk/blender/source/blender/include/butspace.h	2008-02-28 23:12:50 UTC (rev 13910)
+++ trunk/blender/source/blender/include/butspace.h	2008-02-28 23:14:55 UTC (rev 13911)
@@ -787,8 +787,10 @@
 #define B_NODE_BUTS			4000
 		/* 400 slots reserved, we want an exec event for each node */
 #define B_NODE_LOADIMAGE	3601
-#define B_NODE_TREE_EXEC	3602
+#define B_NODE_SETIMAGE		3602
+#define B_NODE_TREE_EXEC	3603
 
+
 		/* exec should be last in this list */
 #define B_NODE_EXEC			3610
 

Modified: trunk/blender/source/blender/src/drawnode.c
===================================================================
--- trunk/blender/source/blender/src/drawnode.c	2008-02-28 23:12:50 UTC (rev 13910)
+++ trunk/blender/source/blender/src/drawnode.c	2008-02-28 23:14:55 UTC (rev 13911)
@@ -1939,8 +1939,12 @@
 		
 		uiBlockBeginAlign(block);
 		
+		uiDefIconBut(block, BUT, B_NODE_SETIMAGE, ICON_FILESEL,
+				  x, y+60, 20, 20,
+				  0, 0, 0, 0, 0, "Open Fileselect to get Backbuf image");
+		
 		uiDefBut(block, TEX, B_NOP, "",
-				  x, y+60, w, 20, 
+				  20+x, y+60, w-20, 20, 
 				  nif->name, 0.0f, 240.0f, 0, 0, "");
 		
 		uiDefButS(block, MENU, B_NOP, str,

Modified: trunk/blender/source/blender/src/editnode.c
===================================================================
--- trunk/blender/source/blender/src/editnode.c	2008-02-28 23:12:50 UTC (rev 13910)
+++ trunk/blender/source/blender/src/editnode.c	2008-02-28 23:14:55 UTC (rev 13911)
@@ -212,6 +212,13 @@
 	}
 }
 
+static void set_node_imagepath(char *str)	/* called from fileselect */
+{
+	SpaceNode *snode= curarea->spacedata.first;
+	bNode *node= nodeGetActive(snode->edittree);
+	BLI_strncpy(((NodeImageFile *)node->storage)->name, str, sizeof( ((NodeImageFile *)node->storage)->name ));
+}
+
 static bNode *snode_get_editgroup(SpaceNode *snode)
 {
 	bNode *gnode;
@@ -288,6 +295,19 @@
 			}
 			break;
 		}
+		case B_NODE_SETIMAGE:
+		{
+			bNode *node= nodeGetActive(snode->edittree);
+			char name[FILE_MAXDIR+FILE_MAXFILE];
+			
+			strcpy(name, ((NodeImageFile *)node->storage)->name);
+			if (G.qual & LR_CTRLKEY) {
+				activate_imageselect(FILE_SPECIAL, "SELECT OUTPUT DIR", name, set_node_imagepath);
+			} else {
+				activate_fileselect(FILE_SPECIAL, "SELECT OUTPUT DIR", name, set_node_imagepath);
+			}
+			break;
+		}
 		case B_NODE_TREE_EXEC:
 			snode_handle_recalc(snode);
 			break;		

Modified: trunk/blender/source/blender/src/filesel.c
===================================================================
--- trunk/blender/source/blender/src/filesel.c	2008-02-28 23:12:50 UTC (rev 13910)
+++ trunk/blender/source/blender/src/filesel.c	2008-02-28 23:14:55 UTC (rev 13911)
@@ -1528,6 +1528,13 @@
 	}
 	else if(event== B_FS_DIRNAME) {
 		/* reuse the butname variable */
+		
+#ifndef WIN32
+		/* convienence shortcut '~' -> $HOME */
+		if ( sfile->dir[0] == '~' && sfile->dir[1] == '\0' ) {
+			BLI_strncpy(sfile->dir, BLI_gethome(), sizeof(sfile->dir) );
+		}
+#endif
 		BLI_cleanup_dir(G.sce, sfile->dir);
 
 		BLI_make_file_string(G.sce, butname, sfile->dir, "");

Modified: trunk/blender/source/blender/src/outliner.c
===================================================================
--- trunk/blender/source/blender/src/outliner.c	2008-02-28 23:12:50 UTC (rev 13910)
+++ trunk/blender/source/blender/src/outliner.c	2008-02-28 23:14:55 UTC (rev 13911)
@@ -2683,7 +2683,6 @@
 			base->object->flag |= SELECT;
 			base->flag |= SELECT;
 		} else {
-				
 			/* link to scene */
 			base= MEM_callocN( sizeof(Base), "add_base");
 			BLI_addhead(&G.scene->base, base);
@@ -2691,6 +2690,7 @@
 			gob->ob->flag |= SELECT;
 			base->flag = gob->ob->flag;
 			base->object= gob->ob;
+			id_lib_extern((ID *)gob->ob); /* incase these are from a linked group */
 		}
 	}
 }





More information about the Bf-blender-cvs mailing list