X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/17af82fb4c8f830f202567259472645c27724c32..5e60a12a069e1e7e8213d41c8d3243e7d3b0913e:/src/common/stdpbase.cpp diff --git a/src/common/stdpbase.cpp b/src/common/stdpbase.cpp index 18ad257b92..6d0609e118 100644 --- a/src/common/stdpbase.cpp +++ b/src/common/stdpbase.cpp @@ -24,8 +24,6 @@ #pragma hdrstop #endif -#if wxUSE_STDPATHS - #ifndef WX_PRECOMP #include "wx/app.h" #endif //WX_PRECOMP @@ -53,6 +51,27 @@ wxStandardPathsBase& wxStandardPathsBase::Get() return traits->GetStandardPaths(); } +wxString wxStandardPathsBase::GetExecutablePath() const +{ + if ( !wxTheApp || !wxTheApp->argv ) + return wxEmptyString; + + wxString argv0 = wxTheApp->argv[0]; + if (wxIsAbsolutePath(argv0)) + return argv0; + + // Search PATH.environment variable... + wxPathList pathlist; + pathlist.AddEnvList(wxT("PATH")); + wxString path = pathlist.FindAbsoluteValidPath(argv0); + if ( path.empty() ) + return argv0; // better than nothing + + wxFileName filename(path); + filename.Normalize(); + return filename.GetFullPath(); +} + wxStandardPathsBase& wxAppTraitsBase::GetStandardPaths() { return gs_stdPaths; @@ -78,6 +97,12 @@ wxString wxStandardPathsBase::GetDocumentsDir() const return wxFileName::GetHomeDir(); } +// return the temporary directory for the current user +wxString wxStandardPathsBase::GetTempDir() const +{ + return wxFileName::GetTempDir(); +} + /* static */ wxString wxStandardPathsBase::AppendAppName(const wxString& dir) { @@ -99,5 +124,3 @@ wxString wxStandardPathsBase::AppendAppName(const wxString& dir) return subdir; } - -#endif // wxUSE_STDPATHS