| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are cases, such as Item2D in QtQuick3D, where a Qt Quick user
interface is not placed directly inside a QWindow. In that case,
Menu and other Popup items need to be shown in the context of the
toplevel Item rather than the window.
There are two separate Popup implementations: A popup can either be
a toplevel window known to the windowing system, or it can be an Item
that lives in a special Overlay layer, which normally fills the entire
window.
This change adds private C++ API in QQuickItemPrivate to add a custom
Overlay to an Item. This does not in any way affect the case where a
popup has its own toplevel window.
Task-number: QTBUG-142145
Change-Id: Ic96a450f6d47e43d1ffc8226b27c1dc5d62e3497
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
| |
Fixes: QTBUG-141747
Change-Id: Icc194fb35da84f580b3bdfcb64944f5834b766dc
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
This variable used to be static and the logic still looks like it expects it
to be so. Static was probably removed in an error. This causes unnecessary
environment variable reading and logs being printed as this function is
being called for every frame.
Change-Id: Id24d9cfecb0f509f92cef47f6a95800ff529259b
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new Path item to the Helpers module: pathInterpolated, that
holds a list of paths (specified as svg path texts) and has a settable
interpolation factor property. Based on the value factor, the
resulting path will be an interpolation between path #n and path#n+1,
where n is the integer part of the factor. The fractional part
determines the interpolation weight between the two.
Replace the static QPainterPath in PathNodeInfo with an animated
property holding QPainterPath values. During generation, if the
property is found to be animated, a PathInterpolated item is generated
instead of a static PathSvg item.
Change-Id: Ic061005e135cbde1bd88ab1ac7c9e7840f55c232
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
listing
Course link added and list modified.
Task-number: QTBUG-142148
Pick-to: 6.10
Change-Id: I8a11394b110a80bb9625d88222b0c5a3a3e6aed4
Reviewed-by: Alexei Cazacov <alexei.cazacov@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The HTML subset in Qt was never intended to be end user facing
and is very specifically modelled to Qt's needs.
Without precaution, an application can easily end up setting a
user provided string as content on the Text component. This can
cause both unexpected results for the end users (if they expect
a compliant HTML engine) and arbitrary image loading/allocation.
Since the default text format of Text is AutoText, we make sure
to document that user provided data should not be set directly as
content on the label unless the PlainText format is explicitly
selected.
Pick-to: 6.5 6.8 6.10
Change-Id: I4383389640ff140da1ccbdf58e198e2868ad9774
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given that the property was documented to only take a screen from
Application's screen list, we can arguably do this change, especially
that any usage with a non-QQuickScreenInfo would just end up setting a
null-pointer, indicating some bug.
Any code reading the property is fine anyway, as a QQuickScreenInfo is
still a QObject.
This also uncovers that the screengrabber base line test did not handle
this correctly (it passed a QScreen to setScreen, which doesn't work).
This would now fail to compile. Fix it by passing the actually expected
object along.
Amends d6dfbe8fd5d09388fc624d85c4aefa0269c20db9
[ChangeLog][Important Behavior Change][QtQuick][Window] Window and
ApplicationWindow now enforce that the type of the property passed to
the screen property is ScreenInfo. It used to accept any QObject, but
would silently convert it to null if the type was not correct.
Change-Id: I512c24c761ef5e6e9b7f241d222c98a34c6fafa4
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
The second two arguments are width and height, not bottom-right
coordinates. So after shifting the rectangle left and upwards, we need
to add twice the margin to width and height, to have the same margin all
the way around. Amends 8115731466b579f33295d5c8a71506475750284e
Change-Id: I83797ffd460ee47599170090aefcda544c3e4483
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
This commit slightly improves the topic. Now, the snippets on this page
not only display "bad code" but do show how to do things properly. The
formatting was also improved a bit.
Task-number: QTBUG-141543
Pick-to: 6.10
Change-Id: Idc7a2bd8a4a86c96d9490c43d1b3dcf725b5581f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.10 6.8
Change-Id: Idc096a96c3c6895b09a97b6ef2d644d8b0454b60
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a QEventPoint is clearly outside an item _and_ the bounds of all its
children, or is simply outside the bounds of an item that clips its children,
we can stop recursion, for purposes of QPointerEvent delivery, finding which
items/handlers are hovered, or which could control the cursor shape.
effectivelyClipsEventHandlingChildren() is also recursive, but at least
the result gets cached.
Task-number: QTBUG-140340
Task-number: QTBUG-115179
Change-Id: I085e38964de6993fa82ad3bd1256868125fde090
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-141543
Pick-to: 6.10
Change-Id: I72690a203d429a033160cc52c40c815de22356a9
Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I2667210311de7ee41db1d90fff71d4d4bb388ee2
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Laying out text is somewhat expensive, which is why the geometryChange
function tries to determine whether or not it's necessary.
However, when growing the width of multi-line eliding text, we would
over-optimize, and stop relayouting, when there would have been more
space for text.
This worked for single line text, since then the widthExceeded flag
would always be set to true, when the natural text width exceeds the
layouts width. However, we don't always set that flag for multi-line
text, thus it's possible that we skip the relayout step every time we
increase the width of the Item.
Fixes: QTBUG-140875
Pick-to: 6.10 6.8
Change-Id: I1f7758bed2c52044d0179a83d4bf4a774f22e4e3
Reviewed-by: Bror Wetlesen Vedeld <bror.vedeld@qt.io>
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
|
| |
|
|
|
|
|
| |
syncResultedInChanges is not used since 27d674e9ec2 (v6.0.0-alpha1).
Change-Id: I13e413dd47b391c279d6fc8a15d23d728fef1e58
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pass localPos to deliverHoverEventRecursive, deliverHoverEventToItem and
sendHoverEvent, so that deliverHoverEventRecursive() can merely
transform from its own coordinate space to each child's space by calling
itemToParentTransform(). That doesn't require up-the-tree recursion like
mapFromScene() does.
Apply the same trick to QQuickWindowPrivate::findCursorItemAndHandler().
Apply the same trick to QQuickPointerHandler::parentContains(local, scene):
now QQuickPointerHandler::parentContains(QEventPoint) also calls that
with both local and scene positions, which it already has, so this
likely optimizes some use cases outside of the hover and cursor cases.
But to make that work, we need to apply the same trick to
QQuickDeliveryAgentPrivate::eventTargets() as well, and now it needs to
localize the QEventPoint before calling the predicate.
Usually, global position is QGuiApplicationPrivate::lastCursorPosition;
but when no mouse events occur, only touch events, lastCursorPosition
may remain offscreen. So we use the QEventPoint::globalPosition when
possible; so it's useful to pass globalPos along to each of these
hover functions, so that deliverHoverEventToItem() can construct the
QMouseEvent with it, and sendHoverEvent() can construct the QHoverEvent
with it.
Also amends f5140d62082e9b06e0ca6c8e2175b5836286f52e: that looked rather
CPU-intensive to call several mapping functions. The test is retained.
Task-number: QTBUG-134099
Task-number: QTBUG-140340
Change-Id: I2c520d430e58ec7c00ada2207541b2936c7ae596
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
These internal APIs have function documentation but are missing
class documentation. Adding an internal class documentation fixes
QDoc warnings.
Task-number: QTBUG-141697
Change-Id: Iecb289d39e34ddaa964fbe0a1404830cd2269caa
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
|
|
|
|
|
|
|
| |
This ensures that QDoc will always link to the QML types page and not
to the corresponding C++ classes overview.
Change-Id: I60cd6475ecf87190101507e8508e5c9403a2ed90
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
To be able to list all QML types that inherit from Item, the Qt Quick
documentation needs to depend on the modules that rely on Item and other
QML types.
Task-number: QTBUG-130152
Change-Id: I15bd63a4cffa1f1852b78bdd23b1f06c66ef468b
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I795c2a35e2fec71d8dbe481ff334b9bcfdf6692a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Statistics are useful for profiling.
- count of total items ever created, obviously has many uses
- how many of those also have ItemExtra?
- how many times did we call the QTransform-construction functions
during the course of event delivery and for other reasons?
(This is one of the most expensive runtime costs at present.)
Task-number: QTBUG-140340
Change-Id: Id7443f0dcf9e038f446304f371e29bfa612fcad2
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On some platforms only the window knows the correct devicePixelRatio
which is different than the one on QScreen.
On QWindow changes to devicePixelRatio are exposed through an event
so we make forward the event to a signal here.
We hook it to QQuickWindow's effectiveDevicePixelRatio because
it takes into account QQuickRenderControl::renderWindowFor() and
QQuickRenderTarget::devicePixelRatio()
Effective device pixel ratio is returned as
it is the one that matters for rendering or calculations for sizes.
QQuickWidget forwards the events to the QQuickWindow already.
Fixes: QTBUG-141448
Change-Id: I2908b52dbcf005ec25ba282c92906eb6172c9d19
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10 6.8
Task-number: QTBUG-140073
Change-Id: I54f1c2a09455bd9b232ff332b0725bb1c8c791c0
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
They are implementation details. Adding them as PUBLIC_LIBRARIES
will include them in the QtQuickDepends header, but there are no
public C++ APIs in these modules.
Pick-to: 6.10
Change-Id: Ib6d65ea54ed391b3487d8e0bf808dc02e0e0f93c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New QtGuiPrivate helper methods qt_accTextBeforeOffsetHelper,
qt_accTextAfterOffsetHelper and qt_accTextAtOffsetHelper
were recently introduced in qtbase as QtGuiPrivate helper
functions in order to deduplicate the logic implemented in
both, QAccessibleTextWidget (in qtbase) and QAccessibleQuickItem,
and then fix existing issues in one place.
Switch the QAccessibleQuickItem implementations to use these
helpers, which fixes the issue described in more detail
for the QTextEdit in QTBUG-140504 also for the QML TextEdit.
Task-number: QTBUG-140504
Task-number: QTBUG-139943
Change-Id: Ia50213d114ca415c24837e0212619a369d31bc3c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For Text.StyledText, there was no protection against <img> tags
with very large widths or heights. This could cause an application
to spend a very long time processing a layout and sometimes crash
if the size was too large.
We reuse the internal coord limit in QPainter as our maximum size
here, similar to what we do in Qt Svg for instance.
For Text.RichText, there were no issues in release builds, but in
debug builds, you could trigger an overflow assert when rounding
the number if it exceeded INT_MAX. For this, we simply cap the
width and height at INT_MAX.
Fixes: QTBUG-141515
Pick-to: 5.15 6.5 6.8 6.10
Change-Id: I4bcba16158f5f495a0de38963316effc4c46aae1
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we draw a text object, we need to store this in RAM
since the QTextObjectInterface is QPainter-based. This
could lead to over-allocation if the text object size
was set to be very large. We use the existing image IO
infrastructure for making sure allocations are within
reasonable (and configurable) limits.
Pick-to: 5.15 6.5 6.8 6.10
Task-number: QTBUG-141515
Change-Id: Ieae06a9e92a7bd078d22ab2314889201c2049122
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The qml-i18n example and the qtdeclarative repo itself depend
on the LinguistTools CMake package, which is not available while
building qtdeclarative.
This results in:
- missing build coverage for the example
- a cyclic dependency, because qtdeclarative depends on qttools
(because of LinguistTools), and qttools depends on qtdeclarative
(because of qdoc needs)
- we try to find a module that will never be available, unless
qtdeclarative is built together with qttools in a top-level build
- in certain cases, if the top-level build fails early enough, the
cyclic dependency causes reconfigurations to fail
Remove the example, the lookup of LinguistTools, and the linguist doc
references to avoid all these issues.
Replace the qt_add_translations reference in the docs of the
QQmlApplicationEngine class with a snippet copy.
Pick-to: 6.8 6.10
Task-number: QTBUG-141465
Change-Id: Id88603a3753f53dfac9f350e981073effda15eb1
Reviewed-by: Masoud Jami <masoud.jami@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to the previous commit that introduced
QAccessibleQuickTextEdit, introduce QAccessibleQuickTextInput
and implement the logic to modify selection.
This allows changing the selection for QQuickTextInput
and its QQuickTextField subclass via the platform
accessibility API, e.g. the AT-SPI Text interface's
SetSelection method.
Extend the existing TextInput autotest accordingly.
Task-number: QTBUG-139943
Task-number: QTBUG-140441
Change-Id: Ie05c6b0cf3431aabb4b337dbfa07c40c56660e2b
Reviewed-by: Timon Sassor <timon.sassor@governikus.de>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far, accessibility logic was implemented
in QQuickTextField, while its base class
QQuickTextInput didn't have any implementation.
Most of the existing logic only requires
QQuickTextInput(Private), however.
Move that logic to the QQuickTextInput(Private)
base class and only leave the QQuickTextField-specific
logic in the subclass.
Task-number: QTBUG-139943
Fixes: QTBUG-140441
Change-Id: I757222a7b6c21b575bfe404333cc7ed91af86ed7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce new QAccessibleQuickTextEdit as a11y implementation
for QQuickTextEdit.
Subclass the existing QAccessibleQuickItem and override the
methods to modify text selection.
(For retrieving the existing selection, the logic in
the base class is fine, but the TextEdit properties selectionStart
and selectionEnd are read-only, so cannot be set directly there.)
Implement the QAccessibleTextInterface::addSelection logic
in the base class, so it can also be reused by the
QAccessibleQuickTextInput class that will be added
in an upcoming commit to implement similar logic
for QQuickTextInput and QQuickTextField.
Extend the existing unit test to also test text selection.
Task-number: QTBUG-139943
Pick-to: 6.10 6.9 6.8
Change-Id: Ibd6aa3e1bc9a24352c9bef4fcf4a452252d6689c
Reviewed-by: Timon Sassor <timon.sassor@governikus.de>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
|
|
|
| |
Change-Id: Ic4def3b9649cf369be97b18cf7916ddef4ee5ade
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
| |
Followup to a6b55b3c46cf47d560e10a4b69db24a475261546
Change-Id: If35cb2b3ab5654549e76fc18ad094acdc7a832eb
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
|
|
|
|
|
|
|
| |
These snippets show up in the Qt Quick States documentation.
Fixes: QTBUG-140487
Pick-to: 6.10
Change-Id: I897865e16a356c1c561715adc4daa97a4bd3dd67
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
| |
These links coincidentally happened to go to sections with the target
name but I assume that the aim was to link to the scene graph overview.
Change-Id: I77662158a2f7f8cb679a8585b6c15c61689a3c58
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
| |
Task-number: QTBUG-139676
Change-Id: Iea39ae7c18e71956e7a101a86425c84d876e8730
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
It was possible that we would request to flush more of the backing store
than what was actually painted, which could lead to artifacts. Now when
there is a difference caused by the pixel alighment conversions, we make
sure to mark items behind that content as dirty so that everything
necessary to render correctly is painted.
Fixes: QTBUG-133368
Pick-to: 6.10 6.8
Change-Id: I9766017eb610792ffa17b745c356b614e4e28752
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The shortcut override has been made to be ignored by default as part of
the patch 1aefea26e5a574dad25646d330a6b3bb943a596c. And the further
changes in the same patch were made to check whether the shortcut
override can be accepted by text edit before processing the events.
If the shortcut override has not been accepted (either by default or
explicitly ignored by the user), the keys would be processed further by
the textedit. The validation added as part of the same patch for
processing the event doesn't seem to be correct, as it allows the key to
be processed by the text edit control only when the key handler is not
configured. This approach seems to be incorrect, as the text edit
control shall be allowed to process the key events regardless of key
handler configuration.
This patch removes that validation, thus allowing the text edit control
to process the key events regardless of key handler configuration.
Fixes: QTBUG-139679
Task-number: QTBUG-136959
Pick-to: 6.10 6.8 6.5
Change-Id: I7c066e5f3709a00d0b18f0c5e8b9d1f7944c4e4e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
| |
Amends 6eaa95662c2d4ba287ac5d1de5ec49bd3a9f59e6
Pick-to: 6.5 6.8 6.10
Change-Id: I195e26fa1a703607b1d65d57e5dc43a072b05e72
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Some fields under QtView and thus under QtQuickView are marked
as protected which ends up shown in javadoc. These fiedls are
internal and shouldn't be treated as public, so instead, make
them private and provide package-private getters/setters for
QtQuickView to access those fields internally.
Task-number: QTBUG-141365
Change-Id: Ibefd262412a07b323ff9c40bcf57f5da21b53975
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
This is apparently better than using globalObject.
registerModule was introduced in
3464655f5e2adaa1aed8925a9a54b8fb5f238f31.
Pick-to: 6.8 6.10
Change-Id: Ic664e65d7e5f8d65004112802e8f19f4f790bb7d
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The touch event's scene position is normally set in the delivery agent.
However, since the overlay installs an event filter on the window
itself, it will circumvent the delivery agent and thus never set the
scene position properly.
This patch ensures that the scene position gets set when we're entering
overlayEvent from the event filter, for touch release events.
Task-number: QTBUG-132914
Pick-to: 6.10 6.8
Change-Id: Id59ed9e5252ba594ce0e40039cb3a783032caef1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using a scaling factor for the UI that is not an integer, the
partial update mechanism in the software Adapation can break down and
lead to many artifacts. Now we check if we're trying to render with
factional scaling and disable partial updates. It's possible to opt-out
of this by setting the environment variable:
QSG_SOFTWARE_RENDERER_FORCE_PARTIAL_UPDATES=1
It is also possible to disable partial updates using the same variable
QSG_SOFTWARE_RENDERER_FORCE_PARTIAL_UPDATES=0
Fixes: QTBUG-136943
Pick-to: 6.10 6.8
Change-Id: If4b0bc403a96ab037f213e89708371a49bc8ae02
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
User code connected to onTextChange may cause changes
which affect the text cursor visibility state, for
example by moving focus to a different item.
Set set text cursor visibility state before updating
the text in order to avoid overwriting state changes
from user code.
Fixes: QTBUG-131895
Pick-to: 6.10 6.9 6.8
Change-Id: I8e8ae7497b56067eb251e318c1fbff23c8e46332
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the source height or width is not an integer number of pixels, the
texture size will be rounded up. This could cause the bottom/right edge
of the texture to be omitted, since the target size for the image node
was also not in whole pixels, and the pixel coverage for those edge
pixels could become <= 50%.
This patch rounds up the targetRect to match the texture size, so it
will be rendered at exactly 1:1 when the scale factor is 1. Note that
this only fixes the issue for integer scale factors, since the target
size is calculated in updatePaintNode, which is not called when the
scale changes.
Fixes: QTBUG-136783
Pick-to: 6.10 6.8
Change-Id: I0d04e4efa65d4a77f842fc3093a143ceb6666608
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When we paint text with any other style than Normal, we will offset
painting by up to 1 logical pixel. To avoid clipping the style, we
need to make sure the bounding rect of the text also accounts for
this. This does overestimate the bounding rect in cases where the
dpr is not 1, but this is better than underestimating it.
Pick-to: 6.10 6.8
Fixes: QTBUG-137404
Change-Id: I670a3709fcc6ac7fd6d58a8d524f534800cafdff
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
|
|
|
| |
Change-Id: Id097b394eb38c791411730bb8624d9a1c508a785
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Validators in QML do not actually expose the three states (Valid,
Invalid, Intermediate) directly, but only support their usage through
TextField. This makes it slightly tricky to raise awareness about
intermediate results.
Nevertheless, we can expand the example to avoid confusion how
IntValidator restricts input, and to encourage users to create a
visual indicator based on acceptableInput.
The color can also be a binding in the snippet. Amends
17a777a5dfa72e47d02c3e6b4c3a137d923d50bc
Pick-to: 6.10 6.8
Fixes: QTBUG-85490
Change-Id: Ia3f7d21d6d7c13943cc2469c4ab8f3c00fd2eada
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Images can consume a substantial amount of memory on the native heap,
while the actual CanvasImageData object is rather small. Our gc already
keeps track of native heap consumption (e.g. for strings), so reuse that
support to also properly account for CanvasImageData.
Pick-to: 6.10 6.8
Fixes: QTBUG-32298
Change-Id: Ie36e9c2399517154d9c46e490a49b16409cbecc1
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I3f8d7ab1e6ad147ebede8fdf8a8e050166d0c553
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|