Revision: 28392
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28392
Author:   campbellbarton
Date:     2010-04-24 00:08:11 +0200 (Sat, 24 Apr 2010)

Log Message:
-----------
unix style outliner name wildcards *.*, Any.???, etc (using fnmatch), also 
removed last beos reference :)

Modified Paths:
--------------
    trunk/blender/source/blender/blenfont/BLF_api.h
    trunk/blender/source/blender/blenlib/BLI_fnmatch.h
    trunk/blender/source/blender/editors/space_file/filesel.c
    trunk/blender/source/blender/editors/space_outliner/outliner.c

Modified: trunk/blender/source/blender/blenfont/BLF_api.h
===================================================================
--- trunk/blender/source/blender/blenfont/BLF_api.h     2010-04-23 20:05:16 UTC 
(rev 28391)
+++ trunk/blender/source/blender/blenfont/BLF_api.h     2010-04-23 22:08:11 UTC 
(rev 28392)
@@ -104,6 +104,7 @@
  */
 void BLF_rotation(int fontid, float angle);
 void BLF_clipping(int fontid, float xmin, float ymin, float xmax, float ymax);
+void BLF_clipping_default(float xmin, float ymin, float xmax, float ymax);
 void BLF_blur(int fontid, int size);
 
 void BLF_enable(int fontid, int option);

Modified: trunk/blender/source/blender/blenlib/BLI_fnmatch.h
===================================================================
--- trunk/blender/source/blender/blenlib/BLI_fnmatch.h  2010-04-23 20:05:16 UTC 
(rev 28391)
+++ trunk/blender/source/blender/blenlib/BLI_fnmatch.h  2010-04-23 22:08:11 UTC 
(rev 28392)
@@ -47,7 +47,7 @@
 #define        FNM_PATHNAME    (1 << 0) /* No wildcard can ever match `/'.  */
 #define        FNM_NOESCAPE    (1 << 1) /* Backslashes don't quote special 
chars.  */
 #define        FNM_PERIOD      (1 << 2) /* Leading `.' is matched only 
explicitly.  */
-
+       
 #if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE)
 #define        FNM_FILE_NAME   FNM_PATHNAME /* Preferred GNU name.  */
 #define        FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match.  */

Modified: trunk/blender/source/blender/editors/space_file/filesel.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/filesel.c   2010-04-23 
20:05:16 UTC (rev 28391)
+++ trunk/blender/source/blender/editors/space_file/filesel.c   2010-04-23 
22:08:11 UTC (rev 28392)
@@ -77,16 +77,10 @@
 #include "file_intern.h"
 #include "filelist.h"
 
-#if defined __BeOS
-static int fnmatch(const char *pattern, const char *string, int flags)
-{
-       return 0;
-}
-#elif defined WIN32 && !defined _LIBC
-       /* use fnmatch included in blenlib */
-       #include "BLI_fnmatch.h"
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
 #else
-       #include <fnmatch.h>
+# include <fnmatch.h>
 #endif
 
 FileSelectParams* ED_fileselect_get_params(struct SpaceFile *sfile)

Modified: trunk/blender/source/blender/editors/space_outliner/outliner.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/outliner.c      
2010-04-23 20:05:16 UTC (rev 28391)
+++ trunk/blender/source/blender/editors/space_outliner/outliner.c      
2010-04-23 22:08:11 UTC (rev 28392)
@@ -50,6 +50,13 @@
 
 #include "BLI_blenlib.h"
 
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+# define _GNU_SOURCE
+# include <fnmatch.h>
+#endif
+
 #include "IMB_imbuf_types.h"
 
 #include "BKE_animsys.h"
@@ -1237,6 +1244,7 @@
 
 static int outliner_filter_has_name(TreeElement *te, char *name, int flags)
 {
+#if 0
        int found= 0;
        
        /* determine if match */
@@ -1252,8 +1260,24 @@
                else
                        found= BLI_strcasestr(te->name, name) != NULL;
        }
+#else
        
+       int fn_flag= 0;
+       int found= 0;
+       
+       if(flags & SO_FIND_CASE_SENSITIVE)
+               fn_flag |= FNM_CASEFOLD;
+
+       if(flags & SO_FIND_COMPLETE) {
+               found= fnmatch(name, te->name, fn_flag)==0;
+       }
+       else {
+               char fn_name[sizeof(((struct SpaceOops *)NULL)->search_string) 
+ 2];
+               sprintf(fn_name, "*%s*", name);
+               found= fnmatch(fn_name, te->name, fn_flag)==0;
+       }
        return found;
+#endif
 }
 
 static int outliner_filter_tree(SpaceOops *soops, ListBase *lb)


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to