aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* QSGThreadedRenderLoop: fix typo in tracingTim Blechmann6 days1-1/+1
| | | | | | Pick-to: 6.11 6.10 6.8 Change-Id: I0f48169d4678fc72dc16946bd6c4bf566ef48729 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QtQml: Eliminate another obtainCompilationUnit()Ulf Hermann7 days1-13/+17
| | | | | | | | | | If the type reference is a self-reference we have already determined that the inline component exists (otherwise we wouldn't know it's an inline component). If not, we need to have a compilation unit we can use to check it. Change-Id: Ie86f17a42eda7ae9bb45d4f9560134903c1b7dde Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* QtQml: Unify the lists of types and propertyCachesUlf Hermann7 days3-32/+33
| | | | | | | | Each type has a number of propertyCaches. There's no need to keep them in separate lists. Change-Id: I62fd7a07ce56bc258c06df8efcbbf972143e3fd2 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* QmlPreview: Don't give up when positioning a window at (0, 0)Ulf Hermann7 days1-4/+0
| | | | | | | | | | That's a perfectly fine place to position a window. Pick-to: 6.11 6.10 6.8 Task-number: QTBUG-142436 Change-Id: Ief27328f428ecbe54f57b79dd7408f55eba1d965 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Update dependencies on 'dev' in qt/qtdeclarativeQt Submodule Update Bot7 days1-5/+5
| | | | | Change-Id: I5b142e49080269d50fcb07af4d6c03fe0cfb52c4 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Bump version to 6.12.0Jani Heikkinen7 days5-5/+5
| | | | | Change-Id: I1c820dbd76414000a4e3d4f51ab85cf61bf33760 Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
* StyleKit: reimplement broken QQStyleKitDebug::propertyPath()Richard Moe Gustavsen8 days4-33/+58
| | | | | | | | | | | | | | | | | | | | | | | | QQStyleKitDebug previously printed property paths under the assumption that nested property groups followed the same parent–child hierarchy as they are written in the style. After a recent optimization in QQStyleKitPropertyGroup, this assumption is no longer valid. As part of that optimization, all property groups now have the root QQStyleKitControlProperties as their parent in order to avoid unnecessary hierarchy traversals. This change broke the logic used to reconstruct property paths for debugging. This patch introduces QQStyleKitPropertyGroup::pathToString(), which reconstructs a property path in the same order as it is written in the style. While this functionality may also enable future optimizations, it is currently used to restore correct and readable debug output. Task-number: QTBUG-130067 Pick-to: 6.11 Change-Id: I60e0aac3320c703b5b0995daa5a68a8ea1f015c5 Reviewed-by: Doris Verria <doris.verria@qt.io>
* tst_qquickdeliveryagent: increase timeoutTim Blechmann8 days1-1/+1
| | | | | | | | | | | | | | in a local build: ``` FAIL! : tst_qquickdeliveryagent::mouseMoveHoverEfficiency() The computed value is expected to be less than the baseline, but is not Computed (QQuickItemPrivate::itemToParentTransform_counter): 11806 Baseline (11000ull) : 11000 ``` Change-Id: I3fe69235c09023d9a59fabe02b0d9fadcd204d98 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Fix assert when destroying qqmltypeloaderthreadEven Oscar Andersen8 days1-0/+2
| | | | | | | | | | | | | | | The stub implementation of shutdown that is used if !QT_CONFIG(qml_type_loader_thread) does nothing. Hence in this case the thread is running. Apparently the processing is event based in this case so this should not be a problem. Fix by only doing the assert for !running() if QT_CONFIG(qml_type_loader_thread). Change-Id: I93b4f75ce4a1babdb836d28a9cd5f75ef2b3cf54 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* VectorImage: Support CSS easing curvesHatem ElKharashy8 days4-1/+125
| | | | | | | | | | | | Supports linear and any cubic bezier based easing curves supported by Qt Svg. For the current time being, whenever the easing curve is set to a step function in Qt Svg, we revert to the default value which is the "ease" keyword in CSS. Pick-to: 6.11 Task-number: QTBUG-142333 Change-Id: Ifb6b3a2dfe955b5a247399e201efe0d7877bf235 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* QtQml: Eliminate controversial obtainCompilationUnit() callUlf Hermann8 days1-24/+15
| | | | | | | | We can deduce that this inline component type is either a self-reference or has a typeData. Change-Id: If04183079c88b30a4e651b21318987a3c0f464b0 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QtQml: Drop the interfaces container from QQmlMetaTypeDataUlf Hermann8 days2-6/+2
| | | | | | | We have this information already in the QQmlType itself. Change-Id: If8d40b6b79eb65dcf30057db9828795b30d4b5c6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QtQml: Re-order QQmlTypeData::TypeReference and ScriptReferenceUlf Hermann8 days1-7/+6
| | | | | | | | | | This drops the size from 72 bytes to 48 byes on x86_64. We have a lot of type references. ScriptReference stays the same size, but the padding moves to the end. Pick-to: 6.11 Change-Id: Iab377ea1e5cec983a32c9c2d80369f624e3c8fa9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QtQml: Do not load resolved CompilationUnits from other enginesUlf Hermann8 days9-51/+55
| | | | | | | | | | | | | | | | | | | | | If the type loader doesn't have a QQmlDataBlob in its cache, then this engine hasn't ever loaded and resolved the respective compilation unit. We can't skip the type resolution then because the current engine may have different URL interceptors, import paths, plugin paths etc than the one that previously loaded the CU. This leads to different type resolutions. This should not re-open QTBUG-134398 since now the base compilation units are not shared between engines anymore, despite still being stored in the type registry. Amends commit 27c2c989a3d10557da15de3d45bb5bd7b96d14e8. Amends commit 6468df7657f6af4de8727363c7f7d97b680b1867. Pick-to: 6.11 6.10 6.8 Fixes: QTBUG-142658 Change-Id: I10139492c38b4a943ecca41928ec96097cd8bfbe Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Docs: fix various linksVolker Hilsheimer8 days4-8/+10
| | | | | | | | | Use the correct syntax for the scope of the link target for Qt Quick types. Pick-to: 6.11 Change-Id: Ica96c1b736a9b8ddd29a63c21d6a7094bd598ed8 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* TableView: fix initial topRow/bottomRow/leftColumn/rightColumn signalsMiika Pernu8 days2-5/+5
| | | | | | | | | | Property changed signals weren't correctly emitted due to comparison against old values that were incorrect. When constructing the view for the first time, the properties have initial value of -1 and not 0. Fixes: QTBUG-142067 Change-Id: I86bde8abd65e6f135a9f03f35913da914d762d26 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QtQml: Make metaObjectToType constUlf Hermann10 days4-6/+6
| | | | | | | Nobody needs to modify QQmlTypePrivate once it's created. Change-Id: I8c28cf1ce64852576df671e663f9d00b419e3350 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* QtQml: Fix sorting in CMakeLists.txtUlf Hermann10 days1-2/+2
| | | | | | Change-Id: I2ff9533f262deb906d359c25c02d31fa8e95c9ff Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* StyleKit, optimization: track which properties a style/theme storesRichard Moe Gustavsen11 days4-19/+68
| | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces an optimization that allows the propagation engine to skip checking a style/theme/variation if it does not store a value for the property being queried. This significantly reduces the number of QHash lookups needed during property resolution. For example, when resolving all property values for a Button in the hovered state, the number of “failed” lookups dropped from 1632 to 168 when tested with the Haze style. The large improvement is likely due to the typical separation of concerns between styles and themes (at least in Haze): styles primarily define structural properties such as implicit size and corner radii, while themes define colors. Additionally, many properties in the Fallback style remain untouched by both style and theme. Under such conditions, which should be common, this optimization becomes highly effective. Task-number: QTBUG-130067 Pick-to: 6.11 Change-Id: I25d3e350a70243b8e5f96b08f9217a3404866572 Reviewed-by: Doris Verria <doris.verria@qt.io>
* StyleKit: use QHash instead of QMapRichard Moe Gustavsen11 days2-2/+2
| | | | | | | | | | | | | It's apparently not only faster, but also more memory efficient to use a QHash. QMap can be better if one needs to iterate over the keys in sorted order. But that is never the case for StyleKit. So switch to use QHash instead of QMap for the affected containers. Task-number: QTBUG-130067 Pick-to: 6.11 Change-Id: I6f430acbd32555cba85de8191aefa71140b07111 Reviewed-by: Doris Verria <doris.verria@qt.io>
* Examples, StyleKit: ensure that the app can run with qmlpreviewRichard Moe Gustavsen11 days1-0/+1
| | | | | | | Task-number: QTBUG-130067 Pick-to: 6.11 Change-Id: Id27b457908470ea419a8b811c6750ecf8bdfe55f Reviewed-by: Doris Verria <doris.verria@qt.io>
* Doc: Update flowchart to use CSS styling where possibleDavid Boddie11 days3-1/+216
| | | | | Change-Id: I1630b786a331d65e519e52914377ed5166a0d272 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Update dependencies on 'dev' in qt/qtdeclarativeQt Submodule Update Bot11 days1-5/+5
| | | | | Change-Id: I9ee8e865ae4835a1d698e28e66d4d1affc827de6 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* VectorImage: Fix compilation after Qt Svg changesHatem ElKharashy11 days2-7/+7
| | | | | | | | | | Qt Svg has renamed QSvgTinyDocument to QSvgDocument. The name now better reflects the implementation and the required changes in Vector Image are done in this commit. Pick-to: 6.11 Change-Id: Ib558cc622b325575e24c9028d98134e4321416f7 Reviewed-by: Robert Löhning <robert.loehning@qt.io>
* StyleKit: remove unused function declarationRichard Moe Gustavsen11 days1-2/+0
| | | | | | | | | Remove left-over and unused function declaration Task-number: QTBUG-130067 Pick-to: 6.11 Change-Id: I0f56b9f60905d3474f9804ef39b2541344d4a3d0 Reviewed-by: Doris Verria <doris.verria@qt.io>
* qmltyperegistrar: Store foreign metaObjectHash for QML_FOREIGN typesOlivier De Cannière11 days7-0/+32
| | | | | | | | Amends b0bf54bdb02863bce25764c6e1efc42a03071ef2 Task-number: QTBUG-142186 Change-Id: I0b2b9bf282e374f3f374cda32c0e2096aa0bb14a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QV4: Mark CompilationUnit::saveToDisk constOlivier De Cannière11 days2-2/+2
| | | | | Change-Id: I6141df5776471aea755d0b57b2015571b250088a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* android: Fix compilation of weatherforecast and vectorimage examplesEskil Abrahamsen Blomfeldt11 days2-2/+2
| | | | | | | | | | For some reason, the QuickTools package is not implicitly included when building for Android like it is on desktop platforms. Pick-to: 6.11 Fixes: QTBUG-142665 Change-Id: Icdc5afab85ed6061f47e976d5189879b5d47c083 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Restore multi-threaded OpenGL path in rendercontrol_opengl exampleJiDe Zhang11 days5-5/+591
| | | | | | | | | | Porting from the Qt5. Pick-to: 6.11 Task-number: QTBUG-102301 Change-Id: Ic4aa3e4c3f759ccd6e04ef77ed5c2f888e7f9aa0 Reviewed-by: JiDe Zhang <zhangjide@uniontech.com> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Qml: qqmljs.g adjust precedence and associativity of keywordsDmitrii Akshintsev12 days2-9/+14
| | | | | | | | This patch changes resolution of conflicts (dangling "else" and "as" ambiguity) using precedence only relationship, which should be sufficient. Additionally it makes most of the nonassoc keywords equal, instead of erroneous relationship that was there before. Change-Id: I8fea33214221af36021b7d122d6d044a09214309 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Use ApplicationWindow in responsive layouts exampleTor Arne Vestbø12 days1-1/+1
| | | | | | | | The Window type doesn't handle palette changes automatically. Fixes: QTBUG-134767 Change-Id: I039f2bda7aeb1ba534c357bca30b1cfa693362a2 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Allow GraphicsInfo to be used with a WindowLaszlo Agocs12 days2-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | | Allow writing Window { property int api: GraphicsInfo.api } instead of having to do Window { property alias api: dummy.api Item { id: dummy property int api: GraphicsInfo.api } } Change to member initialization to avoid duplicating many lines with the existing constructor. Pick-to: 6.11 Change-Id: Ie07247ee8a6ae1b2d3d7245d77e83ece89909729 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Doc: Neutralize Qt Quick index pageAndreas Eliasson12 days1-3/+3
| | | | | | | | | Be more explicit about how to use the module in a C++ project. This way, we can add future supported language sections later. Fixes: QTBUG-142009 Change-Id: Iaa300155b0079df6b4fbbd6bfc8e05da94634af8 Reviewed-by: Alexei Cazacov <alexei.cazacov@qt.io>
* Remove hideLine flag from QQuickEllipseShapeAlexey Zerkin12 days5-30/+12
| | | | | | | | | After migration from QML version hideLine flag became useless in EllipseShape Task-number: QTBUG-142557 Pick-to: 6.11 Change-Id: I95b6407908385e4a406a15d3f36d5049e2725314 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Deprecate Qt Labs' DialogMitch Curtis12 days1-0/+1
| | | | | | | | | | | | This was missed in 9a6d405cd639f839752a41b8b95627a9627ab0c7. [ChangeLog][QtLabsPlatform] Dialog is now deprecated. Use QtQuick.Dialogs instead. Task-number: QTBUG-130864 Pick-to: 6.11 Change-Id: I5672d106effc253cc438537023122efb421dffc4 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* .cmake.conf: QT_NO_AS_CONST was renamed to QT_NO_QASCONST in qtbaseAhmad Samir12 days1-1/+1
| | | | | | | | | The macro was renamed in commit 03baf08d2bb99bf234d5e051691a57937fa935d7 in qtbase. Pick-to: 6.11 6.10 6.8 Change-Id: Ia3d2d10671ef71423947ea548c0b29dc62359495 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Fix typo EllipseShape.Outised -> EllipseShape.OutsideJan Arve Sæther13 days1-1/+1
| | | | | | Pick-to: 6.11 Change-Id: I88b25f6fa2e98fefb3f0e353804ba997e4709290 Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
* QmlCompiler: Get length from strings wrapped in QJSPrimitiveValueUlf Hermann13 days3-3/+23
| | | | | | | | | | | | We need to consider the original type of the value in order to see what we can do with it and we need to convert it (back) to string where necessary. Pick-to: 6.11 6.10 Fixes: QTBUG-142550 Change-Id: Ic0eb2c7a22636cfb2d97297421b911555bd32bb1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Doc: Improve documentation for console.exceptionUlf Hermann13 days1-2/+4
| | | | | | | | | | | console.exception() unironically throws an exception if you call it without arguments. Otherwise it's almost the same as console.error() but prints a stack trace in addition. Pick-to: 6.11 6.10 6.8 Fixes: QTBUG-119460 Change-Id: I99cc1c009310059d7bd5bbd8308436b832f41da7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QtQml: Update docs about constructible value typesUlf Hermann13 days1-21/+5
| | | | | | | | | | | | You shouldn't use type assertions to create value types. That was a terrible idea. We can document the interaction with the 'new' operator now, though. Task-number: QTBUG-124662 Pick-to: 6.11 6.10 6.8 Change-Id: I94dbf47cfd72ef20a2d4758450634708590f8fec Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Elias Steurer <i@kelteseth.net>
* Avoid the Shapes gradient texture cache growing without boundsEirik Aavitsland13 days3-32/+77
| | | | | | | | | | | | | | | | | | | | | | | | Nothing was ever removed from the cache, so in case of e.g. an animated gradient, a large number of texture objects would be created and not released, and memory would quickly fill up. Fix by changing the caching implementation with a set maximum number of cached gradient textures. This introduces a soft limit on the supported number of simultaneously displayed different gradients in the application. If exceeded, some objects will show wrong gradient colors. Although unlikely to be reached, the limit is documented and configurable by environment variable. As a driveby, improve the gradient cache key qHash() implementation a bit, presumably giving better spread for the QCache. Fixes: QTBUG-142208 Fixes: QTBUG-136553 Pick-to: 6.11 6.10 6.8 6.5 Change-Id: Ie104f27031572e1c392c0a8ef79d09f4a2ba5a8e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* StyleKit: only emit signals globally for readers of the correct typeRichard Moe Gustavsen13 days12-78/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | When the application wrote a new value to a property in the style, we used to emit a property changed signal for that property from every StyleKitReader (control) in the application. We did this because we could not easily know which controls would be affected by such a write because of property propagation. This could therefore be very slow. But now that we have more functionallity in StyleKit available, such as being able to resolve a controls base types, we can now improve on this logic. Therefore, this patch will ensure that we instead only emit changes from the StyleKitReaders of the same type (or a base type) as the control written to in the style. The result is that a write from the app, such as: StyleKit.style.groupBox.background.radius = value will cause an update only for groupBoxes, skipping all other controls. This is clearly faster. Task-number: QTBUG-130067 Pick-to: 6.11 Change-Id: I6432db93f282b8155d9270a57206f0d558b801a8 Reviewed-by: Doris Verria <doris.verria@qt.io>
* StyleKit: ensure we hide delegates upon setting 'visible: false'Richard Moe Gustavsen13 days2-6/+7
| | | | | | | | | | | | | | | | | | | | | | | As it stood, if you e.g did: control.background.shadow.visible: true control.hovered.background.shadow.visible: false Then the shadow would stay visible also when the control was hovered. The reason was because the shadow was already created in the normal state, and toggling visiblity after that point had no effect. This patch will fix this, so that we hide the shadow if its visibility is set to false after first having been created. We refrain from destroying it again, since doing so has a higher cost, and most likely, the hiding of the shadow is just temporarily. Task-number: QTBUG-130067 Pick-to: 6.11 Change-Id: Ib107b11b7f7fa638d7ac439348b9ccb75bf1bb1a Reviewed-by: Doris Verria <doris.verria@qt.io>
* Change order tst_palette::comboBoxPopup to ensure theme is not fixedFrédéric Lefebvre13 days1-2/+2
| | | | | | | | | | | | | | Tst_palette::comboBoxPopupWithThemDefault fails on its first run because tst_palette:comboBoxPopup sets a theme beforehand. It always passes on its second run, as no theme as been fixed yet. Change the order of the two tests ensuring that comboBoxPopupWithThemDefault is passing on its first run. This is a workaround to prevent the theme being fixed before the test. Change-Id: I902f6b0cff9f35305cb5534d1318395677fa2748 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* quickshapes: Fix Unity buildFriedemann Kleint13 days1-0/+2
| | | | | | | | | | | Amends a783420505f1b68f2b8a4333d516bfa51bfb2a47. Task-number: QTBUG-141530 Task-number: QTBUG-115140 Pick-to: 6.11 Change-Id: Iab7c6bf19e1180b9a146ceb6d0b25b5234613ca9 Reviewed-by: Alexey Zerkin <alexey.zerkin@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Qt.createQmlObject: Trim compilation unitsFabian Kosmale13 days3-0/+30
| | | | | | | | | | | | | | | | | | | | | | | When we call createQmlObject, a completely new compilation unit is created. If an object is stil in use, that compilation is obviously needed. However, if code is using createQmlObject repeatedly with the same URL, there's a good chance that the object was only temporarily needed. To avoid unbounded memory usage in that case, we call trimCompilationUnitsForUrl, to remove the no longer needed CUs. Note that this does not help if the URL is also changing dynamically, but we don't want to trim all caches, including ones the user might actually want to hold on. To handle such cases, we should rather 1. integrate the trimming logic with the gc 2. give it a separate, configurable "high water mark" 3. Use some proper caching system for CUs, e.g. LRU That is however out of scope for this commit. Pick-to: 6.11 6.10 6.8 Fixes: QTBUG-142555 Change-Id: I7ebb63abd9bb99531b6b6b2cf1f98b35b1e652e2 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Doc: Remove stale version information from Qt Quick ControlsAlexei Cazacov13 days11-109/+120
| | | | | | | Fixes: QTBUG-141045 Pick-to: 6.11 6.10 Change-Id: Ieb8882f4f07c0893095481e7f9104069cf92a389 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* VectorImage: Parse contents in separate QML contextEskil Abrahamsen Blomfeldt13 days2-1/+5
| | | | | | | | | The generated QML does not need access to the VectorImage's context, since it is self-contained. Pick-to: 6.10 6.11 Change-Id: I61b12aaf5c3abcfe4c21057a28f46f9d85c2054a Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Properly blacklist Switch mouse/touch tests on macOS 26Tor Arne Vestbø13 days1-2/+2
| | | | | | | | Amends 023cad2c2c815c3237fdd4636213084db63fdcb1. Task-number: QTBUG-142189 Change-Id: I4aac13fb790578ea69fb856e41ffc265f2330a01 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* tst_QQMLTypeLoader: use TestHTTPServer::url() instead of ::urlString()Ahmad Samir14 days1-2/+2
| | | | | | | | Avoids converting QUrl -> QString -> QUrl. Pick-to: 6.11 Change-Id: I80ddd4b5c7e25679eda4f235fe2a367afd7901f8 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>