summaryrefslogtreecommitdiffstats
path: root/dist
Commit message (Collapse)AuthorAgeFilesLines
* Make QAbstractItemModel::sibling virtual.Stephen Kelly2012-08-231-0/+3
| | | | | | | | | | | | | | | | | | | This would allow implementations to create an optimized way to create sibling indexes. A typical pattern of QAIM implementation is to use the same internalPointer for each row of a subtable of a model (such that the internalPointer is related to the common parent of each set of rows) and differentiate on the row value in the QModelIndex. Alternatively, it is also common to have the internalPointer correspond directly to the row value for the QModelIndex. In both cases it is possible for the implementation to optimally create a sibling QModelIndex in the same column as a known row. Provide a virtual method for them to do so. Change-Id: I3b076abcd5f6087a4cb108fbc6dceeef15529987 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Document QTranslator::translate SIC (91d2ee5e09a6b4)David Faure2012-08-211-0/+3
| | | | | | | | Detected by a unittest failure in KDE, due to the KDETranslator subclass not being called anymore. Change-Id: I0171117a677e2d58aba2f76bc27f7f1f7a521cc1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Remove QProxyModel from qtbase.Stephen Kelly2012-08-201-0/+4
| | | | | | | A copy is placed in uihelpers for anyone who might be using it. Change-Id: I175f7bc5dcbf25a910d28bfd8985579866392938 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add a changes file entry for QMetaType QObject related change.Stephen Kelly2012-08-181-0/+4
| | | | | Change-Id: I2f902ffe6b18034047114626dd4cbe9d2f96c2fc Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove QWidgetStar.Stephen Kelly2012-08-181-0/+2
| | | | | | | | | | | | This allows us to remove the odd hacks to get the static metaobject for the QWidget* metatype. The QWidget* is still an automatic metatype thanks to the QObject partial template specialization. It is registered as a metatype at runtime automatically in qwidgetsvariant.cpp. Change-Id: Ie01b69eadf2cbe87af1a86c3284550f60dcf9e94 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Add some more of my 5.0.0 changesKent Hansen2012-08-141-1/+37
| | | | | Change-Id: I606a11cb11d1559476eab6532db22f4bc81fed90 Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Only emit the clicked() signal from views if the left button is used.Stephen Kelly2012-08-071-0/+3
| | | | | | | | | | | | This is consistent with QAbstractButton, QCalendarWidget, QDialogButtonBox and QGroupBox (ie, all other widgets with a clicked signal) Task-number: QTBUG-26105 Change-Id: Ieafe988b5c03216796b69a7cd70ac1a03fc12b0a Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Make QSignalSpy copy QVariant parameters directlyKent Hansen2012-08-071-0/+5
| | | | | | | | | | | | | | | | | | | | | Previously, a QVariant parameter would be wrapped inside a new QVariant, and you would have to cast the QSignalSpy's QVariant to a QVariant to get the actual value. This behavior was unintuitive and undocumented. Check if the parameter type is QVariant, and copy it directly if it is. This makes the QSignalSpy's QVariant directly usable (no need to "unwrap" the value in user code). Existing tests that use QSignalSpy together with QVariant parameters (such as tst_QPropertyAnimation::valueChanged()) and do cast the QVariant parameter to a QVariant, continue to work after this change; this is because qvariant_cast<QVariant>() returns its input value (unchanged) when the type is not QMetaType::QVariant. Task-number: QTBUG-21645 Change-Id: Ibfb171edd60c0d3f7ca1d5419e5c5f3d0380d5b3 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Remove the obsolete scene argument for constructors of graphics itemsLars Knoll2012-08-031-0/+4
| | | | | | | | | The argument has been obsoleted and not documented since 2007. Get rid of it now before Qt 5.0 Task-number: QTBUG-25089 Change-Id: I91a5508a5e1606f5b5c289501295c67be4abe6a0 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Remove winEventFilter, replaced with installNativeEventFilter.David Faure2012-07-241-1/+1
| | | | | | | | | No reason to keep a virtual method for Windows when all other similar methods (macEvent and x11Event) have been removed, and when installNativeEventFilter provides a much nicer solution (no need to derive from QApplication). Change-Id: Ia2a7960e320fcbd04cef91f467900861dbb377c1 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Provide public API for native event filtering, moved up from QPA.David Faure2012-07-201-0/+8
| | | | | | | | | | | | | | | | | | The previous API was hard to use (global function, no type safety, manual chaining), and confusing (app vs dispatcher split only made sense on Windows). Installing and removing out of order would have the risk of setting back a dangling pointer (crash). Meanwhile QPA added type safety, and this new API models the QObject::installEventFilter API for ease of use. The virtual method is in a new interface, QAbstractNativeEventFilter. QPA was even calling the dispatcher event filter with QPA-private event classes, which made no sense (refactoring leftover from when the code was in the dispatcher). Now the QPA plugins trigger the qcoreapp event filters with the actual native events directly. Change-Id: Ie35e47c59c862383bcaf857b28d54f7c72547882 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* QSqlTM: use generated flag more correctly in setRecord()/insertRecord()Mark Brand2012-07-171-2/+3
| | | | | | | | | | | | The generated flag should affect the generation of SQL commands rather than how the fields of the source record are applied to the model before submitting. This correction allows setRecord() to be used to change TRUE generated flags to FALSE. Clarified documentation on this point and updated change log. Change-Id: I7ee124930822561ed8beee6c6259970b3e929c9b Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Add support for SQLSTATE error codesAndras Mantia2012-07-031-0/+5
| | | | | | | | | | | | | Postgres can report detailed information about an error using error codes. See http://www.postgresql.org/docs/8.1/static/errcodes-appendix.html . The current driver doesn't report the error, nor is it supported by the QSqlError object. The patch appends the error to the error message, helping applications to: - handle different errors in a specific way - show correct, translated error messages, independently on the language of the postgres installation Change-Id: Ica3530ac33d3aaa9985e06f6c1f302ece9891033 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* Document that the object of a plugin must be default-constructible.Stephen Kelly2012-06-271-0/+3
| | | | | Change-Id: Iaaf56ec3bb0d2423c8ab5deb0627dc1357cee830 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Record if a metatype is a smart pointer to a QObject derived.Stephen Kelly2012-06-201-0/+3
| | | | | | | | | | | | This allows QVariant/QMetaType software (such as QtDeclarative) to deal with smart pointers in a similar way to how they can deal with naked pointers (accessing properties etc). This also adds a requirement that T be fully defined when QSharedPointer<T> is inserted into a QVariant. Change-Id: I29e12b8a6aa5f4aadbd62f92b89bc238f64b5725 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Make qurlinfo private, now that QFtp is private.David Faure2012-06-141-2/+2
| | | | | | Change-Id: I0bb641b397b7087c89009f92d9973e0922dce653 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* SIC: QPrintSupport - Remove options api from QPageSetupDialogJohn Layt2012-06-071-0/+3
| | | | | | | | | | | | | QPageSetupDialog has an enum PageSetupDialogOption, however one option had support removed in Qt 4.5 and the remaining 2 are actually for an internal implementation detail that could lead to memory leaks if changed by an app. This change removes the enum and the api as they is now useless. Change-Id: I9a3ab689dcab57151de894db5ebf22f6ad90d71e Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: John Layt <jlayt@kde.org>
* configure: Auto-detect and enable C++11 support if availableBradley T. Hughes2012-06-051-0/+6
| | | | | | | | | | | | | | | | | Enabling support for C++11 adds CONFIG+=c++11 to the Qt build. Projects using Qt can check for C++11 support using contains(QT_CONFIG, c++11) in their .pr[iof] files. The QMAKE_CXXFLAGS_CXX11 and QMAKE_LFLAGS_CXX11 qmake varibles contain any arguments the compiler needs to enable C++11. CONFIG+=c++11 adds these arguments to the build. Support for clang, g++, and the Intel C++ Compiler for Linux are included in this commit. Change-Id: Id77f86d7ad4d5c740b890446a40b105879a0d327 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Windows: Add ANGLE support.Friedemann Kleint2012-05-311-1/+1
| | | | | | | | | | | | | | | | | | - Add QWindowsEGLContext usable for ANGLE and Windows CE. - Add QWindowsEGLStaticContext containing the display for resource cleanup. - Add EGLSurface to QWindowsWindow. - Add a -angle option specifying the path to the external ANGLE installation to configure, add libraries to the mkspecs. Initial-patch-by: Jabot Corentin <corentinjabot@gmail.com> Task-number: QTBUG-24207 Change-Id: I5f80b1efb6996da7c5d70aa3720f7801c9e4c6af Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Make QCoreApp::translate and related methods use UTF-8Lars Knoll2012-05-181-3/+3
| | | | | | | | | Deprecate the Encoding enum in QCoreApplication and the trUtf8() methods. Qt now assumes that source code is always encoded in UTF-8 to be consistent with QString. Change-Id: Ic62d6947046dee9be0cbd37f2d2f6976b9e572a7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* turn off exceptions by default where they aren't requiredLars Knoll2012-05-171-0/+6
| | | | | | | | | | | | | This significantly reduces the size of the generated code in places where we don't need exceptions. The -(no-)exceptions configure flag has been removed in the process, as there is now a fine grained way to control this on a per module level, and Qt is being compiled without exceptions in most places. Change-Id: I99a15c5d03339db1fbffd4987935d0d671cdbc32 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove const char *-based connectNotify() APIKent Hansen2012-05-151-0/+5
| | | | | | | | | | | | | | | | This completes the transition from connectNotify(const char *) and disconnectNotify(const char *) to the new QMetaMethod-based functions. Removed the old connectNotify autotests and renamed the connectNotifyMethodXXX autotests to connectNotify, since there is no longer any ambiguity about which overload is being tested. Change-Id: Icf108a80177155f21bb73c165fb8ab5d4e997bc2 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Deprecate the ability to change the FS encoding separate from the localeThiago Macieira2012-05-151-0/+8
| | | | | | | | | | | | | | | | | 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>
* configure: Remove the -dwarf2 argument for Mac OS X buildsBradley T. Hughes2012-05-111-0/+2
| | | | | | | | | | Modern versions of Xcode properly support dwarf2, and as such dwarf2 is always enabled. This change removes the ability to turn it off, making dwarf2 non-optional. Change-Id: I149daeae6048ee8a1ed116363572173ad219102e Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Enable some SQLITE extensions by defaultRafael Roquetto2012-05-041-1/+3
| | | | | | | | | | Enable SQLITE_ENABLE_FTS3 SQLITE_ENABLE_FTS3_PARENTHESIS SQLITE_ENABLE_RTREE by default on all platforms. These options were previously enabled in Ubuntu, Nokia N9 and in some mobile devices. Change-Id: I5b3d2d9a683916216058ca94ec82957bd8cacdb0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
* Revert "[SIC] Make non-const the QRegExp methods that modify the internals"Thiago Macieira2012-05-031-7/+0
| | | | | | | | | | | | This reverts commit 75a0c7f9b52cde47f20fdc1b89e1264d60350848. The source-incompatible change proved to be more trouble than it's worth. Too much intrusion into the porting effort of applications for no appreciable gain, especially considering that we have a replacement class. Change-Id: Ia99a2360390a2062a8ddb6e12c8f2099287a2704 Discussed-on: http://lists.qt-project.org/pipermail/development/2012-May/003562.html Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-05-031-0/+6
|\ | | | | | | | | | | | | | | | | | | | | | | 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
| * Remove QVariant constructor taking Qt::GlobalColor.Jędrzej Nowacki2012-04-191-0/+6
| | | | | | | | | | | | | | | | The constructor is wrong, it creates instance of QVariant encapsulating a QColor instance. QVariant should not implicitly convert data, never. Change-Id: Idc794ecdecb42d8b53fee3f993bf51ddd43f595d Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | [SIC] Make non-const the QRegExp methods that modify the internalsThiago Macieira2012-04-281-0/+7
| | | | | | | | | | | | | | | | | | | | | | These methods modify QRegExp internals and should not have been const. It's actually dangerous to have them const, since users may think it's safe to use the matching method in a thread-safe manner. Task-number: QTBUG-25064 Change-Id: Ia370eb42fd0407a94924f420297c5e83d3908214 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | Update the QUrl documentation concerning the encodingThiago Macieira2012-04-241-0/+20
| | | | | | | | | | | | | | Looks like I failed to update this earlier, when the behaviour changed. Change-Id: Ic020c2a14d4e9153f2bc9d22d943a3a380c0851c Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | QSqlQueryModel::setQuery() don't use deprecated reset()Mark Brand2012-04-231-1/+5
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the method attempted to reset only as a last resort. Now reset() is deprecated and resetting must happen between emitting modelAboutToBeReset() and modelReset(). Since this suffices in all cases to notify views that they must reinterrogate the model, it is no longer necessary to signal explicitly row removals and insertions within the scope of the reset. Additionally, fetchMore() is now called within the scope of the reset so insert signals do not have to be emitted here either. This improved handling of resetting in QSqlQueryModel also allows the cache in QSqlTableModel to be cleared directly at select(). This change may actually allow views to operate more efficiently since they no longer have to react to separate row removal and insert signals. Views can avoid pointless deallocation and reallocation by considering row count only after the reset is finished. The cost is that the columns and horizontal headers must be considered in the view at each setQuery() call. In any case, it is not clear that trying to be smart about this in the model justifies additional complexity. Tests had to be adjusted where they expected explicit row removal and insert signals. Change-Id: I4f7eac1419824361d7d9bdcc6a87092b33e80d7a Task-Id: QTBUG-25419 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
* Finish cleaning up com.trolltech -> org.qtproject in QtDBusThiago Macieira2012-04-161-0/+8
| | | | | | | | | | | | | | Lots of uses of the annotations and error names, plus a bunch of local unit test names (including one file that had to be renamed). The meta object generator is updated to support both the old and new names. That means some references to com.trolltech *must* remain in the source code. Task-number: QTBUG-23274 Change-Id: Icc38ae040232f07c437e7546ee744a4703f41726 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Lorn Potter <lorn.potter@nokia.com>
* Address Qt 5 to-do comment for QColorDialog.Jason McDonald2012-04-121-0/+4
| | | | | | | | | | | - change customColor() to return QColor instead of QRgb. - change setCustomColor() and setStandardColor() to take a QColor instead of QRgb. - add missing standardColor() getter method. Task-number: QTBUG-25087 Change-Id: Ic6adb2031ef47f5e9b15fa3560a5322e6847c0bb Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Merge remote-tracking branch 'origin/master' into api_changesOswald Buddenhagen2012-04-101-1/+6
|\ | | | | | | | | | | | | | | | | | | Conflicts: configure src/widgets/styles/qwindowsxpstyle.cpp tests/auto/gui/kernel/qwindow/qwindow.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
| * add change log entry for QTBUG-23895Mark Brand2012-04-031-0/+5
| | | | | | | | | | | | | | Follow-up to 50ad785bdd38fcff9c47125fc545762435aaa158 Change-Id: Ib44a274148631fe96e13b8fe29436b556c14d34d Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
| * fix typo in change logMark Brand2012-04-021-1/+1
| | | | | | | | | | | | Change-Id: Id7c3cab500fb3f41fbced5a4012dc0ae5d108192 Reviewed-by: Debao Zhang <dbzhang800@gmail.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* | QHash security fix (1.5/2): qHash two arguments overload supportGiuseppe D'Angelo2012-04-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Algorithmic complexity attacks against hash tables have been known since 2003 (cf. [1, 2]), and they have been left unpatched for years until the 2011 attacks [3] against many libraries / (reference) implementations of programming languages. This patch adds a qHash overload taking two arguments: the value to be hashed, and a uint to be used as a seed for the hash function itself (support the global QHash seed was added in a previous patch). The seed itself is not used just yet; instead, 0 is passed. Compatibility with the one-argument qHash(T) implementation is kept through a catch-all template. [1] http://www.cs.rice.edu/~scrosby/hash/CrosbyWallach_UsenixSec2003.pdf [2] http://perldoc.perl.org/perlsec.html#Algorithmic-Complexity-Attacks [3] http://www.ocert.org/advisories/ocert-2011-003.html Task-number: QTBUG-23529 Change-Id: I1d0a84899476d134db455418c8043a349a7e5317 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* | QSqlDriver functions made virtualMatt Newell2012-04-021-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Certain QSqlDriver functions were marked to be made virtual in Qt5. subscribeToNotification, unsubscribeFromNotification, subscribedToNotifications, isIdentifierEscaped, and stripDelimiters. This patch makes them virtual and removes the no longer needed Implementation counterpart functions. It also updates the relevant drivers. This patch has no regressions on the tests in tests/auto/sql/kernel/, tested with sqlite and postgres. Change-Id: Ia2e1c18dfb803531523a456eb4e710031048e594 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* | Add USER properties to QDateEdit and QTimeEdit.Stephen Kelly2012-03-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Both classes had such components before, but there were issues with the NOTIFY signal not being in the same class as the Q_PROPERTY. This patch solves that problem by using a signal of a different name. Task-number: QTBUG-15731 Change-Id: Ibc7ce4dba8a6b88c05d62a90e14d0101c5cd3082 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | QMetaMethod::typeName() should return "void" if the return type is voidKent Hansen2012-03-211-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMetaMethod::typeName() is documented to return an empty string if the return type is void. But after the introduction of QMetaType::UnknownType (where void was made a distinct type), returning an empty string causes the idiom QMetaType::type(method.typeName()) to break; the result will be QMetaType::UnknownType rather than the expected QMetaType::Void for methods that return void. New code should use the new function QMetaMethod::returnType() instead, but it would be good if existing code still did the right thing. The consequence of returning "void" instead of an empty string is that it breaks existing logic that uses the typeName() length to determine whether a method returns void. But we judge this as the lesser of the two evils; it's better to have a typeName() function that is consistent and keeps the QMetaType::type(method.typeName()) idiom working, than to force the typeName() inconsistency for void only to keep code that does "strlen(method.typeName()) == 0" working. The places in Qt that were relying on a zero-length typeName() (testlib, dbus, declarative) have already been changed to use returnType(). Also adapt QMetaObjectBuilder, which is internal API. Change-Id: I70249174029811c5b5d2a08c24b6db33b3723d19 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | Merge master into api_changesKent Hansen2012-03-191-10/+18
|\ \ | |/ | | | | | | | | | | | | Conflicts: src/corelib/tools/qvector.h tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp Change-Id: I877256e95f3788e617437f4e9661a88047f38cd6
| * QPointer: update its document and changes-5.0.0Debao Zhang2012-03-181-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | QPointer has been un-deprecated and one behavior which slightly different from Qt4 has been fixed. see SHA: b8773165d76e0d5d46287d92f9d6bdbbd2110180 and SHA: 497622cafe235eadb5dd5056b196d8451ee89071 Change-Id: I4bae2cce3ebfebd8f59b18b5a6a7a7226b8353b9 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
| * Updated changes-5.0.0 with some information on the new QtGui classes.Samuel Rødal2012-03-171-0/+15
| | | | | | | | | | Change-Id: Idcdfdb506e75d74b3a89e6c2e914802ddfc11031 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* | Merge master into api_changesKent Hansen2012-03-161-0/+31
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetatype.cpp src/gui/kernel/qplatformsurface_qpa.cpp tests/auto/corelib/tools/qtimeline/qtimeline.pro Change-Id: Iff3fff34eeeb06f02369767ddfce44cfde505178
| * QSqlTableModel::removeRows() enforce edit strategyMark Brand2012-03-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For OnFieldChange and OnRowChange, we don't want more than one row in the cache with uncommitted changes. This could happen if deletion in the database fails while other changes are pending. Chosen solution is to return false if other rows have pending changes. Also, we only allow 1 row removed at a time. Updated test, changes and documentation. Change-Id: I68baf6d221789b4754e891535070011c759a2155 Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
| * QSqlTableModel::setData(): no longer autosubmit for OnRowChangeMark Brand2012-03-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The model can never do a good job of knowing when user moves to a new row in the view. Faking it by detecting when another row is changed was not a good solution because it cannot detect when the last edited row is left. Either the view should automatically submit when the user leaves a row or the application should provide a way to submit. This change made it possible to reuse the logic of flags() in setData(). Change-Id: I2550e5b113bceba1a852fc21203babeca07c5748 Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
| * QSqlTableModel: disallow insert if changes are pendingMark Brand2012-03-151-1/+1
| | | | | | | | | | | | | | | | For OnFieldChange and OnRowChange, inserting rows should not be allowed if there are pending changes in cache. Change-Id: Ia794332959a35a1de87e798ba1a74ace3dfae68f Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
| * QSqlTableModel::setData()/setRecord(): fix incorrect rowMark Brand2012-03-151-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For OnFieldChange and OnRowChange, before submitting new changes, setData() and setRecord() attempt to submit pending changes and revert them upon failure. However, they fail to consider that reverting pending insertions removes rows from the model. As a result, the new change can be applied to a row higher than intended. One possible solution would be to adjust the targetted index for the removed rows, so that the intended row is affected by the new change. But this still causes the strange editing experience as rows jump up just as they are being edited. It does not seem right in the first place for the model to initiate reverting changes. It should be up to the application to decide what to do when data cannot be committed. In particular, setData() and setRecord() should not have the side effect of reverting already pending changes. The chosen solution is simply to refuse new changes that don't make sense for the edit strategy. For OnFieldChange, flag() will indicate read-only when editing is blocked by a pending change. Since setData() and setRecord() submit data immediately for OnFieldChange, it no longer makes sense to resubmit changes automatically before a new change. For OnRowChange, setData() keeps the behavior of automatically submitting a pending row before starting on a new row. This is historical behavior and is probably motivated by the fact that QTableView does not automatically call submit() when editing leaves a row. The obvious shortcoming of this is that the last row to be edited will not be submitted automatically. It also prevents us from flagging rows other than the pending row as read-only. For OnRowChange, setRecord(), being row-oriented by nature, should submit the change immediately rather than waiting for the next call to setRecord(). This makes setRecord() consistent with insertRecord(). Change-Id: Icb4019d8b7c53a7ee48f8121a7a525e8bc35d523 Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
| * QHeaderView - renaming functions in Qt5Thorbjørn Lund Martsum2012-03-141-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch renames the functions in Qt5 according to the notes. It also renames resizeMode to be consistent. The old functions are both marked with both QT_DEPRECATED and '### Qt 6 - remove' All usage of the function within the qtbase are also changed to use the new functions. Change-Id: I9e05fa41d232e9ca43b945fcc949987017f3aedd Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| * QSqlTableModel::isDirty(): new overloaded methodMark Brand2012-03-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | Checks if model has any changes to submit. Includes new test covering isDirty(index) as well the new overloaded function. Task-number: QTBUG-3108 Change-Id: I0ccbda45d5d9f06434cf1e1c037a9efb76d0cc37 Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>