Commit Graph

114 Commits

Author SHA1 Message Date
Vadim Zeitlin
b9bd932077 Micro optimize string concatenation in wxFileSystem::OpenFile()
Concatenate the string only once instead of doing it several times.
Compiler might be optimizing this anyhow in release builds, but it
definitely helps in at least the debug ones and doesn't cost anything.
2021-04-15 19:20:32 +01:00
Vadim Zeitlin
97750eb282 Don't try relative paths in wxFileSystem if current path is empty
This seems redundant, as the loop is the same as the one just below it
which is executed in any case if this one doesn't find anything.
2021-04-15 19:20:32 +01:00
PB
f57f214122 Remove BCC-specific hdrstop pragma from everywhere 2020-10-12 21:58:37 +02:00
Vadim Zeitlin
cc91065c83 Remove an extra block needed after the previous commit
Also add a comment for clarity.

No real changes.
2020-01-20 21:57:36 +01:00
Lauri Nurmi
04d71c80e3 Fix build when configured with --disable-sysoptions 2020-01-20 22:18:55 +02:00
Vadim Zeitlin
111587549e Remove now unnecessary header from filesys.cpp
There is no need to include wx/uri.h from this file any more, now that
it doesn't use wxURI::Unescape() any longer.
2019-08-25 00:52:33 +02:00
oneeyeman1
14bcf09924 Move URL<->filename conversion functions to wxFileName
This ensures that they are always available and can be used in
wxLaunchDefaultBrowser() in all build variants, whereas before this
function didn't handle file:// URLs correctly when the library was built
with wxUSE_FILESYSTEM==0.

Closes https://github.com/wxWidgets/wxWidgets/pull/1469

Closes #10414.
2019-08-25 00:48:39 +02:00
Paul Cornett
fe1737d399 Reduce the scope of some local variables 2019-04-05 10:44:02 -07:00
Paul Cornett
32535f5bf6 Remove redundant return of wxEmptyString 2017-02-18 11:16:38 -08:00
Paul Cornett
96826d80d2 Use wxString::clear() instead of assignment to wxEmptyString 2017-02-18 11:00:26 -08:00
Paul Cornett
d886f8cce9 Remove initializations of wxString with wxEmptyString
An empty string is the default
2017-02-18 10:32:56 -08:00
Zane U. Ji
95abaa1f23 Return valie file URLs from wxFileSystem::FileNameToURL()
According to https://tools.ietf.org/html/rfc1738#section-5 the file URLs must
always start with "file://", so ensure that this is indeed the case.

Closes #16209.
2016-02-05 22:43:23 +01:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
4d4e7a8a73 Do return the protocol part from GetLocaltion() for local wxFSFiles.
wxLocalFSHandler created wxFSFile without the protocol information which means
that calling GetLocaltion() on this file later doesn't return it, contrary to
the documentation.

Do include the protocol to fix this.

Closes #14638.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72649 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-09 21:28:33 +00:00
Vadim Zeitlin
b7775a521f Add wxFSInputStream providing stream interface to wxFileSystem.
This class allows using virtual wxFSFiles with any wx functions taking
streams. E.g. it makes it possible to load images and animations from
wxFileSystem.

Closes #14185.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-16 13:53:49 +00:00
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
9b42a9adc2 Check string length correctly in wxFileSystem::URLToFileName().
Check that the string is long enough before accessing its first and second
characters to fix a crash when an empty or one-character string was passed to
wxFileSystem::URLToFileName().

