summaryrefslogtreecommitdiffstats
path: root/src/corelib/io
Commit message (Collapse)AuthorAgeFilesLines
* Make qurlinfo private, now that QFtp is private.David Faure2012-06-141-2/+0
| | | | | | Change-Id: I0bb641b397b7087c89009f92d9973e0922dce653 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Extend JSON QStandardPaths to support multiple paths per locationJeremy Katz2012-06-141-32/+77
| | | | | | | | | | | | | | | | | Allow a location to be specified as an array of paths. LOCATION: ["first", "second"] The first value is selected for writableLocation(). Define the first entry as an empty string for no writable path. LOCATION: ["", "second"] A single path may be expressed as a string. LOCATION: "only" Change-Id: I897cf40a039ad7cb680bdf643bfa78020e8eb1cb Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com> Reviewed-by: David Faure <faure@kde.org>
* Fix QUrl documentation: FullyDecoded and DecodedMode are a pairThiago Macieira2012-06-141-4/+4
| | | | | | | DecodedMode with FullyEncoded makes no sense whatsoever. Change-Id: I182db7aceb38e4e9398138066022912adec9c413 Reviewed-by: David Faure <faure@kde.org>
* update QStandardPaths::standardLocations() documentationJeremy Katz2012-06-111-2/+5
| | | | | | | | | | Remove the reference to PATH, as it may confuse developers who expect a separator between locations. The ordering has been made explicit, including the position of writableLocation() if it can be determined. Note that some implementations may allow the empty string. Change-Id: I134db44dd8bea437824a1d0bf8ed373ec655ab04 Reviewed-by: David Faure <faure@kde.org>
* get rid of "uninitialized member" gcc warningKonstantin Ritt2012-06-071-2/+1
| | | | | Change-Id: I486212829ec9309239645222e7f03f36ae4847f0 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* normalize the process arguments to Normalization Form D on macKonstantin Ritt2012-06-061-18/+6
| | | | | | | | | | QFile::encodeName() does this for us + simplifies the code a bit Change-Id: Id2ca2615e20408229dd021c26587fefd60365352 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make QIODevice::seek() return false for sequential files.Mitch Curtis2012-06-051-7/+9
| | | | | | | Task-number: QTBUG-18173 Change-Id: Ie3a96d3a6f60995b8ba7823153778869d0c2dc58 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Fix QTemporaryFile::open() failing after remove().Mitch Curtis2012-06-051-1/+9
| | | | | | | | | | | | | If a QTemporaryFile is constructed using a template file path, the path is generated in QTemporaryFileEngine::open() and then filePathIsTemplate is set to false. If remove() and then open() are called on the same QTemporaryFile, the path is not regenerated. This change ensures that if the file path was generated, it will be generated again in the scenario above. Task-number: QTBUG-2557 Change-Id: I718ceb89daa9a9d46fdbe811fecc3d57d6dc08c2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QProcess: Add accessors for program and arguments.Christian Kandeler2012-06-052-6/+30
| | | | | | | | Task-number: QTBUG-24550 Change-Id: I1ce26e584e39b0b58b1c9f78d8027b2479f2d92c Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtCore: remove \link usagesGiuseppe D'Angelo2012-05-291-2/+2
| | | | | Change-Id: I0de764b51a972de0b6eb2bf3c04d2b190f581f52 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Replace `const QLatin1String &` with `QLatin1String` where appropriateKonstantin Ritt2012-05-254-4/+4
| | | | | | | Task-Id: QTBUG-24502 Change-Id: I360dee4dc68c165de0631ce4cf34e76fd873080e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Clarified code documentation for QFileInfo::operator==.Mitch Curtis2012-05-231-1/+2
| | | | | | | | | | | | | | | | | QTBUG-4031 mentions that canonicalFilePath() will cause the operator to return true for the following comparison because it returns an empty string if the path is empty or non-existant: QFileInfo("") == QFileInfo("non_existant_file") I'm assuming that the reason for not checking whether one of the files exist is based on performance, and so I've updated the comments for the operator to explicitly state that the result of the above comparison is undefined. Task-number: QTBUG-4031 Change-Id: I9b34f189f1628f9362b3604445706abd2342fd6e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Removed size comparison in QFileInfo::operator==.Mitch Curtis2012-05-231-3/+0
| | | | | | | | | | | QTBUG-4031 and QTBUG-4036 mention that QFileInfo::operator== includes a size() comparison as part of its equality check. I've removed this check as it doesn't seem to be integral to the comparison. Task-number: QTBUG-4031 Task-number: QTBUG-4036 Change-Id: I5663ec0e1ac8f70e0a156357c284696779ecd380 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix handling of invalid urls in QDataStream << QUrlDavid Faure2012-05-231-1/+3
| | | | | | | | | | | When given an invalid url, the output shouldn't be a valid url. KDE's kurltest detected this regression compared to Qt4, where all invalid urls were empty in toString() -- but we don't want that, to give as much feedback as possible to the user. Change-Id: Ie53e6e1c0a1d4bb9e12b820220dfb7e2f7753959 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add the QUrl::FullyDecoded flag to the component formattingThiago Macieira2012-05-223-43/+193
| | | | | | | | | | | | | | | | | | This allows the QUrl component getters to return fully decoded data, like they did in Qt 4. This is necessary for some use-cases where the component like the user name, password or path are used outside the context of a URL. In those contexts, the percent-encoded data makes no sense, and the loss of data of what could be represented in a URL is acceptable. Also take the opportunity to expand the documentation of those getter methods, explaining what the options argument does. Discussed-on: http://lists.qt-project.org/pipermail/development/2012-May/003811.html Change-Id: I89f743cde78c02f169c88314bff0768714341419 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Add QUrl::ParsingMode to the component setters in QUrlThiago Macieira2012-05-222-35/+186
| | | | | | | | | | | | | | This allows one to instruct QUrl to ignore the percent-encodings and interpret the data exactly as provided. This is useful in certain use-cases where the data comes from a non-URL context. The strict-mode checking of the components is not implemented yet. Currently, the behaviour is equal to that of TolerantMode. Discussed-on: http://lists.qt-project.org/pipermail/development/2012-May/003811.html Change-Id: Ia5abe045a8ce7f9b50cbce3b5a7e3735e068d03a Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Add the QUrl::DecodedMode parsing modeThiago Macieira2012-05-222-6/+20
| | | | | | | | | | | This mode will be used to support parsing of URL components in their fully-decoded forms. It is not permitted when parsing the full URL, as that would be ambiguous. Change-Id: Id8d39a740845ae8d1efef894085280b322e39c0a Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Port away from QUrl::MostDecodedThiago Macieira2012-05-222-5/+5
| | | | | | | | | | | Since we're about to introduce QUrl::FullyDecoded, this QUrl::MostDecoded value would be confusing. Replace its uses with what was intended at the point in question. Change-Id: Iefd87bc33d37bace507c5cb0f206fa902e08e2df Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Elaborate QUrl::toString() documentation.Leonard Lee2012-05-211-0/+2
| | | | | Change-Id: If2d726e7b4e8d408312fcb138c3dd146926bfd9a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QChar: add isSurrogate() and isNonCharacter() to the public APIKonstantin Ritt2012-05-161-14/+1
| | | | | | | | + QChar::LastValidCodePoint enum value that supercede the UNICODE_LAST_CODEPOINT macro replace uses of hardcoded values with the new API; remove leftovers Change-Id: I1395c9840b85fcb6b08e241b131794a98773c952 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix QFile::permissions for long filenamesShane Kearns2012-05-161-1/+1
| | | | | | | | | | When qt_ntfs_permission_lookup is used, QFile::permissions failed for files with long filenames. Also created a test case for this API, which revealed another bug. Task-number: QTBUG-25629 Change-Id: I73b7676a9d059c0e782b3f701b2e6bbc92f671ed Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
* Fix cases where functions are called with a drive and no slashAndy Shaw2012-05-161-9/+9
| | | | | | | | | | | | | | | When a file is specified on a path that includes a drive letter followed by a colon but no slash then it didn't always account for the fact that this refers to the current path on that drive. This fixes the problems in completeBaseName(), baseName() and path(). Tests are also added for these three cases and some others too. Task-number: QTBUG-25353 Change-Id: I47a197c6af066f532442ad269be57597ec61303a Reviewed-by: Irfan Omair <irfan.omair@gmail.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Deprecate the ability to change the FS encoding separate from the localeThiago Macieira2012-05-153-72/+43
| | | | | | | | | | | | | | | | | Changing the encoding used by filenames separately from the locale encoding is a broken concept and cannot work properly. This creates ambiguity depending on the data source and how it's being treated. Instead, enforce that the locale encoding is the only possibility to deal with file names. The QFile::encodeName and decodeName functions are retained due to the Mac-specific issues and due to the sheer number of current uses. There's no point in deprecating them and moving away from them. Change-Id: Iedb2d8715d166a59a824f05bc11d107fd44f9c17 Discussed-on: http://lists.qt-project.org/pipermail/development/2012-May/003782.html Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QUrl: using sectionIsPresent in operator== broke for local files.David Faure2012-05-141-1/+5
| | | | | | | | | QUrl::fromLocalFile("/foo") doesn't set Host, but QUrl("file:///foo") does (to remember that it saw a Host section, even if empty, which is useful for urls like "remote://"). So ignore the Host flag in operator==. Change-Id: I4322b4a75420c4e42766c0d65c1b121f28028a76 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QUrl: a url with a fragment or query, and one without, are different.David Faure2012-05-141-1/+8
| | | | | | | | | Fix operator== and operator< so that a URL with an empty fragment or query, is not treated as equal to a URL without any fragment or query. This restores the Qt4 behavior on this particular issue. Change-Id: Ie989f37353fb13c791b1d558d638d2e8a5b5d1b8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Restore QUrl::setEncodedQuery(QByteArray()) to the Qt4 behavior.David Faure2012-05-131-2/+2
| | | | | | | | | | Null bytearray means no query, and QString::fromLatin1(QByteArray()) doesn't give a null string, but an empty string. Same for setEncodedFragment(QByteArray()). Change-Id: I992e9253e35941d66886456872ea06aa2ae92450 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge branch 'docs-refactoring' into masterMarius Storm-Olsen2012-05-102-3/+3
|\ | | | | | | Change-Id: Iebd1966abace3cdf7f9428dcfc1ded5b124ab113
| * Doc: Move some remaining files over for modularization.Casper van Donderen2012-05-092-3/+3
| | | | | | | | | | | | | | | | | | The files in this change were still in qtbase/doc/src or required for it. qtbase/doc/src should now only contain example documentation and images for the example documentation. Change-Id: Ia7ca8e7fd2b316e77c706a08df71303bc8294213 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* | Fix a crash when parsing a URL with username and port, but no passwordThiago Macieira2012-05-101-1/+1
| | | | | | | | | | | | | | | | | | | | This was crashing because the ':' was found past the end of the username, causing the recoder to run from position 22 to 11, via the long way around the memory. Change-Id: Ic1ae596f34f7db857fb4210294974fb5a6adf691 Reviewed-by: Alexis Menard <alexis.menard@openbossa.org> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | Fix qDecodeDataUrl for already percentage encoded content.Alexis Menard2012-05-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | If the url we pass as parameter already have percentage encoded data, we don't want to decode it and call fromPercentEncoding. The test coverage is not complete for qdataurl.cpp file but it is better than previously and it will also protect us from future regressions. Change-Id: I79f709f44bed1b7f274a3de639c7e291fa91a193 Reviewed-by: Thiago Macieira Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix QUrl::StripTrailingSlash for the case of no path at all.David Faure2012-05-091-1/+1
|/ | | | | Change-Id: I1fd0fe4b9b67996732c85c1792415e371e865595 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add missing include file.Jędrzej Nowacki2012-05-041-0/+1
| | | | | | | qfile_p.h is depending on qfile.h Change-Id: I8b021baaf517a0236a062ef031a33bd8e2915101 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix QUrl::toString(StripTrailingSlash) to not turn file:/// into file:David Faure2012-05-041-1/+1
| | | | | | | | It should only strip one slash (as the name indicates), and not if the path is just "/". Change-Id: I133a81977241de77a49d1d1559143d30e0bd52f8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compiler warningOlivier Goffart2012-05-041-3/+2
| | | | | | | | qurlrecode.cpp:481:24: warning: ‘action’ may be used uninitialized in this function [-Wmaybe-uninitialized] Change-Id: I638b65218d1875667e2c60a5720ecda87202b82f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Port the QTextStream / QDebug functions away from fromAsciiThiago Macieira2012-05-042-3/+3
| | | | | | | | | No behaviour change since fromAscii (temporarily, at this point) means fromUtf8. Change-Id: I0e4d3ccfac7b5beaaaececb9f088324ee4838f84 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Change remaining uses of {to,from}Ascii to {to,from}Latin1 [QtCore]Thiago Macieira2012-05-043-4/+4
| | | | | | | | | | | This operation should be a no-op anyway, since at this point in time, the fromAscii and toAscii functions simply call their fromLatin1 and toLatin1 counterparts. Task-number: QTBUG-21872 Change-Id: I38f97ad379deafebef02c75d611343ca15640c8a Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Merge "Merge remote-tracking branch 'origin/api_changes'" into ↵Lars Knoll2012-05-031-1/+1
|\ | | | | | | refs/staging/master
| * Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-05-031-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qlogging.cpp src/gui/kernel/qguiapplication.h src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow.h tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp Change-Id: I62a8805577a7940d4d36bed985eb3e7019d22f2e
| | * Logging: Change arguments of message handler to avoid conversionsKai Koehne2012-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new QtMessageHandler that takes QString instead of char *: This avoids converting to local8bit , only to convert it back to utf16 for Windows. The old QMessageHandler is kept for a transition period, but will be removed before Qt 5.0. Also fix qEmergencyOut (that is called in OOM situations) to not rely on the default message handler. Change-Id: Iee0ce5838f97175c98788b847964273dd22d4a37 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add some missing includes.Stephen Kelly2012-05-032-0/+4
|/ / | | | | | | | | | | | | | | There is a #include <QStringList> line wrapped in QT_DEPRECATED_SINCE(5, 0). Change-Id: I766848dfcc3bd765c57626a3d70f492ac1219091 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | mkdtemp() is not included in Android's libcRobin Burchell2012-05-021-2/+2
| | | | | | | | | | | | | | | | Use our own implementation instead. Change-Id: Ic04dd480d52404e03e26cdf4caa1d00e4c3219c7 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: David Faure <faure@kde.org>
* | Port QBuffer to QMetaMethod-based connectNotify()Kent Hansen2012-05-012-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | The const char *-based API is deprecated and will be removed in Qt5. Also fix a bug in the disconnectNotify() reimplementation; when all signals are disconnected at once, disconnectNotify() is only called a single time, with an invalid method as argument. Thus, the signal connection count should be set to 0, instead of decremented. Change-Id: Ieee92293777bff87f8b28e56e23ab55d0b8b8101 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Don't use the QRegExp methods that modify the object [QtCore]Thiago Macieira2012-04-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QRegExp matching methods modify the object, which we don't want to. In particular, when we receive a QRegExp from the user or we store in a context that might require thread-safety, make sure we make a copy before using it. QRegularExpression has no such shortcoming. Task-number: QTBUG-25064 Change-Id: Icf22986cd5f6fd086518c78a7d56e6cadfe9f5f6 Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | Ensure that QUrl::{to,from}LocalPath encode/decode properlyThiago Macieira2012-04-261-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike path(), toLocalFile() isn't reporting a URL component, so it should decode the percent-encoded characters fully. This extra decoding pass is meant to catch %00 to %1F, %7F and %25 (the percent sign itself). It also catches %80 to %FF, which aren't decoded because they don't form UTF-8 sequences. That means QUrl::toLocalFile() has undefined behaviour if the path contained non-UTF8 sequences. Task-number: QTBUG-25459 Change-Id: Iab5a0ba6afcfc4510e297984f2ffc208cedd752b Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | Revert QUrl::isRelative to its Qt 4 behaviourThiago Macieira2012-04-251-4/+6
| | | | | | | | | | | | | | | | | | Instead of trying to return whether the URL is relative to something undefined, let's instead follow what the documentation was saying all along and what the RFC says about "Relative References". Change-Id: I32722321a6b36c6e3480669ad769390e4c6f7d1c Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | Ensure that QUrl::toLocalFile returns decoded pathsThiago Macieira2012-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | QUrl::path() already decodes almost everything, but let's pass the formatting flag to be sure. Note: decoding of control characters from U+0001 to U+001F is not implemented. Non-UTF8 sequences are also not representable. Change-Id: I9a0ae2282ec3d48cc0e70e5b2d3824fb120709ed Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | Don't strip the leading slash of letter+colon paths on UnixThiago Macieira2012-04-241-0/+2
| | | | | | | | | | | | | | | | | | It's perfectly valid to have a path of /c:/a.txt on Unix, so don't strip the leading slash unless we're on Windows. Task-number: QTBUG-20322 Change-Id: I721bd0a65b41048bc735d4eaa0d536174164fe64 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | Update the QUrl documentation concerning the encodingThiago Macieira2012-04-241-21/+103
| | | | | | | | | | | | | | Looks like I failed to update this earlier, when the behaviour changed. Change-Id: Ic020c2a14d4e9153f2bc9d22d943a3a380c0851c Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | QLocale: Clean up QLocalePrivate implementationJohn Layt2012-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt4 QLocalePrivate is a struct returned by a d() method. This will be unsuitable for the planned change to use ICU and may cause BIC issues. This change makes QLocalePrivate a class and creates a new struct QLocaleData to hold the data index. Further clean-ups are possible but are left for later. Change-Id: Ie316a07790f74674a3b520b735dff72695cc4060 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Rename the default organisation from "Trolltech" to "Qt" on MacThiago Macieira2012-04-231-1/+1
| | | | | | | | | | | | | | | | | | This doesn't seem to be documented -- or if it was, the documentation has been changed. Task-number: QTBUG-23269 Change-Id: Ie7aa51aeb251bfaa3d0018fbac4adc9517c97fa0 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>