[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34099] trunk/blender: Patch: [#22524] Update Windows Recent Documents on Open/Save

Andrea Weikert elubie at gmx.net
Wed Jan 5 15:56:11 CET 2011


Revision: 34099
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=34099
Author:   elubie
Date:     2011-01-05 15:56:10 +0100 (Wed, 05 Jan 2011)

Log Message:
-----------
Patch: [#22524] Update Windows Recent Documents on Open/Save
Slightly modified to better fit in architecture (moved to related GHOST SystemPaths)
Thanks to Harley Acheson for the research and for providing the original patch.

Note: I added empty function for X11(Linux) and Mac (Carbon and Cocoa) to be implemented still.

Modified Paths:
--------------
    trunk/blender/intern/ghost/GHOST_ISystemPaths.h
    trunk/blender/intern/ghost/GHOST_Path-api.h
    trunk/blender/intern/ghost/intern/GHOST_Path-api.cpp
    trunk/blender/intern/ghost/intern/GHOST_SystemPaths.h
    trunk/blender/intern/ghost/intern/GHOST_SystemPathsCarbon.cpp
    trunk/blender/intern/ghost/intern/GHOST_SystemPathsCarbon.h
    trunk/blender/intern/ghost/intern/GHOST_SystemPathsCocoa.h
    trunk/blender/intern/ghost/intern/GHOST_SystemPathsCocoa.mm
    trunk/blender/intern/ghost/intern/GHOST_SystemPathsWin32.cpp
    trunk/blender/intern/ghost/intern/GHOST_SystemPathsWin32.h
    trunk/blender/intern/ghost/intern/GHOST_SystemPathsX11.cpp
    trunk/blender/intern/ghost/intern/GHOST_SystemPathsX11.h
    trunk/blender/source/blender/windowmanager/intern/wm_files.c

Modified: trunk/blender/intern/ghost/GHOST_ISystemPaths.h
===================================================================
--- trunk/blender/intern/ghost/GHOST_ISystemPaths.h	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/GHOST_ISystemPaths.h	2011-01-05 14:56:10 UTC (rev 34099)
@@ -85,6 +85,11 @@
 	  */
 	 virtual const GHOST_TUns8* getBinaryDir() const = 0;
 
+	 /**
+	  * Add the file to the operating system most recently used files
+	  */
+	 virtual void addToSystemRecentFiles(const char* filename) const = 0;
+
 private:
 	/** The one and only system paths*/
 	static GHOST_ISystemPaths* m_systemPaths;

Modified: trunk/blender/intern/ghost/GHOST_Path-api.h
===================================================================
--- trunk/blender/intern/ghost/GHOST_Path-api.h	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/GHOST_Path-api.h	2011-01-05 14:56:10 UTC (rev 34099)
@@ -70,6 +70,11 @@
  */
 extern const GHOST_TUns8* GHOST_getBinaryDir(void);
 
+/**
+* Add the file to the operating system most recently used files
+*/
+extern void GHOST_addToSystemRecentFiles(const char* filename);
+
 #ifdef __cplusplus
 } 
 #endif

Modified: trunk/blender/intern/ghost/intern/GHOST_Path-api.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_Path-api.cpp	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/intern/GHOST_Path-api.cpp	2011-01-05 14:56:10 UTC (rev 34099)
@@ -59,3 +59,11 @@
 	GHOST_ISystemPaths* systemPaths = GHOST_ISystemPaths::get();
 	return systemPaths ? systemPaths->getBinaryDir() : 0;  /* shouldn't be NULL */
 }
+
+void GHOST_addToSystemRecentFiles(const char* filename)
+{
+	GHOST_ISystemPaths* systemPaths = GHOST_ISystemPaths::get();
+	if (systemPaths) {
+		systemPaths->addToSystemRecentFiles(filename);
+	}
+}
\ No newline at end of file

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemPaths.h
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemPaths.h	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemPaths.h	2011-01-05 14:56:10 UTC (rev 34099)
@@ -67,6 +67,11 @@
 	  */
 	 virtual const GHOST_TUns8* getBinaryDir() const = 0;
 
+	 /**
+	  * Add the file to the operating system most recently used files
+	  */
+	 virtual void addToSystemRecentFiles(const char* filename) const = 0;
+
 };
 
 #endif

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemPathsCarbon.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemPathsCarbon.cpp	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemPathsCarbon.cpp	2011-01-05 14:56:10 UTC (rev 34099)
@@ -76,3 +76,8 @@
 	return (GHOST_TUns8*)path;
 }
 
