+wxString wxStandardPathsBase::GetDocumentsDir() const
+{
+ return wxFileName::GetHomeDir();
+}
+
+wxString wxStandardPathsBase::GetAppDocumentsDir() const
+{
+ const wxString docsDir = GetDocumentsDir();
+ wxString appDocsDir = AppendAppInfo(docsDir);
+
+ return wxDirExists(appDocsDir) ? appDocsDir : docsDir;
+}
+
+// return the temporary directory for the current user
+wxString wxStandardPathsBase::GetTempDir() const
+{
+ return wxFileName::GetTempDir();
+}
+
+/* static */
+wxString
+wxStandardPathsBase::AppendPathComponent(const wxString& dir,
+ const wxString& component)
+{
+ wxString subdir(dir);
+
+ // empty string indicates that an error has occurred, don't touch it then
+ if ( !subdir.empty() )
+ {
+ if ( !component.empty() )
+ {
+ const wxChar ch = *(subdir.end() - 1);
+ if ( !wxFileName::IsPathSeparator(ch) && ch != _T('.') )
+ subdir += wxFileName::GetPathSeparator();
+
+ subdir += component;
+ }
+ }
+
+ return subdir;
+}
+
+
+wxString wxStandardPathsBase::AppendAppInfo(const wxString& dir) const
+{
+ wxString subdir(dir);
+
+ if ( UsesAppInfo(AppInfo_VendorName) )
+ {
+ subdir = AppendPathComponent(subdir, wxTheApp->GetVendorName());
+ }
+
+ if ( UsesAppInfo(AppInfo_AppName) )
+ {
+ subdir = AppendPathComponent(subdir, wxTheApp->GetAppName());
+ }
+
+ return subdir;
+}
+