X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6ae3ead6f0ed2b7b1bfc40317e65ffe71e0b3321..958b430ac786faa794bc39f408a55af483a16b41:/src/common/stdpbase.cpp diff --git a/src/common/stdpbase.cpp b/src/common/stdpbase.cpp index 6d0609e118..04cebb8587 100644 --- a/src/common/stdpbase.cpp +++ b/src/common/stdpbase.cpp @@ -77,6 +77,15 @@ wxStandardPathsBase& wxAppTraitsBase::GetStandardPaths() return gs_stdPaths; } +wxStandardPathsBase::wxStandardPathsBase() +{ + // Set the default information that is used when + // forming some paths (by AppendAppInfo). + // Derived classes can call this in their constructors + // to set the platform-specific settings + UseAppInfo(AppInfo_AppName); +} + wxStandardPathsBase::~wxStandardPathsBase() { // nothing to do here @@ -104,23 +113,41 @@ wxString wxStandardPathsBase::GetTempDir() const } /* static */ -wxString wxStandardPathsBase::AppendAppName(const wxString& dir) +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() ) { - const wxString appname = wxTheApp->GetAppName(); - if ( !appname.empty() ) + if ( !component.empty() ) { const wxChar ch = *(subdir.end() - 1); if ( !wxFileName::IsPathSeparator(ch) && ch != _T('.') ) subdir += wxFileName::GetPathSeparator(); - subdir += appname; + 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; +} +