X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/00cb0756b4ec3ff501ac6ba4351de51c7225de70..f925e7b4f3d017b33749bd23a64592c1985e8f98:/src/common/filename.cpp diff --git a/src/common/filename.cpp b/src/common/filename.cpp index d68e8ff278..5bebeedae0 100644 --- a/src/common/filename.cpp +++ b/src/common/filename.cpp @@ -585,7 +585,7 @@ wxFileName::CreateTempFileName(const wxString& prefix, wxFile *fileTemp) } #elif defined(__WINDOWS__) && !defined(__WXMICROWIN__) -#ifdef __WIN32__ + if ( dir.empty() ) { if ( !::GetTempPath(MAX_PATH, wxStringBuffer(dir, MAX_PATH + 1)) ) @@ -612,12 +612,6 @@ wxFileName::CreateTempFileName(const wxString& prefix, wxFile *fileTemp) path.clear(); } -#else // Win16 - if ( !::GetTempFileName(NULL, prefix, 0, wxStringBuffer(path, 1025)) ) - { - path.clear(); - } -#endif // Win32/16 #else // !Windows if ( dir.empty() ) @@ -946,7 +940,7 @@ bool wxFileName::Normalize(int flags, m_dirs.Add(dir); } -#ifdef __WIN32__ +#if defined(__WIN32__) && !defined(__WXWINCE__) && wxUSE_OLE if ( (flags & wxPATH_NORM_SHORTCUT) ) { wxString filename; @@ -967,6 +961,7 @@ bool wxFileName::Normalize(int flags, { // VZ: expand env vars here too? + m_volume.MakeLower(); m_name.MakeLower(); m_ext.MakeLower(); } @@ -990,17 +985,28 @@ bool wxFileName::Normalize(int flags, // get the shortcut target // ---------------------------------------------------------------------------- -#if defined(__WIN32__) && !defined(__WXWINCE__) +// WinCE (3) doesn't have CLSID_ShellLink, IID_IShellLink definitions. +// The .lnk file is a plain text file so it should be easy to +// make it work. Hint from Google Groups: +// "If you open up a lnk file, you'll see a +// number, followed by a pound sign (#), followed by more text. The +// number is the number of characters that follows the pound sign. The +// characters after the pound sign are the command line (which _can_ +// include arguments) to be executed. Any path (e.g. \windows\program +// files\myapp.exe) that includes spaces needs to be enclosed in +// quotation marks." + +#if defined(__WIN32__) && !defined(__WXWINCE__) && wxUSE_OLE +// The following lines are necessary under WinCE +// #include "wx/msw/private.h" +// #include #include +#if defined(__WXWINCE__) +#include #endif -#ifdef __WIN32__ bool wxFileName::GetShortcutTarget(const wxString& shortcutPath, wxString& targetFilename, wxString* arguments) { -#ifdef __WXWINCE__ - // Not tested on WinCE, so don't compile yet - return shortcutPath; -#else wxString path, file, ext; wxSplitPath(shortcutPath, & path, & file, & ext); @@ -1046,7 +1052,6 @@ bool wxFileName::GetShortcutTarget(const wxString& shortcutPath, wxString& targe } psl->Release(); return success; -#endif } #endif @@ -1137,8 +1142,8 @@ bool wxFileName::SameAs(const wxFileName& filepath, wxPathFormat format) const // get cwd only once - small time saving wxString cwd = wxGetCwd(); - fn1.Normalize(wxPATH_NORM_ALL & ~wxPATH_NORM_CASE, cwd, format); - fn2.Normalize(wxPATH_NORM_ALL & ~wxPATH_NORM_CASE, cwd, format); + fn1.Normalize(wxPATH_NORM_ALL | wxPATH_NORM_CASE, cwd, format); + fn2.Normalize(wxPATH_NORM_ALL | wxPATH_NORM_CASE, cwd, format); if ( fn1.GetFullPath() == fn2.GetFullPath() ) return true; @@ -1973,25 +1978,25 @@ WX_DEFINE_EXPORTED_OBJARRAY(MacDefaultExtensionArray) ; MacDefaultExtensionArray gMacDefaultExtensions ; -static void MacEnsureDefaultExtensionsLoaded() +// load the default extensions +MacDefaultExtensionRecord gDefaults[] = { - if ( !gMacDefaultExtensionsInited ) - { - - // load the default extensions - MacDefaultExtensionRecord defaults[1] = - { - MacDefaultExtensionRecord( wxT("txt") , 'TEXT' , 'ttxt' ) , - - } ; - // we could load the pc exchange prefs here too + MacDefaultExtensionRecord( wxT("txt") , 'TEXT' , 'ttxt' ) , + MacDefaultExtensionRecord( wxT("tif") , 'TIFF' , '****' ) , + MacDefaultExtensionRecord( wxT("jpg") , 'JPEG' , '****' ) , +} ; - for ( size_t i = 0 ; i < WXSIZEOF( defaults ) ; ++i ) +static void MacEnsureDefaultExtensionsLoaded() +{ + if ( !gMacDefaultExtensionsInited ) { - gMacDefaultExtensions.Add( defaults[i] ) ; + // we could load the pc exchange prefs here too + for ( size_t i = 0 ; i < WXSIZEOF( gDefaults ) ; ++i ) + { + gMacDefaultExtensions.Add( gDefaults[i] ) ; + } + gMacDefaultExtensionsInited = true ; } - gMacDefaultExtensionsInited = true ; - } } bool wxFileName::MacSetTypeAndCreator( wxUint32 type , wxUint32 creator ) {