X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ef92f440977f4aaaf7c252c0646b29e35e2c8b50..2654f7e423bb773ca52c8b465c6ec9abfa398e45:/include/wx/filename.h diff --git a/include/wx/filename.h b/include/wx/filename.h index d263ddecc2..cbd601e663 100644 --- a/include/wx/filename.h +++ b/include/wx/filename.h @@ -72,7 +72,8 @@ enum wxPathNormalize wxPATH_NORM_CASE = 0x0008, // if case insensitive => tolower wxPATH_NORM_ABSOLUTE = 0x0010, // make the path absolute wxPATH_NORM_LONG = 0x0020, // make the path the long form - wxPATH_NORM_ALL = 0x003f & ~wxPATH_NORM_CASE + wxPATH_NORM_SHORTCUT = 0x0040, // resolve the shortcut, if it is a shortcut + wxPATH_NORM_ALL = 0x00ff & ~wxPATH_NORM_CASE }; // what exactly should GetPath() return? @@ -176,7 +177,11 @@ public: // file tests // is the filename valid at all? - bool IsOk() const { return m_dirs.size() != 0 || !m_name.IsEmpty(); } + bool IsOk() const + { + // we're fine if we have the path or the name or if we're a root dir + return m_dirs.size() != 0 || !m_name.IsEmpty() || !m_relative; + } // does the file with this name exists? bool FileExists() const; @@ -283,6 +288,14 @@ public: { return Normalize(wxPATH_NORM_DOTS | wxPATH_NORM_ABSOLUTE | wxPATH_NORM_TILDE, cwd, format); } +#if defined(__WIN32__) && !defined(__WXWINCE__) && wxUSE_OLE + // if the path is a shortcut, return the target and optionally, + // the arguments + bool GetShortcutTarget(const wxString& shortcutPath, + wxString& targetFilename, + wxString* arguments = NULL); +#endif + // Comparison // compares with the rules of the given platforms format @@ -410,6 +423,9 @@ public: { return GetPath(wxPATH_GET_SEPARATOR, format); } private: + // check whether this dir is valid for Append/Prepend/InsertDir() + static bool IsValidDirComponent(const wxString& dir); + // the drive/volume/device specification (always empty for Unix) wxString m_volume;