| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
For multiline texts with word wrapping, it is not so meaningful to add
breaks in the last line if it is anyway going to be elided. Fix by
using the WrapAnywhere strategy for the last line for such situations.
Fixes: QTBUG-72736
Change-Id: I1263c81277b6ca89ba461529fced1094263c026f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
| |
Avoid red since that is also used for marking visual diffs in the
lancelot results. Replace with a great color.
Change-Id: I1da4d1b6dc3cacbd3b5b2574720fcd3176f49a52
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/qml/compiler/qv4codegen.cpp
src/qml/compiler/qv4compileddata_p.h
src/qml/debugger/qqmlprofiler_p.h
src/qml/jsruntime/qv4engine.cpp
src/qml/memory/qv4mm.cpp
src/qml/qml/qqmlcomponent.cpp
src/qml/qml/qqmlobjectcreator.cpp
src/qml/qml/qqmlobjectcreator_p.h
src/qml/types/qqmldelegatemodel.cpp
src/quick/items/qquickitem_p.h
src/quick/items/qquickwindow.cpp
tests/auto/quick/touchmouse/BLACKLIST
tests/benchmarks/qml/holistic/tst_holistic.cpp
Change-Id: I520f349ab4b048dd337d9647113564fc257865c2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a test that emojis can be mixed with non-latin scripts
and that ZWJ correctly joins together emojis when applicable.
Task-number: QTBUG-61882
Task-number: QTBUG-65519
Change-Id: I6d52382886c9a0c8f2d07ef56abad49ec2f2798e
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: I4376b711fbf02ea978f5d347d34a4a6a0c95dab2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Major performance improvements can be gained if you know for sure
your text does not require any shaping features. This patch adds
Qt Quick support for the QFont::PreferNoShaping flag (though as a
boolean property to work better with property bindings).
[ChangeLog][QtQuick][Text] Added "font.preferShaping" property to
Text, TextEdit and TextInput. This makes it possible to improve
performance at the expense of some cosmetic font features.
Task-number: QTBUG-56728
Change-Id: Ib4e23d5b21b9d4929562df521347285b2586a62e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This property was added in Qt 5.10, but a bug in the engine causes
it to be available, at least in binding expressions, even if you only
import 2.0. Lets correct this in case the bug in the QML engine is later
fixed.
Task-number: QTBUG-56728
Change-Id: I97e2900bde61fd22853b013af583d027194cf08c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For text where the content is known, it can be handy to be able
to disable the kerning feature in OpenType to improve performance.
[ChangeLog][Qt Quick][Text] Added "kerning" property to the font
type to support disabling kerning on text.
Task-number: QTBUG-56728
Change-Id: I2e447587a066a7e12c5d38967e0845eaad021014
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I6e58e0a73dac87438d16ceb27814f677bc45eb29
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I299354da0632fb0b8487cfb13748ed58b97d75fd
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: Iea0bb0788357bc615d0e9ea411087114b8b3b720
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a step on the way to certain optimization possibilities
for text in Qt Quick. Basically, to allow users the ability to
split text into separate items (so that you can distinguish
dynamic from static, and unshaped from shaped text), we also
need a way to string those items together visually later. The
advance property is required for this.
[ChangeLog][QtQuick][Text] Added "advance" property to Text element.
Task-number: QTBUG-56728
Change-Id: I8e7bf9bac410fa9c5553b48db90956431a2873f6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: I1cd686cff60bd40fe2cbbc34f917fac7835b6b7d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|\|
| |
| |
| | |
Change-Id: I0cbb2ba4a00580e6a74a4e4085fc4eb06d0fadae
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-47566
Change-Id: I4a7dc1fe14154695b968fffd14abd2e3189c6ad2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
| |
Change-Id: Ifec23f855d4c3e0c58e59777cf23149ad99a2b91
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the block is right-to-left and starts with a text object, it
should be aligned to the right edge of the QTextLine instead
of the left one.
[ChangeLog][QtQuick][Text] Fixed placement of flowing text objects
in the start of a right-to-left block.
Task-number: QTBUG-43133
Change-Id: Id790e88f3464280f124c38b4260386b84cac8826
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/quick/qquicktextedit/BLACKLIST
Change-Id: I0b9e5bea5da5d2666887c202e62d889b4aa56900
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/qquickwindow.cpp
tests/auto/quick/qquicktext/BLACKLIST
tests/auto/quick/qquicktextedit/BLACKLIST
Change-Id: I8bd68b0b5e853b7908791d2cbddd18dd527c76ae
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The "fixedsys" font is available on Windows at least, so while this
test may not add any value on other platforms, it won't hurt either,
and this was something that regressed on Windows before.
Task-number: QTBUG-56659
Change-Id: Id01dedcbdc2fe74027caf31dd0dde6729ade8c63
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|/ /
| |
| |
| |
| | |
Change-Id: I21d17b7770246888b1de71d54a6a1babd0726b8a
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
tests/auto/quick/qquickitem/tst_qquickitem.cpp
Change-Id: If261f8eea84dfa5944bb55de999d1f70aba528fd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The extern declaration needs Q_CORE_EXPORT (which resolves to an import
declaration on MSVC). Also, the type of the qt_qhash_seed variable is
a QBasicAtomicInt, not int, so with proper signature mangling it would
not resolve (since memory layout is the same for an int and
a QBasicAtomicInt, it would just work for linkers that did not
detect it.)
Change-Id: I92375afcfc13e045e78a4d6cfdd539bd01b66136
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/qquickimagebase.cpp
src/imports/layouts/plugin.cpp
Change-Id: I5f48474df4034a1347ec74795c85d369a55b6b21
|
| |
| |
| |
| |
| |
| |
| |
| | |
This test is for 24914b1acbfc5e45768dd1465b9e3f3e61185829 in qtbase.
Task-number: QTBUG-51759
Change-Id: I59081ec5268359f25c492f0536f985793e08e250
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change also fixes the build of two benchmarks, tst_affectors
and tst_emission.
Conflicts:
src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro
src/qml/qml/ftw/qhashfield_p.h
tests/benchmarks/particles/affectors/tst_affectors.cpp
tests/benchmarks/particles/emission/tst_emission.cpp
tests/benchmarks/qml/pointers/pointers.pro
tests/benchmarks/qml/pointers/tst_pointers.cpp
tests/benchmarks/qml/qmltime/qmltime.pro
tests/benchmarks/qml/qquickwindow/qquickwindow.pro
Change-Id: I595309d1e183c18371cb9b07af6e4681059de3b2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Subjects each *.png file that matched grep -law "sRGB" to:
pngcrush -ow -brute -rem allb -reduce
Various tools grumble about sRGB tables in PNG images; and our
handling of them doesn't pay attention to these, so purging them
makes the images smaller with no loss to the images.
Change-Id: I9e4dc3aec97cd32bc8ac216fadeaf7669c49647c
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I356ec83cf687bd2833f9a7c5e820d56b1efa8979
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a test for QTBUG-49596. It's separate from the fix,
because the fix is in Qt Gui.
Task-number: QTBUG-49596
Change-Id: Ic035e58b477422dcb137e528381d9b70d6542215
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ied9ec851a8a3eee6b0bea0433e79d06e1cc2d15e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)
Change-Id: I04760a0801837cfc516d1c7c02d4f503f6bb70b6
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Use character literals where applicable.
Change-Id: Ib0e618752fbc762a73a0a91c43efab61ef2c9687
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the code that converts text layouts to subtrees in the scene
graph specifically for TextEdit, there was a cutoff to treat
text tables as single nodes in the graph (for simplicity).
However, this breaks selections, since the ranges spanned by
each cell will be interpreted as overlapping, messing up the
selection merging logic. We need the same approach here as for
any other text frame where we check frame boundaries.
[ChangeLog][TextEdit] Fixed issues with selections that spanned
several cells in a table.
Change-Id: I789041d84b5d163e209488f8f2f1f83a6471389f
Task-number: QTBUG-46928
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fix for QTBUG-46829 revealed a bug in the code to handle
selecting part of ligatures. The ranges were assumed to be
[start, end], while they are in fact [start, end>. This would
cause the engine to assume the previous node overlapped completely
with the selected node and that the node had thus already been
added to the graph.
Due to the bug in QTBUG-46829, this accidentally worked before,
but when that bug was fixed, this bug appeared.
Change-Id: I517d260de9f58db4504dd4320b7113fbbe305a81
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to the way itemization is currently done in Qt,
Cyrillic text (and other writing systems) separated by
spaces will become separate items because the spaces
are itemized as Script_Common. In the Scenegraph's text
node engine, we should merge these items into a single node
as long as the same font is used for all the text. But
a bug in the engine caused this to fail when the text
was selected. The symptom of this was that in some rare
cases one of the items would vanish if it were in the
middle of a selection.
In order to support the bearing of selected text leaning outside
the selection rect, I previously added a hack which would add
all selected text as unselected text as well in
b0783c21fb54b939f07ddf5658cc51113b8014e6. This was an awkward
way of doing it and caused said regression. A less intrusive way
is just to add the text to the scene graph twice, as this does not
interfere with the logic needed to support selecting part of
ligatures nor the engine's ability to merge nodes correctly.
[ChangeLog][Text] Fixed regression with selections spanning
different scripts.
Task-number: QTBUG-46829
Change-Id: I0faed76fb2cd1ac0b2e5cc54b81008b5e2550733
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
| |
We test both native text rendering and distance field text rendering
(which should switch to native for the emoji glyphs automatically),
in various configurations of text color, opacity, and background
color.
Change-Id: I06178820943cd2a52cf338f7eb5c0fca881cb625
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Grabbing the window after every frame is needlessly expensive and
would overload a less powerful Mac. Rewrote the grabber to just do the
necessary grabs.
Make the hostinfo script not output the unneeded '[undefined]' value
for unset environment variables, as the braces would upset the paths
in the html report.
Change-Id: I76104235c15eafd5e7f92f2ec01c84f5b11b55a6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the TextEdit's alignment was either AlignBottom or
AlignVCenter, several things would be broken: First of all
the position of all non-dirty nodes would not be updated,
so if you e.g. added text to the end of the document, it
would overlap with the previously added text.
Also, the frame decorations were always aligned to the top, since
the basePosition was not accounted for in the node for this.
The fix is to translate the root node to the base position instead
of baking this into the position of the text nodes. This also
automatically fixes frame decorations since it's already aligned
to the top of the root node.
[ChangeLog][TextEdit] Fixed issues with using other vertical
alignments than AlignTop.
Change-Id: I11f73eab21a28658a5cbf00292fd519efd0f3e7f
Task-number: QTBUG-45032
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
| |
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-36837
Change-Id: Iea85f4bc7c66124178a318f0ebd776726cf72c96
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change 198009db79a85d3cab7fe3a6432635d36123a2d6 revealed a bug in the
new selection algorithm which would occur sometimes
when a given run of text spanned several script items. Since we
are checking the glyph runs for overlaps in the actual text, we
need to report the exact characters spanned by the glyph run. We
use the new enabler for this in QGlyphRunPrivate.
Added a new test case which is an error case we did not yet cover,
which is when there is only a single script item, but several
font engines are used to produce it (fallback fonts).
Change-Id: Ie4c3e79ad98a033d5c75fd67ada4ae83df33435b
Task-number: QTBUG-41808
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While we protected against the the borders exceeding the size of
the source image when deciding whether to create a given patch,
we did not protect against the case where the target rectangle
is smaller than the borders. To fix this, we simply move the
calculation of the target rectangle up to before we create the
nodes, and check for isEmpty() before creating the nodes.
In addition, we did not properly handle changing the borders
dynamically. The subtree has to be rebuilt if the borders change
so that the source or target rectangles change.
Change-Id: Ia6a0df616ebbd0a32924de0b63fd48043027930a
Task-number: QTBUG-41338
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Keeping all patches of the border image in the same texture
with different sample points can cause parts of the border
to bleed over to the center patch. To rectify this, we
create a separate texture for each of the nine patches we
need, and separate image nodes.
To avoid applying antialiasing on the interior edges of the
border image, we introduce new antialiasing flags which can
be used to specify precisely which edges of the image should
be antialiased.
[ChangeLog][BorderImage] Fixed possible pixel bleed between
border patches and center patch in BorderImage.
Change-Id: Icc292b3969217320eecca99e79675316c42eab08
Task-number: QTBUG-35838
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Selecting text with a negative right bearing (like italic text)
would cause clipping to occur at the edges of the characters.
The algorithm for drawing text and text selection tried to
divide the text into two: 1. Selected text, and 2. Unselected text.
However, the selected text might be drawn outside the selection
rect when it has a negative right bearing. Similarly, unselected
text before the selection might overlap with the selection rect
when it has a negative right bearing, or unselected text after
the selection might overlap if it has a negative left bearing.
See added test textinput_italic_selected.qml for an example.
To rectify this, we do drawing of selected text like this:
1. Draw all text with unselected color
2. Draw selection rects
3. Draw the following in the selection text color and clipped
to the selection rect:
A. The selected text
B. The unselected text right before the selection
C. The unselected text right after the selection
To avoid drawing the same text twice for extra boldness,
we check if 3B or 3C actually contain 3A, in which case we skip
3A.
[ChangeLog][Text] Fixed clipping when selecting text with negative
right bearing.
Task-number: QTBUG-34233
Change-Id: I3506b3a72a2d963c5f24c5b819bbb92769b9aee1
Reviewed-by: Samuel Nevala <samuel.nevala@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
| |
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3 & LICENSE.GPLv2
- Removed LICENSE.GPL
Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
|
|
|
|
|
|
|
|
| |
This is currently broken on Mac OS X, but the fix is nigh.
Task-number: QTBUG-36056
Change-Id: I547f7961a2ca8c62301e15de486a6f75de26bc4a
Reviewed-by: aavit <eirik.aavitsland@digia.com>
|
|
|
|
|
|
|
|
|
| |
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html
Change-Id: I8fa7d0186cc8f0ba562695974829e37f1eb87f2f
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
| |
None of the subdirectories here apepar to depend on each other.
Change-Id: Id8ac9f030ecc0b440ee5193bad9bb710cec11edd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In change e1d6b323d474acc5cd70fd9a0b283326316f55a0 there's an
optimization which disables layouts on the QTextDocument, but the
layout has to be re-enabled before we can call idealWidth() since
this will be zero as long as the page size is 0x0. We simply set
the page size to undefined again before calling idealWidth.
Task-number: QTBUG-29262
Change-Id: I6bebe7be4c99fce0de8fc4178b5e1abc81abbe87
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: aavit <eirik.aavitsland@digia.com>
|
|
|
|
|
|
| |
Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|