]> git.saurik.com Git - wxWidgets.git/commitdiff
Added wxStandardPaths::MSWGetShellDir().
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 14 Aug 2009 00:05:56 +0000 (00:05 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 14 Aug 2009 00:05:56 +0000 (00:05 +0000)
This function allows to get the location of Windows shell special folders not
covered by wxStandardPaths methods (yet), e.g. CSIDL_DESKTOPDIRECTORY.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/stdpaths.h
interface/wx/stdpaths.h
src/msw/stdpaths.cpp

index e6668daa147958d93acccd117f1fd162c9828603..a9d53f38a6b641a9e8ab9b85ce5a5a631c47f14a 100644 (file)
@@ -62,6 +62,10 @@ public:
     // Undo the effects of all preceding IgnoreAppSubDir() calls.
     void DontIgnoreAppSubDir();
 
+
+    // Returns the directory corresponding to the specified Windows shell CSIDL
+    static wxString MSWGetShellDir(int csidl);
+
 protected:
     // get the path corresponding to the given standard CSIDL_XXX constant
     static wxString DoGetDirectory(int csidl);
index fa4d965c4f4ba463c0c6dc6bfa44fcae4b5ea955..78e1c8c787406210969103e842735a68a5e0cc58 100644 (file)
@@ -275,6 +275,26 @@ public:
      */
     void IgnoreAppBuildSubDirs();
 
+    /**
+        Returns location of Windows shell special folder.
+
+        This function is, by definition, MSW-specific. It can be used to access
+        pre-defined shell directories not covered by the existing methods of
+        this class, e.g.:
+        @code
+        #ifdef __WXMSW__
+            // get the location of files waiting to be burned on a CD
+            wxString cdburnArea =
+                wxStandardPaths::MSWGetShellDir(CSIDL_CDBURN_AREA);
+        #endif // __WXMSW__
+        @endcode
+
+        @param csidl
+
+        @since 2.9.1
+     */
+    static wxString MSWGetShellDir(int csidl);
+
     /**
         Lets wxStandardPaths know about the real program installation prefix on a Unix
         system. By default, the value returned by GetInstallPrefix() is used.
index 579844fad03a2e38c683639bbb8653e50e1c6113..3667c1e954e3ce6f1e945777f073cf4b1267b840 100644 (file)
@@ -321,6 +321,12 @@ void wxStandardPaths::DontIgnoreAppSubDir()
     m_appDir.clear();
 }
 
+/* static */
+wxString wxStandardPaths::MSWGetShellDir(int csidl)
+{
+    return DoGetDirectory(csidl);
+}
+
 // ----------------------------------------------------------------------------
 // public functions
 // ----------------------------------------------------------------------------