#pragma hdrstop
#endif
+#if wxUSE_STDPATHS
+
#ifndef WX_PRECOMP
#include "wx/app.h"
#endif //WX_PRECOMP
// used in our wxLogTrace messages
static const wxChar *TRACE_MASK = _T("stdpaths");
+#ifndef CSIDL_APPDATA
+ #define CSIDL_APPDATA 0x001a
+#endif
+
#ifndef CSIDL_LOCAL_APPDATA
#define CSIDL_LOCAL_APPDATA 0x001c
#endif
#define CSIDL_PROGRAM_FILES 0x0026
#endif
+#ifndef SHGFP_TYPE_CURRENT
+ #define SHGFP_TYPE_CURRENT 0
+#endif
+
+#ifndef SHGFP_TYPE_DEFAULT
+ #define SHGFP_TYPE_DEFAULT 1
+#endif
+
// ----------------------------------------------------------------------------
// module globals
// ----------------------------------------------------------------------------
wxString wxStandardPaths::GetDataDir() const
{
- return AppendAppName(DoGetDirectory(CSIDL_PROGRAM_FILES));
+ // under Windows each program is usually installed in its own directory and
+ // so its datafiles are in the same directory as its main executable
+ return wxFileName(wxGetFullModuleName()).GetPath();
}
wxString wxStandardPaths::GetUserDataDir() const
// this is for compatibility with earlier wxFileConfig versions
// which used the Windows directory for the global files
wxString dir;
+#ifndef __WXWINCE__
if ( !::GetWindowsDirectory(wxStringBuffer(dir, MAX_PATH), MAX_PATH) )
{
wxLogLastError(_T("GetWindowsDirectory"));
}
+#else
+ // TODO: use CSIDL_WINDOWS (eVC4, possibly not eVC3)
+ dir = wxT("\\Windows");
+#endif
return dir;
}
return wxGetHomeDir();
}
+#endif // wxUSE_STDPATHS