Commit Graph

284 Commits

Author SHA1 Message Date
Vadim Zeitlin
d98a58c543 Use __WINDOWS__ for OS kind checks and reserve __WXMSW__ for GUI toolkit.
This change prepares the way for using wxGTK under Windows as this would
still define __WINDOWS__ but use __WXGTK__ instead of __WXMSW__.

Closes #14064.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:31 +00:00
Vadim Zeitlin
1b4bff8262 Add minimal support for building non-GUI parts of wxWidgets for Android.
Recognize __ANDROID__ in wx/platform.h and include the appropriate headers
from wx/android.

Also fix a couple of compilation errors (in filename.cpp) and warnings (in
event.h) which only appear when building for Android.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70703 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-26 20:24:25 +00:00
Vadim Zeitlin
4dfc0ca0c5 Suppress harmless MSVC warnings about int to bool conversions.
Convert int to bool explicitly to avoid MSVC warning C4800.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-25 23:49:53 +00:00
Vadim Zeitlin
7c9b6c9111 Compare file inodes if possible in wxFileName::SameAs().
This allows to correctly return when the two files with different names
actually refer to the same file system object.

Closes #910.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-25 23:49:35 +00:00
Vadim Zeitlin
996d3fe3f8 Added wxFileName::Exists().
This function checks for existence of anything with the given name, not
necessarily just a file or a directory.

Extend the unit test to verify that it returns true for /dev/null on Unix
systems.

Closes #953.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-15 15:39:46 +00:00
Vadim Zeitlin
901504c383 Refactor wxFileName existence checking code.
Merge FileExists() and DirExists() together in a single
wxFileSystemObjectExists() helper in preparation for adding a function
checking for the existence of any kind of file system object.

There should be no changes for MSW/Unix but OS/2 file detection was changed
slightly to always use DosQueryPathInfo() instead of using it only for the
directories and stat() for files. Not sure if this is the right thing to do
there but it seems like the code should work.

Also add a simple unit test for these functions.

See #953.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-15 15:39:41 +00:00
Vadim Zeitlin
d8b130867c Set the file name for temporary wxFFile objects.
Pass the name of the temporary file to wxFFile::Attach(). This allows to give
more useful error messages if any operation on this file fails later.

Closes #13903.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-31 19:38:45 +00:00
Vadim Zeitlin
bd362275b8 Remove Palm OS port.
The platform targeted by this port doesn't exist any more and the port never
achieved really working state so remove the code to avoid having to maintain
it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-15 01:05:28 +00:00
Vadim Zeitlin
6235846c0c Don't duplicate INVALID_FILE_ATTRIBUTES definition.
Move it in wx/msw/missing.h header instead of defining it in two different
places.

Closes #12964.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-22 13:26:06 +00:00
Vadim Zeitlin
f822acceee Don't consider extra ".." an error in wxFileName::Normalize().
The path being normalized could have come from user and there doesn't seem to
be any point in complaining about too many ".."s in it when we can handle them
correctly instead.

So simply ignore the extra ".."s for the absolute paths and keep them
unchanged for the relative ones instead of returning an error.

See #10960.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-20 23:53:28 +00:00
Vadim Zeitlin
715e4f7e3e Fix Cygwin 1.7 build.
Avoid using Cygwin sockets as our code assumes that we use WinSock API under
Windows currently (this might change in the future) by defining
__USE_W32_SOCKETS.

Use new, safer and more efficient cygwin_conv_path() function.

Use t_str() instead of fn_str() with Windows API taking file names, under
Cygwin they are different and using fn_str() is incorrect.