Closes #13920.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-03 17:27:21 +00:00
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Dimitri Schoolwerth
6636ef8ddf Use wxString's empty() when checking if the string is (non-)empty throughout wx.
Instead of constructs such as if "( s.length() )" and "if (s.length() > 0)" use "if ( !s.empty() )" instead. Similarly for "if (s.length() == 0)" or "if ( s.IsNull() )", use "if ( s.empty() )".
No code changes intended except for a few instances where a construct like "if ( s.length() && wxFileExists(s) )" was changed to not check the length of the string and let wxFileExists handle such cases.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-22 14:38:36 +00:00
Václav Slavík
c707d82e82 Fixed wxFileSystem::FileNameToURL() regression with UNC paths.
We cannot use wxURI to do the escaping, because wxFileSystem depends on
use of nonstandard escaping and prefixes (wxURI eats away
file:// prefix, while wxFileSystem uses it to signify UNC paths;
wxFileSystem needs to escape #,: as well).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-07 18:59:51 +00:00
Václav Slavík
55129143a1 Fix wxFileSystem::FileNameToURL() for Unicode file names.
If filename with non-ASCII characters was encoded, resulting URL
contained non-ASCII characters. But URLToFileName() expected the
input to be in UTF-8. This change fixes it by using UTF-8 for
file: URLs in FileNameToURL() too.

Fixes #11491.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-28 15:41:35 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +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
Václav Slavík
8e63b7b8ea return URLs, not filenames, from wxFileSystem::FindFirst/FindNext() for the file: protocol
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59510 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-13 15:04:05 +00:00
Vadim Zeitlin
d3b9f782ef don't use annoying and unneeded in C++ casts of NULL to "T *" in all other files neither
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:55:27 +00:00
Vadim Zeitlin
107b52ed17 avoid an unnecessary and unused (resulting in release build warning) variable in GetMimeTypeFromExt()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-20 09:57:34 +00:00
Václav Slavík
44d0f703f9 fixed messed up indentation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 22:25:11 +00:00
Julian Smart
c895624b13 Allow an app to cut down start time by not doing unnecessary mime types initialisation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54358 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-25 08:38:10 +00:00
Václav Slavík
91915e1c13 allow periods in wxFileSystem URL anchors (patch #2265)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53876 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-31 09:44:03 +00:00
Vadim Zeitlin
8fda05d726 revert not encoding the colons in FileNameToURL() under MSW (r51904, patch 1890922) as this completely broke wxFS URLs parsing; explain this in a comment in the trunk version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-20 16:33:55 +00:00
Vadim Zeitlin
928f37c688 don't encode collons in file:// URLs under Windows as IE is incapable of opening them (and other browsers can open both forms) (patch 1890922)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-19 02:37:53 +00:00
Vadim Zeitlin
68ce1d3499 fix to the previous commit: percent signs have to be escaped first
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-21 11:16:57 +00:00
Vadim Zeitlin
d81f6eac73 fix handling of '#' in file names (patch 1740328)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-21 00:05:01 +00:00
Václav Slavík
593177c566 use wxString in wxFileSystem::FindFileInPath()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-19 17:39:27 +00:00
Václav Slavík
69cce15178 determine wxFSFile's MIME type when wxFSFile::GetMimeType() is called instead of creating it; this dramatically improves startup times of XRC applications on Unix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-17 10:59:01 +00:00
Václav Slavík
8d6c5e4f3f prefer wxFFile to wxFile if both are available, for better performance (see bug #1736365)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-13 20:49:27 +00:00
Vadim Zeitlin
7c37eb10fd added wxNullPtr and use it instead of just 0 with wxFileTypeInfo vararg ctor to fix crashes under 64 bit architectures
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-13 11:32:44 +00:00
Václav Slavík
2523e9b700 use UTF8-encoded char* strings in UTF8 build instead of wchar_t* if the current locale uses UTF8;
fall back to widechar CRT functions in the locale is not UTF8


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-26 11:40:04 +00:00
Václav Slavík
c9f7896861 first phase of transition to unified Unicode build:
1. changed c_str() to return wxCStrData (implicitly convertible to wxChar*)
2. added template type-safe wrappers for vararg functions
3. added wxUniChar class representing single Unicode character
4. changed wxString::operator[] and wxString::iterator to return wxUniChar


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-17 10:26:10 +00:00
Michael Wetherell
0ce986140a Check for wxFS_READ in OpenFile.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-03 21:49:18 +00:00
Michael Wetherell
916af76f40 Make wxBackingFile internal, and remove wxZipFSHander, add a typedef to
wxArchiveFSHandler for compatibilty.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-29 20:06:45 +00:00
Michael Wetherell
52ad298e66 Allow per instance filesystem handlers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-27 09:35:05 +00:00
Michael Wetherell
8c3dbc46b3 Add wxFS_SEEKABLE open flag.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-27 07:06:41 +00:00
Vadim Zeitlin
d9b0ee1eca fix wxFilesystem compilation if wxUSE_FFILE is 0 but wxUSE_FILE is 1; disable wxFileSystem if both wxUSE_(F)FILE are 0 (modified patch 1569960)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-03 14:38:58 +00:00
Robert Roebling
5949d30725 Applied 1215477, fixing a crash by properly removing
a file system handler in a module.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41033 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-06 13:49:42 +00:00
Włodzimierz Skiba
02761f6cd4 Include wx/module.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-31 19:31:43 +00:00
Vadim Zeitlin
374b4f1c0b compilation fix for platforms where size_t is unsigned long, not int
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 01:05:49 +00:00
Vadim Zeitlin
4948ebf3ff handlers added using AddHandler() last must have the highest priority (patch 1522807)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 00:33:14 +00:00