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>
When the actual width of the text in a QTextDocument exceeds the
specificed textWidth it is aligned left irregardless of the text
alignment. Compensate by doing our own alignment of the laid out
document.
Change-Id: I7df900316ffb3ecdf01ddb053480a60a8258182d
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Use qWaitForWindowActive and instead of qWaitForWindowShown where focus
is required.
Also send events directly to the tested item, instead of getting a
pointer to the same object from QGuiApplication::focusObject() which
can return null and crash the test if focus is stolen.
Change-Id: I6b8956a3afc8ffa58394a957a35b64b1c0924596
Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Components created by QML are usually (always?) ready when assigned to
n property, but it possible for an externally supplied component to
still be loading, as in the test and the code handles it.
Change-Id: I2058e3479e2e711b52af2a0128e6e4c4c3ff7504
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Prepare a change in qtbase in which the implementation
of qWaitForWindowShown() will be changed to
qWaitForWindowExposed() instead of qWaitForWindowActive().
Try to stabilize further tests by introduing
wait functions instead of calls to qApp->processEvents().
Change-Id: I9825885430d78be1610a3fe20023fad24aaacba9
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Defer setting content on the QTextDocument until componentComplete()
to avoid unnecessary layouts and move one time setup for the
text document from setContent to the constructor.
Reduces the construction time of a TextEdit with RichText textFormat
by about a third.
Change-Id: Idde0772063bf769cde984efddd68589c55a7431a
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Includes a minor behavioural fix for selectedText and getText so that
they return plain text strings for plain text content rather than the
raw text from QTextDocument which substitutes line break characters
with unicode line or paragraph separator character. Rich text
documents still return the unicode characters.
Change-Id: I19a3a5bba2e4ebb0e6607e19c915a588a9a6c7db
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Rename selectionChanged to selectedTextChanged to address an apparent
difference to API between TextInput and TextEdit.
Task-number: QTBUG-19732
Change-Id: Ibc589c8b43567cb8d2f8c13f7366e2859c7f09d7
Reviewed-by: Martin Jones <martin.jones@nokia.com>
This complements commit 2753e9a795,
which had begun fixing this issue, but not completed the entire
module.
Change-Id: I2d167e467c5553cfa49e04410aec9a7d98c7fc6e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Functionality is provided by the global Qt.application.inputMethod
object.
Task-number: QTBUG-21449
Change-Id: I75c082bcbe44c8834ccaf966a3f9a09ab91ec290
Reviewed-by: Martin Jones <martin.jones@nokia.com>
The render loop has been rewritten and the crash is no longer
reproducable.
Change-Id: I1402f7875075e4e552f7c430bbf1ca833d8dc601
Reviewed-by: Gatis Paeglis <gatis.paeglis@nokia.com>
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
QTextDocument always spans the full width of a TextEdit so the text
node shouldn't be offset by the x position of the bounding rect.
Change-Id: I882a44baeea4d054279cadc5632df6d8863caea1
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Don't create instances of the delegate components until the item
gains focus, or the cursorVisible property is set to true.
Cursor delegates are typically small and relatively fast to create and
so won't have a significant cost during a one off focus in event,
but that cost can still add up when creating a number of TextInputs
or TextEdits at once. If a delegate that is instantiated immeditately
is required it is possible to instead create a child item and bind to
the cursorRectangle and cursorVisible properties.
Change-Id: I5ec2b5b6a30e534aee3dd5a58c6a5ac0686f5ce2
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Updating only when the cursor position changes isn't enough because
changing pre-edit text changes the width of the pre-edit area and
the x offset of all cursor positions within it.
Change-Id: I3c0a5e4ad4714a903ca84c1a25374491f34d95a0
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Text with neutral direction, such as e.g. plain spaces, do not
need to make text left aligned on arabic input method.
Change-Id: I9aab5244ec47cf80fb2ba0f83e7087430eb2c7bb
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Geometry change was avoiding updating size of the QTextDocument, thus
it was not able to right align before something else triggered size
change, e.g. a modification to the text. Also removed unnecessary
cursorRectangleChanged signal that was emitted when moving focus with
mouse.
Change-Id: I293fd5119473eb3def5acd1b3fbb951c12e14412
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Ensure the rectangles are correctly positioned with right
and center aligned text, not just sized correctly. Also add
padding to the clip rects so the cursor and styled text aren't
clipped at the item boundaries.
Change-Id: I03ef140589154ebd49b600b0a4c4fbeff845c10f
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Don't overwrite the ignore value once it's been set to true.
Task-number: QTBUG-25447
Change-Id: I7284147bc525d0971564570f0dd0599cec190905
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
QInputMethod::visible will be removed in qtbase.
Change-Id: I16ffbe56d55a62ae6a905e3cfdab8ad245d24aa0
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
When inserting text into a TextEdit with implicit width and wrapping
the cursor delegate position has to be updated after the width is
expanded to the implicit width otherwise it will be positioned in a
wrapped location.
Change-Id: Ibcb709ec1b4f6827ea8ae919f2e0c932c7372869
Reviewed-by: Martin Jones <martin.jones@nokia.com>
If the length of the QInputMethodEvent::Cursor attribute is 0 the
cursor is supposed to be hidden. To ensure this and any other IM
state is reverted when the input method is reset send a empty
event to the editor when preedit is cancelled or removed and
count formatting or cursor changes when determining if the
input method is composing (i.e has state that needs to be reset).
Change-Id: Ifca69aa0c18776b1aef355ed6ae9aecc40b9d475
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Feature to be reimplemented simplified. Now using new
FocusAboutToChange event for using input method to commit stuff when
window is losing focus.
Change-Id: I81c96c36d9f0a1b38adb4324f3b892c33547cb50
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Update the implicitWidth of the item before continuing with the layout
rather than after it's completed this gives any bindings dependent on
the implicitWidth the opportunity to update the width before the layout
continues.
Task-number: QTBUG-22680
Task-number: QTBUG-24251
Change-Id: I61cd96ad9891b22d8b83937ad2c06719f88976b6
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Defer giving focus to TextInput or TextEdit until after other mouse
press handling has been performed, otherwise setting the cursor position
will overwrite any selection or cursor position set in the
on(Active)FocusChanged handler.
Change-Id: I6332642484de65138a444987b5a81be69c6f835f
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Word selection initiated by a double click in QTextEdit only selects
a word if the drag point is closer to the end than the start
(assuming ltr selection) which can make it difficult to select small
words with touch input, as such the SelectWords mouseSelectionMode of
TextEdit selected a word if the drag point intersected any part of the
word. Since we no longer have to retain compability for QTextEdit we
can settle on a single behaviour for word selection.
Change-Id: Iaabb7938a2b61b84a290a9ee41e407c83144b96f
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Recent changes to mouse double-click handling mean that two
calls to QTest::mouseClick with the same position will result in a
double click, which was causing this test to fail.
Change-Id: I21e6aa7ab2221b6ea82b1afd13e36b7ba0aef8dc
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
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>