A few other minor fixes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-23 23:32:46 +00:00
Stefan Csomor
088a36424c no trailing slash for OSX_CARBON
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 14:46:44 +00:00
Vadim Zeitlin
02f35bffeb Ensure that wxFileName::GetTempDir() doesn't return trailing slashes.
Sanitize the value returned by GetTempDir() to ensure that it doesn't have any
trailing path separators. This happened at least under OS X where standard
TMPDIR has a trailing slash and was inconsistent with the behaviour under the
other platforms.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 11:46:49 +00:00
Václav Slavík
142ae7b388 Don't include wx/msw/private.h from dynlib.h.
Because it's private header and introduces dependency on window.h.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64139 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-25 12:07:37 +00:00
Vadim Zeitlin
7f19ef40eb Work around "possibly uninitialized variable" warning in wxFileName.
Initialize multiplier to its default value in GetHumanReadableSize() to avoid
a "warning: 'multiplier' may be used uninitialized in this function" from g++.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-07 12:43:29 +00:00
Francesco Montorsi
2febffbac7 fix typos introduced by error in r63870 (see #10673)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-06 22:51:11 +00:00
Vadim Zeitlin
b2edb8f3c5 Add support for IEC and SI size units to wxFileName::GetHumanReadableSize().
Allow choosing the multiplier to use (1000 or 1024) and the names of the units
(SI or IEC). By default, still use traditional convention, i.e. multiplier of
1024 but SI unit names. This will probably need to be changed to use IEC units
in the future.

Also added unit test for this function.

Closes #10673.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-06 14:53:04 +00:00
Stefan Csomor
766fc09288 avoiding string conversions on 1st param of wxStat, as the latter is having a param of wxString now always and does the conversion internally
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-09 07:38:22 +00:00
Vadim Zeitlin
e01a788ee0 Add support for MSW unique volume names to wxFileName.
Recognize the paths starting with "\\?\Volume{GUID}" under MSW and provide a
way to test for them.

Closes #8874.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-05 17:31:00 +00:00
Vadim Zeitlin
85b1997c09 Define INVALID_FILE_ATTRIBUTES in filename.cpp too.
Fix VC6 compilation: INVALID_FILE_ATTRIBUTES is not defined in its headers so
we need to do it ourselves (this was done in filefn.cpp before but part of the
code using this constant was moved to filename.cpp in r62735 so now we need to
define it here too).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-28 03:37:41 +00:00
Vadim Zeitlin
5bb596668f Implement wx{File,Dir}Exists() in terms of wxFileName methods.
Use wxFileName from the global functions instead of using global functions in
wxFileName methods as wxFileName is the preferred API for all these
operations.

Closes #11488.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-28 02:40:08 +00:00
Vadim Zeitlin
f3c74c8df9 Don't change file access time implicitly when setting it explicitly.
wxFileHandle helper class used in wxFileName::SetTimes() under MSW modified
the file access time by setting it to the current time because it opened the
file in a wrong mode.

Closes #10567.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-24 00:01:25 +00:00
Vadim Zeitlin
0f506ded1a Fix handling of invalid paths with multiple columns in wxFileName.
SplitVolume() didn't handle colons in the initial position correctly which
surprised SetPath() and led to accessing an out-of-range string element. Fix
SplitVolume() and also add a check to SetPath() itself as it seems like it
could be called with a path containing the volume only.

Closes #11453.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-18 03:45:32 +00:00
Vadim Zeitlin
7b611a3ae9 Recognize UNCs starting with forward slashes too in wxFileName.
Treat \\share\path and //share/path in the same way (for wxPATH_DOS paths).

Add a test for UNC parsing to the unit test.

Closes #11376.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-05 14:59:39 +00:00
Jouk Jansen
4c9147881b omitting assert that makes no sense for OpenVMS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-28 12:05:18 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
43b2d5e7c3 Put braces around all calls to wxLogFunctions() inside an if statement.
This suppresses all the remaining g++ -Wparentheses warnings and uses consistent style everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-20 16:47:54 +00:00
Vadim Zeitlin
be5be16a23 interpret ~ specially only when it is the first character of the path (closes #10948, see #10941)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-01 09:07:38 +00:00
Vadim Zeitlin
d9e80dce15 make more wxFileName methods const (closes #10887)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61022 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-12 15:28:45 +00:00
Vadim Zeitlin
89391a4ea1 make wxFileName::{Mk,Rm}dir() const (closes #10868)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-11 16:11:07 +00:00
Vadim Zeitlin
181dd701fa implement deprecated wxStripExtension() in terms of new wxFileName::StripExtension() (closes #10634)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-26 15:55:01 +00:00
Vadim Zeitlin
4b6a582bef replace more __WXDEBUG__ occurrences with wxDEBUG_LEVEL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 12:53:48 +00:00
Vadim Zeitlin
110c50944f added wxPATH_RMDIR_FULL/RECURSIVE wxFileName::Rmdir() flags (closes #10422)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 12:37:16 +00:00
Vadim Zeitlin
6bc176b4ab implement SetTimes() for directories too under MSW (#10250)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 18:03:00 +00:00
Francesco Montorsi
bd365871aa s/wxSplitPath/wxFileName::SplitPath
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57873 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-07 01:47:47 +00:00
Francesco Montorsi
395f3aa8bd rewrite wxContractPath as wxFileName::ReplaceEnvVariable and wxFileName::ReplaceHomeDir; add test units and docs for them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-07 00:38:46 +00:00
Vadim Zeitlin
56ce942b62 don't use wxChar arrays and wxStrncpy (especially as the latter was used incorrectly) in Mac-specific type/creator code, just use wxString
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57022 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 13:51:09 +00:00
Vadim Zeitlin
ea6319cb38 don't replace . and .. with the corresponding directoties names in GetLongPath() as this breaks the normalization of file names without wxPATH_NORM_DOTS flag (#9814)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-12 15:15:32 +00:00
Vadim Zeitlin
35c2aa4f19 added wxFileName::GetVolumeString() (#9950)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-14 01:18:05 +00:00
Vadim Zeitlin
8758875e0b added enabled and hidden attributes to radio box items in XRC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 18:21:38 +00:00
Stefan Csomor
26eef30437 OSX regrouping
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 19:47:40 +00:00
Stefan Csomor
c933e267be fixing file paths after renaming
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-11 19:22:25 +00:00
Vadim Zeitlin
9a0c5c012a do case normalization after long path one, this fixes the problem with incorrect paths case under Vista (closes 9162)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-24 14:42:40 +00:00
Vadim Zeitlin
0e20728015 replace wrong wxUSE_DYNAMIC_LOADER test with the correct wxUSE_DYNLIB_CLASS one
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-03 12:47:16 +00:00
Stefan Csomor
e0d81eac87 cleanup mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-22 13:59:24 +00:00
Vadim Zeitlin
060668a1f6 export wxInvalidSize from DLL builds (patch 1805738)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-20 14:34:43 +00:00
Vadim Zeitlin
bd08f2f766 compilation fixes for wxUSE_LONGLONG==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-10 23:19:17 +00:00
Václav Slavík
e0a050e347 more changes to make wx compile without implicit wxString->char* conversion (for STL build)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-20 07:44:45 +00:00
Václav Slavík
0bf751e7e9 compilation fixes for PCH-less build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-11 06:10:37 +00:00
Václav Slavík
8650108199 don't use implicit wxString->char*/wchar_t* conversion, it will not be available in wxUSE_STL build in the future
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-10 17:42:41 +00:00