summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Add Q_DECLARE_PRIVATE equivalent for QDir, to be able to subclass itDavid Faure2011-11-084-15/+33
| | | | | | | | Apply the same solution to QFileInfo (no public detach(), but a non-inline d_func instead). Change-Id: I31c4c759f44a0649b97f7884b078b174c9c00f22 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Bump QCoreApplicationPrivate::app_compile_version to 0x050000Bradley T. Hughes2011-11-071-1/+4
| | | | | | | | | The minimum compile version is 0x050000 now, it cannot be less. Remove checks for 0x040200 in the widget code, which provided compatibility in the 4.x series for binaries compiled with 4.0 and 4.1. Change-Id: Ia01da90de26dca6aeeb79d29c754cbeeecf809af Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* symbian epoc root code removedJoerg Bornemann2011-11-072-18/+0
| | | | | | | Change-Id: Ibc9f5e42c534a09a8a44a0c95789f467970d38a2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Reinstate and deprecate the two argument QMetaType::constructKevin Simons2011-11-051-0/+4
| | | | | | Change-Id: Id291f00ba13a39b4af022b75fd428b876d6dd9b0 Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix usage of QtConcurrent headers with -Wshadow -WerrorDavid Faure2011-11-041-2/+2
| | | | | Change-Id: I172888518a3db01f89e61061eccf85f7f3387d07 Reviewed-by: Olivier Goffart <ogoffart@kde.org>
* Revert "Use standard spelling for two languages"Lars Knoll2011-11-042-49/+49
| | | | | | | | | | | This reverts commit 9358f7eaa4b773bdbfa45b08ab92a89096954881. The change is source incompatible and hasn't been agreed upon. Revert it even though it's correct in principle. It's simple to keep the old enums around for compatibility. Change-Id: I8d9d33868e44d0299a3f081833b06cedf0ed4345 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QStandardPaths: add DownloadLocation.David Faure2011-11-045-3/+13
| | | | | | | | | Only properly implemented on unix (XDG), falls back to Document location on Mac and Windows, because not easily available with the current API being used by either one. Change-Id: Id269f0e3c4e3a68e19205de96c0b39980fde80ff Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use standard spelling for two languagesJiang Jiang2011-11-042-49/+49
| | | | | | | | Singhalese -> Sinhalese Divehi -> Dhivehi Change-Id: I3faa7163202a4a9be14e3cf857da60aa4dd3196f Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* QThread::isFinished should return true from finished()Olivier Goffart2011-11-031-2/+2
| | | | | | | | | | | | | | | | | | | and isRunning() should return false. This restore the Qt 4.7 behaviour In Qt 4.7, the finished() was called with the thread's intenal mutex locked. Which mean that: - Call to isRunning or isFinished called from a slot connected to finish within the thread would deadlock. (Hence no compatibility to keep here) - Call to isRunning or isFinished from a slot connected with QueuedConnection in another thread would lock the mutex until the destructors are finished. and then return as if the thread have finished. Change-Id: I963eccae8f7634aff90cc4bbab6ca886a78e35eb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Enable deprecated feature for nowOlivier Goffart2011-11-031-2/+3
| | | | | | | | | | | | | | | Rationale is that it makes it possible to deprecate functions without breaking other modules. After the feature freeze, this should be reset to 5 Notice that QT_DEPRECATED is not defined while bootstrapping Qt (QT_NO_DEPRECATED defined) This also means that compilation is tested Change-Id: I85f0e65ac3a160e9aba3833787ded3f94304cb90 Reviewed-by: David Faure <faure@kde.org>
* QStandardPaths: fix encoding of XDG_CONFIG_HOME env varDavid Faure2011-11-021-1/+1
| | | | | Change-Id: Ibb89f204fc93aed5a669f8f9efc7859845e6d493 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Adding custom bezier easing curves to QEasingCurveThomas Hartmann2011-11-022-6/+541
| | | | | | | | | | | | | | | | | | | | | | | | | I added the possibilty to define Bezier/TCB splines and use them as custom easing curves. Note: Splines have a parametric definition. This means we have a function/polynom of t that evalutes to x and y. x/y = f(t). For our purpose we actually need the function y = f(x). So as a first step we have to solve the solution x = f(t) for a given t and then in a second step we evaluate y = f(t). f(t) is a cubic polynom so we use cardanos formula to solve this equation directly. For the casus irreducibilis we need 3 functions that are a combination of arcos and cos. Instead of evaluating arcos and cos we approximate these functions directly. TCB splines are converted into the corresponding cubic bezier spline. Change-Id: Id2afc15efac92e494d6358dc2e11f94e8c524da1 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Use C++11 static_assertOlivier Goffart2011-11-021-0/+10
| | | | | | | Change-Id: I75aa2bc209cdc8869e7daa9fd0dd865ccf65a68e Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@kde.org>
* Fix broken build.Jędrzej Nowacki2011-11-011-2/+2
| | | | | | | Variadic macros are not supported by C++98 standard. Change-Id: Ib520297e43b654b46925f3ee2735a975ebbe8e35 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Tentatively keep operator=(const QAtomic* &other)Bradley T. Hughes2011-11-011-2/+0
| | | | | | | | | | QAtomic* has a copy constructor, so it may make sense to allow assignment of one atomic variable to another. Change-Id: Ic754d13765080e2fcd13dc583940e354ad4404cd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qeventdispatcher_win: Fix warnings about QAtomicInt.Friedemann Kleint2011-11-011-2/+2
| | | | | Change-Id: I2639fcee046ad3cc5de9c2635fdb6de4b757fc27 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Use QAtomicInt::store() instead of operator=(int)Bradley T. Hughes2011-11-011-2/+2
| | | | | | | ... since the latter is now deprecated and will be removed. Change-Id: I456c1bf93ebf119c028bc4a63f1f8a31f069b83b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove S60/symbian specific code in corelib/archLiang Qi2011-11-0114-7469/+1
| | | | | | | | | Clean up and remove Symbian specific code and data. Change-Id: I41794085fd5122310b1fdf4c524c6e77d22e8500 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update enums in documentation.Casper van Donderen2011-10-311-1/+2
| | | | | Change-Id: Ic48051cc832dc8bc06df2e82c54388df60208e39 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QRecursiveMutexPrivate should not inherit from QMutexPrivateOlivier Goffart2011-10-317-49/+55
| | | | | | | | QMutexPrivate takes more memory than necessary, and also initialize platform specific ressources. Change-Id: I70be1b89b1c21499645785ae47693a6b2514e28b Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Rename QBasicMutex::d to QBasicMutex::d_ptrOlivier Goffart2011-10-313-26/+26
| | | | | | | | | Because we use d as a local variable. We used this->d to refer it, but this can be confusing to have twice the same name Change-Id: I570aa5f444ada358eb456d6b3d9b8bfa60b10bbf Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fix most warnings about assignments of QAtomicInt.Friedemann Kleint2011-10-314-20/+13
| | | | | Change-Id: Ide409d72d2637b68ec2a85aaca4bc783a7e911e7 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Remove symbian threading primitive.Olivier Goffart2011-10-286-928/+3
| | | | | | | | | | | Those are already outdated and do not compile anymore (QMutex has changed too much) Better to remove that dead code so it do not show up in grep anymore Change-Id: I096e7a73e23cbb77050843c2e1c10929086fdb8f Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Mark QAtomic* implicit cast and other operators as deprecatedBradley T. Hughes2011-10-281-0/+13
| | | | | | | | | | | | Add Q_DECL_DEPRECATED to all methods that are pending removal once http://codereview.qt-project.org/#change,6243 is merged. This is necessary to give people time to react to the source incompatible change. Change-Id: Ia72f184d630d593f96dd1d95ad6cd0d3bd5d811c Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Replace implicit QAtomic* casts with explicit load()/store()Bradley T. Hughes2011-10-2718-56/+55
| | | | | Change-Id: Ia7ef1a8e01001f203e409c710c977d6f4686342e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compiler warnings.Friedemann Kleint2011-10-273-4/+4
| | | | | | | | - Fix gcc 4.6.X warnings about assigned but unused variables - Remove trailing ';' from inline functions (Clang) Change-Id: I8670afd6b149748a740f22c65de137762e9f18e1 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Use load() instead of implicit cast when using QueuedConnectionBradley T. Hughes2011-10-271-12/+15
| | | | | | | | | | | queued_activate() sets the argumentTypes atomic pointer on first use, which mixes a load, memory initialization, test-and-set-ordered, and another load. The explicit memory ordering is necessary to ensure that the memory stores happen in program order. Change-Id: Id1f8641f9cd081ce81aa8e830692f7af8261e84b Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move the implementation of normalizeTypeInternal()Bradley T. Hughes2011-10-274-152/+211
| | | | | | | | | | | | | | | | | | | | | This function is only used in src/tools/moc/moc.cpp and src/corelib/kernel/qmetaobject.cpp. We don't need to include the static, non-inline declaration and definition every time qmetaobject_p.h is included. This also silences the related warning from clang: ../../../include/QtCore/5.0.0/QtCore/private/../../../../../src/corelib/kernel/qmetaobject_p.h:171:19: error: function 'normalizeTypeInternal' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration] static QByteArray normalizeTypeInternal(const char *t, const char *e, ... ^ Change-Id: I6dfb2cb4d9d82a2ae7795f91169aa62f9a5f2c2f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Add QDataStream operators to QMargins, so it can be streamedSteven Ceuppens2011-10-272-0/+49
| | | | | | | | | | * QDataStream format documented * Added Unit test for QDataStream operators * Updated Unit test Change-Id: Idbcfcb0b927e6369e8d31b57693c7aa0d1a154e7 Reviewed-by: Olivier Goffart <ogoffart@kde.org>
* Use load() when constructing QSimpleCodec's reverse mapBradley T. Hughes2011-10-271-7/+10
| | | | | | | | | | The implicit casting results in unnecessary volatile loads. The test-and-set-ordered doesn't need full ordering, test-and-set-release is enough to ensure that the memory initialization done by buildReverseMap() and test-and-set happen in program order. Change-Id: I168b504271aeba050d6b8396becbdeb3ef938213 Reviewed-by: Olivier Goffart <ogoffart@kde.org>
* Unix (non-Glib) event dispatcher: round sleep to millisecond boundary.Thiago Macieira2011-10-271-1/+15
| | | | | | | | | | | | If we have two timers running in an application with the same timeout and started almost at the same time by the code, they would trigger two sleeps, the second of which very short (under a millisecond). This causes us to match the Glib and Windows event loops, which round all timers to millisecond anyway. Change-Id: I7eb531e02dadf75925c01192b0f33ef3641ae1ea Reviewed-by: Olivier Goffart <ogoffart@kde.org>
* replace 'const QChar &' with 'QChar ' for QChar and QStringRitt Konstantin2011-10-265-50/+50
| | | | | | | | Merge-request: 69 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Change-Id: I61f5a54b783252029fcad95677958fa6a2130d01 Reviewed-by: Olivier Goffart <ogoffart@kde.org>
* Revert "Use memmove in QListData::append(int) as regions overlap."Oswald Buddenhagen2011-10-261-1/+1
| | | | | | | | | | We have proven that the regions cannot overlap. The root problem must be somewhere else. This reverts commit d96b7b809e614dd416709acec768529457120b9f. Change-Id: I3446487f2a1a5bd322379b8adb788c26ff3e08e2 Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
* Silence warning from clangBradley T. Hughes2011-10-251-2/+2
| | | | | | | | | | | | | | | ../../corelib/tools/qlocale_mac.mm:78:13: warning: '&&' within '||' [-Wlogical-op-parentheses] ...&& !qt_splitLocaleName(QString::fromLocal8Bit(result), lang, script, cntry)... ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../corelib/tools/qlocale_mac.mm:78:13: note: place parentheses around the '&&' expression to silence this warning && !qt_splitLocaleName(QString::fromLocal8Bit(result), ... ^ Change-Id: I64f745e7dfa64f28f264667372ed64f9e34ca3b7 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
* Compile with clangBradley T. Hughes2011-10-241-5/+6
| | | | | | | | | | | | | | | | | | Clang does not accept this syntax, see http://llvm.org/bugs/show_bug.cgi?id=8875 The work around is to not use the typedef name. NS() around the template parameters is necessary to match the real types (and not the QMetaType::Type enumerators), otherwise we get the following: kernel/qmetatype.cpp:1647:72: error: template argument for template type parameter must be a type ...NS(QVariantMap)* >(where)->NS(QVariantMap)::~QMap<QString, ... ^~~~~~~ Change-Id: I3afa0cbbe4ef7ad899cfa9eafb3bcc10bedc20b3 Reviewed-by: Wolf-Michael Bolle <wolf-michael.bolle@nokia.com> Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
* QIODevice - disallow setTextMode when not openShane Kearns2011-10-241-0/+6
| | | | | | | | | | | Calling setTextMode() before open() would make the device appear to be already open and cause later errors. Added a qWarning and documentation update to prevent this API misuse Task-number: QTBUG-20905 Change-Id: I2e06cd8e79f4afcf27417ac0eae6ebef980a17aa Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* corelib: Remove Q_WS-macros.Friedemann Kleint2011-10-2424-250/+44
| | | | | | | | | | | | | | | | | | | | Q_WS_QPA is the only active code path after merging refactor, other Q_WS-macros are no longer used. Enable compilation without -qpa. - Remove Q_OS_MSDOS, Q_OS_OS2 - Remove Q_WS_QWS - Remove/replace definitions/conditionals of Q_WS_XX - Remove qpa branches from profiles - Replace Q_WS_MAC by Q_OS_MAC - Replace Q_WS_MAC && !Q_WS_QPA by Q_OS_MAC && !QT_NO_CORESERVICES - Similarly in profiles: mac:contains(QT_CONFIG, coreservices) - Replace Q_FS_FAT by Q_OS_WIN Change-Id: Icce5a6c55b052c8f72b3b979ddf31a4f388ea9c9 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Rename storageLocation() to writableLocation().David Faure2011-10-235-13/+13
| | | | | Change-Id: I8f6522a70950f78ddd6141360d36d104bd697e28 Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
* Add QStandardPaths::RuntimeLocation, for sockets ($XDG_RUNTIME_DIR)David Faure2011-10-235-7/+42
| | | | | Change-Id: I19c36a04a9deae49ffc20fdec6a2a7eb05155cb4 Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
* Add QStandardPaths::findExecutable.David Faure2011-10-233-14/+92
| | | | | Change-Id: If30a83622e2ac5af48e47a38b8f70fce73044d74 Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
* QStandardPaths: add Config and GenericData, add methodsDavid Faure2011-10-235-74/+297
| | | | | | | New methods: standardLocations, locate, locateAll. Change-Id: I60bc90f8df53727a72c4b1839ea4d1d88a204e29 Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
* Move path information from QDesktopServices (gui) to QStandardPaths (core)David Faure2011-10-236-0/+688
| | | | | Change-Id: Ic596c21894d83b4dab0c3f5b1aed916ddd590f2f Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
* Fix two typos: docu for "deprecated since" and Q_DEPR... -> QT_DEPR...David Faure2011-10-221-1/+1
| | | | | | | | Shows that there should be an automated build with QT_DISABLE_DEPRECATED_BEFORE set to 0, too... Change-Id: If154786ea26bcbfab41efcd7001c222cc258a8af Reviewed-by: Olivier Goffart <ogoffart@kde.org>
* Compile with clangBradley T. Hughes2011-10-221-2/+2
| | | | | | | | | | When using methods from a template base class, the lookup needs to be qualified. See http://clang.llvm.org/compatibility.html#dep_lookup_bases Change-Id: I5b7cd71e0d45414ac0eff97fe9ba5d3ccd5bd9e6 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@kde.org>
* Add Q_DECL_CONSTEXPR to a QChar, QLatin1Char and QLatin1String constructorsThiago Macieira2011-10-222-26/+19
| | | | | | | | These types now technically are trivially-constructible and standard-layout in C++0x. Change-Id: I455bd905fd6e237a1dff517b86dcbe59d571266f Reviewed-by: Olivier Goffart <ogoffart@kde.org>
* Off-by-one error in assert condition...João Abecasis2011-10-211-1/+1
| | | | | | | | | | | While this was safe, it was also over-zealous, disallowing the path from ending with the placeholder... Incidentally, the default. Laughed-at-by: w00t_ (cherry picked from commit 7b693627ee2a17718cb6d8bee5e3deb5a97b307f) Change-Id: I61a1511bca5cafe2edde20ef38c23154200dfcab Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Leftovers from 401722ef9e6fe79bd41f9d5f79668f5c4997c8e6João Abecasis2011-10-211-14/+0
| | | | | | | | | | | This no longer necessary template specialization went unnoticed inside the Windows/Symbian #ifdef. It breaks compilation on those platforms, now that qstringbuilder.h is not included and QConcatenable is unknown to the compiler. (cherry picked from commit 9e656ce0f7bda4bca4ae55a7aefe1617bc2805ac) Change-Id: Ie7145c25bca01b808fa6a3fd99e34baa8375d304 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Fix QTemporaryFile regressions and new found issuesJoão Abecasis2011-10-211-50/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change, the file template is always processed in original QString format. Trying to generate native paths before adding a missing placeholder mask could change the meaning of templates, such as "." and "..", which are now tested to mean "..XXXXXX" and "...XXXXXX", respectively. After ensuring the template includes a placeholder mask, the path is converted to a native *absolute* file path and the mask is sought for again. On Windows, native paths were already absolute. On Symbian, we'd need at least a clean path, as "." and ",," are not natively understood. There is a requirement that the placeholder mask /XXXXXX+/ makes it through this conversion unaltered, which relaxes prior requirements on *nix platforms. On Windows and Symbian the conversion is under Qt's control and not user-configurable. Reviewed-by: Shane Kearns (cherry picked from commit 401722ef9e6fe79bd41f9d5f79668f5c4997c8e6) Conflicts: tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp Change-Id: Iac823881c865adf0931dc4f429c6c1ef135eeb56 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Use "native paths" on POSIX platforms as wellJoão Abecasis2011-10-211-27/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | And don't rely solely on "local8Bit" conversions. QFile defines an API for overriding how encoding conversions are done for filenames. In generating unique names, QTemporaryFile ignored that API and hardcoded the use of local 8-bit, implicitly assuming that that was appropriate. With this change, we switch that assumption to one where user supplied encoding function keeps the byte value of 'X' and '/', also assuming that encoded 'X' takes up a single-byte (i.e., the byte sequence for "XXXXXX" remains unchanged). There was also, and there still is an assumption in name generation that byte values for ASCII alpha-numeric characters are valid in the "native" encoding. In practice this change is compatible with UTF-8, Latin-1 and other ISO/IEC 8859 encodings. At any rate, it's very likely that only UTF-8 is relevant here. Reviewed-by: Denis Dzyubenko (cherry picked from commit 0de701d01cb221464eed773fd3751aff73fe4d60) Change-Id: I9ee0fe8e3cad48694d5ec9a2bedd5412cfc0d172 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Cleanup #includesJoão Abecasis2011-10-211-2/+0
| | | | | | | | These are already required and included by qfsfileengine_p.h. (cherry picked from commit a153d50eea2dea0925695a90af2c12f1887a9020) Change-Id: I9efb635373239f6e6778eb4a3ee85c396cfeeeb5 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>