+void GHOST_SystemPathsCarbon::addToSystemRecentFiles(const char* filename) const
+{
+	/* XXXXX TODO: Implementation for Carbon if possible */
+
+}
\ No newline at end of file

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemPathsCarbon.h
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemPathsCarbon.h	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemPathsCarbon.h	2011-01-05 14:56:10 UTC (rev 34099)
@@ -75,6 +75,10 @@
 	  */
 	 virtual const GHOST_TUns8* getBinaryDir() const;
 
+	/**
+	  * Add the file to the operating system most recently used files
+	  */
+	 void addToSystemRecentFiles(const char* filename) const;
 };
 
 #endif // _GHOST_SYSTEM_CARBON_H_

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemPathsCocoa.h
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemPathsCocoa.h	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemPathsCocoa.h	2011-01-05 14:56:10 UTC (rev 34099)
@@ -69,6 +69,10 @@
 	  */
 	 virtual const GHOST_TUns8* getBinaryDir() const;
 
+	 /**
+	  * Add the file to the operating system most recently used files
+	  */
+	 void addToSystemRecentFiles(const char* filename) const;
 };
 
 #endif // _GHOST_SYSTEM_COCOA_H_

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemPathsCocoa.mm
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemPathsCocoa.mm	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemPathsCocoa.mm	2011-01-05 14:56:10 UTC (rev 34099)
@@ -114,3 +114,8 @@
 	[pool drain];
 	return tempPath;
 }
+
+void GHOST_SystemPathsCocoa::addToSystemRecentFiles(const char* filename) const
+{
+	/* XXXXX TODO: Implementation for X11 if possible */
+}

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemPathsWin32.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemPathsWin32.cpp	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemPathsWin32.cpp	2011-01-05 14:56:10 UTC (rev 34099)
@@ -79,3 +79,10 @@
 
 	return NULL;
 }
+
+void GHOST_SystemPathsWin32::addToSystemRecentFiles(const char* filename) const
+{
+	/* SHARD_PATHA is for ansi strings, use SHARD_PATHW for wide */
+	SHAddToRecentDocs(SHARD_PATHA,filename);
+
+}
\ No newline at end of file

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemPathsWin32.h
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemPathsWin32.h	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemPathsWin32.h	2011-01-05 14:56:10 UTC (rev 34099)
@@ -76,6 +76,10 @@
 	  */
 	 const GHOST_TUns8* getBinaryDir() const;
 
+	 /**
+	  * Add the file to the operating system most recently used files
+	  */
+	 void addToSystemRecentFiles(const char* filename) const;
 };
 
 #endif // _GHOST_SYSTEM_PATHS_WIN32_H_

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemPathsX11.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemPathsX11.cpp	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemPathsX11.cpp	2011-01-05 14:56:10 UTC (rev 34099)
@@ -73,4 +73,8 @@
 	return NULL;
 }
 
+void GHOST_SystemPathsX11::addToSystemRecentFiles(const char* filename) const
+{
+	/* XXXXX TODO: Implementation for X11 if possible */
 
+}

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemPathsX11.h
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemPathsX11.h	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemPathsX11.h	2011-01-05 14:56:10 UTC (rev 34099)
@@ -67,6 +67,10 @@
 	  */
 	 const GHOST_TUns8* getBinaryDir() const;
 
+	 /**
+	  * Add the file to the operating system most recently used files
+	  */
+	 void addToSystemRecentFiles(const char* filename) const;
 };
 
 #endif

Modified: trunk/blender/source/blender/windowmanager/intern/wm_files.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_files.c	2011-01-05 14:49:08 UTC (rev 34098)
+++ trunk/blender/source/blender/windowmanager/intern/wm_files.c	2011-01-05 14:56:10 UTC (rev 34099)
@@ -91,6 +91,7 @@
 #include "ED_util.h"
 
 #include "GHOST_C-api.h"
+#include "GHOST_Path-api.h"
 
 #include "UI_interface.h"
 
@@ -511,6 +512,9 @@
 			}
 			fclose(fp);
 		}
+
+		/* also update most recent files on System */
+		GHOST_addToSystemRecentFiles(G.main->name);
 	}
 }
 





More information about the Bf-blender-cvs mailing list