summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Finish removing virtual child integersBradley T. Hughes2011-12-136-13/+13
| | | | | | | | | Finish the work started by commit beb72b2fbf17a20b4a9d51d75d79f9c3c69bb357. This silences warnings found by -Woverloaded-virtual. Change-Id: Ic6f5e77e324463ade8349f23f272b41b509d87e4 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Fix debug output in eglfs with QEGL_EXTRA_DEBUG enabledJohannes Zellner2011-12-132-5/+5
| | | | | Change-Id: I615a953b52184d01c5b1b78d1cff283f94c458d9 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Improved performance of large text when parts are outside view.Kim Motoyoshi Kalland2011-12-131-6/+81
| | | | | | | | | Avoid generating paths for the parts of the text that are outside the viewport in the raster paint engine. Task-number: QTBUG-22687 Change-Id: I06159bc4c1aa82a07606f4b2f0336cb25dfd56d2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fix QPA xlib plugin handling of setParent(0).Bradley Smith2011-12-132-3/+4
| | | | | | | | | Dereference of the parent argument did not check for nullptr. For example, the hellogl example would crash. Now if the parent argument is null, the screen's root window is used. Change-Id: Ib06181c9ab9794d577722f1c1dd5ee92e4edaee5 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add missing assertion to QAbstractTestLogger.Jason McDonald2011-12-131-0/+1
| | | | | | | | | If passed an empty string, QAbstractTestLogger::outputString() would crash, so add a QTEST_ASSERT to make the cause of any crashes more obvious. Change-Id: I00afe2e73120b87e211f858402d441f345dddd08 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* testlib: fixed actual, expected order in QTest::compare_helperRohan McGovern2011-12-131-1/+1
| | | | | | | | | | These two parameters were written in the opposite order in the function's declaration and definition. Harmless to the compiler, but confusing to developers and reviewers. Change-Id: I1d4cb0a41b465b5f918daa76756677fe0cfe0a59 Reviewed-by: Jason McDonald Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Stop animation driver in the appropriate place.Michael Brasser2011-12-131-2/+2
| | | | | | | | | Calling stop from restartAnimationTimer was incorrect (it was initially added as a fix after the introduction of QAnimationDriver, but this is a better location for the fix). Change-Id: I2507096b846ada061e36a9ece6aa814d801ddd53 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Only call profiler callback once per animation tick.Michael Brasser2011-12-131-3/+2
| | | | | Change-Id: I369afdf34ded2c6327ce36cdb80fab51bf89a1b5 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* Cleanup pause timer handling in QUnifiedTimer.Michael Brasser2011-12-132-15/+11
| | | | | | | | | The animationTimer is now only used for pauses, so can be renamed to pauseTimer, and directly queried for whether it is active. Change-Id: I3d9319b6ee76158e875ab43657126a0aa0a1cf2e Reviewed-by: Leonardo Sobral Cunha <leo.cunha@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Fix possible jump in animation timer.Michael Brasser2011-12-132-24/+47
| | | | | | | | | | | | If both a stop and start happen within an event loop, ensure they are processed in order. Based on a patch from Charles Yin. Task-number: QTBUG-22865 Change-Id: I6131bd43a6ba5ad4fa37c863a9f4598bf2ac0e01 Reviewed-by: Leonardo Sobral Cunha <leo.cunha@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Move QAbstractItemModel into a separate directory.Stephen Kelly2011-12-136-3/+9
| | | | | Change-Id: Ib505520dd5b52743634befbf3f148d7f8c21ec44 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Compile fix - qxcbconnection.cpp (‘Display’ was not declared)Thorbjørn Lund Martsum2011-12-131-0/+2
| | | | | | | | | | | To avoid getting qxcbconnection.cpp:89:29: error: ‘Display’ was not declared in this scope Platform linux - configured with ./configure -nokia-developer -nomake examples -nomake demos -nomake tests -no-gtkstyle -no-v8 Change-Id: Ief7315bb8aa67c6454cdeddb1c02e60ea79801b5 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Use QVarLengthArray in QXcbConnection.Robin Burchell2011-12-132-6/+9
| | | | | | | | | | There's no need in using a QList here, since it's never passed around anywhere; the reference counting is just unnecessary overhead. Change-Id: I92107c69f7338acc396e2ac4a69123c6a2becaed Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add the .exe suffix to executables on Windows.Stephen Kelly2011-12-122-4/+4
| | | | | | Change-Id: I257bb7d62ae18ea529df6b10694fcf25eedc83f4 Reviewed-by: Clinton Stimpson <clinton@elemtech.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Make QApplication::type() set by QGuiApplication.Frederik Gladhorn2011-12-125-16/+22
| | | | | | | | | | | | | | | QApplication::type used to be static and set by the QApplicationPrivate constructors. In QCoreApplication we have the new application_type that should take its place. QApplication::GuiServer is deprecated (since it doesn't have any functionallity any more with QWS being removed). This change prepares QStyle to be called from a QQuickCanvase based application that does not inherit the QWidget version of QApplication. Change-Id: Ifbe992e25f1e5821fa047b6eb915f75fa675ab97 Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* v8: give sensible error message if v8 sources are not checked outRohan McGovern2011-12-121-0/+5
| | | | | | | | | | | A common error for developers attempting to build qtbase for the first time is to miss cloning the v8 submodule. Let qmake check for existence of the sources so we get a sensible error at qmake time, rather than a relatively inscrutable error at make time. Change-Id: I70b478e63c962263dac4f2ddccb377b4c9777ceb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Add touchEvent() virtual to QWindow.Laszlo Agocs2011-12-122-0/+11
| | | | | | | | | | | Unlike keyPressEvent(), mousePressEvent(), etc. the touch events had no equivalent so one had to fall back to reimplementing event() or using an event filter. This is now corrected by introducing touchEvent(). Touch events are finally becoming a first-class citizen in Qt 5. Change-Id: Ia2044030154fd5b1b5384f08a3cb1749b798435f Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove symbian cases from library and plugin loading code.Stephen Kelly2011-12-122-124/+9
| | | | | | Change-Id: I381873449b1520152cd2a7aede9c7253e110ef7a Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Cocoa: Add autorelease pools.Morten Johan Sørvig2011-12-124-2/+11
| | | | | | | | | | | | | A couple of cases where we call Cococa APIs without having an autorelease pool in place surfaced after removing the global autorelease pool in 1a218a7. (This happens when when Qt API is called before app.exec() has started the Cocoa event loop.) Add local autorelease pools to prevent memory leaks. Change-Id: I0c4be3ff102aaff4539235857f95ab29fdbc9d70 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Add QVarLengthArray::length().Robin Burchell2011-12-122-0/+8
| | | | | | | | | | | This also adds a unit test for length()/count()/size(), since there wasn't one testing it explicitly. Change-Id: Ifb7f113aa97beef5f76e5fb246eb38495344b0ad Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Marco Schmidt <Marco.Schmidt@Taugamma.de> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Remove unused member variables from private class.Richard Moore2011-12-121-2/+0
| | | | | | | These aren't used, and so they shouldn't be there. Change-Id: Id4a08d90836c45c140d811b8eca07756e14c56e5 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Remove template <class T> class QRingBufferJoão Abecasis2011-12-121-72/+0
| | | | | | | .. as it is declared and defined in .cpp file but never used. Change-Id: I7b72daf62712b4ec25717afbe2b7f0792ffa2a85 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Windows-DnD: Fix cursors.Friedemann Kleint2011-12-122-8/+187
| | | | | | | Re-add pixmaps that were removed from QGuiApplication. Change-Id: I9936da115e494cf816116159419d40840176afd5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Windows: Fix clipboard test.Friedemann Kleint2011-12-121-1/+4
| | | | | | | Return the QMimeData set on the Ole object if we own it. Change-Id: I08de0968e04a7356fed1255feb495f7b85e7a6f8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Silence -Woverloaded-virtual warnings in QRasterPaintEngineBradley T. Hughes2011-12-122-13/+13
| | | | | | | | | | | | | | | | | | | | | | The QRasterPaintEngine::updateState() is not a reimplementation of QPaintEngineEx::updateState(const QPaintEngineState &state). Rename the updateState() function to updateRasterState(), and ensureState() to ensureRasterState(). These names were chosen to match the class name QRasterPaintEngineState on which these functions operate. ../../include/QtGui/5.0.0/QtGui/private/../../../../../src/gui/painting/qpaintengine_raster_p.h:271:10: warning: 'QRasterPaintEngine::updateState' hides overloaded virtual function [-Woverloaded-virtual] void updateState(); ^ ../../include/QtGui/5.0.0/QtGui/private/../../../../../src/gui/painting/qpaintengineex_p.h:202:18: note: hidden overloaded virtual function 'QPaintEngineEx::updateState' declared here virtual void updateState(const QPaintEngineState &state); ^ Change-Id: Ie9ff0230019b383d53757029c6b2194dfc6a2664 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Silence -Woverloaded-virtual warnings in QBlitterPaintEngineBradley T. Hughes2011-12-122-5/+5
| | | | | | | | | | | | | | | | | | | | QPaintEngineEx declares several virtual clip() overloads, but clip() with no argument does not reimplement any of these. Rename it to clipData() (to make the name of the return value more closely). ../../include/QtGui/5.0.0/QtGui/private/../../../../../src/gui/painting/qpaintengine_blitter_p.h:104:29: warning: 'QBlitterPaintEngine::clip' hides overloaded virtual function [-Woverloaded-virtual] inline const QClipData *clip(){return raster()->d_func()->clip();} ^ ../../include/QtGui/5.0.0/QtGui/private/../../../../../src/gui/painting/qpaintengineex_p.h:157:18: note: hidden overloaded virtual function 'QPaintEngineEx::clip' declared here virtual void clip(const QPainterPath &path, Qt::ClipOperation op); ^ Change-Id: Ifd7c494e2c999d743216cfb4c27a9c3ccf66f2a9 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Fix NTLM authentication with email addressShane Kearns2011-12-121-8/+3
| | | | | | | | | | | | | | | When using "user@dns-domain" for NTLM authentication, the whole string should be sent as the username, and the domain should be set to an empty string. The domain sent by the server is still reflected if the username does not contain an '@' character. Manually tested using MS IIS on a domain-joined PC. Task-number: QTBUG-19894 Task-number: ou1cimx1#949951 Change-Id: Ie1f81172e71cb7cce7b8c909062be990c24aea47 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* Fix null pointer dereference in NTLM authenticationShane Kearns2011-12-121-2/+5
| | | | | | | | | | | If NTLM authentication is required for the URL with an empty path, then QNetworkAuthenticationCache::findClosestMatch(url.path()) returns 0. e.g. "http://10.1.2.3". Return a default constructed credential in this case. Change-Id: I84ad3b308ee3f74fbbac9ad0f11dbdc66047b50b Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* Delay masking the last character in Password echo mode.Andrew den Exter2011-12-122-3/+74
| | | | | | | | | | | | | | | | If QT_GUI_PASSWORD_ECHO_DELAY is defined in qplatformdefs.h with an integer value in milliseconds, QLineEdit and TextInput will display the last character entered unmasked for that delay period and then mask the character as normal. If QT_GUI_PASSWORD_ECHO_DELAY is not defined then the behaviour is unchanged. Task-number: QTBUG-17003 Task-number: QTBUG-20719 Reviewed-by: Martin Jones (cherry picked from commit f9e7aee2019d321edd655bfde7de43f20a106971) Change-Id: If69b384636e3775ad7898b8ffc441011c21abe98 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Fix TextInput test failures.Andrew den Exter2011-12-121-0/+2
| | | | | | | | | | | | | emitCursorPositionChanged won't emit cursorPositionChanged if the cursor position hasn't changed but that doesn't mean the micro focus hasn't changed, so emit updateMicroFocus changed when cursorPositionChanged isn't. Task-number: QTBUG-21017 Task-number: QTBUG-21011 Task-number: QTBUG-20719 Change-Id: I86344621151dbeba0eebc67fbc786a8da76b7021 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Move cursorDelegate with the mouse selection of read only text input.Andrew den Exter2011-12-121-2/+6
| | | | | | | | | Task-number: QTBUG-20719 Task-number: QTBUG-19109 Reviewed-by: Martin Jones Change-Id: I2cec51eb5b01dc5750614edf5b39d6a3da661fc6 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Make it easier to select words at the start of a line.Andrew den Exter2011-12-121-12/+22
| | | | | | | | | | | | | QTextControl's word selection will only include a word if the cursor position is past the mid point of the word. This can make it difficult to select words near the edges of the screen on touch devices. For the TextEdit word selection mode select a word ignore the relative position within a word. Task-number: QT-5206 Task-number: QTBUG-20719 Change-Id: I77e71e01d8021d66ada785cf894ba876faccefdf Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Store the primary status in the touch point flags.Laszlo Agocs2011-12-1213-35/+25
| | | | | | | | | | | | | | | | | For some reason the primary bit has previously been encoded in the touch point state, even though it has nothing to do with the regular states like Pressed, Released, etc. The value is now stored in the recently introduced flags member of the touch points. This also reduces the need for error-prone internal masking of the state value. The structure used by QWindowSystemInterface::handleTouchEvent also becomes cleaner because the primary status can now be set in the flags member and the isPrimary bool can be dropped. Change-Id: I1da2cb99154afd97e1e3a5943ab115cae3a8232f Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Check driver validity before using itHonglei Zhang2011-12-122-4/+7
| | | | | | | | | | | | Even though it is stated in the documentation that the SQL driver must remain valid during the life time of QSqlQuery, there are users who don't follow the rule. It's common that the destructor of QSqlQuery is called after the driver is already deleted. This fix checks the validity of the SQLite driver before QSqliteResult uses it in destructor. Task-number: QTBUG-16967 Change-Id: If0f52113f12e14102da1671cd6e12bdaa267114f Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Revert "Remove unused overload of QTest::qExec."Friedemann Kleint2011-12-122-0/+29
| | | | | | | | | | | | | | | | The overload is used in Qt Creator (see src/libs/extensionsystem/pluginmanager.cpp). The use case here is an application whose internal QObjects can be tested by passing a command line parameter. For this use case, it is inconvenient to have to allocate memory and create a char argv[]- array. This reverts commit ad80d42f8eefd72d9297c272139acc70e24bfa13. Change-Id: I2a2f91e2840100fd62743f6d03b33005d67b18f8 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Silence -Woverloaded-virtual warnings in QFileDialogBradley T. Hughes2011-12-124-15/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPaintDevice::init() virtual, reimplemented in QWidget, is hidden by these declarations, and clang (and gcc with -Woverloaded-virtual) warns about this. There is no need to overload the init() name, use more descriptive names instead. dialogs/qsidebar_p.h:124:10: warning: 'QSidebar::init' hides overloaded virtual function [-Woverloaded-virtual] void init(QFileSystemModel *model, const QList<QUrl> &newUrls); ^ dialogs/qfiledialog_p.h:303:10: warning: 'QFileDialogLineEdit::init' hides overloaded virtual function [-Woverloaded-virtual] void init(QFileDialogPrivate *d_pointer) {d_ptr = d_pointer; } ^ dialogs/qfiledialog_p.h:314:10: warning: 'QFileDialogComboBox::init' hides overloaded virtual function [-Woverloaded-virtual] void init(QFileDialogPrivate *d_pointer); ^ dialogs/qfiledialog_p.h:330:10: warning: 'QFileDialogListView::init' hides overloaded virtual function [-Woverloaded-virtual] void init(QFileDialogPrivate *d_pointer); ^ dialogs/qfiledialog_p.h:342:10: warning: 'QFileDialogTreeView::init' hides overloaded virtual function [-Woverloaded-virtual] void init(QFileDialogPrivate *d_pointer); ^ kernel/qwidget.h:682:10: note: hidden overloaded virtual function 'QWidget::init' declared here void init(QPainter *painter) const; ^ Change-Id: I7a317a551b92fde966e61958dcaf25dea94d69b4 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove -keyevent-verbose option for autotests.Jason McDonald2011-12-121-12/+0
| | | | | | | | | This option does nothing -- the only function that checks if the option has been set is never called. This appears to have been the case ever since testlib was imported into the Qt repository in October 2005. Change-Id: I837aa957e2d8bd47c3d1c551f1b94d4374daa25e Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Stop using QTest::qt_snprintf() in testlib.Jason McDonald2011-12-127-61/+49
| | | | | | | | After the previous commit, QTest::qt_snprintf() is equivalent to qsnprintf(), so just use that instead. Change-Id: I89ad6e3749ba5efb1926b0b618a904e8baca9f52 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Improve definition of QTEST_NO_SPECIALIZATIONSJason McDonald2011-12-121-1/+1
| | | | | | | | Remove the part of the definition that applies to gcc versions <= 2.x as these versions are not supported by Qt5. Change-Id: Icee6b51ffe78fa30fd7193ef96b6ce0484b8fcae Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Filter unprintable chars out of all test output.Jason McDonald2011-12-123-15/+18
| | | | | | | | | | | | | | | | | | Previously, unprintable characters were filtered out of test output while the output strings were being formatted by either qt_snprintf() or qt_asprintf(). Any strings not formatted by one of those functions weren't filtered at all, and any strings passed more than once would be filtered more than once. This commit separates the filtering of output strings from their formatting, leaving the filtering until just before the strings are written to the output stream. For now, the filtering is done by a protected method of QAbstractTestLogger, but this could easily be changed to a virtual method in future to allow different filtering for loggers with different output character sets. Change-Id: Ia4bb49cd10d37c84af75d2cf58325d27f0e16d99 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Clean up includes in QStringListModel.Stephen Kelly2011-12-122-1/+3
| | | | | Change-Id: Idb7167d1206925179fa812b6e3643ed9172f8479 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove QMetaObject guards and deprecate QPointer.Bradley T. Hughes2011-12-108-150/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QWeakPointer is superior and preferred. Remove QMetaObject::addGuard(), QMetaObject::changeGuard(), QMetaObject::removeGuard(), and QObjectPrivate::clearGuards(). Implement QPointer using QWeakPointer<T> instead. This changes the behavior of QPointer in 2 ways: - During destruction of a QWidget. Previously, the destructor of QWidget would reset all QPointers so that they would return zero when destroying children. Update tst_QPointer to account for this change. - When constructing a QSharedPointer to take ownership of an object after a QPointer is already tracking the object. Previously, the shared pointer construction would not be affected by the QPointer, but now that QPointer is implemented using QWeakPoiner, constructing the QSharedPointer will cause an abort(). Fix tst_QSharedPointer by removing the use of QPointer in the objectCast() test. These behavior changes are documented in the QPointer class documentation and in the changes file. Change-Id: I92d0276219c076ece7bcb60f6e1b9120ce4f5747 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Don't overload the meaning of QObjectData::wasDeletedBradley T. Hughes2011-12-102-6/+8
| | | | | | | | | | | | | | | | | | The union in QObjectPrivate of declarativeData and currentChildBeingDeleted shouldn't use wasDeleted to determining the meaning of the unioned pointer. Instead, add QObjectData::isDeletingChildren, set that in QObjectPrivate::deleteChildren(), and only use the currentChildBeingDeleted member when the parent's isDeletingChildren is set. This solves aborts seen in autotests when widgets are deleting window children. The abort comes from QWeakPointer on the parent in the child's close event handler (the abort checks that wasDeleted is not set). Change-Id: I1a58449159d4a5312aad8ba12e559d05d6c43d93 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix typo in APIDocsThomas Zander2011-12-101-1/+1
| | | | | | | | | | The name of an enum was slightly misspelled in the API docs, so lets make sure its now copy-paste friendly. Change-Id: I5da5230ab29743b63bf238a379891c98ac9d5039 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Thomas Zander <zander@kde.org> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Make headers safe with QT_NO_CAST_FROM_BYTEARRAY.Stephen Kelly2011-12-091-2/+2
| | | | | Change-Id: I0f9dfee505ebc48d9c586c010ad75877a7387836 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Remove QWidget dependency from QTouchEvent.Laszlo Agocs2011-12-095-22/+25
| | | | | | | QWidget *widget() is replaced with QObject *target(). Change-Id: Ib2c860480764410cf1527662e89f352ff688b32a Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove event type parameter from handleTouchEvent.Laszlo Agocs2011-12-0910-23/+27
| | | | | | | | | | | Requiring platform and generic plug-ins to pass TouchBegin, TouchUpdate, or TouchEnd is unnecessary. The type can be easily deduced from the touch point states. In fact handleTouchEvent already collected the combined point states, it was just not utilized until now. Change-Id: Icf3c787fefdebc51609a763bc4286c18a0b6aac2 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Correctly reimplement QPlatformCursor::pos() in QCocoaCursorBradley T. Hughes2011-12-092-2/+2
| | | | | | | | QPlatformCursor::pos() is a const function, the reimplementation should be as well. Change-Id: I7e37e41086e3b329dc31ebc060fcb0915771d884 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Extend touch events.Laszlo Agocs2011-12-0924-78/+656
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The capability flags indicate which information is valid in the touch points. Previously there was no way to tell if e.g. the value returned by pressure() is actually the value provided by the driver/device or it is just something bogus due to pressure not being supported. The points' flags return information about the individual touch points. One use case is to differentiate between touches made by finger and pen. Velocity, if available, is now also exposed. Each touch point can now contain an additional list of "raw" positions. These points are not reported individually but are taken into account in some way by the underlying device and drivers to generate the final, "accurate" touch point. In case the underlying drivers expose these additional positions, they are made available in the lists returned by the touch points' rawScreenPosition(). The raw positions are only available in screen coordinates to prevent wasting time with mapping from global positions in applications that do not use this data. Instead, apps can query the QWindow to which the touch event was sent via QTouchEvent::window() and can call mapFromGlobal() manually if they need local raw positions. The capability and device type information is now held in a new QTouchDevice class. Each touch event will contain only a pointer to one of the global QTouchDevice instances. On top of type and capability, the new class also contains a name which can be used to differentiate between multiple touch input devices (i.e. to tell from which one a given QTouchEvent originates from). The introduction of QTouchDevice has three implications: The QTouchEvent constructor and QWindowSystemInterface::handleTouchEvent need to be changed (to pass a QTouchDevice pointer instead of merely a device type value), and each platform or generic plug-in is now responsible for registering one or more devices using the new API QWindowSystemInterface::registerTouchDevice. Change-Id: Ic1468d3e43933d8b5691d75aa67c43e1bc7ffe3e Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Do not assert on invalid model index.Frederik Gladhorn2011-12-091-6/+2
| | | | | | | | No need to crash here, just warn. This will happen when asking a table for out of range indexes. Change-Id: Ida83604bd587390a3b54fbed68f98dab8038c757 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>