aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickitem_p.h
Commit message (Collapse)AuthorAgeFilesLines
* Mac: respect the system settings in Full Keyboard AccessLiang Qi2013-05-141-0/+3
| | | | | | | Iterate all or not in nextPrevItemInTabFocusChain function. Change-Id: I95289b042f3d9924c28ffb9c8c7124c767addf2e Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Revert "Mac: respect the system settings in Full Keyboard Access"Liang Qi2013-05-081-3/+0
| | | | | | | | | This breaks Qt Quick Controls activeFocusOnTab autotests. This reverts commit 305616a60462b668c4d0b3d19302fa90469aceb5. Change-Id: Ided59ebe99659b23e950e8269ccaa8d7d44a4fdb Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* The resources property should be independent from QObjectThomas Hartmann2013-05-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Resources was a direct mapping of the QObject children. This led to problems since the QObject children can also contain other objects from other sources like attached properties. This patch decouples resources from QObject properties and also does not call setParent() anymore. The special case for QQuickWindow in data_append does rely on the fact that QObject::setParent() is called and the inner window becomes a QObject::child of the content item. So we keep the setParent for this special case. The children property does not take QObject ownership either. QObject ownership is handled by the VME. None of the documented QML use cases should be touched by this change. This is a cleaner solution then the ad hoc fix provided by https://codereview.qt-project.org/#change,54677 I changed also the test. The list count now has to be exactly 4. Change-Id: I5c119e333ee82e888aaac1da559fd63a875d08ee Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Mac: respect the system settings in Full Keyboard AccessLiang Qi2013-05-081-0/+3
| | | | | | | Iterate all or not in nextPrevItemInTabFocusChain function. Change-Id: I14d40dbeda01ca470efe23886789383ff1d30c0f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Expose nextItemInFocusChain in QQuickItemLiang Qi2013-04-231-0/+1
| | | | | | | | | Convenient for other use cases related with tab focus chain. Autotest is included. Change-Id: I1ba6317e20edacc2b672bc5b78e3fcd29ac80bdc Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* Support activeFocusOnTab in QQuickItemLiang Qi2013-03-121-2/+4
| | | | | | | | | | | | | | | | | | | Add activeFocusOnTab as property to QQuickItem. Setting the property allows automatic keyboard navigation between all elements that have it set. This key event handler will only be called after the QML key handlers, such as KeyNavigation and Keys, and the C++ key event handlers, such as keyPressEvent function. Algorithm is most done by Frederik Gladhorn, in cooperation with Gabriel de Dietrich. Done-with: Frederik Gladhorn <frederik.gladhorn@digia.com> Done-with: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Change-Id: I8b58be9c20d113661fe85d27bdb1af84340d9de5 Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Merge branch 'stable' into devGunnar Sletta2013-01-171-1/+1
|\ | | | | | | | | | | | | | | Conflicts: src/qml/doc/qtqml.qdocconf src/quick/doc/qtquick.qdocconf Change-Id: I087fa14720995a5e53c43567dc4a3c29eb9992a9
| * Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | | | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* | Deinline QQuickKeysAttached::keyToSignal.Robin Burchell2013-01-081-20/+1
|/ | | | | | | | This also means we don't need to expose the SigMap struct or value - it can be made file-local. This isn't performance-critical, so it shouldn't really matter. Change-Id: I08d48df4f903df49a6ea58e6f10f3f53a97d89de Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
* Compile with QT_NO_WHEELEVENT.Volker Krause2012-12-191-0/+2
| | | | | | | | Change-Id: I2fbe6f45ba50e3db75bd02cfca47ddabfcd5fc49 Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Enable module build with QT_NO_IMTasuku Suzuki2012-11-261-1/+6
| | | | | | Change-Id: I90f8ec7e6357db7b4038bb1646fe9d3835821556 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Alan Alpert (RIM) <aalpert@rim.com>
* Fix performance bottleneck in QQuickWindow::mouseMoveEvent().Sérgio Martins2012-10-111-0/+3
| | | | | | | | | | | | | | | | | | When a mouse move event is received, a lot of time is spent looking for items with cursors, recursively. With this patch, it will only recur into item hierarchies that contain cursors. Not having cursors is much more common than having them. Benchmark included: Before: 15 msecs per iteration (total: 62, iterations: 4) After: 0.000064 msecs per iteration (total: 68, iterations: 1048576) Task-number: QTBUG-27054 Change-Id: I3a5441652ca1c0b8d2cbc5683013562174f5af4a Reviewed-by: Alan Alpert <416365416c@gmail.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-231-24/+24
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix resolution of cursor when items are overlapping.Andrew den Exter2012-07-261-1/+5
| | | | | | | | | | | | If MouseArea with cursorShapes are overlapping then cursor shape of the foremost item under the mouse cursor should be shown, but because the hover events are delivered to the foremost items first the opposite is occuring. This makes QQuickWindow responsible for correctly setting its own cursor instead of relying on items to work it out amongst themselves. Change-Id: Iedf144c583dfa3d1ff441e19db9601b5e171902a Reviewed-by: Martin Jones <martin.jones@nokia.com>
* QQuickCanvas renamesAlan Alpert2012-07-171-14/+14
| | | | | | | | | | | | | | | | QQuickCanvas is now called QQuickWindow QQuickCanvas::rootItem is now QQuickWindow::contentItem QQuickItem::canvas is now QQuickItem::window QQuickItem::ItemChangeData::canvas is also renamed window QQuickCanvas::grabFrameBuffer is now QQuickWindow::grabWindow The functions related to the color property have dropped the clear from their names. The first three changes have interim compatibility measures in place to ease the transition. Change-Id: Id34e29546a22a74a7ae2ad90ee3a8def6fc541d2 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Change antialiasing method for QML2.Kim Motoyoshi Kalland2012-07-131-1/+3
| | | | | | | | | | | | | Since multisampling can require a lot of memory, and might not be supported on some hardware, turn off multisampling and implement antialiasing in the vertex shader instead. The alternative method of antialiasing is implemented for Rectangle, Image, BorderImage and AnimatedImage, and must be explicitly enabled by setting the new antialiasing property. Task-number: QTBUG-26268 Change-Id: I39a93d978658a494bf51e9f0fd02d8414eb8be12 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Remove QQuickItemPrivate::InitializationStatus.Andrew den Exter2012-06-301-17/+0
| | | | | | | Unused following changes to focus handling of unparented items. Change-Id: I18b8c1a233a62050d3e43786cc093b039697c922 Reviewed-by: Bea Lam <bea.lam@nokia.com>
* Make qtdeclarative compile with QT_NO_DRAGANDDROPTasuku Suzuki2012-06-241-0/+2
| | | | | | Change-Id: Ie92455495979b065b574f013d95fac17739fa40e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Jeremy Katz <jeremy.katz@nokia.com>
* Performance should always be better with cacheBufferMartin Jones2012-06-081-1/+4
| | | | | | | | | | | | | Setting a cacheBuffer introduced more work for the scenegraph due to cached delegates' visibility being toggled. Changing visibility is expensive as it is proagated to all children. Introduce a cheap method of hiding a branch instead. Also avoid initiating incubation in the same frame as a completed creation. Change-Id: I573bcf37f441f96a7502d445be50ef4301f217d5 Reviewed-by: Bea Lam <bea.lam@nokia.com>
* Remove unused performance flags.Michael Brasser2012-06-061-6/+1
| | | | | | Change-Id: I9a9111703e2480af02b1af7033ea6bb12e7a75a5 Reviewed-by: Glenn Watson <glenn.watson@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Remove unnecessary exportsMatthew Vogt2012-05-181-1/+1
| | | | | | | | | Reduce library load time by removing any exports which are not required by existing clients. Task-number: QTBUG-24768 Change-Id: Ia5754d6f97bb2ed46e290820a5b092f85a4bc5b0 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Also check notifier endpoints when checking whether a signal is connected.Michael Brasser2012-04-231-2/+2
| | | | | | | This is required for the QQmlBoundSignal optimizations. Change-Id: I63540b96cd7d4523ec49973a2540054c83d82b12 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Size loaded item before bindings are evaluatedMartin Jones2012-03-301-0/+2
| | | | | | | | | | | | If the Loader size is set explicitly we can set the item size before the bindings are run, and avoiding an additional anchor layout. Also ensure item implict size changes are propagated/notified in the Loader. Change-Id: Ie22b018b22be8457ccf30b907a26e44260b9cef7 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Free ShaderEffectSource FBOs when no longer needed.Kim Motoyoshi Kalland2012-03-211-1/+12
| | | | | | | | This commit also fixes handling of texture provider deletion in ShaderEffect. Change-Id: Ib22a9308a35325972bc545cf29de11bd625b22b2 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Pull out some duplicate focus-related codeBea Lam2012-03-201-0/+1
| | | | | Change-Id: I920a9b75ccbdb3a9b169c7669121734c14d18ff9 Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Merge master <-> api_changesMatthew Vogt2012-03-051-2/+2
|\ | | | | | | Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f
| * Fix for bad operator precedence causing right mouse button issuesAlex Wilson2012-02-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | Binary or (|) has higher operator precedence than a ternary in C, causing the original expression here to function quite incorrectly for anything other than the common left-mouse-button-only case. I just added brackets -- feel free to change this to "if"s if you think that would more clearly avoid this issue in future. Change-Id: Ie20bd7e805b89a393794d3240fb0ae680b29ff64 Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* | Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-241-43/+43
|/ | | | | | | | | | | | | Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Reduce size of QQuickItemPrivateAaron Kennedy2012-02-211-99/+135
| | | | | Change-Id: I02653536f68cfef3dfc06acaf30e2565a97dc194 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Remove commit headersAaron Kennedy2012-02-201-1/+0
| | | | | | | | These were used when we were porting from QtQuick 1 to QtQuick 2 but are no longer necessary. Change-Id: I0eeb7e13b4affdd6ab6c6dddea760afcdf38ee4f Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Have input method hints on only classes using themPekka Vuorela2012-02-171-1/+0
| | | | | | | | | | | Removed inputMethodHints setter and getter from QQuickItem. No need to consume memory for input method hints on every item when only QQuickTextInput and QQuickTextEdit actually use them. Additionally introduced change signals on the editor hint properties. Change-Id: Ice380d4f4dd47fdde73d2468f4a44a7d1540ad45 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com> Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Added new convenience readonly visibleChildren property to ItemMathias Malmqvist2012-02-101-1/+7
| | | | | | Change-Id: I5ec541226fabd72c05ce8ccb8bb7e56f6ec7717a Task-number: 22724 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Let Item.layer.samplerName be a QByteArray instead of QString.Kim Motoyoshi Kalland2012-02-071-5/+5
| | | | | | | | Both Qt's property system and OpenGL shaders use 8-bit characters, so there is no need to use a QString for samplerName. Change-Id: I8cc29c74adb5d71a34cc99d9ecebbbba8b554cdf Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Allow Item components to be assigned to Item.layer.effect.Kim Motoyoshi Kalland2012-02-071-1/+1
| | | | | | | | | Some complex effects are easier to implement as Items using ShaderEffects internally rather than with a top-level ShaderEffect. Auto-tests added. Change-Id: I4b99811b87e7ca5054bf119b99207b7f5a7c666e Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Fixed some Item.layer bugs and added auto-tests.Kim Motoyoshi Kalland2012-02-071-7/+4
| | | | | Change-Id: I3f66f911d1c499c37a66904f8ddab6951ba85e60 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Update item focus when the enabled property is changed.Andrew den Exter2012-02-011-1/+1
| | | | | | | | | | Remove active focus from an item when it is disabled, and give active focus to an enabled item if it has focus within a scope with active focus. Task-number: QTBUG-22404 Change-Id: Iff2b774a9ff784e6107a4ed6524c93e749ae0182 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: If39bd256b0fa85eba17ea30f8ab87ea27d758908 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-231-1/+1
| | | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I6a730abc0c396fb545a48b2d6938abedac2e3f1c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I0a8d99909cac867dce72da70b1bbcb649989a51b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Introduce layerering support (ShaderEffectSource) directly in ItemGunnar Sletta2012-01-031-1/+104
| | | | | | | | | | | | | This is enabled by doing "Item.layer.enabled: true". The implementation is solely based on the existing shader effect (source) and simply swaps in a sibling next to the item when enabled. This change also adds the QSGTextureProvider to the public API, as it is now a natural part of the QQuickItem API since all items can be textures. Change-Id: I26705c11e92d5623a5121300acc123782b784077 Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
* Add accessibility to qmlFrederik Gladhorn2012-01-021-0/+3
| | | | | | | | | | | | | | | This consists of two parts: An attached property for QML items and a plugin for the accessibility framework. The attached property simply takes care of some properties (name, role) that are needed in order to expose semantics of the application to assistive tools. The plugin exposes the hierarchy of QML items to the accessibility framework. Change-Id: I32f5603d0d9549b01b3645b205b710b9801762f7 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Made QSGNode flags togglable and added StaticSubtreeGeometry.Kim Motoyoshi Kalland2011-12-141-0/+3
| | | | | | | | | | | | The UsePreprocess and ChildrenDoNotOverlap flags could previously only be set during node initialization. They can now be toggled. This change also introduces the StaticSubtreeGeometry flag which is meant to be used to indicate that all the nodes in the sub-tree have static matrices and vertex data. Change-Id: I3b182b81f7010aea636f8f654ef22dab19bc6b29 Reviewed-by: Michael Brasser <michael.brasser@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Add Screen attached objectAlan Alpert2011-12-091-0/+3
| | | | | | | | | | | Use this to get details of the screen such as size and current orientation. As well as adding its own example, this commit updates Calculator to use Screen instead of Runtime for orientation. Change-Id: I1b73d2ee22a92b1dee827de1bd893eebec9f5817 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Introduce more generic fast property handlingAaron Kennedy2011-12-051-0/+4
| | | | | | | Also reduce the number of direct calls to qt_metacall(). Change-Id: I04cd6e516a3e61058548309a19fe0b830f15c93f Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Say hello to QtQuick moduleKent Hansen2011-12-021-0/+752
This change moves the QtQuick 2 types and C++ API (including SceneGraph) to a new module (AKA library), QtQuick. 99% of this change is moving files from src/declarative to src/quick, and from tests/auto/declarative to tests/auto/qtquick2. The loading of QtQuick 2 ("import QtQuick 2.0") is now delegated to a plugin, src/imports/qtquick2, just like it's done for QtQuick 1. All tools, examples, and tests that use QtQuick C++ API have gotten "QT += quick" or "QT += quick-private" added to their .pro file. A few additional internal QtDeclarative classes had to be exported (via Q_DECLARATIVE_PRIVATE_EXPORT) since they're needed by the QtQuick 2 implementation. The old header locations (e.g. QtDeclarative/qquickitem.h) will still be supported for some time, but will produce compile-time warnings. (To avoid the QtQuick implementation using the compatibility headers (since QtDeclarative's includepath comes first), a few include statements were modified, e.g. from "#include <qsgnode.h>" to "#include <QtQuick/qsgnode.h>".) There's a change in qtbase that automatically adds QtQuick to the module list if QtDeclarative is used. Together with the compatibility headers, this should help reduce the migration pain for existing projects. In theory, simply getting an existing QtDeclarative-based project to compile and link shouldn't require any changes for now -- but porting to the new scheme is of course recommended, and will eventually become mandatory. Task-number: QTBUG-22889 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Change-Id: Ia52be9373172ba2f37e7623231ecb060316c96a7 Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>