]> git.saurik.com Git - wxWidgets.git/commitdiff
moved AppendAppName() from MSW to common code; modified it to not double the trailing...
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 20 Oct 2004 00:34:32 +0000 (00:34 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 20 Oct 2004 00:34:32 +0000 (00:34 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/stdpaths.h
include/wx/stdpaths.h
src/common/stdpbase.cpp
src/msw/stdpaths.cpp

index c1e9bb3f3cdf1954ce06f0e566d410c85266ce79..e89e80b22731934dff5b6bf6e78f2b87c2166837 100644 (file)
@@ -28,9 +28,6 @@ public:
     virtual wxString GetPluginsDir() const;
 
 protected:
-    // append "/appname" suffix if the app name is set
-    static wxString AppendAppName(const wxString& dir);
-
     // get the path corresponding to the given standard CSIDL_XXX constant
     static wxString DoGetDirectory(int csidl);
 };
index c69f4435f68eefa33712d2bfe678bdff2d86c1c2..e96bfcd681a7cbb0b915e9a46d88c04cf795fe65 100644 (file)
@@ -75,6 +75,11 @@ public:
 
     // virtual dtor for the base class
     virtual ~wxStandardPathsBase();
+
+protected:
+    // append "/appname" suffix if the app name is set (doesn't append the
+    // slash if dir already ends with a slash or dot)
+    static wxString AppendAppName(const wxString& dir);
 };
 
 #if defined(__WXMSW__)
index 4d477a297490703f8b2b199ffd7dc20d24f5d540..58e9e4ebbaa5e813bb346818f2738d0976f611e9 100644 (file)
     #pragma hdrstop
 #endif
 
+#ifndef WX_PRECOMP
+    #include "wx/app.h"
+#endif //WX_PRECOMP
+
+#include "wx/filename.h"
 #include "wx/stdpaths.h"
 
 // ----------------------------------------------------------------------------
@@ -57,3 +62,25 @@ wxString wxStandardPathsBase::GetUserLocalDataDir() const
     return GetUserDataDir();
 }
 
+/* static */
+wxString wxStandardPathsBase::AppendAppName(const wxString& dir)
+{
+    wxString subdir(dir);
+
+    // empty string indicates that an error has occured, don't touch it then
+    if ( !subdir.empty() )
+    {
+        const wxString appname = wxTheApp->GetAppName();
+        if ( !appname.empty() )
+        {
+            const wxChar ch = *(subdir.end() - 1);
+            if ( !wxFileName::IsPathSeparator(ch) && ch != _T('.') )
+                subdir += wxFileName::GetPathSeparator();
+
+            subdir += appname;
+        }
+    }
+
+    return subdir;
+}
+
index dcce507ce3cd157026480ebf005b7cbc9a3e2845..dcb164a576753687a544e63dfad31e4a45ef4a04 100644 (file)
@@ -216,22 +216,6 @@ wxString wxStandardPaths::DoGetDirectory(int csidl)
     return dir;
 }
 
-/* static */
-wxString wxStandardPaths::AppendAppName(const wxString& dir)
-{
-    wxString subdir(dir);
-
-    // empty string indicates that an error has occured, don't touch it then
-    if ( !subdir.empty() )
-    {
-        const wxString appname = wxTheApp->GetAppName();
-        if ( !appname.empty() )
-            subdir << _T('\\') << appname;
-    }
-
-    return subdir;
-}
-
 // ----------------------------------------------------------------------------
 // public functions
 // ----------------------------------------------------------------------------