[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