aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquicktext/data
Commit message (Collapse)AuthorAgeFilesLines
* Fix Text with ElideRight not being rendered when width goes from 0 to >0Fabian Kosmale2021-01-141-0/+23
| | | | | | | | | | | | | | | | | | | QQuickText attempts to reduce relayouting. However, it was a bit to aggressive in doing that. If only the width changed in a geometrychange, it would not relayout if widthMaximum was true. However, if the width goes from 0 to greater than 0, the value of widthMaximum should have actually been false (but we would only notice this after relayouting). Thus, don't skip relayouting in that case. Amends 56ade46b4234bb828b8e4f9a6bf83b5687bd122e, which fixed the same issue, but for height. Fixes: QTBUG-83408 Fixes: QTBUG-33608 Change-Id: I14b610c703eb0496c71de7b12ad9fcf16842af64 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 127c79fb7fda16b9a48ce8c425d1700d1aa7502d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix tst_QQuickText::fontSizeModeEskil Abrahamsen Blomfeldt2020-11-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The test hardcodes the height of the Text element to be 35, and then it does a pre-check that this is higher than the height of the font. This is obviously a bit flaky and caused an error because the font at the given size was 35.7 and was rounded up. I did attempt to make the logic a bit more dynamic, and have the object's initial height be based on the height of the font, but other parts of the test would then fail because they depend on the size of the object. In the end, the simplest way seemed to be to just decrease the font size until it fit inside the original Text height and leave it at that. Fixes: QTBUG-88207 Change-Id: I9c327806bde8c339b299302004dfb72b34e87bcd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QQuickTextNodeEngine: reduce redundant rendering of glyphsWang Chuan2020-01-161-0/+18
| | | | | | | | | | | | | | The glyphs between two text blocks that have different text format will be rendered twice, and in this case the rich text will be display incorrectly.(e.g., the first text block is a superscript and the second is a normal text) Fixes this by reduce the redundant rendering of glyphs between two differently formatted text blocks Fixes: QTBUG-80759 Change-Id: I51ca3f7df1ad368d28df9beb6124a87bf50f0e01 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Add API to get more information for each line in a QML Text elementTimur Kristóf2019-11-042-0/+89
| | | | | | | | | | | | | | | | | | | | | | | Previously there was no way to know what area is occupied by each line in a QML Text element. This commit adds new API to expose implicitWidth and isLast on QQuickTextLine for use in the lineLaidOut signal. It also adds improved documentation to the lineLaidOut signal and an example usage of the new API to the text layout example. An example use case of the new API is eg. to allow embedding timestamps and indicators within a text paragraph, to enable creating more efficient layouts. [ChangeLog][QtQuick][Text] Added new API that exposes implicitWidth, and isLast on the QQuickTextLine for use in the lineLaidOut signal. This allows the user to layout other items relative to the lines of text. Fixes: QTBUG-78277 Change-Id: Ibc754db17c78efb01468106aba32e30d70d2f4df Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QQuickTextNodeEngine: don't create background when its alpha is 0Wang Chuan2019-08-291-0/+16
| | | | | | | | | | | | | | | If the alpha value for the background color of a text element is 0, we don't need to create a rectangle node to represent it, as the rectangle will be invisible anyway. [ChangeLog][QtQuick][QQuickTextNodeEngine] don't create a new rectangle node as the background of text, when the alpha of it is 0 Fixes: QTBUG-76137 Change-Id: I40c624ee8f61740fd07e7d3751a78b6224882913 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix possible crash with top/bottom aligned imagesEskil Abrahamsen Blomfeldt2019-07-301-0/+14
| | | | | | | | | | | | | | | | An image inside at the end of a text block which did not start at text position 0 would resolve to an invalid QTextLine, since we passed the document position to lineForTextPosition(), which expects the relative block position. If the image was aligned to top or bottom, so that the extracted QTextLine was actually accessed, this would cause a crash. [ChangeLog][QtQuick][Text] Fixed a bug where aligning an image to "top" or "bottom" could cause a crash under certain circumstances. Task-number: QTBUG-77217 Change-Id: Iaa239ba482f2a765703656e4116cbebb8435a66e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QQuickText: Signal content height/width changes also when resettingUlf Hermann2018-11-201-0/+7
| | | | | | | | | If we change the content height or content width to the initial one, we still need to signal the change. Fixes: QTBUG-71684 Change-Id: Idf6e3f89423eab3d8f5310c164c5acc5108e0d8b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Fix issue where updated text in layout is not correctly rewrappedEskil Abrahamsen Blomfeldt2018-04-261-0/+27
| | | | | | | | | | | | | | | | | | | | | | | When the text element is inside a Qt Quick layout and we set the implicit width, this can trigger the Layout to resize the width further down in the stack. At this point, a recursion guard we have in place to protect against binding loops will cause us to ignore the size update. The end result is that the text width has changed, but the contents have not been updated to reflect this. This change detects this case by checking if the width of the text changed while the recursion guard was in place, and if it was, we call updateSize() again to make sure everything is up-to-date. I added a second admittedly ugly recursion guard for this out of paranoia. I haven't seen any case where this might cause an infinite recursion, but it seemed better to be on the safe side. [ChangeLog][Text] Fixed an issue where updating text inside a layout would not cause it to correctly adapt to its new width. Task-number: QTBUG-53279 Change-Id: I1e421a7073428fa490a24be36208a2077f5836dd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix Text with ElideRight not being rendered when reparentedMitch Curtis2018-04-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the following example: Item { width: 100 height: 30 Text { width: parent ? parent.width : 0 height: parent ? parent.height : 0 elide: Text.ElideRight text: "wot" } } When setting the Text item's parent to null, its explicit width and height are set to 0. When restoring its parent (the Item), its explicit width and height are set to 100 and 30 again, but the text itself is still not rendered. The cause can be seen here: if (!(widthChanged || widthMaximum) && !d->isLineLaidOutConnected()) { // only height has changed if (newGeometry.height() > oldGeometry.height()) { if (!d->heightExceeded) // Height is adequate and growing. goto geomChangeDone; heightExceeded was false, because 30 > 12 (or whatever the implicit height happened to be), so the text was not laid out again, even though it went from having an explicit height of 0 to an explicit height of 30. Fix the issue by only executing the goto if the old explicit height wasn't 0. Task-number: QTBUG-60328 Task-number: QTBUG-67145 Change-Id: I7f4d2f95bc95c850133ba91ac2d1a02c7ee159b6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Add fontInfo property to TextEskil Abrahamsen Blomfeldt2017-01-311-0/+24
| | | | | | | | | | | | | | | | This provides a way to determine which font will actually be used to presenting the text, which can be especially useful when not using a fixed size font (the font info will then expose the actual font size used by the Text element.) [ChangeLog][QtQuick][Text] Added fontInfo property to Text type, providing a way to query properties of the actual font used for presenting the text. Task-number: QTBUG-51133 Change-Id: I5860fb1bd25ac5734713f49c8482428f2d531d22 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-301-0/+25
|\ | | | | | | | | | | | | Conflicts: tests/auto/quick/qquicktext/tst_qquicktext.cpp Change-Id: I241cd418bb7e7b95e0a0a2ee4c465d48be2a5582
| * Fix incorrectly aligned text whose size depends on its implicit sizeMitch Curtis2016-09-291-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The if statement in QQuickTextPrivate::setupTextLayout() was missing an OR clause for the case where the line width is neither greater nor less than the old width/natural width, but has actually changed. If that sounds confusing, it's because it is. Basically, the outer layouting loop in that function needs to run twice for this scenario, so that's what this patch makes it do. Change-Id: I13777667eb13506d50f05e9766785a1c2c46125c Task-number: QTBUG-50738 Task-number: QTBUG-50740 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | Don't render when width is zero and elide is not NoneKari Hautamäki2016-05-201-0/+17
|/ | | | | | | | | Works now similarly as with very small text lengths (smaller than elide characted length). Change-Id: I0c4aafbcc50343bb0ec8b5f335045e1048a499fd Task-number: QTBUG-34990 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* Fix autotestsLars Knoll2015-09-142-3/+3
| | | | | | | | | | | | | | | | | | | Commit 35793cea28c4bd1d6d8fbae884d9ae3c19745c61 caused changes to font metrics on Mac when running our autotests. This change adjust auto tests to pass again after the change. Fix QQuickText::fontSizeMode autotests. The calculations are font dependent, and with small differences in the fonts between different OSes it's difficult to find values that work everywhere. Also fix the baseline calculations for some items that were using the wrong fonts (exchanging empty and non empty calculations). Fix language dependent differences on metrics calculations in tst_qquicktextinput. Change-Id: I7d0c7c79c8c62a4619b2f0e95ef53660b7feb782 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-06-041-0/+99
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4engine_p.h src/quick/items/qquickitemsmodule.cpp src/quick/items/qquicktext.cpp src/quick/util/qquickpixmapcache.cpp tests/auto/quick/qquickwindow/tst_qquickwindow.cpp Change-Id: I90ecaad6a4bfaa4f36149a7463f4d7141f4a516a
| * Fix implicitHeight for Text items bindings dependent on implicitWidth.Andrew den Exter2015-05-041-0/+99
| | | | | | | | | | | | | | | | | | | | | | | | Recalculate the implicitHeight on the second layout if the width changes after setting the implicitWidth, and potentially do another layout if the updating the implicitHeight changes the height. Change-Id: Ib6a637452013b56dba7ae8a6862cd92156386578 Task-number: QTBUG-45546 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-04-283-3/+3
|\| | | | | | | | | | | | | Conflicts: tests/auto/quick/qquicktext/tst_qquicktext.cpp Change-Id: I075e742da8396a268d97d3ab34bcd9e0c0cf001f
| * Prospective fix for flakey "network" related QML testsv5.4.2Simon Hausmann2015-04-253-3/+3
| | | | | | | | | | | | | | Replace hard-coded server ports with dynamically allocated ports. Change-Id: Iab8f9a88343a9f2c49af3cd700c954c13c3bf121 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* | Text: add support for paddingJ-P Nurmi2015-03-171-0/+12
|/ | | | | | | | | [ChangeLog][QtQuick][Text] Added padding, leftPadding, topPadding, rightPadding and bottomPadding properties. Task-number: QTBUG-41559 Change-Id: I5aa3a9eaad86de5e49d8e2da2a9f583e9a17222b Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Fix Text wrapping when growing from 0 width.Michael Brasser2015-02-031-0/+8
| | | | | | | | The fix for QTBUG-30896 caused a regression in the test case. Now check both width and implicit width validity before resetting widthExceeded. Change-Id: I4aba2aad299746906cfe20e288fa60cfe2acc64f Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* QNX: Fix qquicktext auto testBernd Weimer2014-05-301-1/+1
| | | | | Change-Id: I06acf7dcd6e83c6b665163f4eb9e5ee55ecf85b2 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Ensure correct horizontal alignment when onLineLaidOut is used.Michael Brasser2013-12-021-0/+20
| | | | | | Task-number: QTBUG-34647 Change-Id: I07cb1f6f433d64c8889750a1fef06cd3b3bcc9e5 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* Fix QQuickText hover event handlingJ-P Nurmi2013-11-051-0/+22
| | | | | | | | | | Catch hover events only when the item contains either rich or styled text, and make sure to ignore hover events as appropriate to propagate them further. Task-number: QTBUG-33842 Change-Id: Idef5be7c502711393ab532c4ace31663b0e0a872 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Stabilize text tests that grab windows.Friedemann Kleint2013-07-251-1/+1
| | | | | | | | | | | | | Add window flags to make sure window stays on top to tst_qquicktext::hAlignImplicitWidth() and tst_qquicktextedit::hAlignVisual(). Add diagnostic output. Determine the section size by checking the font size. Add more characters to line 2 to make it more discriminative. Task-number: QTBUG-32540 Change-Id: I19a74a775bf2663027ec211784870fd9f6547b48 Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Fix assert when calculating the implicit width of truncated lines.Andrew den Exter2013-05-311-0/+10
| | | | | | | | | Guard against reading past the end of the final line. Task-number: QTBUG-31471 Change-Id: I489f742936ee16f12ad9762b7c0891bfa9377e21 Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
* Remove tst_qquicktext::alignments()J-P Nurmi2012-09-1310-41/+0
| | | | | | | | | | | These tests are not valid. Will be covered by Lancelot-based scenegraph rendering tests: https://codereview.qt-project.org/#change,34437 Change-Id: I4e5e1b7b5b141d377e4367d143ded6abbddd52a1 Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Caroline Chao <caroline.chao@nokia.com> Reviewed-by: Yoann Lopes <yoann.lopes@nokia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Use unique port numbers for http servers in auto tests.Andrew den Exter2012-07-053-3/+3
| | | | | | | Prevents conflicts when tests are run in parallel. Change-Id: Ic1652d963da291c7c41b31e2621874824fa575cb Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
* Make sure we relayout on height change when onLineLaidOut is usedYann Bodson2012-06-061-0/+45
| | | | | Change-Id: I66e47682eba337562543a99eb576a7e24d00cdcf Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Fix alignment bug in QQuickText with multi-line text and implicit widthYann Bodson2012-05-031-0/+13
| | | | | | | | | | If the horizontal alignment is not left and the width of the text is not known during the first pass, we need to relayout once we know the maximum line width. Task-number: QTBUG-18617 Change-Id: I0cad100946beda151034067e23439185684de144 Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Improve QQuickText testsYann Bodson2012-05-014-0/+57
| | | | | | | | Test list support and make sure that we paint the text elements. This should also improve QQuickTextNode code coverage. Change-Id: I96c24cc452c6a4cf16064d580738e6764d859812 Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Merge master <-> api_changesMatthew Vogt2012-03-056-5/+45
| | | | Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f
* Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-2432-0/+295
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>